]> code.ossystems Code Review - openembedded-core.git/commitdiff
packaging: Split deb and ipk creation into separate tasks so changing the packaging...
authorRichard Purdie <richard@openedhand.com>
Tue, 21 Aug 2007 09:37:30 +0000 (09:37 +0000)
committerRichard Purdie <richard@openedhand.com>
Tue, 21 Aug 2007 09:37:30 +0000 (09:37 +0000)
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2526 311d38ba-8fff-0310-9ca6-ca027cbcb966

meta/classes/image.bbclass
meta/classes/package.bbclass
meta/classes/package_deb.bbclass
meta/classes/package_ipk.bbclass
meta/classes/package_rpm.bbclass
meta/classes/package_tar.bbclass
meta/classes/rootfs_deb.bbclass
meta/classes/rootfs_ipk.bbclass

index ec08017cd11ec69cf760a52fe26ec9fd0eb4bcf2..517868ed3e30e7a9603cca65b2441a68f4dae1de 100644 (file)
@@ -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"
index 6c25b0d7deeed2b733287bc0de99833efbae9319..e1a7d91a9e019e203f25515315e07ad5cbcd8923 100644 (file)
@@ -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
index 9a8db4f8f2fb71ad34f70929ede36e903ad03dec..c5452475c475013fa283d86b38ac7ee547a646d7 100644 (file)
@@ -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
+
index 0cdd941f41b751ee4db352b8e785d0914c820291..2c75cd18389bb12cf45b83ca6b1ba1d78ceb5918 100644 (file)
@@ -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
index 4955792916b5cde448cf885e62db5ac246fb41dc..7fc5e8ea9607434ebdca58987ebc972a80d3fa2e 100644 (file)
@@ -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
index 17216a86f43f3e5c66970c84051fa3435ab738ed..cb4c42b2614dc5a813ea3402ca8d60351aca55c2 100644 (file)
@@ -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
index 55dad6679a1f72b362324a30bd3fb642c2bf52d8..6d405d2f519b75f3a7aecfd8121ac685e6e0bbdf 100644 (file)
@@ -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
index 89c35ab85be23aea68bc83a86d0e2de3579fcfe6..c58b547742c3d5a780f76a611da00d5dc67b5945 100644 (file)
@@ -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}"