Commit Graph

24 Commits

Author SHA1 Message Date
Changqing Li
f88e5b146e
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 <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-03-05 11:02:03 -08:00
Wang Mingyu
a0128a94e6 postgresql: Fix install conflict when enable multilib.
Error: Transaction test error:
file /usr/include/pg_config.h conflicts between attempted installs of lib32-libpq-dev-15.2-r0.armv7ahf_neon and libpq-dev-15.2-r0.aarch64
file /usr/include/pg_config_ext.h conflicts between attempted installs of lib32-libpq-dev-15.2-r0.armv7ahf_neon and libpq-dev-15.2-r0.aarch64

The differences of pg_config_ext.h are as follows:
@@ -5,4 +5,4 @@
  */

 /* Define to the name of a signed 64-bit integer type. */
-#define PG_INT64_TYPE long int
+#define PG_INT64_TYPE long long int

The differences of pg_config.h are as follows:
@@ -11,13 +11,13 @@
 #define ALIGNOF_INT 4

 /* The normal alignment of `long', in bytes. */
-#define ALIGNOF_LONG 8
+#define ALIGNOF_LONG 4

 /* The normal alignment of `long long int', in bytes. */
-/* #undef ALIGNOF_LONG_LONG_INT */
+#define ALIGNOF_LONG_LONG_INT 8

 /* The normal alignment of `PG_INT128_TYPE', in bytes. */
-#define ALIGNOF_PG_INT128_TYPE 16
+/* #undef ALIGNOF_PG_INT128_TYPE */

 /* The normal alignment of `short', in bytes. */
 #define ALIGNOF_SHORT 2
@@ -369,10 +369,10 @@
 #define HAVE_LOCALE_T 1

 /* Define to 1 if `long int' works and is 64 bits. */
-#define HAVE_LONG_INT_64 1
+/* #undef HAVE_LONG_INT_64 */

 /* Define to 1 if `long long int' works and is 64 bits. */
-/* #undef HAVE_LONG_LONG_INT_64 */
+#define HAVE_LONG_LONG_INT_64 1

 /* Define to 1 if you have the <mbarrier.h> header file. */
 /* #undef HAVE_MBARRIER_H */
@@ -780,7 +780,7 @@
 /* #undef HAVE___STRTOULL */

 /* Define to the appropriate printf length modifier for 64-bit ints. */
-#define INT64_MODIFIER "l"
+#define INT64_MODIFIER "ll"

 /* Define to 1 if `locale_t' requires <xlocale.h>. */
 /* #undef LOCALE_T_IN_XLOCALE */
@@ -814,10 +814,10 @@
 #define PACKAGE_VERSION "15.2"

 /* Define to the name of a signed 128-bit integer type. */
-#define PG_INT128_TYPE __int128
+/* #undef PG_INT128_TYPE */

 /* Define to the name of a signed 64-bit integer type. */
-#define PG_INT64_TYPE long int
+#define PG_INT64_TYPE long long int

 /* Define to the name of the default PostgreSQL service principal in Kerberos
    (GSSAPI). (--with-krb-srvnam=NAME) */
@@ -845,7 +845,7 @@
 #define PG_VERSION_NUM 150002

 /* A string containing the version number, platform, and C compiler */
-#define PG_VERSION_STR "PostgreSQL 15.2 on aarch64-poky-linux-gnu, compiled by aarch64-poky-linux-gcc (GCC) 12.2.0, 64-bit"
+#define PG_VERSION_STR "PostgreSQL 15.2 on arm-pokymllib32-linux-gnueabi, compiled by arm-pokymllib32-linux-gnueabi-gcc (GCC) 12.2.0, 32-bit"

 /* Define to 1 to allow profiling output to be saved separately for each
    process. */
@@ -872,16 +872,16 @@
 #define SIZEOF_BOOL 1

 /* The size of `long', as computed by sizeof. */
-#define SIZEOF_LONG 8
+#define SIZEOF_LONG 4

 /* The size of `off_t', as computed by sizeof. */
 #define SIZEOF_OFF_T 8

 /* The size of `size_t', as computed by sizeof. */
-#define SIZEOF_SIZE_T 8
+#define SIZEOF_SIZE_T 4

 /* The size of `void *', as computed by sizeof. */
-#define SIZEOF_VOID_P 8
+#define SIZEOF_VOID_P 4

 /* Define to 1 if all of the C90 standard headers exist (not just the ones
    required in a freestanding environment). This macro is provided for
@@ -892,10 +892,10 @@
 /* #undef STRERROR_R_INT */

 /* Define to 1 to use ARMv8 CRC Extension. */
-#define USE_ARMV8_CRC32C 1
+/* #undef USE_ARMV8_CRC32C */

 /* Define to 1 to use ARMv8 CRC Extension with a runtime check. */
-/* #undef USE_ARMV8_CRC32C_WITH_RUNTIME_CHECK */
+#define USE_ARMV8_CRC32C_WITH_RUNTIME_CHECK 1

 /* Define to 1 to build with assertion checks. (--enable-cassert) */
 /* #undef USE_ASSERT_CHECKING */
