Update pseudo to 1.4 (target improvements)
cover Update pseudo to 1.4 (target improvements)
Someone managed to do something which caused pseudo to try to build on ARM, where -m32 doesn't work, and I looked at the sort of half-baked --arch fix in tree, concluded I hated it, and redid it. So as of 1.4, pseudo now has support for a --cflags configure option, so the build system can pass in its own cflags instead of relying on pseudo being able to guess the correct way to change bit widths around.
It still relies on the guesswork for the native build, but at least so far that's always x86. And at least we now have the correct tool so that, if we ever do develop a clean way to create the cflags for a different width, we'll be able to pass them in without major alterations.
I also changed the upstream to point to the yoctoproject.org git server, which I've been using as the primary upstream for a couple of months now. Verified that at least pseudo-native can build from both the _git and 1.4 recipes.
The following changes since commit 651b223c5fc93c7504e304e954b9ae4640ed47c6:
Paul Eggleton (1):
usbutils: avoid dependency on bash
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib seebs/pseudo
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=seebs/pseudo
Peter Seebach (1):
pseudo.inc/pseudo_1.4.bb: update pseudo to 1.4
meta/recipes-devtools/pseudo/pseudo.inc | 12 +++++++++--- meta/recipes-devtools/pseudo/pseudo_1.3.1.bb | 8 -------- meta/recipes-devtools/pseudo/pseudo_1.4.bb | 8 ++++++++ meta/recipes-devtools/pseudo/pseudo_git.bb | 8 ++++---- 4 files changed, 21 insertions(+), 15 deletions(-) delete mode 100644 meta/recipes-devtools/pseudo/pseudo_1.3.1.bb create mode 100644 meta/recipes-devtools/pseudo/pseudo_1.4.bb
PATCH 1/1 pseudo.inc/pseudo_1.4.bb: update pseudo to 1.4
This update replaces the half-baked --arch logic with the use of $CFLAGS to pick compiler flags, on the grounds that it makes a lot more sense for the build system to pick flags than for pseudo to try to guess what they should be; this should allow pseudo to at least compile for targets, and possibly run on them.
This doesn't solve the problem of guessing how to forcibly build the 32-bit variant on hosts, because we really don't have a general solution for that. There's no idiom for "given this set of compiler flags and this architecture, what flags would you use to request a 32-bit compile instead?" So we basically ignore that for now. If someone comes along trying to use the build system to build pseudo-native on a 64-bit host that also supports 32-bit binaries and isn't x86, we will revisit this.
--- meta/recipes-devtools/pseudo/pseudo.inc | 12 +++++++++--- meta/recipes-devtools/pseudo/pseudo_1.3.1.bb | 8 -------- meta/recipes-devtools/pseudo/pseudo_1.4.bb | 8 ++++++++ meta/recipes-devtools/pseudo/pseudo_git.bb | 8 ++++---- 4 files changed, 21 insertions(+), 15 deletions(-) delete mode 100644 meta/recipes-devtools/pseudo/pseudo_1.3.1.bb create mode 100644 meta/recipes-devtools/pseudo/pseudo_1.4.bb
meta/recipes-devtools/pseudo/pseudo.inc +9 -3
@@ -3,7 +3,7 @@ # 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/" +HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/pseudo" LIC_FILES_CHKSUM = "file://COPYING;md5=243b725d71bb5df4a1e5920b344b86ad" SECTION = "base" LICENSE = "LGPL2.1"
@@ -11,6 +11,8 @@ DEPENDS = "sqlite3" SRC_URI_append_virtclass-nativesdk = " file://symver.patch" +SRC_URI_append_virtclass-native = " file://symver.patch" + FILES_${PN} = "${libdir}/pseudo/lib*/libpseudo.so ${bindir}/* ${localstatedir}/pseudo ${prefix}/var/pseudo" FILES_${PN}-dbg += "${libdir}/pseudo/lib*/.debug" PROVIDES += "virtual/fakeroot"
@@ -28,9 +30,9 @@ NO32LIBS ??= "1" # 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} --enable-static-sqlite --without-rpath + ${S}/configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --enable-static-sqlite --without-rpath else - ${S}/configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=${SITEINFO_BITS} --enable-static-sqlite --without-rpath + ${S}/configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --enable-static-sqlite --without-rpath fi oe_runmake ${MAKEOPTS} }
@@ -41,6 +43,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... + # ... and we really, really, hope that the native host is + # x86, or else --bits may not work. ./configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=32 --without-rpath oe_runmake ${MAKEOPTS} libpseudo # prevent it from removing the lib, but remove everything else
@@ -51,6 +55,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... + # ... and we really, really, hope that the native host is + # x86, or else --bits may not work. ./configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=32 --without-rpath oe_runmake ${MAKEOPTS} libpseudo # prevent it from removing the lib, but remove everything else
meta/recipes-devtools/pseudo/pseudo_1.3.1.bb deleted +0 -8
@@ -1,8 +0,0 @@ -require pseudo.inc - -PR = "r11" - -SRC_URI = "http://www.yoctoproject.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2" - -SRC_URI[md5sum] = "aa7dbe925d065187833e1171746e9a94" -SRC_URI[sha256sum] = "dc896c06b0f5bc253faaeb21ed78157db7ef7553e3ecae15a1eb6faf64942110"
meta/recipes-devtools/pseudo/pseudo_1.4.bb new file +8 -0
@@ -0,0 +1,8 @@ +require pseudo.inc + +PR = "r12" + +SRC_URI = "http://www.yoctoproject.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2" + +SRC_URI[md5sum] = "bc04c6c9d13cfdb789ffc2f3cca9ab08" +SRC_URI[sha256sum] = "147fa7b177061a145d330b9e159529a185be94550f123c6acb0d3b75d480c5b4"
meta/recipes-devtools/pseudo/pseudo_git.bb +4 -4
@@ -1,12 +1,12 @@ require pseudo.inc -SRCREV = "2e0189ba5368b1e88d509d0ab82bccb15cfb3653" -PV = "1.3.1+git${SRCPV}" -PR = "r26" +SRCREV = "9b792e4cb91bc22374f47d0b0902dbc4ecd7d6dd" +PV = "1.4+git${SRCPV}" +PR = "r27" DEFAULT_PREFERENCE = "-1" -SRC_URI = "git://github.com/wrpseudo/pseudo.git;protocol=git" +SRC_URI = "git://git.yoctoproject.org/pseudo;protocol=git" S = "${WORKDIR}/git"
Signature · 1 line
1.7.0.4
Richard Purdie
AppliedRe: [PATCH 1/1] pseudo.inc/pseudo_1.4.bb: update pseudo to 1.4
Quoted 16 lines · Peter Seebach
This update replaces the half-baked --arch logic with the use of $CFLAGS to pick compiler flags, on the grounds that it makes a lot more sense for the build system to pick flags than for pseudo to try to guess what they should be; this should allow pseudo to at least compile for targets, and possibly run on them.
This doesn't solve the problem of guessing how to forcibly build the 32-bit variant on hosts, because we really don't have a general solution for that. There's no idiom for "given this set of compiler flags and this architecture, what flags would you use to request a 32-bit compile instead?" So we basically ignore that for now. If someone comes along trying to use the build system to build pseudo-native on a 64-bit host that also supports 32-bit binaries and isn't x86, we will revisit this.
Quoted 8 lines
--- meta/recipes-devtools/pseudo/pseudo.inc | 12 +++++++++--- meta/recipes-devtools/pseudo/pseudo_1.3.1.bb | 8 -------- meta/recipes-devtools/pseudo/pseudo_1.4.bb | 8 ++++++++ meta/recipes-devtools/pseudo/pseudo_git.bb | 8 ++++---- 4 files changed, 21 insertions(+), 15 deletions(-) delete mode 100644 meta/recipes-devtools/pseudo/pseudo_1.3.1.bb create mode 100644 meta/recipes-devtools/pseudo/pseudo_1.4.bb
Merged to master, thanks.
Richard
Quoted 6 lines · Peter Seebach
Someone managed to do something which caused pseudo to try to build on ARM, where -m32 doesn't work, and I looked at the sort of half-baked --arch fix in tree, concluded I hated it, and redid it. So as of 1.4, pseudo now has support for a --cflags configure option, so the build system can pass in its own cflags instead of relying on pseudo being able to guess the correct way to change bit widths around.
thats someone was me. Thanks for fixing it.