diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-03-30 22:02:08 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-05-12 08:45:36 +0100 |
commit | 8454756453789060be677d9ea1402a92b269d779 (patch) | |
tree | 6ee0e33f1152da6d4d446243f05ab44daee93413 /meta | |
parent | c22953e8ec6d9dcf9f0877031ede61cd012f9493 (diff) | |
download | poky-8454756453789060be677d9ea1402a92b269d779.tar.gz |
package_ipk: Split into two functions
This prepares the way to parallelise ipk generation and splits the iteration
over packages and the package generation into separate functions. Whitespace
indentation is unchanged deliberately and is fixed in a followup patch. There
should be no functional change.
(From OE-Core rev: f190d8456c7e135164d3073acfb3319e75c9de76)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-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}" |