Skip to contentSkip to conversation

Update pseudo to version 1.3

PATCH Applied Mark Hatle 2 participants 4 messages Mar 27, 2012 – Apr 3, 2012

lore
Share & tools
lore

Mark Hatle

author
#0 lore raw

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
author
#1 lore raw

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
index 4a3ef6f..664a9b5 100644
@@ -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
deleted file mode 100644
index f9223a8..0000000
@@ -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
deleted file mode 100644
index 9f95bd7..0000000
@@ -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
new file mode 100644
index 0000000..e7a329c
@@ -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
index 4f8c9d6..9414c79 100644
@@ -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
author
#2 lore raw

PATCH 2/2 scripts/bitbake: Update to help rebuild pseudo-native

In reply to Mark Hatle

Attempt 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
index 45c8697..eb9e14f 100755
@@ -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
Applied
#3 lore raw
In reply to Mark Hatle
Quoted 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 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(-)
Quoted 7 lines

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

Merged into OE-Core

Thanks
Sau!