@@ -989,7 +989,7 @@

 /* Number of bits in a file offset, on hosts where this is settable. */
-/* #undef _FILE_OFFSET_BITS */
+#define _FILE_OFFSET_BITS 64

 /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
 /* #undef _LARGEFILE_SOURCE */

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-03-17 07:06:55 -07:00
Mingli Yu
a755af4fb5 postgresql: make sure pam conf installed when pam enabled
Update the pam check logic to make sure pam conf installed.

Before the patch:
root@intel-x86-64:~# rpm -ql postgresql | grep pam.d | grep postgresql
root@intel-x86-64:~#

After the patch:
root@intel-x86-64:~# rpm -ql postgresql | grep pam.d | grep postgresql
/etc/pam.d/postgresql
root@intel-x86-64:~#

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-08-29 08:44:19 -07:00
Mingli Yu
59eff6269c postgresql: Fix the buildpaths issue
Fixes:
  WARNING: postgresql-14.4-r0 do_package_qa: QA Issue: File /usr/bin/postgres in package postgresql contains reference to TMPDIR
  File /usr/bin/pg_config in package postgresql contains reference to TMPDIR [buildpaths]
  WARNING: postgresql-14.4-r0 do_package_qa: QA Issue: File /usr/include/pg_config.h in package libpq-dev contains reference to TMPDIR [buildpaths]
  WARNING: postgresql-14.4-r0 do_package_qa: QA Issue: File /usr/include/postgresql/server/pg_config.h in package postgresql-server-dev contains reference to TMPDIR
  File /usr/lib/postgresql/pgxs/src/Makefile.global in package postgresql-server-dev contains reference to TMPDIR [buildpaths]
  WARNING: postgresql-14.4-r0 do_package_qa: QA Issue: File /usr/lib/libpgcommon.a in package postgresql-staticdev contains reference to TMPDIR
  File /usr/lib/libpgcommon_shlib.a in package postgresql-staticdev contains reference to TMPDIR [buildpaths]

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-08-06 09:07:11 -07:00
Khem Raj
14c7d8a0d7 recipes: Update LICENSE variable to use SPDX license identifiers
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-04 17:41:45 -08:00
Robert Joslyn
4cf47b8325 postgresql: Update to 14.1
Refresh patches, since upstream moved from configure.in to configure.ac.
Remove CVE backports that no longer apply to the new version.

Update SRC_URI to use https. Upstream redirects http to https anyway.

Rework PACKAGECONFIG:
 * Reorder PACKAGECONFIG to be the same as the `./configure --help` output
   to make future updates easier.
 * Move zlib to a PACKAGECONFIG. Upstream enables it by default, so keep it
   enabled to preserve existing behavior.
 * Add PACKAGECONFIGs for ldap, systemd, gssapi, xslt, and lz4
 * Update openssl to use `--with-ssl=openssl` because the `--with-openssl`
   form is deprecated.
 * Remove the nls config because gettext.bbclass already appends the
   desired option to EXTRA_OECONF based on the value of USE_NLS.

Enable spinlocks on aarch64. Support was added in version 9.2.5 and
should provide much better performance.

Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-01-18 09:01:51 -08:00
Martin Jansa
c61dc077bb Convert to new override syntax
This is the result of automated script (0.9.1) conversion:

oe-core/scripts/contrib/convert-overrides.py .

converting the metadata to use ":" as the override character instead of "_".

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-08-03 10:21:25 -07:00
Khem Raj
db3aab1e47 postgresql: Use /dev/urandom when openssl is not used
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-12-23 22:47:02 -08:00
Khem Raj
c499aaeef8 postgresql: Inherit python3targetconfig
it now ends up searching native python shared libraries and tries to
link with it and fails on non-host architectures

recipe-sysroot-native/usr/lib/libpython3.9.so: file not recognized: file format not recognized
collect2: error: ld returned 1 exit status

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-11-17 15:04:43 -08:00
Robert Joslyn
e5412c2203 postgresql: Update to 12.4
createlang, droplang, and the tsearch2 module were all removed in the
10.0 release. More details are in the release notes:
https://www.postgresql.org/docs/10/release-10.html

Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-09-12 18:46:28 -07:00
Konrad Weihmann
b1aad0ba67 postgresql: remove vacuumlo from contrib
as it is already packaged in client package

Signed-off-by: Konrad Weihmann <kweihmann@outlook.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-07-06 07:28:04 -07:00
Wang Mingyu
04dc1ffc16 postgresql: 12.2 -> 12.3
0001-Use-pkg-config-for-libxml2-detection.patch
removed since it is not available in 12.3

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-06-05 18:42:45 -07:00
Khem Raj
46951201fc postgresql: Add python3 to depends
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-01-24 09:25:34 -08:00
Khem Raj
5057746583 meta-oe: Remove using python2
This change makes the parsing go though, we still might have build
issues, which will be reported in world builds seprately

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-01-22 09:56:34 -08:00
Christophe PRIOUZEAU
f29988781f postgresql: Clarify BSD license variant
The License of postgresql is BSD-0-Clause.

