diff options
Diffstat (limited to 'meta/recipes-devtools/pseudo/pseudo.inc')
-rw-r--r-- | meta/recipes-devtools/pseudo/pseudo.inc | 46 |
1 files changed, 31 insertions, 15 deletions
diff --git a/meta/recipes-devtools/pseudo/pseudo.inc b/meta/recipes-devtools/pseudo/pseudo.inc index cdc2a5823f..36283ffa74 100644 --- a/meta/recipes-devtools/pseudo/pseudo.inc +++ b/meta/recipes-devtools/pseudo/pseudo.inc @@ -4,36 +4,38 @@ SUMMARY = "Pseudo gives fake root capabilities to a normal user" HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/pseudo" -LIC_FILES_CHKSUM = "file://COPYING;md5=243b725d71bb5df4a1e5920b344b86ad" +DESCRIPTION = "The pseudo utility offers a way to run commands in a virtualized root environment." +LIC_FILES_CHKSUM = "file://COPYING;md5=a1d8023a6f953ac6ea4af765ff62d574" SECTION = "base" -LICENSE = "LGPL2.1" +LICENSE = "LGPL-2.1-only" DEPENDS = "sqlite3 attr" -FILES_${PN} = "${prefix}/lib/pseudo/lib*/libpseudo.so ${bindir}/* ${localstatedir}/pseudo ${prefix}/var/pseudo" -INSANE_SKIP_${PN} += "libdir" -INSANE_SKIP_${PN}-dbg += "libdir" +FILES:${PN} = "${prefix}/lib/pseudo/lib*/libpseudo.so ${bindir}/* ${localstatedir}/pseudo ${prefix}/var/pseudo" +INSANE_SKIP:${PN} += "libdir" +INSANE_SKIP:${PN}-dbg += "libdir" PROVIDES += "virtual/fakeroot" MAKEOPTS = "" +MAKEOPTS:class-native = "'RPATH=-Wl,--rpath=XORIGIN/../../../sqlite3-native/usr/lib/'" -inherit siteinfo +inherit siteinfo pkgconfig do_configure () { : } NO32LIBS ??= "1" -NO32LIBS_class-nativesdk = "1" +NO32LIBS:class-nativesdk = "1" PSEUDO_EXTRA_OPTS ?= "--enable-force-async --without-passwd-fallback --enable-epoll --enable-xattr" # Compile for the local machine arch... do_compile () { if [ "${SITEINFO_BITS}" = "64" ]; then - ${S}/configure ${PSEUDO_EXTRA_OPTS} --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS} --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --enable-static-sqlite --without-rpath + ${S}/configure ${PSEUDO_EXTRA_OPTS} --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS} --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --without-rpath else - ${S}/configure ${PSEUDO_EXTRA_OPTS} --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --enable-static-sqlite --without-rpath + ${S}/configure ${PSEUDO_EXTRA_OPTS} --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --without-rpath fi oe_runmake ${MAKEOPTS} } @@ -77,7 +79,7 @@ warn_32bit_missing() { # Two below are the same # If necessary compile for the alternative machine arch. This is only # necessary in a native build. -do_compile_prepend_class-native () { +do_compile:prepend:class-native () { maybe_make32 if $make32; then # We need the 32-bit libpseudo on a 64-bit machine... @@ -98,7 +100,7 @@ do_compile_prepend_class-native () { fi } -do_compile_prepend_class-nativesdk () { +do_compile:prepend:class-nativesdk () { maybe_make32 if $make32; then # We need the 32-bit libpseudo on a 64-bit machine. @@ -110,15 +112,29 @@ do_compile_prepend_class-nativesdk () { fi } +do_compile:append:class-native () { + if [ '${@bb.data.inherits_class('uninative', d)}' = 'True' ]; then + for i in PSEUDO_PORT_UNIX_SYNCFS PSEUDO_PORT_UIDS_GENERIC PSEUDO_PORT_LINUX_NEWCLONE PSEUDO_PORT_LINUX_XATTR PSEUDO_PORT_LINUX_STATVFS; do + grep $i.1 ${S}/pseudo_ports.h + if [ $? != 0 ]; then + echo "$i not enabled in pseudo which is incompatible with uninative" + exit 1 + fi + done + fi +} + + do_install () { oe_runmake 'DESTDIR=${D}' ${MAKEOPTS} 'LIB=lib/pseudo/lib$(MARK64)' install } -do_install_append_class-native () { +do_install:append:class-native () { + chrpath ${D}${bindir}/pseudo -r `chrpath ${D}${bindir}/pseudo | cut -d = -f 2 | sed s/XORIGIN/\\$ORIGIN/` install -d ${D}${sysconfdir} # The fallback files should never be modified - install -m 444 ${WORKDIR}/fallback-passwd ${D}${sysconfdir}/passwd - install -m 444 ${WORKDIR}/fallback-group ${D}${sysconfdir}/group + install -m 444 ${UNPACKDIR}/fallback-passwd ${D}${sysconfdir}/passwd + install -m 444 ${UNPACKDIR}/fallback-group ${D}${sysconfdir}/group # Two native/nativesdk entries below are the same # If necessary install for the alternative machine arch. This is only @@ -130,7 +146,7 @@ do_install_append_class-native () { fi } -do_install_append_class-nativesdk () { +do_install:append:class-nativesdk () { maybe_make32 if $make32; then mkdir -p ${D}${prefix}/lib/pseudo/lib |