summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/package_deb.bbclass15
-rw-r--r--meta/classes/package_ipk.bbclass14
2 files changed, 16 insertions, 13 deletions
diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass
index 6a8e080138..d18c250ecc 100644
--- a/meta/classes/package_deb.bbclass
+++ b/meta/classes/package_deb.bbclass
@@ -202,6 +202,12 @@ python do_package_deb () {
202 202
203 pkgdest = d.getVar('PKGDEST', True) 203 pkgdest = d.getVar('PKGDEST', True)
204 204
205 def cleanupcontrol(root):
206 for p in ['CONTROL', 'DEBIAN']:
207 p = os.path.join(root, p)
208 if os.path.exists(p):
209 bb.utils.prunedir(p)
210
205 for pkg in packages.split(): 211 for pkg in packages.split():
206 localdata = bb.data.createCopy(d) 212 localdata = bb.data.createCopy(d)
207 root = "%s/%s" % (pkgdest, pkg) 213 root = "%s/%s" % (pkgdest, pkg)
@@ -224,13 +230,9 @@ python do_package_deb () {
224 bb.utils.mkdirhier(pkgoutdir) 230 bb.utils.mkdirhier(pkgoutdir)
225 231
226 os.chdir(root) 232 os.chdir(root)
233 cleanupcontrol(root)
227 from glob import glob 234 from glob import glob
228 g = glob('*') 235 g = glob('*')
229 try:
230 del g[g.index('DEBIAN')]
231 del g[g.index('./DEBIAN')]
232 except ValueError:
233 pass
234 if not g and localdata.getVar('ALLOW_EMPTY') != "1": 236 if not g and localdata.getVar('ALLOW_EMPTY') != "1":
235 bb.note("Not creating empty archive for %s-%s-%s" % (pkg, localdata.getVar('PKGV', True), localdata.getVar('PKGR', True))) 237 bb.note("Not creating empty archive for %s-%s-%s" % (pkg, localdata.getVar('PKGV', True), localdata.getVar('PKGR', True)))
236 bb.utils.unlockfile(lf) 238 bb.utils.unlockfile(lf)
@@ -402,11 +404,10 @@ python do_package_deb () {
402 os.chdir(basedir) 404 os.chdir(basedir)
403 ret = subprocess.call("PATH=\"%s\" dpkg-deb -b %s %s" % (localdata.getVar("PATH", True), root, pkgoutdir), shell=True) 405 ret = subprocess.call("PATH=\"%s\" dpkg-deb -b %s %s" % (localdata.getVar("PATH", True), root, pkgoutdir), shell=True)
404 if ret != 0: 406 if ret != 0:
405 bb.utils.prunedir(controldir)
406 bb.utils.unlockfile(lf) 407 bb.utils.unlockfile(lf)
407 raise bb.build.FuncFailed("dpkg-deb execution failed") 408 raise bb.build.FuncFailed("dpkg-deb execution failed")
408 409
409 bb.utils.prunedir(controldir) 410 cleanupcontrol(root)
410 bb.utils.unlockfile(lf) 411 bb.utils.unlockfile(lf)
411} 412}
412 413
diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass
index a633cfcc76..d0db9454d1 100644
--- a/meta/classes/package_ipk.bbclass
+++ b/meta/classes/package_ipk.bbclass
@@ -234,6 +234,12 @@ python do_package_ipk () {
234 if os.access(os.path.join(tmpdir, "stamps", "IPK_PACKAGE_INDEX_CLEAN"), os.R_OK): 234 if os.access(os.path.join(tmpdir, "stamps", "IPK_PACKAGE_INDEX_CLEAN"), os.R_OK):
235 os.unlink(os.path.join(tmpdir, "stamps", "IPK_PACKAGE_INDEX_CLEAN")) 235 os.unlink(os.path.join(tmpdir, "stamps", "IPK_PACKAGE_INDEX_CLEAN"))
236 236
237 def cleanupcontrol(root):
238 for p in ['CONTROL', 'DEBIAN']:
239 p = os.path.join(root, p)
240 if os.path.exists(p):
241 bb.utils.prunedir(p)
242
237 for pkg in packages.split(): 243 for pkg in packages.split():
238 localdata = bb.data.createCopy(d) 244 localdata = bb.data.createCopy(d)
239 root = "%s/%s" % (pkgdest, pkg) 245 root = "%s/%s" % (pkgdest, pkg)
@@ -255,13 +261,9 @@ python do_package_ipk () {
255 pkgoutdir = "%s/%s" % (outdir, arch) 261 pkgoutdir = "%s/%s" % (outdir, arch)
256 bb.utils.mkdirhier(pkgoutdir) 262 bb.utils.mkdirhier(pkgoutdir)
257 os.chdir(root) 263 os.chdir(root)
264 cleanupcontrol(root)
258 from glob import glob 265 from glob import glob
259 g = glob('*') 266 g = glob('*')
260 try:
261 del g[g.index('CONTROL')]
262 del g[g.index('./CONTROL')]
263 except ValueError:
264 pass
265 if not g and localdata.getVar('ALLOW_EMPTY') != "1": 267 if not g and localdata.getVar('ALLOW_EMPTY') != "1":
266 bb.note("Not creating empty archive for %s-%s-%s" % (pkg, localdata.getVar('PKGV', True), localdata.getVar('PKGR', True))) 268 bb.note("Not creating empty archive for %s-%s-%s" % (pkg, localdata.getVar('PKGV', True), localdata.getVar('PKGR', True)))
267 bb.utils.unlockfile(lf) 269 bb.utils.unlockfile(lf)
@@ -407,7 +409,7 @@ python do_package_ipk () {
407 bb.utils.unlockfile(lf) 409 bb.utils.unlockfile(lf)
408 raise bb.build.FuncFailed("opkg-build execution failed") 410 raise bb.build.FuncFailed("opkg-build execution failed")
409 411
410 bb.utils.prunedir(controldir) 412 cleanupcontrol(root)
411 bb.utils.unlockfile(lf) 413 bb.utils.unlockfile(lf)
412 414
413} 415}