summaryrefslogtreecommitdiffstats
path: root/meta/classes/package_ipk.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes/package_ipk.bbclass')
-rw-r--r--meta/classes/package_ipk.bbclass38
1 files changed, 23 insertions, 15 deletions
diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass
index c7cec9d63d..16ee761537 100644
--- a/meta/classes/package_ipk.bbclass
+++ b/meta/classes/package_ipk.bbclass
@@ -17,11 +17,6 @@ OPKG_ARGS += "${@['', '--add-exclude ' + ' --add-exclude '.join((d.getVar('PACKA
17OPKGLIBDIR = "${localstatedir}/lib" 17OPKGLIBDIR = "${localstatedir}/lib"
18 18
19python do_package_ipk () { 19python do_package_ipk () {
20 import re, copy
21 import textwrap
22 import subprocess
23 import collections
24
25 oldcwd = os.getcwd() 20 oldcwd = os.getcwd()
26 21
27 workdir = d.getVar('WORKDIR') 22 workdir = d.getVar('WORKDIR')
@@ -42,13 +37,27 @@ python do_package_ipk () {
42 if os.access(os.path.join(tmpdir, "stamps", "IPK_PACKAGE_INDEX_CLEAN"), os.R_OK): 37 if os.access(os.path.join(tmpdir, "stamps", "IPK_PACKAGE_INDEX_CLEAN"), os.R_OK):
43 os.unlink(os.path.join(tmpdir, "stamps", "IPK_PACKAGE_INDEX_CLEAN")) 38 os.unlink(os.path.join(tmpdir, "stamps", "IPK_PACKAGE_INDEX_CLEAN"))
44 39
45 def cleanupcontrol(root):
46 for p in ['CONTROL', 'DEBIAN']:
47 p = os.path.join(root, p)
48 if os.path.exists(p):
49 bb.utils.prunedir(p)
50
51 for pkg in packages.split(): 40 for pkg in packages.split():
41 ipk_write_pkg(pkg, d)
42
43 os.chdir(oldcwd)
44}
45
46def ipk_write_pkg(pkg, d):
47 import re, copy
48 import subprocess
49 import textwrap
50 import collections
51
52 def cleanupcontrol(root):
53 for p in ['CONTROL', 'DEBIAN']:
54 p = os.path.join(root, p)
55 if os.path.exists(p):
56 bb.utils.prunedir(p)
57
58 outdir = d.getVar('PKGWRITEDIRIPK')
59 pkgdest = d.getVar('PKGDEST')
60
52 localdata = bb.data.createCopy(d) 61 localdata = bb.data.createCopy(d)
53 root = "%s/%s" % (pkgdest, pkg) 62 root = "%s/%s" % (pkgdest, pkg)
54 63
@@ -99,7 +108,7 @@ python do_package_ipk () {
99 if not g and localdata.getVar('ALLOW_EMPTY', False) != "1": 108 if not g and localdata.getVar('ALLOW_EMPTY', False) != "1":
100 bb.note("Not creating empty archive for %s-%s-%s" % (pkg, localdata.getVar('PKGV'), localdata.getVar('PKGR'))) 109 bb.note("Not creating empty archive for %s-%s-%s" % (pkg, localdata.getVar('PKGV'), localdata.getVar('PKGR')))
101 bb.utils.unlockfile(lf) 110 bb.utils.unlockfile(lf)
102 continue 111 return
103 112
104 controldir = os.path.join(root, 'CONTROL') 113 controldir = os.path.join(root, 'CONTROL')
105 bb.utils.mkdirhier(controldir) 114 bb.utils.mkdirhier(controldir)
@@ -239,10 +248,9 @@ python do_package_ipk () {
239 cleanupcontrol(root) 248 cleanupcontrol(root)
240 bb.utils.unlockfile(lf) 249 bb.utils.unlockfile(lf)
241 250
242 os.chdir(oldcwd)
243}
244# Otherwise allarch packages may change depending on override configuration 251# Otherwise allarch packages may change depending on override configuration
245do_package_ipk[vardepsexclude] = "OVERRIDES" 252ipk_write_pkg[vardepsexclude] = "OVERRIDES"
253
246 254
247SSTATETASKS += "do_package_write_ipk" 255SSTATETASKS += "do_package_write_ipk"
248do_package_write_ipk[sstate-inputdirs] = "${PKGWRITEDIRIPK}" 256do_package_write_ipk[sstate-inputdirs] = "${PKGWRITEDIRIPK}"