sanity.bbclass: allow dash to be used as /bin/sh, but print a warning
[vuplus_openembedded] / classes / package_deb.bbclass
index 82a2d53..5127d32 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright 2006-2007 OpenedHand Ltd.
+# Copyright 2006-2008 OpenedHand Ltd.
 #
 
 inherit package
@@ -88,6 +88,10 @@ python do_package_deb () {
         return
     bb.mkdirhier(dvar)
 
+    packages = bb.data.getVar('PACKAGES', d, 1)
+    if not packages:
+        bb.debug(1, "PACKAGES not defined, nothing to package")
+        return
 
     tmpdir = bb.data.getVar('TMPDIR', d, 1)
 
@@ -98,7 +102,6 @@ python do_package_deb () {
         bb.debug(1, "No packages; nothing to do")
         return
 
-    packages = bb.data.getVar('PACKAGES', d, 1)
     for pkg in packages.split():
         localdata = bb.data.createCopy(d)
         pkgdest = bb.data.getVar('PKGDEST', d, 1)
@@ -135,7 +138,7 @@ python do_package_deb () {
             pass
         if not g and bb.data.getVar('ALLOW_EMPTY', localdata) != "1":
             from bb import note
-            note("Not creating empty archive for %s-%s-%s" % (pkg, bb.data.getVar('PV', localdata, 1), bb.data.getVar('PR', localdata, 1)))
+            note("Not creating empty archive for %s-%s" % (pkg, bb.data.expand('${PV}-${PR}${DISTRO_PR}', localdata, True)))
             bb.utils.unlockfile(lf)
             continue
 
@@ -153,9 +156,9 @@ python do_package_deb () {
         fields = []
         pe = bb.data.getVar('PE', d, 1)
         if pe and int(pe) > 0:
-            fields.append(["Version: %s:%s-%s\n", ['PE', 'PV', 'PR']])
+            fields.append(["Version: %s:%s-%s%s\n", ['PE', 'PV', 'PR', 'DISTRO_PR']])
         else:
-            fields.append(["Version: %s-%s\n", ['PV', 'PR']])
+            fields.append(["Version: %s-%s%s\n", ['PV', 'PR', 'DISTRO_PR']])
         fields.append(["Description: %s\n", ['DESCRIPTION']])
         fields.append(["Section: %s\n", ['SECTION']])
         fields.append(["Priority: %s\n", ['PRIORITY']])
@@ -246,17 +249,7 @@ python do_package_deb () {
             bb.utils.unlockfile(lf)
             raise bb.build.FuncFailed("dpkg-deb execution failed")
 
-        for script in ["preinst", "postinst", "prerm", "postrm", "control" ]:
-            scriptfile = os.path.join(controldir, script)
-            try:
-                os.remove(scriptfile)
-            except OSError:
-                pass
-        try:
-            os.rmdir(controldir)
-        except OSError:
-            pass
-
+        bb.utils.prunedir(controldir)
         bb.utils.unlockfile(lf)
 }
 
@@ -270,13 +263,8 @@ python () {
 }
 
 python do_package_write_deb () {
-    packages = bb.data.getVar('PACKAGES', d, True)
-    if not packages:
-        bb.debug(1, "No PACKAGES defined, nothing to package")
-        return
-
-    bb.build.exec_func("read_subpackage_metadata", d)
-    bb.build.exec_func("do_package_deb", d)
+       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_package_write after do_package