Update pseudo to version 1.3
cover Update pseudo to version 1.3
Update pseudo to version 1.3 in order to fix Yocto Project bug #2181.
From the pseudo author:
This patch updates pseudo to 1.3. The biggest change is the creation of a new popen() wrapper, which fixes some strange PSEUDO_PREFIX errors that could occur running certain commands (those using os.popen()) outside of the pseudo environment after pseudo had been used. However, this also uses the upstream versions of the opendir and renameat patches, merges in a new option for static linking of sqlite (and adds that configuration option to pseudo.inc), and merges in the oe-config patch. So we're back to zero patches in tree and a clean upstream pseudo.
In addition, a separate patch to the scripts/bitbake was created that should help ensure that on an upgrade of pseudo-native, pseudo-native is built prior to the main build. Similarly to how things work when pseudodone does not exist.
Testing notes...
This was tested by starting with existing master, building core-image-minimal, then updating to the new version of pseudo recipes, and rerunning the core-image-minimal build. The test was performed with both NO32LIBS=1 and NO32LIBS=0. Testing was successful.
The following changes since commit 7b01671f54f70c28c98457058c51ffefcb07c0e8:
nspr 4.8.9: failed to build on x86_64 board (2012-03-27 13:26:37 +0100)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib mhatle/pseudo
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=mhatle/pseudo
Mark Hatle (1):
scripts/bitbake: Update to help rebuild pseudo-native
Peter Seebach (1):
Pseudo: Update to 1.3
meta/recipes-devtools/pseudo/pseudo.inc | 4 +- .../recipes-devtools/pseudo/pseudo/oe-config.patch | 58 ----- meta/recipes-devtools/pseudo/pseudo/opendir.patch | 94 -------- meta/recipes-devtools/pseudo/pseudo/renameat.patch | 229 -------------------- .../pseudo/pseudo/static_sqlite.patch | 17 -- meta/recipes-devtools/pseudo/pseudo_1.2.bb | 12 - meta/recipes-devtools/pseudo/pseudo_1.3.bb | 8 + meta/recipes-devtools/pseudo/pseudo_git.bb | 10 +- scripts/bitbake | 36 +++- 9 files changed, 45 insertions(+), 423 deletions(-) delete mode 100644 meta/recipes-devtools/pseudo/pseudo/oe-config.patch delete mode 100644 meta/recipes-devtools/pseudo/pseudo/opendir.patch delete mode 100644 meta/recipes-devtools/pseudo/pseudo/renameat.patch delete mode 100644 meta/recipes-devtools/pseudo/pseudo/static_sqlite.patch delete mode 100644 meta/recipes-devtools/pseudo/pseudo_1.2.bb create mode 100644 meta/recipes-devtools/pseudo/pseudo_1.3.bb
Signature · 1 line
1.7.3.4
PATCH 1/2 Pseudo: Update to 1.3
From: Peter Seebach <[email protected]>
The various local patches have made it into upstream, so we update the build files and jump to pseudo 1.3. This also includes a popen() fix which fixes some edge cases that caused failures trying to check git branches and the like.
[Yocto bug #2181]
Updated the pseudo_git.bb to match.
--- meta/recipes-devtools/pseudo/pseudo.inc | 4 +- .../recipes-devtools/pseudo/pseudo/oe-config.patch | 58 ----- meta/recipes-devtools/pseudo/pseudo/opendir.patch | 94 -------- meta/recipes-devtools/pseudo/pseudo/renameat.patch | 229 -------------------- .../pseudo/pseudo/static_sqlite.patch | 17 -- meta/recipes-devtools/pseudo/pseudo_1.2.bb | 12 - meta/recipes-devtools/pseudo/pseudo_1.3.bb | 8 + meta/recipes-devtools/pseudo/pseudo_git.bb | 10 +- 8 files changed, 14 insertions(+), 418 deletions(-) delete mode 100644 meta/recipes-devtools/pseudo/pseudo/oe-config.patch delete mode 100644 meta/recipes-devtools/pseudo/pseudo/opendir.patch delete mode 100644 meta/recipes-devtools/pseudo/pseudo/renameat.patch delete mode 100644 meta/recipes-devtools/pseudo/pseudo/static_sqlite.patch delete mode 100644 meta/recipes-devtools/pseudo/pseudo_1.2.bb create mode 100644 meta/recipes-devtools/pseudo/pseudo_1.3.bb
meta/recipes-devtools/pseudo/pseudo.inc +2 -2
@@ -29,9 +29,9 @@ NO32LIBS ??= "0" # Compile for the local machine arch... do_compile () { if [ "${SITEINFO_BITS}" == "64" ]; then - ${S}/configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=${SITEINFO_BITS} + ${S}/configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=${SITEINFO_BITS} --enable-static-sqlite else - ${S}/configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=${SITEINFO_BITS} + ${S}/configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=${SITEINFO_BITS} --enable-static-sqlite fi oe_runmake ${MAKEOPTS} }
meta/recipes-devtools/pseudo/pseudo/oe-config.patch deleted +0 -58
58 lines not on this page · raw message
meta/recipes-devtools/pseudo/pseudo/opendir.patch deleted +0 -94
94 lines not on this page · raw message
meta/recipes-devtools/pseudo/pseudo/renameat.patch deleted +0 -229
229 lines not on this page · raw message
meta/recipes-devtools/pseudo/pseudo/static_sqlite.patch deleted +0 -17
@@ -1,17 +0,0 @@ -Due to disabling the LD_LIBRARY_PATH handling, we need to use a static -libsqlite. - -Upstream-Status: Inappropriate [configuration] - -diff -ur git.orig/Makefile.in git/Makefile.in ---- git.orig/Makefile.in -+++ git/Makefile.in -@@ -55,7 +55,7 @@ - - # needed for anything that links with pseduo_client.o, pretty much - CLIENT_LDFLAGS=-ldl -lpthread --DB_LDFLAGS=-lsqlite3 -lpthread -+DB_LDFLAGS=$(SQLITE)/lib/libsqlite3.a -lpthread - - PSEUDO=$(BIN)/pseudo - PSEUDODB=$(BIN)/pseudodb
meta/recipes-devtools/pseudo/pseudo_1.2.bb deleted +0 -12
@@ -1,12 +0,0 @@ -require pseudo.inc - -PR = "r6" - -SRC_URI = "http://www.yoctoproject.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2 \ - file://oe-config.patch \ - file://static_sqlite.patch \ - file://opendir.patch \ - file://renameat.patch" - -SRC_URI[md5sum] = "a2819084bab7e991f06626d02cf55048" -SRC_URI[sha256sum] = "4749a22df687f44d24c26e97170d4781a1bd52d5ee092364a40877e4d96ff058"
meta/recipes-devtools/pseudo/pseudo_1.3.bb new file +8 -0
@@ -0,0 +1,8 @@ +require pseudo.inc + +PR = "r7" + +SRC_URI = "http://www.yoctoproject.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2" + +SRC_URI[md5sum] = "5832bb70e6dce1a17b9b33a9c5c4b923" +SRC_URI[sha256sum] = "2f30e2e9ec966cec3a321fc2ed80408ee77ad6c0cd73aaf36f88b98e008f8508"
meta/recipes-devtools/pseudo/pseudo_git.bb +4 -6
@@ -1,14 +1,12 @@ require pseudo.inc -SRCREV = "17c2233f93692f79684792750001ee6d13e03925" -PV = "1.2+git${SRCPV}" -PR = "r21" +SRCREV = "f0375c9aaefbccfd41aebbf6d332bb4d9e8f980c" +PV = "1.3+git${SRCPV}" +PR = "r22" DEFAULT_PREFERENCE = "-1" -SRC_URI = "git://github.com/wrpseudo/pseudo.git;protocol=git \ - file://oe-config.patch \ - file://static_sqlite.patch" +SRC_URI = "git://github.com/wrpseudo/pseudo.git;protocol=git" S = "${WORKDIR}/git"
Signature · 1 line
1.7.3.4
PATCH 2/2 scripts/bitbake: Update to help rebuild pseudo-native
In reply to Mark HatleAttempt to detect when pseudo-native has been updated. If it has been updated, or if the user is attempting an operation with pseudo-native in the name, force a build of pseudo-native, prior to running the main build.
Note: This causes a build, then clean in the case of
bitbake -c cleansstate pseudo-native
--- scripts/bitbake | 36 +++++++++++++++++++++++++++++++----- 1 files changed, 31 insertions(+), 5 deletions(-)
scripts/bitbake +31 -5
@@ -55,21 +55,47 @@ fi buildpseudo="1" if [ $needpseudo = "1" ] && [ -e "$BUILDDIR/pseudodone" ]; then PSEUDOBINDIR=`cat $BUILDDIR/pseudodone` - if [ -e "$PSEUDOBINDIR/pseudo" -a -e "$PSEUDOBINDIR/tar" -a "$needtar" = "1" ]; then + if [ -e "$PSEUDOBINDIR/pseudo" ]; then buildpseudo="0" fi - if [ -e "$PSEUDOBINDIR/pseudo" -a $needtar = "0" ]; then - buildpseudo="0" + + # Verify that the pseudo recipes are older then the pseudodone file + PSEUDO_RECIPE="`dirname $0`/../meta/recipes-devtools/pseudo" + if [ $buildpseudo -eq 0 ] && [ ! -d "$PSEUDO_RECIPE" ]; then + echo "Unable to verify if pseudo-native is up to date..." >&2 + elif [ $buildpseudo -eq 0 ]; then + PSEUDO_NEWER=`find $PSEUDO_RECIPE -type f -newer $BUILDDIR/pseudodone` + if [ -n "$PSEUDO_NEWER" ]; then + buildpseudo="2" + fi fi fi + +# If tar is already built, we don't want to do it again... +if [ -e "$PSEUDOBINDIR/tar" -a "$needtar" = "1" ]; then + needtar="0" +fi + if [ $needpseudo = "0" ]; then buildpseudo="0" fi +# If pseudo-native is an argument, assume the user wants to build pseudo-native! +if [ $needpseudo != "0" -a $buildpseudo -eq 0 ]; then + for opt in $@; do + if [ "$opt" = "pseudo-native" ]; then + buildpseudo="3" + break + fi + done +fi + OLDPATH=$PATH export PATH=`echo $PATH | sed s#[^:]*/scripts:##` -if [ $buildpseudo = "1" ]; then - echo "Pseudo is not present but is required, building this first before the main build" +if [ $buildpseudo -gt 0 ]; then + [ $buildpseudo -eq 1 ] && echo "Pseudo is not present but is required, building this first before the main build" + [ $buildpseudo -eq 2 ] && echo "Pseudo may be out of date, rebuilding pseudo before the main build" + [ $buildpseudo -eq 3 ] && echo "Building pseudo-native before main build" export PSEUDO_BUILD=1 TARTARGET="tar-replacement-native" if [ $needtar = "0" ]; then
Signature · 1 line
1.7.3.4
Saul Wold
AppliedQuoted 48 lines · Mark Hatle
Update pseudo to version 1.3 in order to fix Yocto Project bug #2181.
Quoted 1 line
From the pseudo author:
This patch updates pseudo to 1.3. The biggest change is the creation of a new
popen()wrapper, which fixes some strangePSEUDO_PREFIXerrors that could occur running certain commands (those usingos.popen()) outside of the pseudo environment after pseudo had been used. However, this also uses the upstream versions of the opendir and renameat patches, merges in a new option for static linking of sqlite (and adds that configuration option to pseudo.inc), and merges in the oe-config patch. So we're back to zero patches in tree and a clean upstream pseudo.In addition, a separate patch to the
scripts/bitbakewas created that should help ensure that on an upgrade of pseudo-native, pseudo-native is built prior to the main build. Similarly to how things work when pseudodone does not exist.Testing notes...
This was tested by starting with existing master, building core-image-minimal, then updating to the new version of pseudo recipes, and rerunning the core-image-minimal build. The test was performed with both NO32LIBS=1 and NO32LIBS=0. Testing was successful.The following changes since commit
7b01671f54f70c28c98457058c51ffefcb07c0e8:nspr 4.8.9: failed to build on x86_64 board (2012-03-27 13:26:37 +0100)are available in the git repository at:
git://git.yoctoproject.org/poky-contribmhatle/pseudo
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=mhatle/pseudoMark Hatle (1):
scripts/bitbake: Update to help rebuild pseudo-nativePeter Seebach (1):
Pseudo: Update to 1.3meta/recipes-devtools/pseudo/pseudo.inc | 4 +- .../recipes-devtools/pseudo/pseudo/oe-config.patch | 58 ----- meta/recipes-devtools/pseudo/pseudo/opendir.patch | 94 -------- meta/recipes-devtools/pseudo/pseudo/renameat.patch | 229 -------------------- .../pseudo/pseudo/static_sqlite.patch | 17 -- meta/recipes-devtools/pseudo/pseudo_1.2.bb | 12 - meta/recipes-devtools/pseudo/pseudo_1.3.bb | 8 + meta/recipes-devtools/pseudo/pseudo_git.bb | 10 +- scripts/bitbake | 36 +++- 9 files changed, 45 insertions(+), 423 deletions(-)
Quoted 7 lines
delete mode 100644
meta/recipes-devtools/pseudo/pseudo/oe-config.patchdelete mode 100644meta/recipes-devtools/pseudo/pseudo/opendir.patchdelete mode 100644meta/recipes-devtools/pseudo/pseudo/renameat.patchdelete mode 100644meta/recipes-devtools/pseudo/pseudo/static_sqlite.patchdelete mode 100644 meta/recipes-devtools/pseudo/pseudo_1.2.bb create mode 100644 meta/recipes-devtools/pseudo/pseudo_1.3.bb
Merged into OE-Core
Thanks
Sau!