Signed-off-by: Christophe Priouzeau <christophe.priouzeau@st.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-10-25 10:29:51 -07:00
Hongxu Jia
6a160e340d postgresql: improve reproducibility
- Make pg_config not record var-CC, var-CFLAGS, and configure
  which contains build paths

- Split pgxs in which Makefile.global contains build path from
  package postgresql to postgresql-server-dev, it refers ubuntu
Here is we got from Ubuntu 18.04
$ dpkg -c /var/cache/apt/archives/postgresql-server-dev-10_10.8-0ubuntu0.18.04.1_amd64.deb
-rwxr-xr-x root/root     30792 2019-05-07 17:20 ./usr/lib/postgresql/10/bin/pg_config
drwxr-xr-x root/root         0 2019-05-07 17:20 ./usr/lib/postgresql/10/lib/
drwxr-xr-x root/root         0 2019-05-07 17:20 ./usr/lib/postgresql/10/lib/pgxs/
drwxr-xr-x root/root         0 2019-05-07 17:20 ./usr/lib/postgresql/10/lib/pgxs/config/
drwxr-xr-x root/root         0 2019-05-07 17:20 ./usr/lib/postgresql/10/lib/pgxs/src/
-rw-r--r-- root/root     31309 2019-05-07 17:20 ./usr/lib/postgresql/10/lib/pgxs/src/Makefile.global

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-06-15 16:45:33 -07:00
Changqing Li
f1cc8bf017 postgresql: fix compile error
configuration:
MULTILIB_GLOBAL_VARIANTS_append = " libn32"
MULTILIBS ?= "multilib:lib32 multilib:libn32"
DEFAULTTUNE_virtclass-multilib-lib32 ?= "mips"
DEFAULTTUNE_virtclass-multilib-libn32 ?= "mips64-n32"
require conf/multilib.conf

SELECTED_OPTIMIZATION = "${DEBUG_OPTIMIZATION}"
DEBUG_BUILD = "1"
EXTRA_IMAGE_FEATURES += "dbg-pkgs"

with above configuration and option -Og, postgresql compile failed with:
| make[4]: Nothing to be done for 'all'.
| make[4]: Leaving directory '/tmp/work/mips-pokymllib32-linux/lib32-postgresql/11.2-r0/build/src/fe_utils'
| {standard input}: Assembler messages:
| {standard input}:58887: Error: branch out of range
| <builtin>: recipe for target 'tab-complete.o' failed
| make[3]: *** [tab-complete.o] Error 1
| make[3]: Leaving directory '/tmp/work/mips-pokymllib32-linux/lib32-postgresql/11.2-r0/build/src/bin/psql'
| Makefile:41: recipe for target 'all-psql-recurse' failed
| make[2]: *** [all-psql-recurse] Error 2

replace -Og with -O to fix this error

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-05-02 14:13:57 -07:00
Alexander Kanavin
26b1bd2097 postgresql: correctly build against target perl
Previously perl-native headers were erroneously included,
which was causing issues with the new perl recipe.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-01-11 07:48:30 -08:00
Otavio Salvador
103939fecd postgresql: Allow successful run of postgresql-setup
The postgresql-setup utility log-in on postgres user to create the
database, however, the shell was set to bash and it wasn't being
installed as runtime dependency.

This rework this expectation to use busybox ash as shell and avoid the
new dependency

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-11-26 09:38:14 -08:00
Hongxu Jia
d9abf69f20 postgresql: split one dpg package
Multiple -dbg packages per recipe is not encouraged, and only one is
recommended and the code only works properly in some cases for one.

Add RPROVIDES_${PN}-dbg to be compatiable with previous dbg packages
requiring.

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-09-18 20:17:02 -07:00
Ross Burton
140bf68e37 postgresql: use util-linux's uuid
Postgreqsql was configured to use ossp-uuid but ossp-uuid is dead and everyone
will be building util-linux anyway, so use the libuuid.so from there.

Confusing the option is called e2fs because the library originated in e2fsprogs.

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-07-27 13:49:48 -07:00
Kai Kang
3205d00170 postgresql: remove *_config from SSTATE_SCAN_FILES
It fails to run command pg_config with segment fault. The root cause is
function sstate_hardcode_path takes elf file pg_config as a configure
file and edits it with 'sed'.

And then file pg_config is corrupt:
$ readelf -a package/usr/bin/pg_config >/dev/null
readelf: Error: Unable to read in 0x700 bytes of section headers
readelf: Error: Section headers are not available!

There is not other '*_config' file installed by postgresql except
pg_config, so remove '*_config' from SSTATE_SCAN_FILES for postgresql.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-05-26 21:10:55 -07:00
Khem Raj
28d200d0a9 postgresql: Depend on external libnsl
glibc has dropped libnsl support

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
2018-05-17 08:20:48 -07:00
Armin Kuster
742404cc8a postgres: move to recipes-dbs
Signed-off-by: Armin Kuster <akuster808@gmail.com>
2018-03-01 16:10:38 -08:00