From b8cc8f94730610c0189aa82dfec4ae6ce9b13e34 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 27 May 2014 19:42:08 -0400 Subject: Support BSD and e2fsprogs UUID libraries alongside OSSP UUID library. Allow the contrib/uuid-ossp extension to be built atop any one of these three popular UUID libraries. (The extension's name is now arguably a misnomer, but we'll keep it the same so as not to cause unnecessary compatibility issues for users.) We would not normally consider a change like this post-beta1, but the issue has been forced by our upgrade to autoconf 2.69, whose more rigorous header checks are causing OSSP's header files to be rejected on some platforms. It's been foreseen for some time that we'd have to move away from depending on OSSP UUID due to lack of upstream maintenance, so this is a down payment on that problem. While at it, add some simple regression tests, in hopes of catching any major incompatibilities between the three implementations. Matteo Beccati, with some further hacking by me --- doc/src/sgml/installation.sgml | 43 +++++++++++++++++++++++++++++++------- doc/src/sgml/uuid-ossp.sgml | 47 +++++++++++++++++++++++++++++------------- 2 files changed, 69 insertions(+), 21 deletions(-) (limited to 'doc/src') diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml index b6b582e24c2..7353c612b1f 100644 --- a/doc/src/sgml/installation.sgml +++ b/doc/src/sgml/installation.sgml @@ -869,17 +869,46 @@ su - postgres + + + + + Build the + ]]> module + (which provides functions to generate UUIDs), using the specified + UUID library.UUID + LIBRARY must be one of: + + + + + + + + + + + + + + + + + + - Build components using the OSSP UUID - library. Specifically, build the - - ]]> module, - which provides functions to generate - UUIDs.UUID + Obsolete equivalent of --with-uuid=ossp. diff --git a/doc/src/sgml/uuid-ossp.sgml b/doc/src/sgml/uuid-ossp.sgml index c48106ba0f4..dbbea09313a 100644 --- a/doc/src/sgml/uuid-ossp.sgml +++ b/doc/src/sgml/uuid-ossp.sgml @@ -13,20 +13,6 @@ are also functions to produce certain special UUID constants. - - This module depends on the OSSP UUID library, which can be found at - . - - - - - The OSSP UUID library is not well maintained, and is becoming increasingly - difficult to port to newer platforms. If you only need randomly-generated - (version 4) UUIDs, consider using the gen_random_uuid() - function from the module instead. - - - <literal>uuid-ossp</literal> Functions @@ -172,6 +158,39 @@ SELECT uuid_generate_v3(uuid_ns_url(), 'http://www.postgresql.org'); + + Building <filename>uuid-ossp</> + + + Historically this module depended on the OSSP UUID library, which accounts + for the module's name. While the OSSP UUID library can still be found + at , it is not well + maintained, and is becoming increasingly difficult to port to newer + platforms. uuid-ossp can now be built without the OSSP + library on some platforms. On FreeBSD, NetBSD, and some other BSD-derived + platforms, suitable UUID creation functions are included in the + core libc library. On Linux, Mac OS X, and some other + platforms, suitable functions are provided in the libuuid + library, which originally came from the e2fsprogs project + (though on modern Linux it is considered part + of util-linux-ng). When invoking configure, + specify to use the BSD functions, + or to + use e2fsprogs' libuuid, or + to use the OSSP UUID library. + More than one of these libraries might be available on a particular + machine, so configure does not automatically choose one. + + + + + If you only need randomly-generated (version 4) UUIDs, + consider using the gen_random_uuid() function + from the module instead. + + + + Author -- cgit v1.2.3