@@ -385,7 +385,7 @@ EXPORT_FUNCTIONS package_name_hook
PKGDESTWORK = "${WORKDIR}/pkgdata"
-PKGDATA_VARS = "PN PE PV PR PKGE PKGV PKGR LICENSE DESCRIPTION SUMMARY RDEPENDS RPROVIDES RRECOMMENDS RSUGGESTS RREPLACES RCONFLICTS SECTION PKG ALLOW_EMPTY FILES CONFFILES FILES_INFO PACKAGE_ADD_METADATA pkg_postinst pkg_postrm pkg_preinst pkg_prerm"
+PKGDATA_VARS = "PN PE PV PR PKGE PKGV PKGR LICENSE DESCRIPTION SUMMARY RDEPENDS RPROVIDES RRECOMMENDS RSUGGESTS RREPLACES RCONFLICTS SECTION PKG ALLOW_EMPTY FILES CONFFILES FILES_INFO PACKAGE_ADD_METADATA PACKAGE_BASENAME pkg_postinst pkg_postrm pkg_preinst pkg_prerm"
python emit_pkgdata() {
import oe.packagedata
@@ -86,11 +86,16 @@ def glob(args):
return os.path.join(args.pkgdata_dir, "runtime", pkgn)
def readpn(pkgdata_file):
pn = ""
+ basename = ""
with open(pkgdata_file, 'r') as f:
for line in f:
if line.startswith("PN:"):
pn = line.split(': ')[1].rstrip()
- return pn
+ elif line.startswith("PACKAGE_BASENAME:"):
+ basename = line.split(': ')[1].rstrip()
+ # PACKAGE_BASENAME lets a recipe (e.g. via kernel.bbclass's
+ # KERNEL_PACKAGE_NAME) name its sub-packages differently from PN
+ return basename or pn
def readrenamed(pkgdata_file):
renamed = ""
pn = os.path.basename(pkgdata_file)