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}" |
