Skip to content

Commit

Permalink
Merge branch 'org.openembedded.dev' into testing-next
Browse files Browse the repository at this point in the history
  • Loading branch information
cbrake committed Sep 13, 2010
2 parents beb17e2 + eda06ec commit 4ee3585
Show file tree
Hide file tree
Showing 353 changed files with 204,474 additions and 719 deletions.
8 changes: 3 additions & 5 deletions MAINTAINERS
Expand Up @@ -92,11 +92,9 @@ Recipes: cdparanoia, cdstatus, iscsi-target urjtag
Person: Graeme Gregory
Mail: dp@xora.org.uk
Website: http://www.xora.org.uk
Interests: Multimedia in gpe and on fbdev, and gtk+ apps on PDA devices.
Interests: GNOME on PDA
Recipes: mplayer, xmms, xmms-mad, xmms-tremor, dillo, links, links-x11
Recipes: epdfview, sylpheed-claws, sylpheed, gqview, tightvnc
Recipes: gtk+_2.10.*
Interests: Angstrom Distribution
Distros: Ångström
Recipes: angstrom*

Person: Henning Heinold 'woglinde'
Mail: heinold@inf.fu-berlin.de
Expand Down
5 changes: 3 additions & 2 deletions classes/base.bbclass
Expand Up @@ -2,6 +2,7 @@ BB_DEFAULT_TASK ?= "build"

inherit patch
inherit staging
inherit packaged-staging

inherit packagedata
inherit mirrors
Expand Down Expand Up @@ -176,7 +177,7 @@ def oe_unpack(d, local, urldata):
if not urldata.host:
urlpath = urldata.path
else:
urlpath = oe.path.join(urldata.host, urldata.path)
urlpath = "%s%s" % (urldata.host, urldata.path)

