diff options
-rw-r--r-- | meta/recipes-devtools/pseudo/pseudo.inc | 20 | ||||
-rw-r--r-- | meta/recipes-devtools/pseudo/pseudo/oe-config.patch | 58 | ||||
-rw-r--r-- | meta/recipes-devtools/pseudo/pseudo_1.0.bb | 9 | ||||
-rw-r--r-- | meta/recipes-devtools/pseudo/pseudo_1.1.1.bb | 10 | ||||
-rw-r--r-- | meta/recipes-devtools/pseudo/pseudo_git.bb | 7 |
5 files changed, 86 insertions, 18 deletions
diff --git a/meta/recipes-devtools/pseudo/pseudo.inc b/meta/recipes-devtools/pseudo/pseudo.inc index a458dcce69..0416a53d7d 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 0000000000..d368281ce5 --- /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 e750e8aebc..0000000000 --- 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 0000000000..e05fe41a6f --- /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 2b9fe70a93..6505958c4a 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" |