From a780643c4b6aa11e1a36965a69df7116477c7b4c Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Tue, 7 Dec 2004 22:05:47 +0000 Subject: Merge oe-devel@oe-devel.bkbits.net:packages.bb into handhelds.org:/home/kergoth/code/packages.bb 2004/12/07 04:58:25-06:00 ti.com!kergoth More updates per the core rename. 2004/12/07 04:46:51-06:00 ti.com!kergoth Update soundtracker per the core rename. 2004/12/07 04:44:14-06:00 ti.com!kergoth Merge 2004/12/07 04:42:38-06:00 ti.com!kergoth Updates per the recent rename of the oe core from 'oe' to 'bitbake'. BKrev: 41b6293b91LRHSxMOt6WnrZVAdLbFw --- classes/package_tar.bbclass | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 classes/package_tar.bbclass (limited to 'classes/package_tar.bbclass') diff --git a/classes/package_tar.bbclass b/classes/package_tar.bbclass new file mode 100644 index 0000000000..e69de29bb2 -- cgit v1.2.3 From 4cc600f1bed1c629bf77ebf1178258ca860bca9b Mon Sep 17 00:00:00 2001 From: "nslu2-linux.adm@bkbits.net" Date: Thu, 20 Jan 2005 05:14:20 +0000 Subject: Merge bk://oe-devel.bkbits.net/openembedded into bkbits.net:/repos/n/nslu2-linux/openembedded 2005/01/20 00:02:54-05:00 handhelds.org!kergoth Merge oe-devel@oe-devel.bkbits.net:openembedded into handhelds.org:/home/kergoth/code/openembedded 2005/01/20 00:01:05-05:00 handhelds.org!kergoth Fix a critical bug resulting from the recent changes in bitbake (facilitating make -j). The behavior is that of the root filesystem not having a ton of required shared libraries, like libc. Our packaging classes relied on the tasks being able to modify the global metadata, which is no longer allowed. Rework how we do packaging to account for this. BKrev: 41ef3e2c_WACPUP9Waae3Humbe58ng --- classes/package_tar.bbclass | 100 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) (limited to 'classes/package_tar.bbclass') diff --git a/classes/package_tar.bbclass b/classes/package_tar.bbclass index e69de29bb2..2d169c7491 100644 --- a/classes/package_tar.bbclass +++ b/classes/package_tar.bbclass @@ -0,0 +1,100 @@ +inherit package + +PACKAGEFUNCS += "do_package_tar" + +python package_tar_fn () { + import os + from bb import data + fn = os.path.join(bb.data.getVar('DEPLOY_DIR_TAR', d), "%s-%s-%s.tar.gz" % (bb.data.getVar('PKG', d), bb.data.getVar('PV', d), bb.data.getVar('PR', d))) + fn = bb.data.expand(fn, d) + bb.data.setVar('PKGFN', fn, d) +} + +python package_tar_install () { + import os, sys + pkg = bb.data.getVar('PKG', d, 1) + pkgfn = bb.data.getVar('PKGFN', d, 1) + rootfs = bb.data.getVar('IMAGE_ROOTFS', d, 1) + + if None in (pkg,pkgfn,rootfs): + bb.error("missing variables (one or more of PKG, PKGFN, IMAGEROOTFS)") + raise bb.build.FuncFailed + try: + bb.mkdirhier(rootfs) + os.chdir(rootfs) + except OSError: + (type, value, traceback) = sys.exc_info() + print value + raise bb.build.FuncFailed + + if not os.access(pkgfn, os.R_OK): + bb.debug(1, "%s does not exist, skipping" % pkgfn) + raise bb.build.FuncFailed + + ret = os.system('zcat %s | tar -xf -' % pkgfn) + if ret != 0: + raise bb.build.FuncFailed +} + +python do_package_tar () { + workdir = bb.data.getVar('WORKDIR', d, 1) + if not workdir: + bb.error("WORKDIR not defined, unable to package") + return + + import os # path manipulations + outdir = bb.data.getVar('DEPLOY_DIR_TAR', d, 1) + if not outdir: + bb.error("DEPLOY_DIR_TAR not defined, unable to package") + return + bb.mkdirhier(outdir) + + dvar = bb.data.getVar('D', d, 1) + if not dvar: + bb.error("D not defined, unable to package") + return + bb.mkdirhier(dvar) + + packages = bb.data.getVar('PACKAGES', d, 1) + if not packages: + bb.debug(1, "PACKAGES not defined, nothing to package") + return + + for pkg in packages.split(): + from copy import copy, deepcopy + localdata = deepcopy(d) + root = "%s/install/%s" % (workdir, pkg) + + bb.data.setVar('ROOT', '', localdata) + bb.data.setVar('ROOT_%s' % pkg, root, localdata) + bb.data.setVar('PKG', pkg, localdata) + + overrides = bb.data.getVar('OVERRIDES', localdata) + if not overrides: + raise bb.build.FuncFailed('OVERRIDES not defined') + overrides = bb.data.expand(overrides, localdata) + bb.data.setVar('OVERRIDES', '%s:%s' % (overrides, pkg), localdata) + + bb.data.update_data(localdata) +# stuff + root = bb.data.getVar('ROOT', localdata) + bb.mkdirhier(root) + basedir = os.path.dirname(root) + pkgoutdir = outdir + bb.mkdirhier(pkgoutdir) + bb.build.exec_func('package_tar_fn', localdata) + tarfn = bb.data.getVar('PKGFN', localdata, 1) +# if os.path.exists(tarfn): +# del localdata +# continue + os.chdir(root) + from glob import glob + if not glob('*'): + bb.note("Not creating empty archive for %s-%s-%s" % (pkg, bb.data.getVar('PV', localdata, 1), bb.data.getVar('PR', localdata, 1))) + continue + ret = os.system("tar -czvf %s %s" % (tarfn, '.')) + if ret != 0: + bb.error("Creation of tar %s failed." % tarfn) +# end stuff + del localdata +} -- cgit v1.2.3 From 2f9ad2e658e8ad53ecdb6eb82358eb858a8de5f5 Mon Sep 17 00:00:00 2001 From: "nslu2-linux.adm@bkbits.net" Date: Tue, 17 May 2005 18:39:51 +0000 Subject: Merge bk://oe-devel.bkbits.net/openembedded into bkbits.net:/repos/n/nslu2-linux/openembedded 2005/05/17 20:39:04+02:00 uni-frankfurt.de!mickeyl add python-pygtk2 to task-python-everything 2005/05/17 20:32:02+02:00 uni-frankfurt.de!mickeyl apply zecke's patches to prepare for the low memory bitbake. the repository needs bitbake r159 or better now BKrev: 428a3a77SoUtXtfto7tXtwiSdrA1ew --- classes/package_tar.bbclass | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'classes/package_tar.bbclass') diff --git a/classes/package_tar.bbclass b/classes/package_tar.bbclass index 2d169c7491..359e35f113 100644 --- a/classes/package_tar.bbclass +++ b/classes/package_tar.bbclass @@ -61,8 +61,7 @@ python do_package_tar () { return for pkg in packages.split(): - from copy import copy, deepcopy - localdata = deepcopy(d) + localdata = bb.data.createCopy(d) root = "%s/install/%s" % (workdir, pkg) bb.data.setVar('ROOT', '', localdata) -- cgit v1.2.3