if not os.path.isabs(urlpath):
subdirs.append(os.path.dirname(urlpath))
Expand Down Expand Up @@ -337,7 +338,7 @@ python () {
this_machine = bb.data.getVar('MACHINE', d, 1)
if this_machine and not re.match(need_machine, this_machine):
this_soc_family = bb.data.getVar('SOC_FAMILY', d, 1)
if this_soc_family and not re.match(need_machine, this_soc_family):
if (this_soc_family and not re.match(need_machine, this_soc_family)) or not this_soc_family:
raise bb.parse.SkipPackage("incompatible with machine %s" % this_machine)

need_target = bb.data.getVar('COMPATIBLE_TARGET_SYS', d, 1)
Expand Down
2 changes: 1 addition & 1 deletion classes/insane.bbclass
Expand Up @@ -448,7 +448,7 @@ python do_package_qa () {


# The Staging Func, to check all staging
addtask qa_staging after do_populate_sysroot before do_build
addtask qa_staging after do_populate_sysroot before do_package_stage
python do_qa_staging() {
bb.debug(2, "QA checking staging")

Expand Down
4 changes: 0 additions & 4 deletions classes/java-library.bbclass
Expand Up @@ -65,7 +65,3 @@ do_install() {
java_stage() {
oe_jarinstall -s ${JARFILENAME} ${ALTJARFILENAMES}
}

do_stage() {
java_stage
}
110 changes: 63 additions & 47 deletions classes/packaged-staging.bbclass
Expand Up @@ -30,16 +30,8 @@ BB_STAMP_WHITELIST = "${PSTAGE_NATIVEDEPENDS}"

python __anonymous() {
pstage_allowed = True

# We need PSTAGE_PKGARCH to contain information about the target.
if bb.data.inherits_class('cross', d):
bb.data.setVar('PSTAGE_PKGARCH', "${HOST_SYS}-${PACKAGE_ARCH}-${TARGET_OS}", d)

# These classes encode staging paths data files so we must mangle them
# for reuse.
if bb.data.inherits_class('native', d) or bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('cross', d) or bb.data.inherits_class('crosssdk', d) or bb.data.inherits_class('sdk', d):
scan_cmd = "grep -Irl ${STAGING_DIR} ${PSTAGE_TMPDIR_STAGE}"
bb.data.setVar('PSTAGE_SCAN_CMD', scan_cmd, d)
pstage_host_mangle = False
pstage_is_cross = False

# PSTAGE_NATIVEDEPENDS lists the packages we need before we can use
# packaged staging. There will always be some packages we depend on.
Expand All @@ -59,6 +51,27 @@ python __anonymous() {
if localdata.getVar('PSTAGING_DISABLED', True) == "1":
pstage_allowed = False

# libtool-cross does not inherit cross.
if localdata.getVar('PN', True).startswith("libtool-cross"):
pstage_host_mangle = True
pstage_is_cross = True

# We need PSTAGE_PKGARCH to contain information about the target.
if bb.data.inherits_class('cross', d):
pstage_host_mangle = True

if pstage_host_mangle:
bb.data.setVar('PSTAGE_PKGARCH', "${HOST_SYS}-${PACKAGE_ARCH}-${TARGET_OS}", d)

# These classes encode staging paths data files so we must mangle them
# for reuse.
if bb.data.inherits_class('native', d) or bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('cross', d) or bb.data.inherits_class('crosssdk', d) or bb.data.inherits_class('sdk', d):
pstage_is_cross = True

if pstage_is_cross:
scan_cmd = "grep -Irl ${TMPDIR} ${PSTAGE_TMPDIR_STAGE}"
bb.data.setVar('PSTAGE_SCAN_CMD', scan_cmd, d)

# Add task dependencies if we're active, otherwise mark packaged staging
# as inactive.
if pstage_allowed:
Expand Down Expand Up @@ -94,7 +107,7 @@ def pstage_manualclean(srcname, destvarname, d):
dest = bb.data.getVar(destvarname, d, True)

for walkroot, dirs, files in os.walk(src):
bb.debug("rm %s" % walkroot)
bb.debug(2, "rm %s" % walkroot)
for file in files:
# Avoid breaking the held lock
if (file == "staging.lock"):
Expand All @@ -112,25 +125,26 @@ def pstage_set_pkgmanager(d):


def pstage_cleanpackage(pkgname, d):
path = bb.data.getVar("PATH", d, 1)
pstage_set_pkgmanager(d)
list_cmd = bb.data.getVar("PSTAGE_LIST_CMD", d, True)

bb.debug(2, "Checking if staging package installed")
lf = bb.utils.lockfile(bb.data.expand("${SYSROOT_LOCK}", d))
ret = os.system("PATH=\"%s\" %s | grep %s" % (path, list_cmd, pkgname))
if ret == 0:
bb.debug(1, "Uninstalling package from staging...")
removecmd = bb.data.getVar("PSTAGE_REMOVE_CMD", d, 1)
ret = os.system("PATH=\"%s\" %s %s" % (path, removecmd, pkgname))
if ret != 0:
bb.note("Failure removing staging package")
else:
bb.debug(1, "Manually removing any installed files from staging...")
pstage_manualclean("sysroots", "STAGING_DIR", d)
pstage_manualclean("deploy", "DEPLOY_DIR", d)

bb.utils.unlockfile(lf)
pstage_set_pkgmanager(d)
list_cmd = bb.data.getVar("PSTAGE_LIST_CMD", d, True)

bb.debug(2, "Checking if staging package installed")
lf = bb.utils.lockfile(bb.data.expand("${SYSROOT_LOCK}", d))
try:
oe_run(d, "%s | grep %s" % (list_cmd, pkgname))
except RuntimeError:
bb.debug(1, "Manually removing any installed files from staging...")
pstage_manualclean("sysroots", "STAGING_DIR", d)
pstage_manualclean("deploy", "DEPLOY_DIR", d)
else:
bb.debug(1, "Uninstalling package from staging...")
removecmd = bb.data.getVar("PSTAGE_REMOVE_CMD", d, 1)
try:
oe_run(d, "%s %s" % (removecmd, pkgname))
except RuntimeError:
bb.note("Failure removing staging package")

bb.utils.unlockfile(lf)

do_clean_prepend() {
"""
Expand Down Expand Up @@ -208,7 +222,6 @@ python packagestage_scenefunc () {
staging_fetch(stagepkg, d)

if os.path.exists(stagepkg):
path = bb.data.getVar("PATH", d, 1)
pstage_set_pkgmanager(d)
file = bb.data.getVar("FILE", d, True)
bb.debug(2, "Packaged staging active for %s\n" % file)
Expand All @@ -218,8 +231,9 @@ python packagestage_scenefunc () {
#
bb.mkdirhier(bb.data.expand("${WORKDIR}/tstage/${libdir_native}/opkg/info/ ", d))
cmd = bb.data.expand("${PSTAGE_PKGMANAGER} -f ${PSTAGE_MACHCONFIG} -force-depends -o ${WORKDIR}/tstage install", d)
ret = os.system("PATH=\"%s\" %s %s" % (path, cmd, stagepkg))
if ret != 0:
try:
oe_run(d, "%s %s" % (cmd, stagepkg))
except RuntimeError:
bb.fatal("Couldn't install the staging package to a temp directory")

#
Expand All @@ -234,14 +248,15 @@ python packagestage_scenefunc () {
# Copy the stamp files into the main stamps directoy
#
cmd = bb.data.expand("cp -dpR ${WORKDIR}/tstage/stamps/* ${TMPDIR}/stamps/", d)
ret = os.system(cmd)
if ret != 0:
try:
ret = oe_run(d, cmd)
except RuntimeError:
bb.utils.unlockfile(lf)
bb.fatal("Couldn't copy the staging package stamp files")

#
# Iterate over the stamps seeing if they're valid. If we find any that
# are invalid or the task wasn't in the taskgraph, assume caution and
# are invalid or the task wasn't in the taskgraph, assume caution and
# do a rebuild.
#
# FIXME - some tasks are safe to ignore in the task graph. e.g. package_write_*
Expand All @@ -268,10 +283,12 @@ python packagestage_scenefunc () {
if stageok:
bb.note("Staging package found, using it for %s." % file)
installcmd = bb.data.getVar("PSTAGE_INSTALL_CMD", d, 1)
ret = os.system("PATH=\"%s\" %s %s" % (path, installcmd, stagepkg))
bb.utils.unlockfile(lf)
if ret != 0:
try:
ret = oe_run(d, "%s %s" % (installcmd, stagepkg))
except RuntimeError:
bb.note("Failure installing prestage package")
finally:
bb.utils.unlockfile(lf)

bb.build.exec_func("staging_package_libtoolhack", d)

Expand Down Expand Up @@ -350,7 +367,7 @@ staging_packager () {
echo "Priority: Optional" >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
echo "Maintainer: ${MAINTAINER}" >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
echo "Architecture: ${PSTAGE_PKGARCH}" >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control

# Protect against empty SRC_URI
srcuri="${SRC_URI}"
if [ "$srcuri" == "" ]; then
Expand All @@ -366,7 +383,7 @@ staging_packager () {
sed -i -e s:${STAGING_DIR}:FIXMESTAGINGDIR:g $i
echo $i | sed -e 's:${PSTAGE_TMPDIR_STAGE}/::' >> ${PSTAGE_TMPDIR_STAGE}/sysroots/fixmepath
done

${PSTAGE_BUILD_CMD} ${PSTAGE_TMPDIR_STAGE} ${PSTAGE_DIR}/${PSTAGE_PKGPATH}
}

Expand Down Expand Up @@ -401,7 +418,7 @@ python staging_package_libtoolhack () {
fixmefd.close()
oe.path.remove(fixmefn)
for file in fixmefiles:
os.system("sed -i -e s:FIXMESTAGINGDIR:%s:g %s" % (staging, tmpdir + '/' + file))
oe_run(d, "sed -i -e s:FIXMESTAGINGDIR:%s:g %s" % (staging, tmpdir + '/' + file))
except IOError:
pass
}
Expand Down Expand Up @@ -438,12 +455,11 @@ python do_package_stage () {
if not packaged(pkg, d):
continue
if bb.data.inherits_class('package_ipk', d):
srcname = bb.data.expand(pkgname + "_${PV}-" + pr + "${DISTRO_PR}" + "_" + arch + ".ipk", d)
srcname = bb.data.expand(pkgname + "_${PKGV}-" + pr + "${DISTRO_PR}" + "_" + arch + ".ipk", d)
srcfile = bb.data.expand("${DEPLOY_DIR_IPK}/" + arch + "/" + srcname, d)
if os.path.exists(srcfile):
destpath = ipkpath + "/" + arch + "/"
bb.mkdirhier(destpath)
print destpath
bb.copyfile(srcfile, destpath + srcname)

if bb.data.inherits_class('package_deb', d):
Expand All @@ -453,7 +469,7 @@ python do_package_stage () {
srcname = bb.data.expand(pkgname + "_${PV}-" + pr + "${DISTRO_PR}" + "_${DPKG_ARCH}.deb", d)
srcfile = bb.data.expand("${DEPLOY_DIR_DEB}/" + arch + "/" + srcname, d)
if os.path.exists(srcfile):
destpath = debpath + "/" + arch + "/"
destpath = debpath + "/" + arch + "/"
bb.mkdirhier(destpath)
bb.copyfile(srcfile, destpath + srcname)

Expand All @@ -464,7 +480,7 @@ python do_package_stage () {
srcname = bb.data.expand(pkgname + "-${RPMPV}-" + pr + "${DISTRO_PR}" + ".${TARGET_ARCH}.rpm", d)
srcfile = bb.data.expand("${DEPLOY_DIR_RPM}/" + arch + "/" + srcname, d)
if os.path.exists(srcfile):
destpath = rpmpath + "/" + arch + "/"
destpath = rpmpath + "/" + arch + "/"
bb.mkdirhier(destpath)
bb.copyfile(srcfile, destpath + srcname)

Expand All @@ -477,7 +493,7 @@ python do_package_stage () {
bb.mkdirhier(destdir)
# We need to include the package_stage stamp in the staging package so create one
bb.build.make_stamp("do_package_stage", d)
os.system("cp -dpR %s.do_* %s/" % (stampfn, destdir))
oe_run(d, "cp -dpR %s.do_* %s/" % (stampfn, destdir))

pstage_set_pkgmanager(d)
bb.build.exec_func("staging_helper", d)
Expand Down
15 changes: 12 additions & 3 deletions classes/sourceipk.bbclass
Expand Up @@ -14,6 +14,9 @@
# - SRCIPK_PACKAGE_ARCH = This variable allows specific recipies to
# specify an architecture for the sourcetree
# package is "all" is not appropriate
# - SRCIPK_INC_EXTRAFILES = When set to 1 this variable indicates that
# the source ipk should contain extra files
# such as the README file and recipe.
#
# The default installation directory for the sources is:
# /usr/src/${PN}-src
Expand Down Expand Up @@ -47,6 +50,9 @@ SRCIPK_INSTALL_DIR ?= "/usr/src/${PN}-src"
# Default PACKAGE_ARCH for sources is "all"
SRCIPK_PACKAGE_ARCH ?= "all"

# Default SRCIPK_INCLUDE_EXTRAFILES is to include the extra files
SRCIPK_INCLUDE_EXTRAFILES ?= "1"

# Create a README file that describes the contents of the source ipk
sourceipk_create_readme() {
readme="$1/README.${PN}-src"
Expand Down Expand Up @@ -91,7 +97,6 @@ sourceipk_do_create_srcipk() {
srcuri="OpenEmbedded"
fi
echo "Source: $srcuri" >> $control_file

#Write the control tarball
tar -C $tmp_dir/CONTROL --owner=0 --group=0 -czf $srcipk_dir/control.tar.gz .

Expand All @@ -101,8 +106,12 @@ sourceipk_do_create_srcipk() {
# Copy sources for packaging
mkdir -p $tmp_dir/${SRCIPK_INSTALL_DIR}
cp -rLf ${S}/* $tmp_dir/${SRCIPK_INSTALL_DIR}/
sourceipk_create_readme $tmp_dir/${SRCIPK_INSTALL_DIR}/
cp ${FILE} $tmp_dir/${SRCIPK_INSTALL_DIR}/

if [ ${SRCIPK_INCLUDE_EXTRAFILES} != "0" ]
then
sourceipk_create_readme $tmp_dir/${SRCIPK_INSTALL_DIR}/
cp ${FILE} $tmp_dir/${SRCIPK_INSTALL_DIR}/
fi

#Write the data tarball
tar -C $tmp_dir --owner=0 --group=0 -czf $srcipk_dir/data.tar.gz .
Expand Down
2 changes: 1 addition & 1 deletion conf/bitbake.conf
Expand Up @@ -295,7 +295,6 @@ B = "${S}"

STAGING_DIR = "${TMPDIR}/sysroots"

STAGING_DIR_JAVA = "${STAGING_DIR}/java"
STAGING_DIR_NATIVE = "${STAGING_DIR}/${BUILD_SYS}"
STAGING_BINDIR_NATIVE = "${STAGING_DIR_NATIVE}${bindir_native}"
STAGING_SBINDIR_NATIVE = "${STAGING_DIR_NATIVE}${sbindir_native}"
Expand All @@ -321,6 +320,7 @@ STAGING_PYDIR = "${STAGING_DIR}/lib/python2.4"
# This should really be MULTIMACH_TARGET_SYS but that breaks "all" and machine
# specific packages - hack around it for now.
STAGING_DIR_TARGET = "${STAGING_DIR}/${BASEPKG_TARGET_SYS}"
STAGING_DIR_JAVA = "${STAGING_DATADIR}/java"

STAGING_DIR_SDK = "${STAGING_DIR}/${SDK_SYS}"

Expand Down
3 changes: 0 additions & 3 deletions conf/distro/angstrom-2008.1.conf
Expand Up @@ -20,9 +20,6 @@ DISTRO_PR = ".6"

OLDEST_KERNEL ?= "2.6.16"

#build staging from packages
INHERIT += "packaged-staging"

require conf/distro/include/sane-srcdates.inc
require conf/distro/include/sane-srcrevs.inc
require conf/distro/include/angstrom-2008-preferred-versions.inc
Expand Down
3 changes: 0 additions & 3 deletions conf/distro/angstrom-2010.x.conf
Expand Up @@ -25,9 +25,6 @@ DISTRO_PR = ".7"

OLDEST_KERNEL ?= "2.6.16"

#build staging from packages
INHERIT += "packaged-staging"

require conf/distro/include/sane-srcdates.inc
require conf/distro/include/sane-srcrevs.inc
require conf/distro/include/angstrom-2010-preferred-versions.inc
Expand Down
4 changes: 2 additions & 2 deletions conf/distro/include/angstrom-2010-preferred-versions.inc
Expand Up @@ -9,8 +9,8 @@ PREFERRED_VERSION_autoconf = "2.65"
PREFERRED_VERSION_autoconf-native = "2.65"
PREFERRED_VERSION_automake = "1.11.1"
PREFERRED_VERSION_automake-native = "1.11.1"
PREFERRED_VERSION_busybox = "1.13.2"
PREFERRED_VERSION_cairo = "1.8.10"
PREFERRED_VERSION_busybox = "1.17.1"
PREFERRED_VERSION_cairo = "1.10.0"
PREFERRED_VERSION_dbus = "1.2.24"
PREFERRED_VERSION_dropbear = "0.51"
PREFERRED_VERSION_fontconfig = "2.8.0"
Expand Down
2 changes: 1 addition & 1 deletion conf/distro/include/slugos.inc
Expand Up @@ -53,7 +53,7 @@ USE_NLS_glib-2.0 = "yes"
USE_NLS_glib-2.0-native = "yes"
USE_NLS_gcc-cross = "no"

INHERIT += "package_ipk debian testlab packaged-staging siteinfo"
INHERIT += "package_ipk debian testlab siteinfo"

# FULL_OPTIMIZATION
# Optimization settings. Os works fine and is significantly better than O2.
Expand Down

0 comments on commit 4ee3585

Please sign in to comment.