aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2017-03-31 15:28:07 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-05-11 17:42:13 +0100
commit9cd7c2631b0840a57b9ed6c201bcb4fc80094f71 (patch)
tree566af28e3b52e361ebdd183c79d78e0c4eeceb2c
parent5054f66f8fbaaa422f74a4b5d0e61e68de6ffe91 (diff)
downloadopenembedded-core-contrib-9cd7c2631b0840a57b9ed6c201bcb4fc80094f71.tar.gz
package_ipk/deb: Tweak functions for better cleanup and layout
This uses more modern formatting to handle the lockfiles and control file cleanup with try/finally, taking advantage of the previous extra indentation. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/package_deb.bbclass33
-rw-r--r--meta/classes/package_ipk.bbclass32
2 files changed, 33 insertions, 32 deletions
diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass
index 636647d6ff..04b91970c7 100644
--- a/meta/classes/package_deb.bbclass
+++ b/meta/classes/package_deb.bbclass
@@ -69,25 +69,26 @@ python do_package_deb () {
}
def deb_write_pkg(pkg, d):
- import re, copy
- import textwrap
- import subprocess
- import collections
- import codecs
+ import re, copy
+ import textwrap
+ import subprocess
+ import collections
+ import codecs
- outdir = d.getVar('PKGWRITEDIRDEB')
- pkgdest = d.getVar('PKGDEST')
+ outdir = d.getVar('PKGWRITEDIRDEB')
+ pkgdest = d.getVar('PKGDEST')
- def cleanupcontrol(root):
- for p in ['CONTROL', 'DEBIAN']:
- p = os.path.join(root, p)
- if os.path.exists(p):
- bb.utils.prunedir(p)
+ def cleanupcontrol(root):
+ for p in ['CONTROL', 'DEBIAN']:
+ p = os.path.join(root, p)
+ if os.path.exists(p):
+ bb.utils.prunedir(p)
- localdata = bb.data.createCopy(d)
- root = "%s/%s" % (pkgdest, pkg)
+ localdata = bb.data.createCopy(d)
+ root = "%s/%s" % (pkgdest, pkg)
- lf = bb.utils.lockfile(root + ".lock")
+ lf = bb.utils.lockfile(root + ".lock")
+ try:
localdata.setVar('ROOT', '')
localdata.setVar('ROOT_%s' % pkg, root)
@@ -109,7 +110,6 @@ def deb_write_pkg(pkg, d):
g = glob('*')
if not g and localdata.getVar('ALLOW_EMPTY', False) != "1":
bb.note("Not creating empty archive for %s-%s-%s" % (pkg, localdata.getVar('PKGV'), localdata.getVar('PKGR')))
- bb.utils.unlockfile(lf)
return
controldir = os.path.join(root, 'DEBIAN')
@@ -283,6 +283,7 @@ def deb_write_pkg(pkg, d):
os.chdir(basedir)
subprocess.check_output("PATH=\"%s\" dpkg-deb -b %s %s" % (localdata.getVar("PATH"), root, pkgoutdir), shell=True)
+ finally:
cleanupcontrol(root)
bb.utils.unlockfile(lf)
diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass
index 16ee761537..5cc7e0a7b2 100644
--- a/meta/classes/package_ipk.bbclass
+++ b/meta/classes/package_ipk.bbclass
@@ -44,25 +44,25 @@ python do_package_ipk () {
}
def ipk_write_pkg(pkg, d):
- import re, copy
- import subprocess
- import textwrap
- import collections
+ import re, copy
+ import subprocess
+ import textwrap
+ import collections
- def cleanupcontrol(root):
- for p in ['CONTROL', 'DEBIAN']:
- p = os.path.join(root, p)
- if os.path.exists(p):
- bb.utils.prunedir(p)
+ def cleanupcontrol(root):
+ for p in ['CONTROL', 'DEBIAN']:
+ p = os.path.join(root, p)
+ if os.path.exists(p):
+ bb.utils.prunedir(p)
- outdir = d.getVar('PKGWRITEDIRIPK')
- pkgdest = d.getVar('PKGDEST')
-
- localdata = bb.data.createCopy(d)
- root = "%s/%s" % (pkgdest, pkg)
+ outdir = d.getVar('PKGWRITEDIRIPK')
+ pkgdest = d.getVar('PKGDEST')
- lf = bb.utils.lockfile(root + ".lock")
+ localdata = bb.data.createCopy(d)
+ root = "%s/%s" % (pkgdest, pkg)
+ lf = bb.utils.lockfile(root + ".lock")
+ try:
localdata.setVar('ROOT', '')
localdata.setVar('ROOT_%s' % pkg, root)
pkgname = localdata.getVar('PKG_%s' % pkg)
@@ -107,7 +107,6 @@ def ipk_write_pkg(pkg, d):
g = glob('*')
if not g and localdata.getVar('ALLOW_EMPTY', False) != "1":
bb.note("Not creating empty archive for %s-%s-%s" % (pkg, localdata.getVar('PKGV'), localdata.getVar('PKGR')))
- bb.utils.unlockfile(lf)
return
controldir = os.path.join(root, 'CONTROL')
@@ -245,6 +244,7 @@ def ipk_write_pkg(pkg, d):
ipk_to_sign = "%s/%s_%s_%s.ipk" % (pkgoutdir, pkgname, ipkver, d.getVar('PACKAGE_ARCH'))
sign_ipk(d, ipk_to_sign)
+ finally:
cleanupcontrol(root)
bb.utils.unlockfile(lf)