diff options
author | Andrei Gherzan <andrei@gherzan.ro> | 2012-07-23 22:42:24 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-07-26 14:40:47 +0100 |
commit | 5334a93d261598757ccce48a78b8ba2b7e5806f3 (patch) | |
tree | 990b40c5fa0c2aac869eeaf85cc2880ef211a403 | |
parent | dcadeda69ee14efdc49059906866587f619e17cf (diff) | |
download | poky-5334a93d261598757ccce48a78b8ba2b7e5806f3.tar.gz |
package.bbclass: Create symlinks for packages with different packaged name
While generating license.manifest package information is searched in:
filename=`ls ${TMPDIR}/pkgdata/*/runtime/${pkg}| head -1`
This is ok as long as package name is the same as the package name
after packaging.
For example dbus is packaged as dbus-1. So, searching
ls ${TMPDIR}/pkgdata/*/runtime/dbus-1 will fail because there is no file
with this package name.
Create a symlink to the pkgdata file in a runtime-reverse directory so
that these reverse lookups are possible.
Fixes [YOCTO #2638].
(From OE-Core rev: 76ef414b8a017557cf5f3ad7b3ca8a324f7aad29)
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/license.bbclass | 2 | ||||
-rw-r--r-- | meta/classes/package.bbclass | 6 |
2 files changed, 6 insertions, 2 deletions
diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass index a2721ab0af..231b4a3ad1 100644 --- a/meta/classes/license.bbclass +++ b/meta/classes/license.bbclass | |||
@@ -86,7 +86,7 @@ license_create_manifest() { | |||
86 | # list of installed packages is broken for deb | 86 | # list of installed packages is broken for deb |
87 | for pkg in ${INSTALLED_PKGS}; do | 87 | for pkg in ${INSTALLED_PKGS}; do |
88 | # not the best way to do this but licenses are not arch dependant iirc | 88 | # not the best way to do this but licenses are not arch dependant iirc |
89 | filename=`ls ${TMPDIR}/pkgdata/*/runtime/${pkg}| head -1` | 89 | filename=`ls ${TMPDIR}/pkgdata/*/runtime-reverse/${pkg}| head -1` |
90 | pkged_pn="$(sed -n 's/^PN: //p' ${filename})" | 90 | pkged_pn="$(sed -n 's/^PN: //p' ${filename})" |
91 | pkged_lic="$(sed -n '/^LICENSE: /{ s/^LICENSE: //; s/[+|&()*]/ /g; s/ */ /g; p }' ${filename})" | 91 | pkged_lic="$(sed -n '/^LICENSE: /{ s/^LICENSE: //; s/[+|&()*]/ /g; s/ */ /g; p }' ${filename})" |
92 | pkged_pv="$(sed -n 's/^PV: //p' ${filename})" | 92 | pkged_pv="$(sed -n 's/^PV: //p' ${filename})" |
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index fc834242da..ea199d33bd 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass | |||
@@ -1124,6 +1124,10 @@ python emit_pkgdata() { | |||
1124 | sf.write('%s_%s: %s\n' % ('PKGSIZE', pkg, get_directory_size(pkgdest + "/%s" % pkg))) | 1124 | sf.write('%s_%s: %s\n' % ('PKGSIZE', pkg, get_directory_size(pkgdest + "/%s" % pkg))) |
1125 | sf.close() | 1125 | sf.close() |
1126 | 1126 | ||
1127 | # Symlinks needed for reverse lookups (from the final package name) | ||
1128 | pkgval = d.getVar('PKG_%s' % (pkg), True) | ||
1129 | subdata_sym = pkgdatadir + "/runtime-reverse/%s" % pkgval | ||
1130 | oe.path.symlink("../runtime/%s" % pkg, subdata_sym, True) | ||
1127 | 1131 | ||
1128 | allow_empty = d.getVar('ALLOW_EMPTY_%s' % pkg, True) | 1132 | allow_empty = d.getVar('ALLOW_EMPTY_%s' % pkg, True) |
1129 | if not allow_empty: | 1133 | if not allow_empty: |
@@ -1137,7 +1141,7 @@ python emit_pkgdata() { | |||
1137 | 1141 | ||
1138 | bb.utils.unlockfile(lf) | 1142 | bb.utils.unlockfile(lf) |
1139 | } | 1143 | } |
1140 | emit_pkgdata[dirs] = "${PKGDESTWORK}/runtime" | 1144 | emit_pkgdata[dirs] = "${PKGDESTWORK}/runtime ${PKGDESTWORK}/runtime-reverse" |
1141 | 1145 | ||
1142 | ldconfig_postinst_fragment() { | 1146 | ldconfig_postinst_fragment() { |
1143 | if [ x"$D" = "x" ]; then | 1147 | if [ x"$D" = "x" ]; then |