diff options
-rw-r--r-- | meta/classes/package_ipk.bbclass | 38 |
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 | |||
17 | OPKGLIBDIR = "${localstatedir}/lib" | 17 | OPKGLIBDIR = "${localstatedir}/lib" |
18 | 18 | ||
19 | python do_package_ipk () { | 19 | python 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 | |||
46 | def 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 |
245 | do_package_ipk[vardepsexclude] = "OVERRIDES" | 252 | ipk_write_pkg[vardepsexclude] = "OVERRIDES" |
253 | |||
246 | 254 | ||
247 | SSTATETASKS += "do_package_write_ipk" | 255 | SSTATETASKS += "do_package_write_ipk" |
248 | do_package_write_ipk[sstate-inputdirs] = "${PKGWRITEDIRIPK}" | 256 | do_package_write_ipk[sstate-inputdirs] = "${PKGWRITEDIRIPK}" |