diff options
Diffstat (limited to 'classes/package_tar.bbclass')
| -rw-r--r-- | classes/package_tar.bbclass | 28 |
1 files changed, 11 insertions, 17 deletions
diff --git a/classes/package_tar.bbclass b/classes/package_tar.bbclass index cb4c42b261..b905e170f4 100644 --- a/classes/package_tar.bbclass +++ b/classes/package_tar.bbclass @@ -1,17 +1,11 @@ inherit package -IMAGE_PKGTYPE ?= "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) + fn = os.path.join(bb.data.getVar('DEPLOY_DIR_TAR', d, True), bb.data.expand('${PKG}-${PV}-${PR}${DISTRO_PR}.tar.gz', d, True)) 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) @@ -23,6 +17,7 @@ python package_tar_install () { bb.mkdirhier(rootfs) os.chdir(rootfs) except OSError: + import sys (type, value, traceback) = sys.exc_info() print value raise bb.build.FuncFailed @@ -42,7 +37,6 @@ python do_package_tar () { 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") @@ -62,7 +56,8 @@ python do_package_tar () { for pkg in packages.split(): localdata = bb.data.createCopy(d) - root = "%s/install/%s" % (workdir, pkg) + pkgdest = bb.data.getVar('PKGDEST', d, 1) + root = "%s/%s" % (pkgdest, pkg) bb.data.setVar('ROOT', '', localdata) bb.data.setVar('ROOT_%s' % pkg, root, localdata) @@ -83,23 +78,22 @@ python do_package_tar () { 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))) + if not glob('*') + glob('.[!.]*'): + bb.note("Not creating empty archive for %s-%s" % (pkg, bb.data.expand('${PV}-${PR}${DISTRO_PR}', d, True))) continue - ret = os.system("tar -czvf %s %s" % (tarfn, '.')) + ret = os.system("tar -czf %s %s" % (tarfn, '.')) if ret != 0: bb.error("Creation of tar %s failed." % tarfn) } python () { - import bb if bb.data.getVar('PACKAGES', d, True) != '': - bb.data.setVarFlag('do_package_write_tar', 'depends', 'tar-native:do_populate_staging', d) + deps = (bb.data.getVarFlag('do_package_write_tar', 'depends', d) or "").split() + deps.append('tar-native:do_populate_staging') + deps.append('fakeroot-native:do_populate_staging') + bb.data.setVarFlag('do_package_write_tar', 'depends', " ".join(deps), d) } |
