diff options
Diffstat (limited to 'meta-oe/recipes-dbs/postgresql')
12 files changed, 431 insertions, 195 deletions
diff --git a/meta-oe/recipes-dbs/postgresql/files/0001-Add-support-for-RISC-V.patch b/meta-oe/recipes-dbs/postgresql/files/0001-Add-support-for-RISC-V.patch new file mode 100644 index 0000000000..7a4ba9897c --- /dev/null +++ b/meta-oe/recipes-dbs/postgresql/files/0001-Add-support-for-RISC-V.patch @@ -0,0 +1,44 @@ +From 780fd27ea6f7f2c446c46a7a5e26d94106c67efd Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" <rjones@redhat.com> +Date: Sun, 20 Nov 2016 15:04:52 +0000 +Subject: [PATCH] Add support for RISC-V. + +The architecture is sufficiently similar to aarch64 that simply +extending the existing aarch64 macro works. +--- +Upstream-Status: Pending + + src/include/storage/s_lock.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h +index 4d3ffc7..22e27bf 100644 +--- a/src/include/storage/s_lock.h ++++ b/src/include/storage/s_lock.h +@@ -317,11 +317,12 @@ tas(volatile slock_t *lock) + + /* + * On ARM and ARM64, we use __sync_lock_test_and_set(int *, int) if available. ++ * On RISC-V, the same. + * + * We use the int-width variant of the builtin because it works on more chips + * than other widths. + */ +-#if defined(__arm__) || defined(__arm) || defined(__aarch64__) || defined(__aarch64) ++#if defined(__arm__) || defined(__arm) || defined(__aarch64__) || defined(__aarch64) || defined(__riscv) + #ifdef HAVE_GCC__SYNC_INT32_TAS + #define HAS_TEST_AND_SET + +@@ -355,8 +356,7 @@ spin_delay(void) + + #endif /* __aarch64__ || __aarch64 */ + #endif /* HAVE_GCC__SYNC_INT32_TAS */ +-#endif /* __arm__ || __arm || __aarch64__ || __aarch64 */ +- ++#endif /* __arm__ || __arm || __aarch64__ || __aarch64 || __riscv */ + + /* S/390 and S/390x Linux (32- and 64-bit zSeries) */ + #if defined(__s390__) || defined(__s390x__) +-- +2.34.1 + diff --git a/meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch b/meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch new file mode 100644 index 0000000000..02f4c9e513 --- /dev/null +++ b/meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch @@ -0,0 +1,41 @@ +From bbba8a5261a99e79c9cd4693ef56021014a9856b Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Mon, 28 Dec 2020 16:38:21 +0800 +Subject: [PATCH] Improve reproducibility, + +Remove build patch from binaries which pg_config do +not record var-CC, var-CFLAGS, and configure + +$ /usr/bin/pg_config --cc +not recorded + +$ /usr/bin/pg_config --configure +not recorded + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> + +update patch for v13.1 +Signed-off-by: Changqing Li <changqing.li@windriver.com> +--- + src/common/Makefile | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/src/common/Makefile b/src/common/Makefile +index 880722f..7a9b9d4 100644 +--- a/src/common/Makefile ++++ b/src/common/Makefile +@@ -31,9 +31,6 @@ include $(top_builddir)/src/Makefile.global + # don't include subdirectory-path-dependent -I and -L switches + STD_CPPFLAGS := $(filter-out -I$(top_srcdir)/src/include -I$(top_builddir)/src/include,$(CPPFLAGS)) + STD_LDFLAGS := $(filter-out -L$(top_builddir)/src/common -L$(top_builddir)/src/port,$(LDFLAGS)) +-override CPPFLAGS += -DVAL_CC="\"$(CC)\"" +-override CPPFLAGS += -DVAL_CPPFLAGS="\"$(STD_CPPFLAGS)\"" +-override CPPFLAGS += -DVAL_CFLAGS="\"$(CFLAGS)\"" + override CPPFLAGS += -DVAL_CFLAGS_SL="\"$(CFLAGS_SL)\"" + override CPPFLAGS += -DVAL_LDFLAGS="\"$(STD_LDFLAGS)\"" + override CPPFLAGS += -DVAL_LDFLAGS_EX="\"$(LDFLAGS_EX)\"" +-- +2.34.1 + diff --git a/meta-oe/recipes-dbs/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch b/meta-oe/recipes-dbs/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch deleted file mode 100644 index f14da06d91..0000000000 --- a/meta-oe/recipes-dbs/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch +++ /dev/null @@ -1,46 +0,0 @@ -From d3ee8c8df5808b63e86f40831f2ba62cbb33d291 Mon Sep 17 00:00:00 2001 -From: Changqing Li <changqing.li@windriver.com> -Date: Wed, 8 Aug 2018 09:18:27 +0800 -Subject: [PATCH] postgresql: Use pkg-config for libxml2 detection. - -Upstream-Status: Inappropriate [configuration] - -xml2-config does not work. Use pkgconfig to set CPPFLAGS and LIBS. - -Signed-off-by: Philip Balister <philip@balister.org> - -upate to version 10.4 -Signed-off-by: Changqing Li <changqing.li@windriver.com> ---- - configure.in | 15 ++------------- - 1 file changed, 2 insertions(+), 13 deletions(-) - -diff --git a/configure.in b/configure.in -index d9fe56e..3e2cd3a 100644 ---- a/configure.in -+++ b/configure.in -@@ -816,19 +816,8 @@ PGAC_ARG_BOOL(with, libxml, no, [build with XML support], - [AC_DEFINE([USE_LIBXML], 1, [Define to 1 to build with XML support. (--with-libxml)])]) - - if test "$with_libxml" = yes ; then -- PGAC_PATH_PROGS(XML2_CONFIG, xml2-config) -- if test -n "$XML2_CONFIG"; then -- for pgac_option in `$XML2_CONFIG --cflags`; do -- case $pgac_option in -- -I*|-D*) CPPFLAGS="$CPPFLAGS $pgac_option";; -- esac -- done -- for pgac_option in `$XML2_CONFIG --libs`; do -- case $pgac_option in -- -L*) LDFLAGS="$LDFLAGS $pgac_option";; -- esac -- done -- fi -+ CPPFLAGS="$CPPFLAGS `pkg-config --short-errors --print-errors --cflags "libxml-2.0" 2>&1`" -+ LIBS="`pkg-config --short-errors --print-errors --libs "libxml-2.0" 2>&1` $LIBS" - fi - - AC_SUBST(with_libxml) --- -2.7.4 - diff --git a/meta-oe/recipes-dbs/postgresql/files/0001-config_info.c-not-expose-build-info.patch b/meta-oe/recipes-dbs/postgresql/files/0001-config_info.c-not-expose-build-info.patch new file mode 100644 index 0000000000..52ca276da6 --- /dev/null +++ b/meta-oe/recipes-dbs/postgresql/files/0001-config_info.c-not-expose-build-info.patch @@ -0,0 +1,119 @@ +From b92eebe8b0760fee7bd55c6c22318620c2c07579 Mon Sep 17 00:00:00 2001 +From: Mingli Yu <mingli.yu@windriver.com> +Date: Mon, 1 Aug 2022 15:44:38 +0800 +Subject: [PATCH] config_info.c: not expose build info + +Don't collect the build information to fix the buildpaths issue. + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> +--- + configure.ac | 2 +- + src/common/config_info.c | 68 ---------------------------------------- + 2 files changed, 1 insertion(+), 69 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 0eb595b..508487b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -23,7 +23,7 @@ AC_COPYRIGHT([Copyright (c) 1996-2021, PostgreSQL Global Development Group]) + AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c]) + AC_CONFIG_AUX_DIR(config) + AC_PREFIX_DEFAULT(/usr/local/pgsql) +-AC_DEFINE_UNQUOTED(CONFIGURE_ARGS, ["$ac_configure_args"], [Saved arguments from configure]) ++AC_DEFINE_UNQUOTED(CONFIGURE_ARGS, ["ac_configure_args"], [Saved arguments from configure]) + + [PG_MAJORVERSION=`expr "$PACKAGE_VERSION" : '\([0-9][0-9]*\)'`] + [PG_MINORVERSION=`expr "$PACKAGE_VERSION" : '.*\.\([0-9][0-9]*\)'`] +diff --git a/src/common/config_info.c b/src/common/config_info.c +index e72e729..b482c20 100644 +--- a/src/common/config_info.c ++++ b/src/common/config_info.c +@@ -38,7 +38,7 @@ + int i = 0; + + /* Adjust this to match the number of items filled below */ +- *configdata_len = 23; ++ *configdata_len = 14; + configdata = (ConfigData *) palloc(*configdata_len * sizeof(ConfigData)); + + configdata[i].name = pstrdup("BINDIR"); +@@ -123,74 +123,6 @@ + configdata[i].setting = pstrdup(path); + i++; + +- configdata[i].name = pstrdup("CONFIGURE"); +- configdata[i].setting = pstrdup(CONFIGURE_ARGS); +- i++; +- +- configdata[i].name = pstrdup("CC"); +-#ifdef VAL_CC +- configdata[i].setting = pstrdup(VAL_CC); +-#else +- configdata[i].setting = pstrdup(_("not recorded")); +-#endif +- i++; +- +- configdata[i].name = pstrdup("CPPFLAGS"); +-#ifdef VAL_CPPFLAGS +- configdata[i].setting = pstrdup(VAL_CPPFLAGS); +-#else +- configdata[i].setting = pstrdup(_("not recorded")); +-#endif +- i++; +- +- configdata[i].name = pstrdup("CFLAGS"); +-#ifdef VAL_CFLAGS +- configdata[i].setting = pstrdup(VAL_CFLAGS); +-#else +- configdata[i].setting = pstrdup(_("not recorded")); +-#endif +- i++; +- +- configdata[i].name = pstrdup("CFLAGS_SL"); +-#ifdef VAL_CFLAGS_SL +- configdata[i].setting = pstrdup(VAL_CFLAGS_SL); +-#else +- configdata[i].setting = pstrdup(_("not recorded")); +-#endif +- i++; +- +- configdata[i].name = pstrdup("LDFLAGS"); +-#ifdef VAL_LDFLAGS +- configdata[i].setting = pstrdup(VAL_LDFLAGS); +-#else +- configdata[i].setting = pstrdup(_("not recorded")); +-#endif +- i++; +- +- configdata[i].name = pstrdup("LDFLAGS_EX"); +-#ifdef VAL_LDFLAGS_EX +- configdata[i].setting = pstrdup(VAL_LDFLAGS_EX); +-#else +- configdata[i].setting = pstrdup(_("not recorded")); +-#endif +- i++; +- +- configdata[i].name = pstrdup("LDFLAGS_SL"); +-#ifdef VAL_LDFLAGS_SL +- configdata[i].setting = pstrdup(VAL_LDFLAGS_SL); +-#else +- configdata[i].setting = pstrdup(_("not recorded")); +-#endif +- i++; +- +- configdata[i].name = pstrdup("LIBS"); +-#ifdef VAL_LIBS +- configdata[i].setting = pstrdup(VAL_LIBS); +-#else +- configdata[i].setting = pstrdup(_("not recorded")); +-#endif +- i++; +- + configdata[i].name = pstrdup("VERSION"); + configdata[i].setting = pstrdup("PostgreSQL " PG_VERSION); + i++; +-- +2.25.1 + diff --git a/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch b/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch new file mode 100644 index 0000000000..3c8187d1a2 --- /dev/null +++ b/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch @@ -0,0 +1,30 @@ +From 5f9dedc91a0a9710033fa155ea759f765ce5b58b Mon Sep 17 00:00:00 2001 +From: Yi Fan Yu <yifan.yu@windriver.com> +Date: Fri, 5 Feb 2021 17:15:42 -0500 +Subject: [PATCH] configure.ac: bypass autoconf 2.69 version check + +for upgrade to autoconf 2.71 + +Upstream-Status: Inappropriate [disable feature] + +Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com> + +--- + configure.ac | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 998ff31..912e490 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch undefined macros + + AC_INIT([PostgreSQL], [15.3], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) + +-m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required. +-Untested combinations of 'autoconf' and PostgreSQL versions are not +-recommended. You can remove the check from 'configure.ac' but it is then +-your responsibility whether the result works or not.])]) + AC_COPYRIGHT([Copyright (c) 1996-2022, PostgreSQL Global Development Group]) + AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c]) + AC_CONFIG_AUX_DIR(config) diff --git a/meta-oe/recipes-dbs/postgresql/files/0001-postgresql-fix-ptest-failure-of-sysviews.patch b/meta-oe/recipes-dbs/postgresql/files/0001-postgresql-fix-ptest-failure-of-sysviews.patch new file mode 100644 index 0000000000..4db36d26fd --- /dev/null +++ b/meta-oe/recipes-dbs/postgresql/files/0001-postgresql-fix-ptest-failure-of-sysviews.patch @@ -0,0 +1,42 @@ +From 9f81377dddfe32d950844d7053020a36b40fce08 Mon Sep 17 00:00:00 2001 +From: Manoj Saun <manojsingh.saun@windriver.com> +Date: Wed, 22 Mar 2023 08:07:26 +0000 +Subject: [PATCH] postgresql: fix ptest failure of sysviews + +The patch "0001-config_info.c-not-expose-build-info.patch" hides the debug info +in pg_config table which reduces the count of rows from pg_config and leads to +sysviews test failure. +To fix it we need to reduce the count of parameters in sysviews test. +Also we need to reduce the row count in expected result of sysview test +to make the test output shown as pass. + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Manoj Saun <manojsingh.saun@windriver.com> +--- + src/test/regress/expected/sysviews.out | 2 +- + src/test/regress/sql/sysviews.sql | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +--- a/src/test/regress/expected/sysviews.out ++++ b/src/test/regress/expected/sysviews.out +@@ -29,7 +29,7 @@ select name, ident, parent, level, total + (1 row) + + -- At introduction, pg_config had 23 entries; it may grow +-select count(*) > 20 as ok from pg_config; ++select count(*) > 13 as ok from pg_config; + ok + ---- + t +--- a/src/test/regress/sql/sysviews.sql ++++ b/src/test/regress/sql/sysviews.sql +@@ -18,7 +18,7 @@ select name, ident, parent, level, total + from pg_backend_memory_contexts where level = 0; + + -- At introduction, pg_config had 23 entries; it may grow +-select count(*) > 20 as ok from pg_config; ++select count(*) > 13 as ok from pg_config; + + -- We expect no cursors in this test; see also portals.sql + select count(*) = 0 as ok from pg_cursors; diff --git a/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch b/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch index 971510943d..fa46912eef 100644 --- a/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch +++ b/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch @@ -1,4 +1,7 @@ -[PATCH] not check libperl under cross compiling +From 56b830edecff1cac5f8a8a956e7a7eeef2aa7c17 Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Tue, 27 Nov 2018 13:25:15 +0800 +Subject: [PATCH] not check libperl under cross compiling Upstream-Status: Inappropriate [configuration] @@ -6,23 +9,29 @@ libperl ldflags returned by PGAC_CHECK_PERL_EMBED_LDFLAGS are native, can not be used to check target library. postpresql has the dependency on perl, so not need to check libperl -again, like in postgresql-9.2.4 +again, like in postgresql-9.2.4 Signed-off-by: Roy Li <rongqing.li@windriver.com> + +update patch to version 11.1 +Signed-off-by: Changqing Li <changqing.li@windriver.com> --- - configure.in | 2 +- + configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -Index: postgresql-9.4.15/configure.in -=================================================================== ---- postgresql-9.4.15.orig/configure.in -+++ postgresql-9.4.15/configure.in -@@ -1879,7 +1879,7 @@ if test "$with_tcl" = yes; then +diff --git a/configure.ac b/configure.ac +index fba79ee..7170f26 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2261,7 +2261,7 @@ Use --without-tcl to disable building PL/Tcl.]) fi # check for <perl.h> -if test "$with_perl" = yes; then +if test "$with_perl" = yes && test "$cross_compiling" = no; then ac_save_CPPFLAGS=$CPPFLAGS - CPPFLAGS="$CPPFLAGS -I$perl_archlibexp/CORE" + CPPFLAGS="$CPPFLAGS $perl_includespec" AC_CHECK_HEADER(perl.h, [], [AC_MSG_ERROR([header file <perl.h> is required for Perl])], +-- +2.34.1 + diff --git a/meta-oe/recipes-dbs/postgresql/files/postgresql-bashprofile b/meta-oe/recipes-dbs/postgresql/files/postgresql-profile index 1c931f37fd..1c931f37fd 100644 --- a/meta-oe/recipes-dbs/postgresql/files/postgresql-bashprofile +++ b/meta-oe/recipes-dbs/postgresql/files/postgresql-profile diff --git a/meta-oe/recipes-dbs/postgresql/files/postgresql.init b/meta-oe/recipes-dbs/postgresql/files/postgresql.init index 4a4f0cd168..1791e68b58 100644 --- a/meta-oe/recipes-dbs/postgresql/files/postgresql.init +++ b/meta-oe/recipes-dbs/postgresql/files/postgresql.init @@ -14,8 +14,8 @@ # PGVERSION is the full package version, e.g., 8.4.0 # Note: the specfile inserts the correct value during package build PGVERSION=9.2.4 -# PGMAJORVERSION is major version, e.g., 8.4 (this should match PG_VERSION) -PGMAJORVERSION=`echo "$PGVERSION" | sed 's/^\([0-9]*\.[0-9]*\).*$/\1/'` +# PGMAJORVERSION is major version, e.g., 10 (this should match PG_VERSION) +PGMAJORVERSION=`echo "$PGVERSION" | sed 's/^\([0-9]*\).*$/\1/'` # Source function library. . /etc/init.d/functions diff --git a/meta-oe/recipes-dbs/postgresql/postgresql.inc b/meta-oe/recipes-dbs/postgresql/postgresql.inc index 44a1b30fe0..15ecdeeb2e 100644 --- a/meta-oe/recipes-dbs/postgresql/postgresql.inc +++ b/meta-oe/recipes-dbs/postgresql/postgresql.inc @@ -18,18 +18,17 @@ DESCRIPTION = "\ this package if you're installing the postgresql-server package. \ " HOMEPAGE = "http://www.postgresql.com" -LICENSE = "BSD" -DEPENDS = "libnsl2 zlib readline tzcode-native" +LICENSE = "0BSD" +DEPENDS = "libnsl2 readline tzcode-native" ARM_INSTRUCTION_SET = "arm" -SRC_URI = "http://ftp.postgresql.org/pub/source/v${PV}/${BP}.tar.bz2 \ +SRC_URI = "https://ftp.postgresql.org/pub/source/v${PV}/${BP}.tar.bz2 \ file://postgresql.init \ - file://postgresql-bashprofile \ + file://postgresql-profile \ file://postgresql.pam \ file://postgresql-setup \ file://postgresql.service \ - file://0001-Use-pkg-config-for-libxml2-detection.patch \ " LEAD_SONAME = "libpq.so" @@ -37,15 +36,14 @@ LEAD_SONAME = "libpq.so" # LDFLAGS for shared libraries export LDFLAGS_SL = "${LDFLAGS}" -inherit autotools pkgconfig perlnative pythonnative useradd update-rc.d systemd gettext +inherit autotools pkgconfig perlnative python3native python3targetconfig useradd update-rc.d systemd gettext cpan-base multilib_header CFLAGS += "-I${STAGING_INCDIR}/${PYTHON_DIR} -I${STAGING_INCDIR}/tcl8.6" -SYSTEMD_SERVICE_${PN} = "postgresql.service" -SYSTEMD_AUTO_ENABLE_${PN} = "disable" +SYSTEMD_SERVICE:${PN} = "postgresql.service" +SYSTEMD_AUTO_ENABLE:${PN} = "disable" -DEPENDS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-systemctl-native', '', d)}" -pkg_postinst_${PN} () { +pkg_postinst:${PN} () { if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd sysvinit', 'true', 'false', d)}; then if [ -n "$D" ]; then OPTS="--root=$D" @@ -54,39 +52,53 @@ pkg_postinst_${PN} () { fi } -enable_pam = "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" -PACKAGECONFIG ??= "${enable_pam} openssl python uuid libxml tcl nls libxml perl" -PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam," -PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl," -PACKAGECONFIG[python] = "--with-python,--without-python,python,python" -PACKAGECONFIG[uuid] = "--with-uuid=e2fs,--without-uuid,util-linux," +PACKAGECONFIG ??= " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)} \ + openssl python uuid libxml tcl perl zlib \ +" PACKAGECONFIG[tcl] = "--with-tcl --with-tclconfig=${STAGING_BINDIR_CROSS},--without-tcl,tcl tcl-native," -PACKAGECONFIG[nls] = "--enable-nls,--disable-nls,," -PACKAGECONFIG[libxml] = "--with-libxml,--without-libxml,libxml2,libxml2" PACKAGECONFIG[perl] = "--with-perl,--without-perl,perl,perl" +PACKAGECONFIG[python] = "--with-python,--without-python,python3,python3" +PACKAGECONFIG[gssapi] = "--with-gssapi,--without-gssapi,krb5" +PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam" +PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap" +PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd systemd-systemctl-native" +PACKAGECONFIG[uuid] = "--with-uuid=e2fs,--without-uuid,util-linux" +PACKAGECONFIG[libxml] = "--with-libxml,--without-libxml,libxml2,libxml2" +PACKAGECONFIG[libxslt] = "--with-libxslt,--without-libxslt,libxslt" +PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib" +PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4" +PACKAGECONFIG[openssl] = "--with-ssl=openssl,ac_cv_file__dev_urandom=yes,openssl" EXTRA_OECONF += "--enable-thread-safety --disable-rpath \ --datadir=${datadir}/${BPN} \ --sysconfdir=${sysconfdir}/${BPN} \ " -EXTRA_OECONF_sh4 += "--disable-spinlocks" -EXTRA_OECONF_aarch64 += "--disable-spinlocks" +EXTRA_OECONF:sh4 += "--disable-spinlocks" -PACKAGES_DYNAMIC += "^${PN}-plperl ^${PN}-plperl-dbg \ - ^${PN}-pltcl ^${PN}-pltcl-dbg \ - ^${PN}-plpython ^${PN}-plpython-dbg \ +DEBUG_OPTIMIZATION:remove:mips = " -Og" +DEBUG_OPTIMIZATION:append:mips = " -O" +BUILD_OPTIMIZATION:remove:mips = " -Og" +BUILD_OPTIMIZATION:append:mips = " -O" + +DEBUG_OPTIMIZATION:remove:mipsel = " -Og" +DEBUG_OPTIMIZATION:append:mipsel = " -O" +BUILD_OPTIMIZATION:remove:mipsel = " -Og" +BUILD_OPTIMIZATION:append:mipsel = " -O" + +PACKAGES_DYNAMIC += "^${PN}-plperl \ + ^${PN}-pltcl \ + ^${PN}-plpython \ " -python populate_packages_prepend() { +python populate_packages:prepend() { - def fill_more(name, dbg=True): + def fill_more(name): if name is None or name.strip() == "": return fpack=d.getVar('PACKAGES', False) or "" fpack="${PN}-" + name + " " + fpack - if dbg: - fpack="${PN}-" + name + "-dbg" + " " + fpack d.setVar('PACKAGES', fpack) conf=(d.getVar('PACKAGECONFIG') or "").split() @@ -108,11 +120,15 @@ python populate_packages_prepend() { } +# This will make native perl use target settings (for include dirs etc.) +export PERLCONFIGTARGET = "${@is_target(d)}" +export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}/${@get_perl_arch(d)}" + do_configure() { # do_configure autotools_do_configure - # do_configure_append + # do_configure:append # workaround perl package related bugs sed -i -e "s:-L/usr/local/lib:-L=/usr/local/lib:g" \ ${B}/src/Makefile.global @@ -121,7 +137,7 @@ do_configure() { BLIBNA="\${STAGING_BASE_LIBDIR_NATIVE}" sed -i -e "/^perl_archlibexp/s:${LIBPNA}:${STAGING_LIBDIR}:g" \ ${B}/src/Makefile.global - sed -i -e "/^perl_privlibexp/s:${LIBPNA}:${STAGING_LIBDIR}:g" \ + sed -i -e "/^perl_privlibexp/s:${libdir}:${STAGING_LIBDIR}:g" \ ${B}/src/Makefile.global # remove the rpath, replace with correct lib path sed -i \ @@ -148,7 +164,7 @@ do_configure() { fi } -do_compile_append() { +do_compile:append() { oe_runmake -C contrib all } @@ -156,17 +172,18 @@ do_compile_append() { usernum = "28" groupnum = "28" USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = "-M -g postgres -o -r -d ${localstatedir}/lib/${BPN} \ - -s /bin/bash -c 'PostgreSQL Server' -u ${usernum} postgres" -GROUPADD_PARAM_${PN} = "-g ${groupnum} -o -r postgres" +USERADD_PARAM:${PN} = "-M -g postgres -o -r -d ${localstatedir}/lib/${BPN} \ + -s /bin/sh -c 'PostgreSQL Server' -u ${usernum} postgres" +GROUPADD_PARAM:${PN} = "-g ${groupnum} -o -r postgres" INITSCRIPT_PACKAGES = "${PN}" INITSCRIPT_NAME = "${BPN}-server" INITSCRIPT_PARAMS = "start 64 . stop 36 0 1 2 3 4 5 6 ." -do_install_append() { +do_install:append() { # install contrib oe_runmake DESTDIR=${D} -C contrib install + oe_multilib_header pg_config.h pg_config_ext.h ecpg_config.h postgresql/server/pg_config.h postgresql/server/pg_config_ext.h # install tutorial install -d -m 0755 ${D}${libdir}/${BPN}/tutorial install ${B}/src/tutorial/* ${D}${libdir}/${BPN}/tutorial @@ -184,12 +201,12 @@ do_install_append() { install -m 0755 ${WORKDIR}/${BPN}-setup ${D}${bindir}/${BPN}-setup install -d -m 700 ${D}${localstatedir}/lib/${BPN}/data install -d -m 700 ${D}${localstatedir}/lib/${BPN}/backups - install -m 644 ${WORKDIR}/${BPN}-bashprofile ${D}${localstatedir}/lib/${BPN}/.bash_profile + install -m 644 ${WORKDIR}/${BPN}-profile ${D}${localstatedir}/lib/${BPN}/.profile chown -R postgres:postgres ${D}${localstatedir}/lib/${BPN} # multiple server config directory install -d -m 700 ${D}${sysconfdir}/default/${BPN} - if [ "${@d.getVar('enable_pam')}" = "pam" ]; then + if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then install -d ${D}${sysconfdir}/pam.d install -m 644 ${WORKDIR}/postgresql.pam ${D}${sysconfdir}/pam.d/postgresql fi @@ -199,22 +216,40 @@ do_install_append() { install -m 0644 ${WORKDIR}/postgresql.service ${D}${systemd_unitdir}/system sed -i -e 's,@BINDIR@,${bindir},g' \ ${D}${systemd_unitdir}/system/postgresql.service + # Remove the build path + if [ -f ${D}${libdir}/${BPN}/pgxs/src/Makefile.global ]; then + sed -i -e 's#${RECIPE_SYSROOT}##g' \ + -e 's#${RECIPE_SYSROOT_NATIVE}##g' \ + -e 's#${WORKDIR}##g' \ + -e 's#${TMPDIR}##g' \ + ${D}${libdir}/${BPN}/pgxs/src/Makefile.global + fi } SSTATE_SCAN_FILES += "Makefile.global" -SSTATE_SCAN_FILES_remove = "*_config" +SSTATE_SCAN_FILES:remove = "*_config" PACKAGES =+ "${PN}-client ${PN}-server-dev ${PN}-timezone \ - libecpg-compat-dbg libecpg-compat libecpg-compat-dev \ - libecpg-dbg libecpg libecpg-dev libecpg-staticdev libecpg-doc \ - libpq-dbg libpq libpq-dev libpq-staticdev \ - libpgtypes-dbg libpgtypes libpgtypes-staticdev libpgtypes-dev \ - ${PN}-contrib ${PN}-contrib-dbg \ + libecpg-compat libecpg-compat-dev \ + libecpg libecpg-dev libecpg-staticdev libecpg-doc \ + libpq libpq-dev libpq-staticdev \ + libpgtypes libpgtypes-staticdev libpgtypes-dev \ + ${PN}-contrib \ " -FILES_${PN} += "${sysconfdir}/init.d/${BPN}-server \ +RPROVIDES:${PN}-dbg += "libecpg-compat-dbg \ + libecpg-dbg \ + libpq-dbg \ + libpgtypes-dbg \ + ${PN}-contrib-dbg \ + ${PN}-pltcl-dbg \ + ${PN}-plpython-dbg \ + ${PN}-plperl-dbg \ + " + +FILES:${PN} += "${sysconfdir}/init.d/${BPN}-server \ ${localstatedir}/lib/${BPN}/data ${localstatedir}/lib/${BPN}/backups \ - ${localstatedir}/lib/${BPN}/.bash_profile ${sysconfdir}/default/${BPN} \ + ${localstatedir}/lib/${BPN}/.profile ${sysconfdir}/default/${BPN} \ ${libdir}/${BPN}/dict_snowball.so ${libdir}/${BPN}/plpgsql.so \ ${libdir}/${BPN}/euc2004_sjis2004.so \ ${libdir}/${BPN}/libpqwalreceiver.so \ @@ -224,19 +259,10 @@ FILES_${PN} += "${sysconfdir}/init.d/${BPN}-server \ else ''} \ " -FILES_${PN}-dbg += " ${libdir}/${BPN}/.debug/dict_snowball.so \ - ${libdir}/${BPN}/.debug/plpgsql.so \ - ${libdir}/${BPN}/.debug/euc2004_sjis2004.so \ - ${libdir}/${BPN}/.debug/libpqwalreceiver.so \ - ${libdir}/${BPN}/.debug/*_and_*.so \ -" - -FILES_${PN}-client = "${bindir}/clusterdb \ +FILES:${PN}-client = "${bindir}/clusterdb \ ${bindir}/createdb \ - ${bindir}/createlang \ ${bindir}/createuser \ ${bindir}/dropdb \ - ${bindir}/droplang \ ${bindir}/dropuser \ ${bindir}/pg_dump \ ${bindir}/pg_dumpall \ @@ -247,7 +273,7 @@ FILES_${PN}-client = "${bindir}/clusterdb \ ${bindir}/vacuumlo \ ${datadir}/${BPN}/psqlrc.sample \ " -FILES_${PN}-client-doc = "${mandir}/man1/clusterdb.* \ +FILES:${PN}-client-doc = "${mandir}/man1/clusterdb.* \ ${mandir}/man1/createdb.* ${mandir}/man1/createlang.* \ ${mandir}/man1/createuser.* ${mandir}/man1/dropdb.* \ ${mandir}/man1/droplang.* ${mandir}/man1/dropuser.* \ @@ -256,49 +282,47 @@ FILES_${PN}-client-doc = "${mandir}/man1/clusterdb.* \ ${mandir}/man1/reindexdb.* ${mandir}/man1/vacuumdb.* \ ${mandir}/man7/* \ " -FILES_${PN}-doc += "${docdir}/${BPN}/html ${libdir}/${BPN}/tutorial/ \ +FILES:${PN}-doc += "${docdir}/${BPN}/html ${libdir}/${BPN}/tutorial/ \ ${mandir}/man1/initdb.* ${mandir}/man1/pg_controldata.* \ ${mandir}/man1/pg_ctl.* ${mandir}/man1/pg_resetxlog.* \ ${mandir}/man1/postgres.* ${mandir}/man1/postmaster.* \ " -FILES_${PN}-timezone = "${datadir}/${BPN}/timezone \ +FILES:${PN}-timezone = "${datadir}/${BPN}/timezone \ ${datadir}/${BPN}/timezonesets \ " -RDEPENDS_${PN} += "${PN}-timezone" -FILES_${PN}-server-dev = "${includedir}/${BPN}/server" +RDEPENDS:${PN} += "${PN}-timezone" +FILES:${PN}-server-dev = "${includedir}/${BPN}/server \ + ${libdir}/${BPN}/pgxs \ +" -FILES_libecpg = "${libdir}/libecpg*${SOLIBS}" -FILES_libecpg-dbg = "${libdir}/.debug/libecpg*" -FILES_libecpg-dev = "${libdir}/libecpg*${SOLIBSDEV} \ +FILES:libecpg = "${libdir}/libecpg*${SOLIBS}" +FILES:libecpg-dev = "${libdir}/libecpg*${SOLIBSDEV} \ ${libdir}/libpgtypes*${SOLIBSDEV} \ ${includedir}/ecpg*.h ${includedir}/${BPN}/ecpg*.h \ ${includedir}/pgtypes*.h ${includedir}/${BPN}/informix \ ${includedir}/sql3types.h ${includedir}/sqlca.h \ " -FILES_libecpg-doc = "${mandir}/man1/ecpg.*" -FILES_libecpg-staticdev = "${libdir}/libecpg*.a" -SECTION_libecpg-staticdev = "devel" -RDEPENDS_libecpg-staticdev = "libecpg-dev (= ${EXTENDPKGV})" - -FILES_libpq = "${libdir}/libpq*${SOLIBS}" -FILES_libpq-dbg = "${libdir}/.debug/libpq* ${libdir}/${BPN}/pgxs/src/test/regress/.debug/*" -FILES_libpq-dev = "${libdir}/libpq*${SOLIBSDEV} \ +FILES:libecpg-doc = "${mandir}/man1/ecpg.*" +FILES:libecpg-staticdev = "${libdir}/libecpg*.a" +SECTION:libecpg-staticdev = "devel" +RDEPENDS:libecpg-staticdev = "libecpg-dev (= ${EXTENDPKGV})" + +FILES:libpq = "${libdir}/libpq*${SOLIBS}" +FILES:libpq-dev = "${libdir}/libpq*${SOLIBSDEV} \ ${includedir} \ " -FILES_libpq-staticdev = "${libdir}/libpq*.a ${libdir}/libpgport.a" -SECTION_libpq-staticdev = "devel" -RDEPENDS_libpq-staticdev = "libpq-dev (= ${EXTENDPKGV})" - -FILES_libecpg-compat = "${libdir}/libecpg_compat*${SOLIBS}" -FILES_libecpg-compat-dbg = "${libdir}/.debug/libecpg_compat*" -FILES_libecpg-compat-dev = "${libdir}/libecpg_compat*${SOLIBS}" -FILES_libpgtypes = "${libdir}/libpgtypes*${SOLIBS}" -FILES_libpgtypes-dbg = "${libdir}/.debug/libpgtypes*" -FILES_libpgtypes-staticdev = "${libdir}/libpgtypes*.a" -FILES_libpgtypes-dev = "${libdir}/libpgtypes*${SOLIBS} ${includedir}/pgtypes*.h" - -FILES_${PN}-contrib = " ${bindir}/oid2name ${bindir}/pg_standby \ - ${bindir}/pgbench ${bindir}/vacuumlo \ +FILES:libpq-staticdev = "${libdir}/libpq*.a ${libdir}/libpgport.a" +SECTION:libpq-staticdev = "devel" +RDEPENDS:libpq-staticdev = "libpq-dev (= ${EXTENDPKGV})" + +FILES:libecpg-compat = "${libdir}/libecpg_compat*${SOLIBS}" +FILES:libecpg-compat-dev = "${libdir}/libecpg_compat*${SOLIBS}" +FILES:libpgtypes = "${libdir}/libpgtypes*${SOLIBS}" +FILES:libpgtypes-staticdev = "${libdir}/libpgtypes*.a" +FILES:libpgtypes-dev = "${libdir}/libpgtypes*${SOLIBS} ${includedir}/pgtypes*.h" + +FILES:${PN}-contrib = " ${bindir}/oid2name ${bindir}/pg_standby \ + ${bindir}/pgbench \ ${S}/contrib/spi/*.example \ ${libdir}/${BPN}/_int.so ${libdir}/${BPN}/adminpack.so \ ${libdir}/${BPN}/autoinc.so ${libdir}/${BPN}/auto_explain.so \ @@ -320,65 +344,32 @@ FILES_${PN}-contrib = " ${bindir}/oid2name ${bindir}/pg_standby \ ${libdir}/${BPN}/sslinfo.so \ ${libdir}/${BPN}/tablefunc.so \ ${libdir}/${BPN}/test_parser.so ${libdir}/${BPN}/timetravel.so \ - ${libdir}/${BPN}/tsearch2.so ${libdir}/${BPN}/uuid-ossp.so \ + ${libdir}/${BPN}/uuid-ossp.so \ ${libdir}/${BPN}/pgxml.so ${libdir}/${BPN}/passwordcheck.so \ ${libdir}/${BPN}/pg_upgrade_support.so ${libdir}/${BPN}/.so \ ${libdir}/${BPN}/unaccent.so \ " -FILES_${PN}-contrib-dbg = " \ - ${libdir}/${BPN}/.debug/_int.so ${libdir}/${BPN}/.debug/adminpack.so \ - ${libdir}/${BPN}/.debug/autoinc.so ${libdir}/${BPN}/.debug/auto_explain.so \ - ${libdir}/${BPN}/.debug/auth_delay.so ${libdir}/${BPN}/.debug/btree_gin.so \ - ${libdir}/${BPN}/.debug/btree_gist.so ${libdir}/${BPN}/.debug/.so \ - ${libdir}/${BPN}/.debug/chkpass.so ${libdir}/${BPN}/.debug/citext.so \ - ${libdir}/${BPN}/.debug/cube.so ${libdir}/${BPN}/.debug/dblink.so \ - ${libdir}/${BPN}/.debug/dict_int.so ${libdir}/${BPN}/.debug/dict_xsyn.so \ - ${libdir}/${BPN}/.debug/dummy_seclabel.so \ - ${libdir}/${BPN}/.debug/earthdistance.so \ - ${libdir}/${BPN}/.debug/file_fdw.so ${libdir}/${BPN}/.debug/fuzzystrmatch.so \ - ${libdir}/${BPN}/.debug/hstore.so ${libdir}/${BPN}/.debug/insert_username.so \ - ${libdir}/${BPN}/.debug/isn.so ${libdir}/${BPN}/.debug/lo.so \ - ${libdir}/${BPN}/.debug/ltree.so ${libdir}/${BPN}/.debug/moddatetime.so \ - ${libdir}/${BPN}/.debug/pageinspect.so \ - ${libdir}/${BPN}/.debug/pg_buffercache.so \ - ${libdir}/${BPN}/.debug/pg_freespacemap.so \ - ${libdir}/${BPN}/.debug/pg_trgm.so \ - ${libdir}/${BPN}/.debug/pgcrypto.so ${libdir}/${BPN}/.debug/pgrowlocks.so \ - ${libdir}/${BPN}/.debug/pgstattuple.so \ - ${libdir}/${BPN}/.debug/pg_stat_statements.so \ - ${libdir}/${BPN}/.debug/refint.so ${libdir}/${BPN}/.debug/seg.so \ - ${libdir}/${BPN}/.debug/sslinfo.so \ - ${libdir}/${BPN}/.debug/tablefunc.so \ - ${libdir}/${BPN}/.debug/test_parser.so ${libdir}/${BPN}/.debug/timetravel.so \ - ${libdir}/${BPN}/.debug/tsearch2.so ${libdir}/${BPN}/.debug/uuid-ossp.so \ - ${libdir}/${BPN}/.debug/pgxml.so ${libdir}/${BPN}/.debug/passwordcheck.so \ - ${libdir}/${BPN}/.debug/pg_upgrade_support.so \ - ${libdir}/${BPN}/.debug/unaccent.so \ -" -DESCRIPTION_${PN}-contrib = "The postgresql-contrib package contains \ +DESCRIPTION:${PN}-contrib = "The postgresql-contrib package contains \ contributed packages that are included in the PostgreSQL distribution." -FILES_${PN}-pltcl = "${libdir}/${BPN}/pltcl.so ${bindir}/pltcl_delmod \ +FILES:${PN}-pltcl = "${libdir}/${BPN}/pltcl.so ${bindir}/pltcl_delmod \ ${binddir}/pltcl_listmod ${bindir}/pltcl_loadmod \ ${datadir}/${BPN}/unknown.pltcl" -FILES_${PN}-pltcl-dbg = "${libdir}/${BPN}/.debug/pltcl.so" -SUMMARY_${PN}-pltcl = "The Tcl procedural language for PostgreSQL" -DESCRIPTION_${PN}-pltcl = "PostgreSQL is an advanced Object-Relational \ +SUMMARY:${PN}-pltcl = "The Tcl procedural language for PostgreSQL" +DESCRIPTION:${PN}-pltcl = "PostgreSQL is an advanced Object-Relational \ database management system. The postgresql-pltcl package contains the PL/Tcl \ procedural language for the backend." -FILES_${PN}-plperl = "${libdir}/${BPN}/plperl.so" -FILES_${PN}-plperl-dbg = "${libdir}/${BPN}/.debug/plperl.so" -SUMMARY_${PN}-plperl = "The Perl procedural language for PostgreSQL" -DESCRIPTION_${PN}-plperl = "PostgreSQL is an advanced Object-Relational \ +FILES:${PN}-plperl = "${libdir}/${BPN}/plperl.so" +SUMMARY:${PN}-plperl = "The Perl procedural language for PostgreSQL" +DESCRIPTION:${PN}-plperl = "PostgreSQL is an advanced Object-Relational \ database management system. The postgresql-plperl package contains the \ PL/Perl procedural language for the backend." # In version 8, it will be plpython.so # In version 9, it might be plpython{2,3}.so depending on python2 or 3 -FILES_${PN}-plpython = "${libdir}/${BPN}/plpython*.so" -FILES_${PN}-plpython-dbg = "${libdir}/${BPN}/.debug/plpython*.so" -SUMMARY_${PN}-plpython = "The Python procedural language for PostgreSQL" -DESCRIPTION_${PN}-plpython = "PostgreSQL is an advanced Object-Relational \ +FILES:${PN}-plpython = "${libdir}/${BPN}/plpython*.so" +SUMMARY:${PN}-plpython = "The Python procedural language for PostgreSQL" +DESCRIPTION:${PN}-plpython = "PostgreSQL is an advanced Object-Relational \ database management system. The postgresql-plpython package contains \ the PL/Python procedural language for the backend." diff --git a/meta-oe/recipes-dbs/postgresql/postgresql_10.5.bb b/meta-oe/recipes-dbs/postgresql/postgresql_10.5.bb deleted file mode 100644 index acd3d8503b..0000000000 --- a/meta-oe/recipes-dbs/postgresql/postgresql_10.5.bb +++ /dev/null @@ -1,10 +0,0 @@ -require postgresql.inc - -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=6dc95e63aa4d72502ff8193dfe2ddd38" - -SRC_URI += "\ - file://not-check-libperl.patch \ -" - -SRC_URI[md5sum] = "a5fe5fdff2d6c28f65601398be0950df" -SRC_URI[sha256sum] = "6c8e616c91a45142b85c0aeb1f29ebba4a361309e86469e0fb4617b6a73c4011" diff --git a/meta-oe/recipes-dbs/postgresql/postgresql_15.3.bb b/meta-oe/recipes-dbs/postgresql/postgresql_15.3.bb new file mode 100644 index 0000000000..e1d49895f0 --- /dev/null +++ b/meta-oe/recipes-dbs/postgresql/postgresql_15.3.bb @@ -0,0 +1,16 @@ +require postgresql.inc + +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=c31f662bb2bfb3b4187fe9a53e0ffe7c" + +SRC_URI += "\ + file://not-check-libperl.patch \ + file://0001-Add-support-for-RISC-V.patch \ + file://0001-Improve-reproducibility.patch \ + file://0001-configure.ac-bypass-autoconf-2.69-version-check.patch \ + file://0001-config_info.c-not-expose-build-info.patch \ + file://0001-postgresql-fix-ptest-failure-of-sysviews.patch \ +" + +SRC_URI[sha256sum] = "ffc7d4891f00ffbf5c3f4eab7fbbced8460b8c0ee63c5a5167133b9e6599d932" + +CVE_STATUS[CVE-2017-8806] = "not-applicable-config: Ddoesn't apply to out configuration of postgresql so we can safely ignore it." |