| Message ID | 20251002211744.3418535-1-anna-lena.marx@inovex.de |
|---|---|
| State | New |
| Headers | show |
| Series | [v3] sqlite3: upgrade 3.48.0 -> 3.50.4 | expand |
On Thu Oct 2, 2025 at 11:17 PM CEST, Anna-Lena Marx wrote: > With the upgrade to 3.50.4, some configure options changed > as the project switched from `autotools` to `autosetup`. > The PACKAGECONFIG "dyn_ext" is not longer available. > Besides, the default CONFIGUREOPTS "target", "exec_prefix" > and "oldincludedir" became invalid. > > Changelog: https://sqlite.org/releaselog/3_50_4.html > > Signed-off-by: Anna-Lena Marx <anna-lena.marx@inovex.de> > --- Hi Anna-Lena, Thanks for the new version. I can't explain why, but it looks like this is breaking the imagefeatures.ImageFeatures.test_mandb test: ERROR: core-image-minimal-1.0-r0 do_rootfs: Postinstall scriptlets of ['kernel-6.16.9-yocto-standard'] have failed. If the intention is to defer them to first boot, then please place them into pkg_postinst_ontarget:${PN} (). Deferring to first boot via 'exit 1' is no longer supported. ... 2025-10-05 14:14:59,584 - oe-selftest - INFO - imagefeatures.ImageFeatures.test_mandb (subunit.RemotedTestCase) 2025-10-05 14:14:59,586 - oe-selftest - INFO - ... FAIL https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/2478 https://autobuilder.yoctoproject.org/valkyrie/#/builders/48/builds/2391 I was not able to reproduce this locally, I will try to extract logs from the autobuilder in the coming days to provide a bit more context. Thanks, Mathieu
> -----Original Message----- > From: openembedded-core@lists.openembedded.org <openembedded- > core@lists.openembedded.org> On Behalf Of Mathieu Dubois-Briand via > lists.openembedded.org > Sent: Sunday, October 5, 2025 21:03 > To: Anna-Lena Marx <anna-lena.marx@inovex.de>; alex.kanavin@gmail.com; > openembedded-core@lists.openembedded.org > Cc: denis@denix.org > Subject: Re: [OE-core] [PATCH v3] sqlite3: upgrade 3.48.0 -> 3.50.4 > > On Thu Oct 2, 2025 at 11:17 PM CEST, Anna-Lena Marx wrote: > > With the upgrade to 3.50.4, some configure options changed > > as the project switched from `autotools` to `autosetup`. > > The PACKAGECONFIG "dyn_ext" is not longer available. > > Besides, the default CONFIGUREOPTS "target", "exec_prefix" > > and "oldincludedir" became invalid. > > > > Changelog: https://sqlite.org/releaselog/3_50_4.html > > > > Signed-off-by: Anna-Lena Marx <anna-lena.marx@inovex.de> > > --- > > Hi Anna-Lena, > > Thanks for the new version. > > I can't explain why, but it looks like this is breaking the > imagefeatures.ImageFeatures.test_mandb test: > > ERROR: core-image-minimal-1.0-r0 do_rootfs: Postinstall scriptlets of ['kernel- > 6.16.9-yocto-standard'] have failed. If the intention is to defer them to first boot, > then please place them into pkg_postinst_ontarget:${PN} (). > Deferring to first boot via 'exit 1' is no longer supported. > ... > 2025-10-05 14:14:59,584 - oe-selftest - INFO - > imagefeatures.ImageFeatures.test_mandb (subunit.RemotedTestCase) > 2025-10-05 14:14:59,586 - oe-selftest - INFO - ... FAIL > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/2478 > https://autobuilder.yoctoproject.org/valkyrie/#/builders/48/builds/2391 > > I was not able to reproduce this locally, I will try to extract logs > from the autobuilder in the coming days to provide a bit more context. My two cents - it can be the same issue as in my first patch - wrong soname and restoring from sstate-cache. But in general, I don't like this patch as it's not addressing the switch from autotools to autosetup properly. Two topics in particular - it keeps autotools class and it keeps now broken code which is trying to disable zlib. I hope I'll find some time during the next week and send a new respin of my sqlite upgrade patch. Peter Peter > > Thanks, > Mathieu > > -- > Mathieu Dubois-Briand, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com
On Sun Oct 5, 2025 at 9:02 PM CEST, Mathieu Dubois-Briand wrote: > On Thu Oct 2, 2025 at 11:17 PM CEST, Anna-Lena Marx wrote: >> With the upgrade to 3.50.4, some configure options changed >> as the project switched from `autotools` to `autosetup`. >> The PACKAGECONFIG "dyn_ext" is not longer available. >> Besides, the default CONFIGUREOPTS "target", "exec_prefix" >> and "oldincludedir" became invalid. >> >> Changelog: https://sqlite.org/releaselog/3_50_4.html >> >> Signed-off-by: Anna-Lena Marx <anna-lena.marx@inovex.de> >> --- > > Hi Anna-Lena, > > Thanks for the new version. > > I can't explain why, but it looks like this is breaking the > imagefeatures.ImageFeatures.test_mandb test: > > ERROR: core-image-minimal-1.0-r0 do_rootfs: Postinstall scriptlets of ['kernel-6.16.9-yocto-standard'] have failed. If the intention is to defer them to first boot, > then please place them into pkg_postinst_ontarget:${PN} (). > Deferring to first boot via 'exit 1' is no longer supported. > ... > 2025-10-05 14:14:59,584 - oe-selftest - INFO - imagefeatures.ImageFeatures.test_mandb (subunit.RemotedTestCase) > 2025-10-05 14:14:59,586 - oe-selftest - INFO - ... FAIL > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/2478 > https://autobuilder.yoctoproject.org/valkyrie/#/builders/48/builds/2391 > > I was not able to reproduce this locally, I will try to extract logs > from the autobuilder in the coming days to provide a bit more context. > Here is some log from the autobuilder, not sure it helps much: Installing : kernel-6.16.9-yocto-standard-6.16.9+git0+1ac1d0ff7 17/56 Running scriptlet: kernel-6.16.9-yocto-standard-6.16.9+git0+1ac1d0ff7 17/56 %post(kernel-6.16.9-yocto-standard-6.16.9+git0+1ac1d0ff73_3f9db490a8-r0.qemux86_64): scriptlet start %post(kernel-6.16.9-yocto-standard-6.16.9+git0+1ac1d0ff73_3f9db490a8-r0.qemux86_64): execv(/bin/sh) pid 1421854 + set -e + [ ! -e /srv/pokybuild/yocto-worker/oe-selftest-debian-mathieu-20251004/build/build-st/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/rootfs/lib/modules/6.16.9-yocto-standard ] + [ -n /srv/pokybuild/yocto-worker/oe-selftest-debian-mathieu-20251004/build/build-st/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/rootfs ] + depmodwrapper -a -b /srv/pokybuild/yocto-worker/oe-selftest-debian-mathieu-20251004/build/build-st/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/rootfs 6.16.9-yocto-standard kernel Segmentation fault %post(kernel-6.16.9-yocto-standard-6.16.9+git0+1ac1d0ff73_3f9db490a8-r0.qemux86_64): waitpid(1421854) rc 1421854 status 8b00 warning: %post(kernel-6.16.9-yocto-standard-6.16.9+git0+1ac1d0ff73_3f9db490a8-r0.qemux86_64) scriptlet failed, exit status 139 Error in POSTIN scriptlet in rpm package kernel-6.16.9-yocto-standard Installing : kernel-image-bzimage-6.16.9-yocto-standard-6.16.9+ 18/56 Running scriptlet: kernel-image-bzimage-6.16.9-yocto-standard-6.16.9+ 18/56 %post(kernel-image-bzimage-6.16.9-yocto-standard-6.16.9+git0+1ac1d0ff73_3f9db490a8-r0.qemux86_64): scriptlet start %post(kernel-image-bzimage-6.16.9-yocto-standard-6.16.9+git0+1ac1d0ff73_3f9db490a8-r0.qemux86_64): execv(/bin/sh) pid 1421928 + set -e + set +e + [ -n /srv/pokybuild/yocto-worker/oe-selftest-debian-mathieu-20251004/build/build-st/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/rootfs ] + ln -sf bzImage-6.16.9-yocto-standard /srv/pokybuild/yocto-worker/oe-selftest-debian-mathieu-20251004/build/build-st/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/rootfs/boot/bzImage + set -e %post(kernel-image-bzimage-6.16.9-yocto-standard-6.16.9+git0+1ac1d0ff73_3f9db490a8-r0.qemux86_64): waitpid(1421928) rc 1421928 status 0 Thanks, Mathieu
> > Hi Anna-Lena, > > > > Thanks for the new version. > > > > I can't explain why, but it looks like this is breaking the > > imagefeatures.ImageFeatures.test_mandb test: > > > > ERROR: core-image-minimal-1.0-r0 do_rootfs: Postinstall scriptlets of ['kernel-6.16.9-yocto-standard'] have failed. If the intention is to defer them to first boot, > > then please place them into pkg_postinst_ontarget:${PN} (). > > Deferring to first boot via 'exit 1' is no longer supported. > > ... > > 2025-10-05 14:14:59,584 - oe-selftest - INFO - imagefeatures.ImageFeatures.test_mandb (subunit.RemotedTestCase) > > 2025-10-05 14:14:59,586 - oe-selftest - INFO - ... FAIL > > > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/2478 > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/48/builds/2391 > > > > I was not able to reproduce this locally, I will try to extract logs > > from the autobuilder in the coming days to provide a bit more context. > > > > Here is some log from the autobuilder, not sure it helps much: > > Installing : kernel-6.16.9-yocto-standard-6.16.9+git0+1ac1d0ff7 17/56 > Running scriptlet: kernel-6.16.9-yocto-standard-6.16.9+git0+1ac1d0ff7 17/56 > %post(kernel-6.16.9-yocto-standard-6.16.9+git0+1ac1d0ff73_3f9db490a8-r0.qemux86_64): scriptlet start > %post(kernel-6.16.9-yocto-standard-6.16.9+git0+1ac1d0ff73_3f9db490a8-r0.qemux86_64): execv(/bin/sh) pid 1421854 > + set -e > + [ ! -e /srv/pokybuild/yocto-worker/oe-selftest-debian-mathieu-20251004/build/build-st/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/rootfs/lib/modules/6.16.9-yocto-standard ] > + [ -n /srv/pokybuild/yocto-worker/oe-selftest-debian-mathieu-20251004/build/build-st/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/rootfs ] > + depmodwrapper -a -b /srv/pokybuild/yocto-worker/oe-selftest-debian-mathieu-20251004/build/build-st/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/rootfs 6.16.9-yocto-standard kernel > Segmentation fault > %post(kernel-6.16.9-yocto-standard-6.16.9+git0+1ac1d0ff73_3f9db490a8-r0.qemux86_64): waitpid(1421854) rc 1421854 status 8b00 > warning: %post(kernel-6.16.9-yocto-standard-6.16.9+git0+1ac1d0ff73_3f9db490a8-r0.qemux86_64) scriptlet failed, exit status 139 > > Error in POSTIN scriptlet in rpm package kernel-6.16.9-yocto-standard > Installing : kernel-image-bzimage-6.16.9-yocto-standard-6.16.9+ 18/56 > Running scriptlet: kernel-image-bzimage-6.16.9-yocto-standard-6.16.9+ 18/56 > %post(kernel-image-bzimage-6.16.9-yocto-standard-6.16.9+git0+1ac1d0ff73_3f9db490a8-r0.qemux86_64): scriptlet start > %post(kernel-image-bzimage-6.16.9-yocto-standard-6.16.9+git0+1ac1d0ff73_3f9db490a8-r0.qemux86_64): execv(/bin/sh) pid 1421928 > + set -e > + set +e > + [ -n /srv/pokybuild/yocto-worker/oe-selftest-debian-mathieu-20251004/build/build-st/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/rootfs ] > + ln -sf bzImage-6.16.9-yocto-standard /srv/pokybuild/yocto-worker/oe-selftest-debian-mathieu-20251004/build/build-st/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/rootfs/boot/bzImage > + set -e > %post(kernel-image-bzimage-6.16.9-yocto-standard-6.16.9+git0+1ac1d0ff73_3f9db490a8-r0.qemux86_64): waitpid(1421928) rc 1421928 status 0 Hi Mathieu, interesting, I also can not reproduce it on my machine and cannot see a clear dependency, but let me do some research. > My two cents - it can be the same issue as in my first patch - wrong soname and restoring from sstate-cache. > > But in general, I don't like this patch as it's not addressing the switch from autotools to autosetup properly. > Two topics in particular - it keeps autotools class and it keeps now broken code which is trying to disable zlib. > I hope I'll find some time during the next week and send a new respin of my sqlite upgrade patch. I agree a proper autosetup class would be the best solution for this. I could maybe help in development or testing. Anna
diff --git a/meta/recipes-support/sqlite/sqlite3.inc b/meta/recipes-support/sqlite/sqlite3.inc index 28a33282ae..a0d6a53ad7 100644 --- a/meta/recipes-support/sqlite/sqlite3.inc +++ b/meta/recipes-support/sqlite/sqlite3.inc @@ -23,8 +23,8 @@ CVE_PRODUCT = "sqlite" inherit autotools pkgconfig siteinfo # enable those which are enabled by default in configure -PACKAGECONFIG ?= "fts4 fts5 rtree dyn_ext" -PACKAGECONFIG:class-native ?= "fts4 fts5 rtree dyn_ext" +PACKAGECONFIG ?= "fts4 fts5 rtree" +PACKAGECONFIG:class-native ?= "fts4 fts5 rtree" PACKAGECONFIG[editline] = "--enable-editline,--disable-editline,libedit" PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline ncurses" @@ -33,15 +33,22 @@ PACKAGECONFIG[fts4] = "--enable-fts4,--disable-fts4" PACKAGECONFIG[fts5] = "--enable-fts5,--disable-fts5" PACKAGECONFIG[rtree] = "--enable-rtree,--disable-rtree" PACKAGECONFIG[session] = "--enable-session,--disable-session" -PACKAGECONFIG[dyn_ext] = "--enable-dynamic-extensions,--disable-dynamic-extensions" PACKAGECONFIG[zlib] = ",,zlib" CACHED_CONFIGUREVARS += "${@bb.utils.contains('PACKAGECONFIG', 'zlib', '', 'ac_cv_search_deflate=no',d)}" +# The configure options target, exec_prefix and oldincludedir +# are not supported by sqlite3 anymore. +CONFIGUREOPTS:remove = "--target=${TARGET_SYS}" +CONFIGUREOPTS:remove = "--exec_prefix=${exec_prefix}" +CONFIGUREOPTS:remove = "--oldincludedir=${includedir}" + EXTRA_OECONF = " \ --enable-shared \ --enable-threadsafe \ --disable-static-shell \ + --soname=legacy \ + --disable-rpath \ " # pread() is in POSIX.1-2001 so any reasonable system must surely support it @@ -51,7 +58,7 @@ CFLAGS += "-DUSE_PREAD" CFLAGS += "-DSQLITE_ENABLE_COLUMN_METADATA" # Unless SQLITE_BYTEORDER is predefined, the code falls back to build time -# huristics, which are not always correct +# heuristics, which are not always correct CFLAGS += "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', '-DSQLITE_BYTEORDER=1234', '-DSQLITE_BYTEORDER=4321', d)}" PACKAGES = "lib${BPN} lib${BPN}-dev lib${BPN}-doc ${PN}-dbg lib${BPN}-staticdev ${PN}" diff --git a/meta/recipes-support/sqlite/sqlite3/0001-backport-reenable-disable-rpath-configure-flag.patch b/meta/recipes-support/sqlite/sqlite3/0001-backport-reenable-disable-rpath-configure-flag.patch new file mode 100644 index 0000000000..cfb0119233 --- /dev/null +++ b/meta/recipes-support/sqlite/sqlite3/0001-backport-reenable-disable-rpath-configure-flag.patch @@ -0,0 +1,57 @@ +From 45ab3ac5efa7c08ba5ce3564a86bd348380ce70f Mon Sep 17 00:00:00 2001 +From: Anna-Lena Marx <anna-lena.marx@inovex.de> +Date: Thu, 2 Oct 2025 20:30:08 +0200 +Subject: [PATCH] backport: reenable --disable-rpath configure flag + +Reenable support for `--disable-rpath`. +This patch is backported and will be obsolete for version 3.51. + +Upstream-Status: Backport (https://sqlite.org/src/info/a59d9bb25e518f5d) +Signed-off-by: Anna-Lena Marx <anna-lena.marx@inovex.de> +--- + autosetup/sqlite-config.tcl | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +diff --git a/autosetup/sqlite-config.tcl b/autosetup/sqlite-config.tcl +index 85fe414..faff00b 100644 +--- a/autosetup/sqlite-config.tcl ++++ b/autosetup/sqlite-config.tcl +@@ -334,8 +334,7 @@ proc sqlite-configure {buildMode configScript} { + => {Link the sqlite3 shell app against the DLL instead of embedding sqlite3.c} + } + {canonical autoconf} { +- # A potential TODO without a current use case: +- #rpath=1 => {Disable use of the rpath linker flag} ++ rpath=1 => {Disable use of the rpath linker flag} + # soname: https://sqlite.org/src/forumpost/5a3b44f510df8ded + soname:=legacy + => {SONAME for libsqlite3.so. "none", or not using this flag, sets no +@@ -2119,7 +2118,6 @@ proc sqlite-handle-tcl {} { + ######################################################################## + # Handle the --enable/disable-rpath flag. + proc sqlite-handle-rpath {} { +- proj-check-rpath + # autosetup/cc-shared.tcl sets the rpath flag definition in + # [get-define SH_LINKRPATH], but it does so on a per-platform basis + # rather than as a compiler check. Though we should do a proper +@@ -2128,12 +2126,14 @@ proc sqlite-handle-rpath {} { + # for which sqlite-env-is-unix-on-windows returns a non-empty + # string. + +-# if {[proj-opt-truthy rpath]} { +-# proj-check-rpath +-# } else { +-# msg-result "Disabling use of rpath." +-# define LDFLAGS_RPATH "" +-# } ++ # https://sqlite.org/forum/forumpost/13cac3b56516f849 ++ if {[proj-opt-truthy rpath]} { ++ proj-check-rpath ++ } else { ++ msg-result "Disabling use of rpath." ++ define LDFLAGS_RPATH "" ++ ++ } + } + + ######################################################################## diff --git a/meta/recipes-support/sqlite/sqlite3_3.48.0.bb b/meta/recipes-support/sqlite/sqlite3_3.48.0.bb deleted file mode 100644 index bd2ac6614d..0000000000 --- a/meta/recipes-support/sqlite/sqlite3_3.48.0.bb +++ /dev/null @@ -1,8 +0,0 @@ -require sqlite3.inc - -LICENSE = "PD" -LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66" - -SRC_URI = "http://www.sqlite.org/2025/sqlite-autoconf-${SQLITE_PV}.tar.gz" -SRC_URI[sha256sum] = "ac992f7fca3989de7ed1fe99c16363f848794c8c32a158dafd4eb927a2e02fd5" - diff --git a/meta/recipes-support/sqlite/sqlite3_3.50.4.bb b/meta/recipes-support/sqlite/sqlite3_3.50.4.bb new file mode 100644 index 0000000000..5e55c7877a --- /dev/null +++ b/meta/recipes-support/sqlite/sqlite3_3.50.4.bb @@ -0,0 +1,10 @@ +require sqlite3.inc + +LICENSE = "PD" +LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66" + +SRC_URI = "http://www.sqlite.org/2025/sqlite-autoconf-${SQLITE_PV}.tar.gz \ + file://0001-backport-reenable-disable-rpath-configure-flag.patch \ + " +SRC_URI[sha256sum] = "a3db587a1b92ee5ddac2f66b3edb41b26f9c867275782d46c3a088977d6a5b18" +
With the upgrade to 3.50.4, some configure options changed as the project switched from `autotools` to `autosetup`. The PACKAGECONFIG "dyn_ext" is not longer available. Besides, the default CONFIGUREOPTS "target", "exec_prefix" and "oldincludedir" became invalid. Changelog: https://sqlite.org/releaselog/3_50_4.html Signed-off-by: Anna-Lena Marx <anna-lena.marx@inovex.de> --- meta/recipes-support/sqlite/sqlite3.inc | 15 +++-- ...eenable-disable-rpath-configure-flag.patch | 57 +++++++++++++++++++ meta/recipes-support/sqlite/sqlite3_3.48.0.bb | 8 --- meta/recipes-support/sqlite/sqlite3_3.50.4.bb | 10 ++++ 4 files changed, 78 insertions(+), 12 deletions(-) create mode 100644 meta/recipes-support/sqlite/sqlite3/0001-backport-reenable-disable-rpath-configure-flag.patch delete mode 100644 meta/recipes-support/sqlite/sqlite3_3.48.0.bb create mode 100644 meta/recipes-support/sqlite/sqlite3_3.50.4.bb