mirror of
https://git.yoctoproject.org/poky
synced 2026-04-21 21:32:12 +02:00
The package_xxx_install functions date from a different era and are not used by anything. In the rpm case, they're simply unimplemented, in the tar case they're using broken whitespace and deprecated functions. We might as well clean out the old broken unused code. (From OE-Core rev: 3684036213c9b1c27389260b7a1e3441c6bd659d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
84 lines
2.4 KiB
Plaintext
84 lines
2.4 KiB
Plaintext
inherit package
|
|
|
|
IMAGE_PKGTYPE ?= "tar"
|
|
|
|
python package_tar_fn () {
|
|
fn = os.path.join(d.getVar('DEPLOY_DIR_TAR'), "%s-%s-%s.tar.gz" % (d.getVar('PKG'), d.getVar('PKGV'), d.getVar('PKGR')))
|
|
fn = d.expand(fn)
|
|
d.setVar('PKGFN', fn)
|
|
}
|
|
|
|
python do_package_tar () {
|
|
import subprocess
|
|
workdir = d.getVar('WORKDIR', True)
|
|
if not workdir:
|
|
bb.error("WORKDIR not defined, unable to package")
|
|
return
|
|
|
|
outdir = d.getVar('DEPLOY_DIR_TAR', True)
|
|
if not outdir:
|
|
bb.error("DEPLOY_DIR_TAR not defined, unable to package")
|
|
return
|
|
bb.mkdirhier(outdir)
|
|
|
|
dvar = d.getVar('D', True)
|
|
if not dvar:
|
|
bb.error("D not defined, unable to package")
|
|
return
|
|
bb.mkdirhier(dvar)
|
|
|
|
packages = d.getVar('PACKAGES', True)
|
|
if not packages:
|
|
bb.debug(1, "PACKAGES not defined, nothing to package")
|
|
return
|
|
|
|
for pkg in packages.split():
|
|
localdata = bb.data.createCopy(d)
|
|
root = "%s/install/%s" % (workdir, pkg)
|
|
|
|
localdata.setVar('ROOT', '')
|
|
localdata.setVar('ROOT_%s' % pkg, root)
|
|
localdata.setVar('PKG', pkg)
|
|
|
|
overrides = localdata.getVar('OVERRIDES')
|
|
if not overrides:
|
|
raise bb.build.FuncFailed('OVERRIDES not defined')
|
|
overrides = localdata.expand(overrides)
|
|
localdata.setVar('OVERRIDES', '%s:%s' % (overrides, pkg))
|
|
|
|
bb.data.update_data(localdata)
|
|
|
|
root = localdata.getVar('ROOT')
|
|
bb.mkdirhier(root)
|
|
basedir = os.path.dirname(root)
|
|
pkgoutdir = outdir
|
|
bb.mkdirhier(pkgoutdir)
|
|
bb.build.exec_func('package_tar_fn', localdata)
|
|
tarfn = localdata.getVar('PKGFN', True)
|
|
os.chdir(root)
|
|
from glob import glob
|
|
if not glob('*'):
|
|
bb.note("Not creating empty archive for %s-%s-%s" % (pkg, localdata.getVar('PKGV', True), localdata.getVar('PKGR', True)))
|
|
continue
|
|
ret = subprocess.call("tar -czf %s %s" % (tarfn, '.'), shell=True)
|
|
if ret != 0:
|
|
bb.error("Creation of tar %s failed." % tarfn)
|
|
}
|
|
|
|
python () {
|
|
if d.getVar('PACKAGES', True) != '':
|
|
deps = (d.getVarFlag('do_package_write_tar', 'depends') or "").split()
|
|
deps.append('tar-native:do_populate_sysroot')
|
|
deps.append('virtual/fakeroot-native:do_populate_sysroot')
|
|
d.setVarFlag('do_package_write_tar', 'depends', " ".join(deps))
|
|
d.setVarFlag('do_package_write_ipk', 'fakeroot', "1")
|
|
}
|
|
|
|
|
|
python do_package_write_tar () {
|
|
bb.build.exec_func("read_subpackage_metadata", d)
|
|
bb.build.exec_func("do_package_tar", d)
|
|
}
|
|
do_package_write_tar[dirs] = "${D}"
|
|
addtask package_write_tar before do_build after do_packagedata do_package
|