packaging: Split deb and ipk creation into separate tasks so changing the packaging type means the new type of packages are automatically generated.
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2526 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
parent
005bf0112c
commit
48fd37f5f9
|
@ -8,8 +8,7 @@ export IMAGE_BASENAME = "${PN}"
|
|||
export PACKAGE_INSTALL = "${IMAGE_INSTALL}"
|
||||
|
||||
# We need to recursively follow RDEPENDS and RRECOMMENDS for images
|
||||
BUILD_ALL_DEPS = "1"
|
||||
do_rootfs[recrdeptask] = "do_package_write do_deploy do_populate_staging"
|
||||
do_rootfs[recrdeptask] += "do_deploy do_populate_staging"
|
||||
|
||||
# Images are generally built explicitly, do not need to be part of world.
|
||||
EXCLUDE_FROM_WORLD = "1"
|
||||
|
|
|
@ -126,11 +126,6 @@ python () {
|
|||
deps += " %s:do_populate_staging" % dep
|
||||
bb.data.setVarFlag('do_package', 'depends', deps, d)
|
||||
|
||||
deps = bb.data.getVarFlag('do_package_write', 'depends', d) or ""
|
||||
for dep in (bb.data.getVar('PACKAGE_EXTRA_DEPENDS', d, True) or "").split():
|
||||
deps += " %s:do_populate_staging" % dep
|
||||
bb.data.setVarFlag('do_package_write', 'depends', deps, d)
|
||||
|
||||
# shlibs requires any DEPENDS to have already packaged for the *.list files
|
||||
bb.data.setVarFlag('do_package', 'deptask', 'do_package', d)
|
||||
}
|
||||
|
@ -902,19 +897,7 @@ do_package[dirs] = "${D}"
|
|||
addtask package before do_build after do_install
|
||||
|
||||
|
||||
|
||||
PACKAGE_WRITE_FUNCS ?= "read_subpackage_metadata"
|
||||
|
||||
python package_do_package_write () {
|
||||
for f in (bb.data.getVar('PACKAGE_WRITE_FUNCS', d, 1) or '').split():
|
||||
bb.build.exec_func(f, d)
|
||||
}
|
||||
do_package_write[dirs] = "${D}"
|
||||
addtask package_write before do_build after do_package
|
||||
|
||||
|
||||
EXPORT_FUNCTIONS do_package do_package_write
|
||||
|
||||
EXPORT_FUNCTIONS do_package
|
||||
|
||||
#
|
||||
# Helper functions for the package writing classes
|
||||
|
|
|
@ -4,11 +4,8 @@
|
|||
|
||||
inherit package
|
||||
|
||||
PACKAGE_EXTRA_DEPENDS += "dpkg-native fakeroot-native"
|
||||
|
||||
BOOTSTRAP_EXTRA_RDEPENDS += "dpkg"
|
||||
DISTRO_EXTRA_RDEPENDS += "dpkg"
|
||||
PACKAGE_WRITE_FUNCS += "do_package_deb"
|
||||
IMAGE_PKGTYPE ?= "deb"
|
||||
|
||||
python package_deb_fn () {
|
||||
|
@ -248,3 +245,17 @@ python do_package_deb () {
|
|||
pass
|
||||
del localdata
|
||||
}
|
||||
|
||||
python () {
|
||||
import bb
|
||||
if bb.data.getVar('PACKAGES', d, True) != '':
|
||||
bb.data.setVarFlag('do_package_write_deb', 'depends', 'dpkg-native:do_populate_staging fakeroot-native:do_populate_staging', d)
|
||||
}
|
||||
|
||||
python do_package_write_deb () {
|
||||
bb.build.exec_func("read_subpackage_metadata", d)
|
||||
bb.build.exec_func("do_package_deb", d)
|
||||
}
|
||||
do_package_write_deb[dirs] = "${D}"
|
||||
addtask package_write_deb before do_build after do_package
|
||||
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
inherit package
|
||||
|
||||
PACKAGE_EXTRA_DEPENDS += "ipkg-utils-native fakeroot-native"
|
||||
|
||||
BOOTSTRAP_EXTRA_RDEPENDS += "ipkg-collateral ipkg ipkg-link"
|
||||
DISTRO_EXTRA_RDEPENDS += "ipkg-collateral ipkg ipkg-link"
|
||||
PACKAGE_WRITE_FUNCS += "do_package_ipk"
|
||||
IMAGE_PKGTYPE ?= "ipk"
|
||||
|
||||
python package_ipk_fn () {
|
||||
|
@ -242,3 +239,16 @@ python do_package_ipk () {
|
|||
pass
|
||||
del localdata
|
||||
}
|
||||
|
||||
python () {
|
||||
import bb
|
||||
if bb.data.getVar('PACKAGES', d, True) != '':
|
||||
bb.data.setVarFlag('do_package_write_ipk', 'depends', 'ipkg-utils-native:do_populate_staging fakeroot-native:do_populate_staging', d)
|
||||
}
|
||||
|
||||
python do_package_write_ipk () {
|
||||
bb.build.exec_func("read_subpackage_metadata", d)
|
||||
bb.build.exec_func("do_package_ipk", d)
|
||||
}
|
||||
do_package_write_ipk[dirs] = "${D}"
|
||||
addtask package_write_ipk before do_build after do_package
|
||||
|
|
|
@ -2,7 +2,6 @@ inherit package
|
|||
inherit rpm_core
|
||||
|
||||
RPMBUILD="rpmbuild --short-circuit ${RPMOPTS}"
|
||||
PACKAGE_WRITE_FUNCS += "do_package_rpm"
|
||||
IMAGE_PKGTYPE ?= "rpm"
|
||||
|
||||
python write_specfile() {
|
||||
|
@ -54,7 +53,6 @@ python write_specfile() {
|
|||
except OSError:
|
||||
raise bb.build.FuncFailed("unable to open spec file for writing.")
|
||||
|
||||
# fd = sys.__stdout__
|
||||
fd = specfile
|
||||
for var in out_vartranslate.keys():
|
||||
if out_vartranslate[var][0] == "%":
|
||||
|
@ -123,7 +121,7 @@ python do_package_rpm () {
|
|||
bb.data.setVar('OVERRIDES', '%s:%s' % (overrides, pkg), localdata)
|
||||
|
||||
bb.data.update_data(localdata)
|
||||
# stuff
|
||||
|
||||
root = bb.data.getVar('ROOT', localdata)
|
||||
basedir = os.path.dirname(root)
|
||||
pkgoutdir = outdir
|
||||
|
@ -132,3 +130,17 @@ python do_package_rpm () {
|
|||
bb.build.exec_func('write_specfile', localdata)
|
||||
del localdata
|
||||
}
|
||||
|
||||
python () {
|
||||
import bb
|
||||
if bb.data.getVar('PACKAGES', d, True) != '':
|
||||
bb.data.setVarFlag('do_package_write_rpm', 'depends', 'rpm-native:do_populate_staging', d)
|
||||
}
|
||||
|
||||
|
||||
python do_package_write_rpm () {
|
||||
bb.build.exec_func("read_subpackage_metadata", d)
|
||||
bb.build.exec_func("do_package_rpm", d)
|
||||
}
|
||||
do_package_write_rpm[dirs] = "${D}"
|
||||
addtask package_write_rpm before do_build after do_package
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
inherit package
|
||||
|
||||
PACKAGE_EXTRA_DEPENDS += "tar-native"
|
||||
|
||||
PACKAGE_WRITE_FUNCS += "do_package_tar"
|
||||
IMAGE_PKGTYPE ?= "tar"
|
||||
|
||||
python package_tar_fn () {
|
||||
|
@ -78,7 +75,7 @@ python do_package_tar () {
|
|||
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)
|
||||
|
@ -97,6 +94,18 @@ python do_package_tar () {
|
|||
ret = os.system("tar -czvf %s %s" % (tarfn, '.'))
|
||||
if ret != 0:
|
||||
bb.error("Creation of tar %s failed." % tarfn)
|
||||
# end stuff
|
||||
del localdata
|
||||
}
|
||||
|
||||
python () {
|
||||
import bb
|
||||
if bb.data.getVar('PACKAGES', d, True) != '':
|
||||
bb.data.setVarFlag('do_package_write_tar', 'depends', 'tar-native:do_populate_staging', d)
|
||||
}
|
||||
|
||||
|
||||
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_package
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#
|
||||
|
||||
do_rootfs[depends] += "dpkg-native:do_populate_staging apt-native:do_populate_staging"
|
||||
do_rootfs[recrdeptask] += "do_package_write_deb"
|
||||
|
||||
fakeroot rootfs_deb_do_rootfs () {
|
||||
set +e
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
#
|
||||
|
||||
do_rootfs[depends] += "ipkg-native:do_populate_staging ipkg-utils-native:do_populate_staging"
|
||||
do_rootfs[recrdeptask] += "do_package_write_ipk"
|
||||
|
||||
IPKG_ARGS = "-f ${T}/ipkg.conf -o ${IMAGE_ROOTFS}"
|
||||
|
||||
|
|
Loading…
Reference in New Issue