Use pseudo rather than fakeroot for fake root privileges

Make use of the ability to configure the fake root provider and use Wind
River's pseudo utility.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
This commit is contained in:
Joshua Lock 2010-06-23 15:19:06 +01:00
parent 1b6535dc2e
commit 29d5edffb0
11 changed files with 18 additions and 11 deletions

View File

@ -26,7 +26,7 @@ PID = "${@os.getpid()}"
PACKAGE_ARCH = "${MACHINE_ARCH}"
do_rootfs[depends] += "makedevs-native:do_populate_sysroot fakeroot-native:do_populate_sysroot ldconfig-native:do_populate_sysroot"
do_rootfs[depends] += "makedevs-native:do_populate_sysroot virtual/fakeroot-native:do_populate_sysroot ldconfig-native:do_populate_sysroot"
python () {
deps = bb.data.getVarFlag('do_rootfs', 'depends', d) or ""

View File

@ -240,7 +240,7 @@ python do_package_deb () {
conffiles.close()
os.chdir(basedir)
ret = os.system("PATH=\"%s\" fakeroot dpkg-deb -b %s %s" % (bb.data.getVar("PATH", localdata, True), root, pkgoutdir))
ret = os.system("PATH=\"%s\" %s dpkg-deb -b %s %s" % (bb.data.getVar("PATH", localdata, True), bb.data.getVar("FAKEROOT", localdata, True) or "fakeroot", root, pkgoutdir))
if ret != 0:
bb.utils.unlockfile(lf)
raise bb.build.FuncFailed("dpkg-deb execution failed")
@ -253,7 +253,7 @@ python () {
if bb.data.getVar('PACKAGES', d, True) != '':
deps = (bb.data.getVarFlag('do_package_write_deb', 'depends', d) or "").split()
deps.append('dpkg-native:do_populate_sysroot')
deps.append('fakeroot-native:do_populate_sysroot')
deps.append('virtual/fakeroot-native:do_populate_sysroot')
bb.data.setVarFlag('do_package_write_deb', 'depends', " ".join(deps), d)
}

View File

@ -309,7 +309,7 @@ python () {
if bb.data.getVar('PACKAGES', d, True) != '':
deps = (bb.data.getVarFlag('do_package_write_ipk', 'depends', d) or "").split()
deps.append('opkg-utils-native:do_populate_sysroot')
deps.append('fakeroot-native:do_populate_sysroot')
deps.append('virtual/fakeroot-native:do_populate_sysroot')
bb.data.setVarFlag('do_package_write_ipk', 'depends', " ".join(deps), d)
}

View File

@ -207,7 +207,7 @@ python () {
if bb.data.getVar('PACKAGES', d, True) != '':
deps = (bb.data.getVarFlag('do_package_write_rpm', 'depends', d) or "").split()
deps.append('rpm-native:do_populate_sysroot')
deps.append('fakeroot-native:do_populate_sysroot')
deps.append('virtual/fakeroot-native:do_populate_sysroot')
bb.data.setVarFlag('do_package_write_rpm', 'depends', " ".join(deps), d)
}

View File

@ -94,7 +94,7 @@ python () {
if bb.data.getVar('PACKAGES', d, True) != '':
deps = (bb.data.getVarFlag('do_package_write_tar', 'depends', d) or "").split()
deps.append('tar-native:do_populate_sysroot')
deps.append('fakeroot-native:do_populate_sysroot')
deps.append('virtual/fakeroot-native:do_populate_sysroot')
bb.data.setVarFlag('do_package_write_tar', 'depends', " ".join(deps), d)
}

View File

@ -525,6 +525,12 @@ SRCPV = "${@bb.fetch.get_srcrev(d)}"
SRC_URI = "file://${FILE}"
# We can choose which provider of fake root privileges to use
# default is fakeroot but in Poky we use pseudo
FAKEROOT = "PSEUDO_PREFIX=${STAGING_DIR_NATIVE}${prefix_native} pseudo"
PREFERRED_PROVIDER_virtual/fakeroot-native ?= "pseudo-native"
##################################################################
# UI/Interaction Configuration
##################################################################

View File

@ -6,6 +6,7 @@ LICENSE = "GPLv2"
RDEPENDS = "util-linux"
RDEPENDS_virtclass-native = "util-linux-native"
PR = "r0"
PROVIDES += "virtual/fakeroot"
SRC_URI = "${DEBIAN_MIRROR}/main/f/fakeroot/fakeroot_${PV}.orig.tar.bz2 \
file://absolutepaths.patch"

View File

@ -1,7 +1,7 @@
DESCRIPTION = "With FUSE it is possible to implement a fully functional filesystem in a userspace program"
HOMEPAGE = "http://fuse.sf.net"
LICENSE = "GPL"
DEPENDS = "fakeroot-native"
DEPENDS = "virtual/fakeroot-native"
RRECOMMENDS_fuse = "${@base_contains("MACHINE_FEATURES","kernel26","kernel-module-fuse","fuse-module",d)}"
SRC_URI = "${SOURCEFORGE_MIRROR}/fuse/fuse-${PV}.tar.gz"

View File

@ -2,7 +2,7 @@ DESCRIPTION = "LIRC is a package that allows you to decode and send infra-red si
SECTION = "base"
PRIORITY = "optional"
LICENSE = "GPL"
DEPENDS = "virtual/kernel fakeroot-native"
DEPENDS = "virtual/kernel virtual/fakeroot-native"
PR = "r2"
SRC_URI = "${SOURCEFORGE_MIRROR}/lirc/lirc-${PV}.tar.gz \

View File

@ -1,6 +1,6 @@
DESCRIPTION = "Meta package for building a installable toolchain"
LICENSE = "MIT"
DEPENDS = "opkg-native opkg-utils-native fakeroot-native sed-native"
DEPENDS = "opkg-native opkg-utils-native virtual/fakeroot-native sed-native"
inherit meta
@ -109,7 +109,7 @@ do_populate_sdk() {
# Package it up
mkdir -p ${SDK_DEPLOY}
cd ${SDK_OUTPUT}
fakeroot tar cfj ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 .
${FAKEROOT} tar cfj ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 .
}
do_populate_sdk[nostamp] = "1"

View File

@ -4,7 +4,7 @@ SECTION = "console/network"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://portmap.c;beginline=2;endline=31;md5=51ff67e66ec84b2009b017b1f94afbf4 \
file://from_local.c;beginline=9;endline=35;md5=1bec938a2268b8b423c58801ace3adc1"
DEPENDS = "fakeroot-native"
DEPENDS = "virtual/fakeroot-native"
SRC_URI = "${DEBIAN_MIRROR}/main/p/portmap/portmap_5.orig.tar.gz \
${DEBIAN_MIRROR}/main/p/portmap/portmap_${PV}.diff.gz;patch=1 \