summaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
authorAndrei Gherzan <andrei@gherzan.ro>2012-07-23 22:42:24 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-07-26 14:40:47 +0100
commit5334a93d261598757ccce48a78b8ba2b7e5806f3 (patch)
tree990b40c5fa0c2aac869eeaf85cc2880ef211a403 /meta/classes
parentdcadeda69ee14efdc49059906866587f619e17cf (diff)
downloadpoky-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>
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/license.bbclass2
-rw-r--r--meta/classes/package.bbclass6
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}
1140emit_pkgdata[dirs] = "${PKGDESTWORK}/runtime" 1144emit_pkgdata[dirs] = "${PKGDESTWORK}/runtime ${PKGDESTWORK}/runtime-reverse"
1141 1145
1142ldconfig_postinst_fragment() { 1146ldconfig_postinst_fragment() {
1143if [ x"$D" = "x" ]; then 1147if [ x"$D" = "x" ]; then