From dd01cfe1c49bcd352fa7a723130a92376802d5c7 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Thu, 27 Nov 2003 19:44:56 +0000 Subject: [PATCH] Remove possibility to specify an installation root after --with-krbx and --with-openssl options. This creates too much risk to pick up the wrong directory accidentally (for example when there are lib64 directories), and does not really help much with contemporary installation layouts. --- configure | 142 ++++++++++++--------------------- configure.in | 68 +++------------- doc/src/sgml/installation.sgml | 50 +++++------- 3 files changed, 79 insertions(+), 181 deletions(-) diff --git a/configure b/configure index 616b07b164..2e31934be6 100755 --- a/configure +++ b/configure @@ -865,12 +865,12 @@ Optional Packages: --with-perl build Perl modules (PL/Perl) --with-python build Python modules (PL/Python) --with-java build JDBC interface and Java tools - --with-krb4[=DIR] build with Kerberos 4 support [/usr/athena] - --with-krb5[=DIR] build with Kerberos 5 support [/usr/athena] + --with-krb4 build with Kerberos 4 support + --with-krb5 build with Kerberos 5 support --with-krb-srvnam=NAME name of the service principal in Kerberos [postgres] --with-pam build with PAM support --with-rendezvous build with Rendezvous support - --with-openssl[=DIR] build with OpenSSL support [/usr/local/ssl] + --with-openssl build with OpenSSL support --without-readline do not use Readline --without-zlib do not use Zlib --with-gnu-ld assume the C compiler uses GNU ld [default=no] @@ -3309,7 +3309,6 @@ fi; - # # Kerberos 4 # @@ -3324,47 +3323,32 @@ if test "${with_krb4+set}" = set; then case $withval in yes) - krb4_prefix=/usr/athena - ;; - no) - : - ;; - *) - with_krb4=yes -krb4_prefix=$withval - ;; - esac -else - with_krb4=no -fi; - - -if test "$with_krb4" = yes; then - - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 cat >>confdefs.h <<\_ACEOF #define KRB4 1 _ACEOF - - if test -d "$krb4_prefix/include"; then - INCLUDES="$INCLUDES -I$krb4_prefix/include" - fi - if test -d "$krb4_prefix/lib"; then - LIBDIRS="$LIBDIRS -L$krb4_prefix/lib" - fi - krb_srvtab="/etc/srvtab" + ;; + no) + : + ;; + *) + { { echo "$as_me:$LINENO: error: no argument expected for --with-krb4 option" >&5 +echo "$as_me: error: no argument expected for --with-krb4 option" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi + with_krb4=no +fi; +echo "$as_me:$LINENO: result: $with_krb4" >&5 +echo "${ECHO_T}$with_krb4" >&6 @@ -3382,47 +3366,32 @@ if test "${with_krb5+set}" = set; then case $withval in yes) - krb5_prefix=/usr/athena - ;; - no) - : - ;; - *) - with_krb5=yes -krb5_prefix=$withval - ;; - esac -else - with_krb5=no -fi; - - -if test "$with_krb5" = yes; then - - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 cat >>confdefs.h <<\_ACEOF #define KRB5 1 _ACEOF - - if test -d "$krb5_prefix/include"; then - INCLUDES="$INCLUDES -I$krb5_prefix/include" - fi - if test -d "$krb5_prefix/lib"; then - LIBDIRS="$LIBDIRS -L$krb5_prefix/lib" - fi - krb_srvtab="FILE:\$(sysconfdir)/krb5.keytab" + ;; + no) + : + ;; + *) + { { echo "$as_me:$LINENO: error: no argument expected for --with-krb5 option" >&5 +echo "$as_me: error: no argument expected for --with-krb5 option" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi + with_krb5=no +fi; +echo "$as_me:$LINENO: result: $with_krb5" >&5 +echo "${ECHO_T}$with_krb5" >&6 @@ -3556,6 +3525,8 @@ echo "${ECHO_T}$with_rendezvous" >&6 # # OpenSSL # +echo "$as_me:$LINENO: checking whether to build with OpenSSL support" >&5 +echo $ECHO_N "checking whether to build with OpenSSL support... $ECHO_C" >&6 @@ -3565,42 +3536,29 @@ if test "${with_openssl+set}" = set; then case $withval in yes) - openssl_prefix=/usr/local/ssl - ;; - no) - : - ;; - *) - with_openssl=yes -openssl_prefix=$withval - ;; - esac - -else - with_openssl=no -fi; - - -if test "$with_openssl" = yes; then - - echo "$as_me:$LINENO: result: building with OpenSSL support" >&5 -echo "${ECHO_T}building with OpenSSL support" >&6 cat >>confdefs.h <<\_ACEOF #define USE_SSL 1 _ACEOF + ;; + no) + : + ;; + *) + { { echo "$as_me:$LINENO: error: no argument expected for --with-openssl option" >&5 +echo "$as_me: error: no argument expected for --with-openssl option" >&2;} + { (exit 1); exit 1; }; } + ;; + esac - if test -d "${openssl_prefix}/include" ; then - INCLUDES="$INCLUDES -I${openssl_prefix}/include" - fi - if test -d "${openssl_prefix}/lib" ; then - LIBDIRS="$LIBDIRS -L${openssl_prefix}/lib" - fi - -fi +else + with_openssl=no +fi; +echo "$as_me:$LINENO: result: $with_openssl" >&5 +echo "${ECHO_T}$with_openssl" >&6 diff --git a/configure.in b/configure.in index 50cd8ebcbe..143fdc4fc2 100644 --- a/configure.in +++ b/configure.in @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $Header: /cvsroot/pgsql/configure.in,v 1.306 2003/11/27 18:14:02 petere Exp $ +dnl $Header: /cvsroot/pgsql/configure.in,v 1.307 2003/11/27 19:44:55 petere Exp $ dnl dnl Developers, please strive to achieve this order: dnl @@ -422,38 +422,16 @@ fi], [AC_MSG_RESULT(no)]) AC_SUBST(with_java) -dnl A note on the Kerberos and OpenSSL options: -dnl -dnl The user can give an argument to the option in order the specify -dnl the base path of the respective installation (what he specified -dnl perhaps as --prefix). If no argument is given ($withval is "yes") -dnl then we take the path where the package installs by default. This -dnl way the user doesn't have to use redundant --with-includes and -dnl --with-libraries options, but he can still use them if the layout -dnl is non-standard. - # # Kerberos 4 # AC_MSG_CHECKING([whether to build with Kerberos 4 support]) -PGAC_ARG_OPTARG(with, krb4, [[ --with-krb4[=DIR] build with Kerberos 4 support [/usr/athena]]], - [krb4_prefix=/usr/athena], - [krb4_prefix=$withval], +PGAC_ARG_BOOL(with, krb4, no, [ --with-krb4 build with Kerberos 4 support], [ - AC_MSG_RESULT(yes) AC_DEFINE(KRB4, 1, [Define to build with Kerberos 4 support. (--with-krb4)]) - - if test -d "$krb4_prefix/include"; then - INCLUDES="$INCLUDES -I$krb4_prefix/include" - fi - if test -d "$krb4_prefix/lib"; then - LIBDIRS="$LIBDIRS -L$krb4_prefix/lib" - fi - krb_srvtab="/etc/srvtab" -], -[AC_MSG_RESULT(no)]) - +]) +AC_MSG_RESULT([$with_krb4]) AC_SUBST(with_krb4) @@ -461,24 +439,12 @@ AC_SUBST(with_krb4) # Kerberos 5 # AC_MSG_CHECKING([whether to build with Kerberos 5 support]) -PGAC_ARG_OPTARG(with, krb5, [[ --with-krb5[=DIR] build with Kerberos 5 support [/usr/athena]]], - [krb5_prefix=/usr/athena], - [krb5_prefix=$withval], +PGAC_ARG_BOOL(with, krb5, no, [ --with-krb5 build with Kerberos 5 support], [ - AC_MSG_RESULT([yes]) AC_DEFINE(KRB5, 1, [Define to build with Kerberos 5 support. (--with-krb5)]) - - if test -d "$krb5_prefix/include"; then - INCLUDES="$INCLUDES -I$krb5_prefix/include" - fi - if test -d "$krb5_prefix/lib"; then - LIBDIRS="$LIBDIRS -L$krb5_prefix/lib" - fi - krb_srvtab="FILE:\$(sysconfdir)/krb5.keytab" -], -[AC_MSG_RESULT(no)]) - +]) +AC_MSG_RESULT([$with_krb5]) AC_SUBST(with_krb5) @@ -526,22 +492,10 @@ AC_SUBST(with_rendezvous) # # OpenSSL # -PGAC_ARG_OPTARG(with, openssl, - [[ --with-openssl[=DIR] build with OpenSSL support [/usr/local/ssl]]], - [openssl_prefix=/usr/local/ssl], - [openssl_prefix=$withval], -[ - AC_MSG_RESULT([building with OpenSSL support]) - AC_DEFINE([USE_SSL], 1, [Define to build with (Open)SSL support. (--with-openssl)]) - - if test -d "${openssl_prefix}/include" ; then - INCLUDES="$INCLUDES -I${openssl_prefix}/include" - fi - if test -d "${openssl_prefix}/lib" ; then - LIBDIRS="$LIBDIRS -L${openssl_prefix}/lib" - fi -]) - +AC_MSG_CHECKING([whether to build with OpenSSL support]) +PGAC_ARG_BOOL(with, openssl, no, [ --with-openssl build with OpenSSL support], + [AC_DEFINE([USE_SSL], 1, [Define to build with (Open)SSL support. (--with-openssl)])]) +AC_MSG_RESULT([$with_openssl]) AC_SUBST(with_openssl) diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml index f4af3a75f8..92c61683f7 100644 --- a/doc/src/sgml/installation.sgml +++ b/doc/src/sgml/installation.sgml @@ -1,4 +1,4 @@ - + <![%standalone-include[<productname>PostgreSQL</>]]> @@ -812,28 +812,19 @@ JAVACMD=$JAVA_HOME/bin/java </varlistentry> <varlistentry> - <term><option>--with-krb4<optional>=<replaceable>DIRECTORY</></></option></term> - <term><option>--with-krb5<optional>=<replaceable>DIRECTORY</></></option></term> + <term><option>--with-krb4</option></term> + <term><option>--with-krb5</option></term> <listitem> <para> Build with support for Kerberos authentication. You can use - either Kerberos version 4 or 5, but not both. The - <replaceable>DIRECTORY</> argument specifies the root - directory of the Kerberos installation; - <filename>/usr/athena</> is assumed as default. If the - relevant header files and libraries are not under a common - parent directory, then you must use the - <option>--with-includes</> and <option>--with-libraries</> - options in addition to this option. If, on the other hand, - the required files are in a location that is searched by - default (e.g., <filename>/usr/lib</>), then you can leave off - the argument. - </para> - - <para> - <filename>configure</> will check for the required header - files and libraries to make sure that your Kerberos - installation is sufficient before proceeding. + either Kerberos version 4 or 5, but not both. On many + systems, the Kerberos system is not installed in a location + that is searched by default (e.g., <filename>/usr/include</>, + <filename>/usr/lib</>), so you must use the options + <option>--with-includes</> and <option>--with-libraries</> in + addition to this option. <filename>configure</> will check + for the required header files and libraries to make sure that + your Kerberos installation is sufficient before proceeding. </para> </listitem> </varlistentry> @@ -855,20 +846,15 @@ JAVACMD=$JAVA_HOME/bin/java <seealso>SSL</seealso> </indexterm> - <term><option>--with-openssl<optional>=<replaceable>DIRECTORY</></></option></term> + <term><option>--with-openssl</option></term> <listitem> <para> - Build with support for <acronym>SSL</> (encrypted) connections. - This requires the <productname>OpenSSL</> package to be installed. - The <replaceable>DIRECTORY</> argument specifies the - root directory of the <productname>OpenSSL</> installation; the - default is <filename>/usr/local/ssl</>. - </para> - - <para> - <filename>configure</> will check for the required header - files and libraries to make sure that your <productname>OpenSSL</> - installation is sufficient before proceeding. + Build with support for <acronym>SSL</> (encrypted) + connections. This requires the <productname>OpenSSL</> + package to be installed. <filename>configure</> will check + for the required header files and libraries to make sure that + your <productname>OpenSSL</> installation is sufficient + before proceeding. </para> </listitem> </varlistentry>