summaryrefslogtreecommitdiffstats
path: root/postgresql
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2012-02-03 10:55:28 +0100
committerStephan Bergmann <sbergman@redhat.com>2012-02-03 10:55:28 +0100
commitc16027de8423cdb6b33ce5f5f9e13fdc25b9dbeb (patch)
treedfb02078f72a97744847f6bc2d3dd164c380ab2d /postgresql
parentadd sc.ui log area (diff)
downloadcore-c16027de8423cdb6b33ce5f5f9e13fdc25b9dbeb.tar.gz
core-c16027de8423cdb6b33ce5f5f9e13fdc25b9dbeb.zip
Fix order in which postgresql searches for libs
...so that it does not miss any required libs due to picking up others first that indirectly provide the required symbols; that would break our libpq-flags.mk which should contain all the required libs when linking in the static libpq.a.
Diffstat (limited to 'postgresql')
-rw-r--r--postgresql/makefile.mk8
-rw-r--r--postgresql/postgresql-9.1.1-configure.patch362
2 files changed, 369 insertions, 1 deletions
diff --git a/postgresql/makefile.mk b/postgresql/makefile.mk
index 0c2e3beed7cc..44b7e6f6d0ba 100644
--- a/postgresql/makefile.mk
+++ b/postgresql/makefile.mk
@@ -41,7 +41,13 @@ TARFILE_MD5=061a9f17323117c9358ed60f33ecff78
PATCH_FILES=\
postgresql-moz-ldap.patch \
$(TARFILE_NAME)-libreoffice.patch \
- $(TARFILE_NAME)-autoreconf.patch
+ $(TARFILE_NAME)-autoreconf.patch \
+ postgresql-9.1.1-configure.patch
+# postgresql-9.1.1-configure.patch: move check for with_krb5 before with_gssapi,
+# so that LIBS does not already contain -lgssapi_krb5 (which links against
+# -lkrb5) when looking for symbols from -lkrb5, and within with_krb5, move
+# com_err before krb5, so that looking with symbol com_err does not erroneously
+# pick -lkrb5 (which links against -lcom_err) instead of -lcom_err
.IF "$(SYSTEM_POSTGRESQL)" == "YES"
@all:
diff --git a/postgresql/postgresql-9.1.1-configure.patch b/postgresql/postgresql-9.1.1-configure.patch
new file mode 100644
index 000000000000..6fcec5a7ce6d
--- /dev/null
+++ b/postgresql/postgresql-9.1.1-configure.patch
@@ -0,0 +1,362 @@
+--- misc/postgresql-9.1.1/configure 2012-02-03 10:19:18.695680048 +0100
++++ misc/build/postgresql-9.1.1/configure 2012-02-03 10:17:27.545617462 +0100
+@@ -8572,11 +8572,11 @@
+ *** Not using spinlocks will cause poor performance." >&2;}
+ fi
+
+-if test "$with_gssapi" = yes ; then
++if test "$with_krb5" = yes ; then
+ if test "$PORTNAME" != "win32"; then
+- { $as_echo "$as_me:$LINENO: checking for library containing gss_init_sec_context" >&5
+-$as_echo_n "checking for library containing gss_init_sec_context... " >&6; }
+-if test "${ac_cv_search_gss_init_sec_context+set}" = set; then
++ { $as_echo "$as_me:$LINENO: checking for library containing com_err" >&5
++$as_echo_n "checking for library containing com_err... " >&6; }
++if test "${ac_cv_search_com_err+set}" = set; then
+ $as_echo_n "(cached) " >&6
+ else
+ ac_func_search_save_LIBS=$LIBS
+@@ -8593,16 +8593,16 @@
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-char gss_init_sec_context ();
++char com_err ();
+ int
+ main ()
+ {
+-return gss_init_sec_context ();
++return com_err ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-for ac_lib in '' gssapi_krb5 gss 'gssapi -lkrb5 -lcrypto'; do
++for ac_lib in '' com_err 'com_err -lssl -lcrypto' krb5 'krb5 -lcrypto -ldes -lasn1 -lroken'; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+@@ -8630,7 +8630,7 @@
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+- ac_cv_search_gss_init_sec_context=$ac_res
++ ac_cv_search_com_err=$ac_res
+ else
+ $as_echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+@@ -8641,40 +8641,33 @@
+ rm -rf conftest.dSYM
+ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext
+- if test "${ac_cv_search_gss_init_sec_context+set}" = set; then
++ if test "${ac_cv_search_com_err+set}" = set; then
+ break
+ fi
+ done
+-if test "${ac_cv_search_gss_init_sec_context+set}" = set; then
++if test "${ac_cv_search_com_err+set}" = set; then
+ :
+ else
+- ac_cv_search_gss_init_sec_context=no
++ ac_cv_search_com_err=no
+ fi
+ rm conftest.$ac_ext
+ LIBS=$ac_func_search_save_LIBS
+ fi
+-{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_gss_init_sec_context" >&5
+-$as_echo "$ac_cv_search_gss_init_sec_context" >&6; }
+-ac_res=$ac_cv_search_gss_init_sec_context
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_com_err" >&5
++$as_echo "$ac_cv_search_com_err" >&6; }
++ac_res=$ac_cv_search_com_err
+ if test "$ac_res" != no; then
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+ else
+- { { $as_echo "$as_me:$LINENO: error: could not find function 'gss_init_sec_context' required for GSSAPI" >&5
+-$as_echo "$as_me: error: could not find function 'gss_init_sec_context' required for GSSAPI" >&2;}
++ { { $as_echo "$as_me:$LINENO: error: could not find function 'com_err' required for Kerberos 5" >&5
++$as_echo "$as_me: error: could not find function 'com_err' required for Kerberos 5" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+- else
+- LIBS="$LIBS -lgssapi32"
+- fi
+-fi
+-
+-if test "$with_krb5" = yes ; then
+- if test "$PORTNAME" != "win32"; then
+- { $as_echo "$as_me:$LINENO: checking for library containing com_err" >&5
+-$as_echo_n "checking for library containing com_err... " >&6; }
+-if test "${ac_cv_search_com_err+set}" = set; then
++ { $as_echo "$as_me:$LINENO: checking for library containing krb5_sendauth" >&5
++$as_echo_n "checking for library containing krb5_sendauth... " >&6; }
++if test "${ac_cv_search_krb5_sendauth+set}" = set; then
+ $as_echo_n "(cached) " >&6
+ else
+ ac_func_search_save_LIBS=$LIBS
+@@ -8691,16 +8684,16 @@
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-char com_err ();
++char krb5_sendauth ();
+ int
+ main ()
+ {
+-return com_err ();
++return krb5_sendauth ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-for ac_lib in '' krb5 'krb5 -lcrypto -ldes -lasn1 -lroken' com_err 'com_err -lssl -lcrypto'; do
++for ac_lib in '' krb5 'krb5 -lcrypto -ldes -lasn1 -lroken'; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+@@ -8728,7 +8721,7 @@
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+- ac_cv_search_com_err=$ac_res
++ ac_cv_search_krb5_sendauth=$ac_res
+ else
+ $as_echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+@@ -8739,33 +8732,34 @@
+ rm -rf conftest.dSYM
+ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext
+- if test "${ac_cv_search_com_err+set}" = set; then
++ if test "${ac_cv_search_krb5_sendauth+set}" = set; then
+ break
+ fi
+ done
+-if test "${ac_cv_search_com_err+set}" = set; then
++if test "${ac_cv_search_krb5_sendauth+set}" = set; then
+ :
+ else
+- ac_cv_search_com_err=no
++ ac_cv_search_krb5_sendauth=no
+ fi
+ rm conftest.$ac_ext
+ LIBS=$ac_func_search_save_LIBS
+ fi
+-{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_com_err" >&5
+-$as_echo "$ac_cv_search_com_err" >&6; }
+-ac_res=$ac_cv_search_com_err
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_krb5_sendauth" >&5
++$as_echo "$ac_cv_search_krb5_sendauth" >&6; }
++ac_res=$ac_cv_search_krb5_sendauth
+ if test "$ac_res" != no; then
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+ else
+- { { $as_echo "$as_me:$LINENO: error: could not find function 'com_err' required for Kerberos 5" >&5
+-$as_echo "$as_me: error: could not find function 'com_err' required for Kerberos 5" >&2;}
++ { { $as_echo "$as_me:$LINENO: error: could not find function 'krb5_sendauth' required for Kerberos 5" >&5
++$as_echo "$as_me: error: could not find function 'krb5_sendauth' required for Kerberos 5" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+- { $as_echo "$as_me:$LINENO: checking for library containing krb5_sendauth" >&5
+-$as_echo_n "checking for library containing krb5_sendauth... " >&6; }
+-if test "${ac_cv_search_krb5_sendauth+set}" = set; then
++ else
++ { $as_echo "$as_me:$LINENO: checking for library containing com_err" >&5
++$as_echo_n "checking for library containing com_err... " >&6; }
++if test "${ac_cv_search_com_err+set}" = set; then
+ $as_echo_n "(cached) " >&6
+ else
+ ac_func_search_save_LIBS=$LIBS
+@@ -8782,16 +8776,16 @@
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-char krb5_sendauth ();
++char com_err ();
+ int
+ main ()
+ {
+-return krb5_sendauth ();
++return com_err ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-for ac_lib in '' krb5 'krb5 -lcrypto -ldes -lasn1 -lroken'; do
++for ac_lib in '' 'comerr32 -lkrb5_32'; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+@@ -8819,7 +8813,7 @@
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+- ac_cv_search_krb5_sendauth=$ac_res
++ ac_cv_search_com_err=$ac_res
+ else
+ $as_echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+@@ -8830,34 +8824,38 @@
+ rm -rf conftest.dSYM
+ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext
+- if test "${ac_cv_search_krb5_sendauth+set}" = set; then
++ if test "${ac_cv_search_com_err+set}" = set; then
+ break
+ fi
+ done
+-if test "${ac_cv_search_krb5_sendauth+set}" = set; then
++if test "${ac_cv_search_com_err+set}" = set; then
+ :
+ else
+- ac_cv_search_krb5_sendauth=no
++ ac_cv_search_com_err=no
+ fi
+ rm conftest.$ac_ext
+ LIBS=$ac_func_search_save_LIBS
+ fi
+-{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_krb5_sendauth" >&5
+-$as_echo "$ac_cv_search_krb5_sendauth" >&6; }
+-ac_res=$ac_cv_search_krb5_sendauth
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_com_err" >&5
++$as_echo "$ac_cv_search_com_err" >&6; }
++ac_res=$ac_cv_search_com_err
+ if test "$ac_res" != no; then
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+ else
+- { { $as_echo "$as_me:$LINENO: error: could not find function 'krb5_sendauth' required for Kerberos 5" >&5
+-$as_echo "$as_me: error: could not find function 'krb5_sendauth' required for Kerberos 5" >&2;}
++ { { $as_echo "$as_me:$LINENO: error: could not find function 'com_err' required for Kerberos 5" >&5
++$as_echo "$as_me: error: could not find function 'com_err' required for Kerberos 5" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+- else
+- { $as_echo "$as_me:$LINENO: checking for library containing com_err" >&5
+-$as_echo_n "checking for library containing com_err... " >&6; }
+-if test "${ac_cv_search_com_err+set}" = set; then
++ fi
++fi
++
++if test "$with_gssapi" = yes ; then
++ if test "$PORTNAME" != "win32"; then
++ { $as_echo "$as_me:$LINENO: checking for library containing gss_init_sec_context" >&5
++$as_echo_n "checking for library containing gss_init_sec_context... " >&6; }
++if test "${ac_cv_search_gss_init_sec_context+set}" = set; then
+ $as_echo_n "(cached) " >&6
+ else
+ ac_func_search_save_LIBS=$LIBS
+@@ -8874,16 +8872,16 @@
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-char com_err ();
++char gss_init_sec_context ();
+ int
+ main ()
+ {
+-return com_err ();
++return gss_init_sec_context ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-for ac_lib in '' 'comerr32 -lkrb5_32'; do
++for ac_lib in '' gssapi_krb5 gss 'gssapi -lkrb5 -lcrypto'; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+@@ -8911,7 +8909,7 @@
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+- ac_cv_search_com_err=$ac_res
++ ac_cv_search_gss_init_sec_context=$ac_res
+ else
+ $as_echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+@@ -8922,30 +8920,32 @@
+ rm -rf conftest.dSYM
+ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext
+- if test "${ac_cv_search_com_err+set}" = set; then
++ if test "${ac_cv_search_gss_init_sec_context+set}" = set; then
+ break
+ fi
+ done
+-if test "${ac_cv_search_com_err+set}" = set; then
++if test "${ac_cv_search_gss_init_sec_context+set}" = set; then
+ :
+ else
+- ac_cv_search_com_err=no
++ ac_cv_search_gss_init_sec_context=no
+ fi
+ rm conftest.$ac_ext
+ LIBS=$ac_func_search_save_LIBS
+ fi
+-{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_com_err" >&5
+-$as_echo "$ac_cv_search_com_err" >&6; }
+-ac_res=$ac_cv_search_com_err
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_gss_init_sec_context" >&5
++$as_echo "$ac_cv_search_gss_init_sec_context" >&6; }
++ac_res=$ac_cv_search_gss_init_sec_context
+ if test "$ac_res" != no; then
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+ else
+- { { $as_echo "$as_me:$LINENO: error: could not find function 'com_err' required for Kerberos 5" >&5
+-$as_echo "$as_me: error: could not find function 'com_err' required for Kerberos 5" >&2;}
++ { { $as_echo "$as_me:$LINENO: error: could not find function 'gss_init_sec_context' required for GSSAPI" >&5
++$as_echo "$as_me: error: could not find function 'gss_init_sec_context' required for GSSAPI" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
++ else
++ LIBS="$LIBS -lgssapi32"
+ fi
+ fi
+
+--- misc/postgresql-9.1.1/configure.in 2012-02-03 10:19:18.685618318 +0100
++++ misc/build/postgresql-9.1.1/configure.in 2012-02-03 10:18:52.624617826 +0100
+@@ -925,18 +925,9 @@
+ *** Not using spinlocks will cause poor performance.])
+ fi
+
+-if test "$with_gssapi" = yes ; then
+- if test "$PORTNAME" != "win32"; then
+- AC_SEARCH_LIBS(gss_init_sec_context, [gssapi_krb5 gss 'gssapi -lkrb5 -lcrypto'], [],
+- [AC_MSG_ERROR([could not find function 'gss_init_sec_context' required for GSSAPI])])
+- else
+- LIBS="$LIBS -lgssapi32"
+- fi
+-fi
+-
+ if test "$with_krb5" = yes ; then
+ if test "$PORTNAME" != "win32"; then
+- AC_SEARCH_LIBS(com_err, [krb5 'krb5 -lcrypto -ldes -lasn1 -lroken' com_err 'com_err -lssl -lcrypto'], [],
++ AC_SEARCH_LIBS(com_err, [com_err 'com_err -lssl -lcrypto' krb5 'krb5 -lcrypto -ldes -lasn1 -lroken'], [],
+ [AC_MSG_ERROR([could not find function 'com_err' required for Kerberos 5])])
+ AC_SEARCH_LIBS(krb5_sendauth, [krb5 'krb5 -lcrypto -ldes -lasn1 -lroken'], [],
+ [AC_MSG_ERROR([could not find function 'krb5_sendauth' required for Kerberos 5])])
+@@ -946,6 +937,15 @@
+ fi
+ fi
+
++if test "$with_gssapi" = yes ; then
++ if test "$PORTNAME" != "win32"; then
++ AC_SEARCH_LIBS(gss_init_sec_context, [gssapi_krb5 gss 'gssapi -lkrb5 -lcrypto'], [],
++ [AC_MSG_ERROR([could not find function 'gss_init_sec_context' required for GSSAPI])])
++ else
++ LIBS="$LIBS -lgssapi32"
++ fi
++fi
++
+ if test "$with_openssl" = yes ; then
+ dnl Order matters!
+ if test "$PORTNAME" != "win32"; then