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.

(From OE-Core rev: 9eaa9ed38a197be76317cd3e42f54d1808c3e971)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Mark Hatle 2011-06-02 17:15:26 -05:00 committed by Richard Purdie
parent a91d4987fa
commit c647c7a54c
5 changed files with 86 additions and 18 deletions

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -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"