From f88e5b146e0fd4f6d79423d6718e4875643c4ba8 Mon Sep 17 00:00:00 2001 From: Changqing Li Date: Tue, 5 Mar 2024 14:34:43 +0800 Subject: postgresql: upgrade 15.5 -> 16.2 License-Update: Update lincense year to 2024 In version 16.2, ICU support is enabled by default, add PACKAGECONFIG icu to align with upstream, enable icu by default. And fix buildpaths QA warning. Signed-off-by: Changqing Li Signed-off-by: Khem Raj --- .../files/0001-Add-support-for-RISC-V.patch | 31 +++--- .../files/0001-Improve-reproducibility.patch | 41 ------- .../0001-config_info.c-not-expose-build-info.patch | 119 --------------------- ...ure.ac-bypass-autoconf-2.69-version-check.patch | 32 ------ ...-postgresql-fix-ptest-failure-of-sysviews.patch | 42 -------- .../files/0002-Improve-reproducibility.patch | 41 +++++++ ...ure.ac-bypass-autoconf-2.69-version-check.patch | 32 ++++++ .../0004-config_info.c-not-expose-build-info.patch | 119 +++++++++++++++++++++ ...-postgresql-fix-ptest-failure-of-sysviews.patch | 49 +++++++++ meta-oe/recipes-dbs/postgresql/postgresql.inc | 13 ++- meta-oe/recipes-dbs/postgresql/postgresql_15.5.bb | 16 --- meta-oe/recipes-dbs/postgresql/postgresql_16.2.bb | 16 +++ 12 files changed, 283 insertions(+), 268 deletions(-) delete mode 100644 meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch delete mode 100644 meta-oe/recipes-dbs/postgresql/files/0001-config_info.c-not-expose-build-info.patch delete mode 100644 meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch delete mode 100644 meta-oe/recipes-dbs/postgresql/files/0001-postgresql-fix-ptest-failure-of-sysviews.patch create mode 100644 meta-oe/recipes-dbs/postgresql/files/0002-Improve-reproducibility.patch create mode 100644 meta-oe/recipes-dbs/postgresql/files/0003-configure.ac-bypass-autoconf-2.69-version-check.patch create mode 100644 meta-oe/recipes-dbs/postgresql/files/0004-config_info.c-not-expose-build-info.patch create mode 100644 meta-oe/recipes-dbs/postgresql/files/0005-postgresql-fix-ptest-failure-of-sysviews.patch delete mode 100644 meta-oe/recipes-dbs/postgresql/postgresql_15.5.bb create mode 100644 meta-oe/recipes-dbs/postgresql/postgresql_16.2.bb 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 index 7a4ba9897c..34d34ecad9 100644 --- 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 @@ -1,21 +1,19 @@ -From 780fd27ea6f7f2c446c46a7a5e26d94106c67efd Mon Sep 17 00:00:00 2001 +From ba079b8d6a50796db41bb0ddf4c22bfe022ef898 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 20 Nov 2016 15:04:52 +0000 -Subject: [PATCH] Add support for RISC-V. +Subject: [PATCH 1/5] 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(-) + src/include/storage/s_lock.h | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h -index 4d3ffc7..22e27bf 100644 +index c9fa84c..9b491e8 100644 --- a/src/include/storage/s_lock.h +++ b/src/include/storage/s_lock.h -@@ -317,11 +317,12 @@ tas(volatile slock_t *lock) +@@ -252,11 +252,12 @@ spin_delay(void) /* * On ARM and ARM64, we use __sync_lock_test_and_set(int *, int) if available. @@ -24,21 +22,20 @@ index 4d3ffc7..22e27bf 100644 * 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) +-#if defined(__arm__) || defined(__arm) || defined(__aarch64__) ++#if defined(__arm__) || defined(__arm) || defined(__aarch64__) || defined(__riscv) #ifdef HAVE_GCC__SYNC_INT32_TAS #define HAS_TEST_AND_SET -@@ -355,8 +356,7 @@ spin_delay(void) +@@ -290,7 +291,7 @@ spin_delay(void) - #endif /* __aarch64__ || __aarch64 */ + #endif /* __aarch64__ */ #endif /* HAVE_GCC__SYNC_INT32_TAS */ --#endif /* __arm__ || __arm || __aarch64__ || __aarch64 */ -- -+#endif /* __arm__ || __arm || __aarch64__ || __aarch64 || __riscv */ +-#endif /* __arm__ || __arm || __aarch64__ */ ++#endif /* __arm__ || __arm || __aarch64__ || __riscv */ + /* S/390 and S/390x Linux (32- and 64-bit zSeries) */ - #if defined(__s390__) || defined(__s390x__) -- -2.34.1 +2.25.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 deleted file mode 100644 index 02f4c9e513..0000000000 --- a/meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch +++ /dev/null @@ -1,41 +0,0 @@ -From bbba8a5261a99e79c9cd4693ef56021014a9856b Mon Sep 17 00:00:00 2001 -From: Changqing Li -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 - -update patch for v13.1 -Signed-off-by: Changqing Li ---- - 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-config_info.c-not-expose-build-info.patch b/meta-oe/recipes-dbs/postgresql/files/0001-config_info.c-not-expose-build-info.patch deleted file mode 100644 index 52ca276da6..0000000000 --- a/meta-oe/recipes-dbs/postgresql/files/0001-config_info.c-not-expose-build-info.patch +++ /dev/null @@ -1,119 +0,0 @@ -From b92eebe8b0760fee7bd55c6c22318620c2c07579 Mon Sep 17 00:00:00 2001 -From: Mingli Yu -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 ---- - 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 deleted file mode 100644 index ab578056ff..0000000000 --- a/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch +++ /dev/null @@ -1,32 +0,0 @@ -From d44c83ed0f30462a31930d6d925762b3f8412ce2 Mon Sep 17 00:00:00 2001 -From: Yi Fan Yu -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 ---- - configure.ac | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/configure.ac b/configure.ac -index e988503..d1b2cfd 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch undefined macros - - AC_INIT([PostgreSQL], [15.5], [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) --- -2.25.1 - 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 deleted file mode 100644 index 4db36d26fd..0000000000 --- a/meta-oe/recipes-dbs/postgresql/files/0001-postgresql-fix-ptest-failure-of-sysviews.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 9f81377dddfe32d950844d7053020a36b40fce08 Mon Sep 17 00:00:00 2001 -From: Manoj Saun -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 ---- - 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/0002-Improve-reproducibility.patch b/meta-oe/recipes-dbs/postgresql/files/0002-Improve-reproducibility.patch new file mode 100644 index 0000000000..b3e87cbc46 --- /dev/null +++ b/meta-oe/recipes-dbs/postgresql/files/0002-Improve-reproducibility.patch @@ -0,0 +1,41 @@ +From 084cc44215c1d5e6d33bc3d2e1d24da4fc98bdcd Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Mon, 28 Dec 2020 16:38:21 +0800 +Subject: [PATCH 2/5] 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 + +update patch for v13.1 +Signed-off-by: Changqing Li +--- + src/common/Makefile | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/src/common/Makefile b/src/common/Makefile +index 113029b..58842a6 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.25.1 + diff --git a/meta-oe/recipes-dbs/postgresql/files/0003-configure.ac-bypass-autoconf-2.69-version-check.patch b/meta-oe/recipes-dbs/postgresql/files/0003-configure.ac-bypass-autoconf-2.69-version-check.patch new file mode 100644 index 0000000000..d76d1991b6 --- /dev/null +++ b/meta-oe/recipes-dbs/postgresql/files/0003-configure.ac-bypass-autoconf-2.69-version-check.patch @@ -0,0 +1,32 @@ +From 30b1b37d309f67ba6d58f2197bd917107bc7d56c Mon Sep 17 00:00:00 2001 +From: Yi Fan Yu +Date: Fri, 5 Feb 2021 17:15:42 -0500 +Subject: [PATCH 3/5] 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 +--- + configure.ac | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 401ce30..27f382d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch undefined macros + + AC_INIT([PostgreSQL], [16.2], [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-2023, PostgreSQL Global Development Group]) + AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c]) + AC_CONFIG_AUX_DIR(config) +-- +2.25.1 + diff --git a/meta-oe/recipes-dbs/postgresql/files/0004-config_info.c-not-expose-build-info.patch b/meta-oe/recipes-dbs/postgresql/files/0004-config_info.c-not-expose-build-info.patch new file mode 100644 index 0000000000..ff0582ab80 --- /dev/null +++ b/meta-oe/recipes-dbs/postgresql/files/0004-config_info.c-not-expose-build-info.patch @@ -0,0 +1,119 @@ +From 5be3ffdf767c1efcbfd2d1be87aa83f2e37e348e Mon Sep 17 00:00:00 2001 +From: Mingli Yu +Date: Mon, 1 Aug 2022 15:44:38 +0800 +Subject: [PATCH 4/5] 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 +--- + configure.ac | 2 +- + src/common/config_info.c | 70 +--------------------------------------- + 2 files changed, 2 insertions(+), 70 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 27f382d..3dd6bb1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -23,7 +23,7 @@ AC_COPYRIGHT([Copyright (c) 1996-2023, 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 09e78a6..86e4230 100644 +--- a/src/common/config_info.c ++++ b/src/common/config_info.c +@@ -38,7 +38,7 @@ get_configdata(const char *my_exec_path, size_t *configdata_len) + int i = 0; + + /* Adjust this to match the number of items filled below */ +- *configdata_len = 23; ++ *configdata_len = 14; + configdata = palloc_array(ConfigData, *configdata_len); + + configdata[i].name = pstrdup("BINDIR"); +@@ -123,74 +123,6 @@ get_configdata(const char *my_exec_path, size_t *configdata_len) + 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/0005-postgresql-fix-ptest-failure-of-sysviews.patch b/meta-oe/recipes-dbs/postgresql/files/0005-postgresql-fix-ptest-failure-of-sysviews.patch new file mode 100644 index 0000000000..af36da4927 --- /dev/null +++ b/meta-oe/recipes-dbs/postgresql/files/0005-postgresql-fix-ptest-failure-of-sysviews.patch @@ -0,0 +1,49 @@ +From 1a8b94140988d2ee5ff987b0bb3e7c3e936b8c01 Mon Sep 17 00:00:00 2001 +From: Manoj Saun +Date: Wed, 22 Mar 2023 08:07:26 +0000 +Subject: [PATCH 5/5] 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 +--- + src/test/regress/expected/sysviews.out | 2 +- + src/test/regress/sql/sysviews.sql | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/test/regress/expected/sysviews.out b/src/test/regress/expected/sysviews.out +index 001c6e7..8256898 100644 +--- a/src/test/regress/expected/sysviews.out ++++ b/src/test/regress/expected/sysviews.out +@@ -29,7 +29,7 @@ select name, ident, parent, level, total_bytes >= free_bytes + (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 +diff --git a/src/test/regress/sql/sysviews.sql b/src/test/regress/sql/sysviews.sql +index 351e469..84c113e 100644 +--- a/src/test/regress/sql/sysviews.sql ++++ b/src/test/regress/sql/sysviews.sql +@@ -18,7 +18,7 @@ select name, ident, parent, level, total_bytes >= free_bytes + 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; +-- +2.25.1 + diff --git a/meta-oe/recipes-dbs/postgresql/postgresql.inc b/meta-oe/recipes-dbs/postgresql/postgresql.inc index 15ecdeeb2e..868a2e443c 100644 --- a/meta-oe/recipes-dbs/postgresql/postgresql.inc +++ b/meta-oe/recipes-dbs/postgresql/postgresql.inc @@ -54,7 +54,7 @@ pkg_postinst:${PN} () { PACKAGECONFIG ??= " \ ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)} \ - openssl python uuid libxml tcl perl zlib \ + openssl python uuid libxml tcl perl zlib icu \ " PACKAGECONFIG[tcl] = "--with-tcl --with-tclconfig=${STAGING_BINDIR_CROSS},--without-tcl,tcl tcl-native," PACKAGECONFIG[perl] = "--with-perl,--without-perl,perl,perl" @@ -69,6 +69,7 @@ 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" +PACKAGECONFIG[icu] = "--with-icu,--without-icu,icu,icu" EXTRA_OECONF += "--enable-thread-safety --disable-rpath \ --datadir=${datadir}/${BPN} \ @@ -229,6 +230,16 @@ do_install:append() { SSTATE_SCAN_FILES += "Makefile.global" SSTATE_SCAN_FILES:remove = "*_config" +postgresql_fix_sources () { + for f in ${PKGD}${TARGET_DBGSRC_DIR}/src/pl/plperl/Util.c \ + ${PKGD}${TARGET_DBGSRC_DIR}/src/pl/plperl/SPI.c; do + if [ -e $f ]; then + sed -i -e 's#${B}/../${P}#${TARGET_DBGSRC_DIR}#g' $f + fi + done +} +PACKAGESPLITFUNCS =+ "postgresql_fix_sources" + PACKAGES =+ "${PN}-client ${PN}-server-dev ${PN}-timezone \ libecpg-compat libecpg-compat-dev \ libecpg libecpg-dev libecpg-staticdev libecpg-doc \ diff --git a/meta-oe/recipes-dbs/postgresql/postgresql_15.5.bb b/meta-oe/recipes-dbs/postgresql/postgresql_15.5.bb deleted file mode 100644 index cb90ff930a..0000000000 --- a/meta-oe/recipes-dbs/postgresql/postgresql_15.5.bb +++ /dev/null @@ -1,16 +0,0 @@ -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] = "8f53aa95d78eb8e82536ea46b68187793b42bba3b4f65aa342f540b23c9b10a6" - -CVE_STATUS[CVE-2017-8806] = "not-applicable-config: Ddoesn't apply to out configuration of postgresql so we can safely ignore it." diff --git a/meta-oe/recipes-dbs/postgresql/postgresql_16.2.bb b/meta-oe/recipes-dbs/postgresql/postgresql_16.2.bb new file mode 100644 index 0000000000..31f83a564b --- /dev/null +++ b/meta-oe/recipes-dbs/postgresql/postgresql_16.2.bb @@ -0,0 +1,16 @@ +require postgresql.inc + +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=89afbb2d7716371015101c2b2cb4297a" + +SRC_URI += "\ + file://not-check-libperl.patch \ + file://0001-Add-support-for-RISC-V.patch \ + file://0002-Improve-reproducibility.patch \ + file://0003-configure.ac-bypass-autoconf-2.69-version-check.patch \ + file://0004-config_info.c-not-expose-build-info.patch \ + file://0005-postgresql-fix-ptest-failure-of-sysviews.patch \ +" + +SRC_URI[sha256sum] = "446e88294dbc2c9085ab4b7061a646fa604b4bec03521d5ea671c2e5ad9b2952" + +CVE_STATUS[CVE-2017-8806] = "not-applicable-config: Ddoesn't apply to out configuration of postgresql so we can safely ignore it." -- cgit 1.2.3-korg