summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools/pseudo
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2011-06-02 17:15:26 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-06-09 15:40:24 +0100
commit9eaa9ed38a197be76317cd3e42f54d1808c3e971 (patch)
tree47a55199792b8dd424d22bb31a48aa4fa0fb9c37 /meta/recipes-devtools/pseudo
parent8b33a17f45b31a76eadaab7e8934358eb2e96859 (diff)
downloadopenembedded-core-9eaa9ed38a197be76317cd3e42f54d1808c3e971.tar.gz
openembedded-core-9eaa9ed38a197be76317cd3e42f54d1808c3e971.tar.bz2
openembedded-core-9eaa9ed38a197be76317cd3e42f54d1808c3e971.tar.xz
openembedded-core-9eaa9ed38a197be76317cd3e42f54d1808c3e971.zip
pseudo: Update pseudo to 1.1.1 version
Update both the core and pseudo_git packages to the latest 1.1.1 verison. This fixes an issues where the call system() was not wrapped. This could lead to issues where certain spawned commands broke out of a pseudo-chroot and created files in the wrong place. Also the update the 1.0 -> 1.1.1 adds additional capabilities such as beginning support for MacOS X. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Diffstat (limited to 'meta/recipes-devtools/pseudo')
-rw-r--r--meta/recipes-devtools/pseudo/pseudo.inc20
-rw-r--r--meta/recipes-devtools/pseudo/pseudo/oe-config.patch58
-rw-r--r--meta/recipes-devtools/pseudo/pseudo_1.0.bb9
-rw-r--r--meta/recipes-devtools/pseudo/pseudo_1.1.1.bb10
-rw-r--r--meta/recipes-devtools/pseudo/pseudo_git.bb7
5 files changed, 86 insertions, 18 deletions
diff --git a/meta/recipes-devtools/pseudo/pseudo.inc b/meta/recipes-devtools/pseudo/pseudo.inc
index a458dcce6..0416a53d7 100644
--- a/meta/recipes-devtools/pseudo/pseudo.inc
+++ b/meta/recipes-devtools/pseudo/pseudo.inc
@@ -1,3 +1,7 @@
+# Note: Due to the bitbake wrapper script, making changes to pseudo can be
+# difficult. To work around the current version of the wrapper use:
+# BBFETCH2=True PSEUDO_BUILD=1 ../bitbake/bin/bitbake pseudo-native [-c CMD]
+
DESCRIPTION = "Pseudo gives fake root capabilities to a normal user"
HOMEPAGE = "http://wiki.github.com/wrpseudo/pseudo/"
LIC_FILES_CHKSUM = "file://COPYING;md5=243b725d71bb5df4a1e5920b344b86ad"
@@ -18,8 +22,12 @@ NO32LIBS ??= "0"
# Compile for the local machine arch...
do_compile () {
- ${S}/configure --prefix=${prefix} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=${SITEINFO_BITS}
- oe_runmake 'LIB=lib/pseudo/lib$(MARK64)'
+ 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}
+ else
+ ${S}/configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=${SITEINFO_BITS}
+ fi
+ oe_runmake
}
# Two below are the same
@@ -28,8 +36,8 @@ do_compile () {
do_compile_prepend_virtclass-native () {
if [ "${SITEINFO_BITS}" == "64" -a -e "/usr/include/gnu/stubs-32.h" -a "${PN}" == "pseudo-native" -a "${NO32LIBS}" != "1" ]; then
# We need the 32-bit libpseudo on a 64-bit machine...
- ./configure --prefix=${prefix} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=32
- oe_runmake 'CFLAGS=-m32' 'LIB=lib/pseudo/lib' libpseudo
+ ./configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=32
+ oe_runmake libpseudo
# prevent it from removing the lib, but remove everything else
make 'LIB=foo' distclean
fi
@@ -38,8 +46,8 @@ do_compile_prepend_virtclass-native () {
do_compile_prepend_virtclass-nativesdk () {
if [ "${SITEINFO_BITS}" == "64" -a -e "/usr/include/gnu/stubs-32.h" -a "${PN}" == "pseudo-native" -a "${NO32LIBS}" != "1" ]; then
# We need the 32-bit libpseudo on a 64-bit machine...
- ./configure --prefix=${prefix} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=32
- oe_runmake 'CFLAGS=-m32' 'LIB=lib/pseudo/lib' libpseudo
+ ./configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=32
+ oe_runmake libpseudo
# prevent it from removing the lib, but remove everything else
make 'LIB=foo' distclean
fi
diff --git a/meta/recipes-devtools/pseudo/pseudo/oe-config.patch b/meta/recipes-devtools/pseudo/pseudo/oe-config.patch
new file mode 100644
index 000000000..d368281ce
--- /dev/null
+++ b/meta/recipes-devtools/pseudo/pseudo/oe-config.patch
@@ -0,0 +1,58 @@
+configure: Fix configuration to match OE-Core requirements
+
+In OE-Core we need to be able to configure for both 32-bit and 64-bit libpseudo
+libraries. In order to avoid some complex manipulations, we adjust the configure
+and Makefile to facilitate this.
+
+Upstream-Status: Submitted
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+diff --git a/Makefile.in b/Makefile.in
+index 6c57d43..342d066 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -27,7 +27,7 @@ MARK64=@MARK64@
+ RPATH=@RPATH@
+ VERSION=1.1.1
+
+-LIB=$(shell basename $(LIBDIR))
++LIB=@LIB@
+ BIN=bin
+ LOCALSTATE=var/pseudo
+ BINDIR=$(PREFIX)/$(BIN)
+diff --git a/configure b/configure
+index 9a480fb..eeb19f3 100755
+--- a/configure
++++ b/configure
+@@ -80,14 +80,18 @@ if [ -z "$opt_prefix" ]; then
+ usage
+ fi
+
+-if [ -n "$opt_bits" ] && [ -n "$opt_libdir" ]; then
+- echo >&2 "Can not specify both --libdir and --bits"
+- exit 1
+-fi
+ if [ -z "$opt_libdir" ]; then
+ opt_libdir=$opt_prefix/lib$opt_mark64
+ fi
+
++# We need to find the libdir relative to the prefix, this is required
++# by the code in pseudo-utils.c that handles relocation.
++opt_lib=${opt_libdir#$opt_prefix/}
++if [ "$opt_lib" = "$opt_libdir" ]; then
++ echo >&2 "libdir must be relative to prefix."
++ exit 1
++fi
++
+ if [ ! -f "${opt_sqlite}/include/sqlite3.h" ]; then
+ echo >&2 "SQLite3 headers not found in at ${opt_sqlite}/include/sqlite3.h. Please check that SQLite3 and SQLite3 headers are installed."
+ exit 1
+@@ -107,6 +111,7 @@ fi
+ sed -e '
+ s,@PREFIX@,'"$opt_prefix"',g
+ s,@LIBDIR@,'"$opt_libdir"',g
++ s,@LIB@,'"$opt_lib"',g
+ s,@SUFFIX@,'"$opt_suffix"',g
+ s,@SQLITE@,'"$opt_sqlite"',g
+ s!@RPATH@!'"$opt_rpath"'!g
diff --git a/meta/recipes-devtools/pseudo/pseudo_1.0.bb b/meta/recipes-devtools/pseudo/pseudo_1.0.bb
deleted file mode 100644
index e750e8aeb..000000000
--- a/meta/recipes-devtools/pseudo/pseudo_1.0.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require pseudo.inc
-
-PR = "r0"
-
-SRC_URI = "http://www.yoctoproject.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2 \
- file://static_sqlite.patch"
-
-SRC_URI[md5sum] = "a329bd00ba78711bcacd48fc1982af6a"
-SRC_URI[sha256sum] = "cb41c97094044144ef4027ab9dbba009f3cb1c23e6bec9640f29d530524ad60f"
diff --git a/meta/recipes-devtools/pseudo/pseudo_1.1.1.bb b/meta/recipes-devtools/pseudo/pseudo_1.1.1.bb
new file mode 100644
index 000000000..e05fe41a6
--- /dev/null
+++ b/meta/recipes-devtools/pseudo/pseudo_1.1.1.bb
@@ -0,0 +1,10 @@
+require pseudo.inc
+
+PR = "r0"
+
+SRC_URI = "http://www.yoctoproject.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2 \
+ file://oe-config.patch \
+ file://static_sqlite.patch"
+
+SRC_URI[md5sum] = "dd59766c17e199fe6144fce8a2c67802"
+SRC_URI[sha256sum] = "c697f643577d661c3ce826504b9dcd11fa98e78a5d10e3c83931da8942f6bfad"
diff --git a/meta/recipes-devtools/pseudo/pseudo_git.bb b/meta/recipes-devtools/pseudo/pseudo_git.bb
index 2b9fe70a9..6505958c4 100644
--- a/meta/recipes-devtools/pseudo/pseudo_git.bb
+++ b/meta/recipes-devtools/pseudo/pseudo_git.bb
@@ -1,12 +1,13 @@
require pseudo.inc
-SRCREV = "5434325fc887817ebb2bad36313d8277992cef1d"
-PV = "1.0+git${SRCPV}"
-PR = "r18"
+SRCREV = "1d3e67cb168c3459e67a0b29f071ca30ed17dadc"
+PV = "1.1.1+git${SRCPV}"
+PR = "r19"
DEFAULT_PREFERENCE = "-1"
SRC_URI = "git://github.com/wrpseudo/pseudo.git;protocol=git \
+ file://oe-config.patch \
file://static_sqlite.patch"
S = "${WORKDIR}/git"