mirror of
https://git.yoctoproject.org/poky
synced 2026-06-01 13:09:50 +00:00
package_{ipk, deb, rpm}.bbclass: support additional user-defined metadata
Additional metadata from user-defined variable is written into control/spec file of binary package. Three variables are searched for adiitional package metadata: * PACKAGE_ADD_METADATA_<PKGTYPE>_<PN> * PACKAGE_ADD_METADATA_<PKGTYPE> * PACKAGE_ADD_METADATA First found variable with defined value wins. <PN> is a package name. <PKGTYPE> is a distinct name of specific package type: * IPK for .ipk packages * DEB for .deb packages * RPM for .rpm packages Variable can contain multiple [one-line] metadata fields separated by literal sequence '\n'. Separator can be redefined through variable flag 'separator'. In package control/spec file separator is replaced by newline character. (From OE-Core rev: 773d7352309241e15ef5acadcbe416bdd7d45c18) Signed-off-by: Leonid Borisenko <ive.found@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
be77f3138c
commit
66055fbedd
@@ -318,6 +318,11 @@ python do_package_deb () {
|
|||||||
raise bb.build.FuncFailed("Missing field for deb generation: %s" % value)
|
raise bb.build.FuncFailed("Missing field for deb generation: %s" % value)
|
||||||
# more fields
|
# more fields
|
||||||
|
|
||||||
|
custom_fields_chunk = get_package_additional_metadata("deb", localdata)
|
||||||
|
if custom_fields_chunk is not None:
|
||||||
|
ctrlfile.write(unicode(custom_fields_chunk))
|
||||||
|
ctrlfile.write("\n")
|
||||||
|
|
||||||
mapping_rename_hook(localdata)
|
mapping_rename_hook(localdata)
|
||||||
|
|
||||||
def debian_cmp_remap(var):
|
def debian_cmp_remap(var):
|
||||||
|
|||||||
@@ -331,6 +331,11 @@ python do_package_ipk () {
|
|||||||
raise bb.build.FuncFailed("Missing field for ipk generation: %s" % value)
|
raise bb.build.FuncFailed("Missing field for ipk generation: %s" % value)
|
||||||
# more fields
|
# more fields
|
||||||
|
|
||||||
|
custom_fields_chunk = get_package_additional_metadata("ipk", localdata)
|
||||||
|
if custom_fields_chunk is not None:
|
||||||
|
ctrlfile.write(custom_fields_chunk)
|
||||||
|
ctrlfile.write("\n")
|
||||||
|
|
||||||
mapping_rename_hook(localdata)
|
mapping_rename_hook(localdata)
|
||||||
|
|
||||||
def debian_cmp_remap(var):
|
def debian_cmp_remap(var):
|
||||||
|
|||||||
@@ -737,6 +737,7 @@ python write_specfile () {
|
|||||||
srcmaintainer = d.getVar('MAINTAINER', True)
|
srcmaintainer = d.getVar('MAINTAINER', True)
|
||||||
srchomepage = d.getVar('HOMEPAGE', True)
|
srchomepage = d.getVar('HOMEPAGE', True)
|
||||||
srcdescription = d.getVar('DESCRIPTION', True) or "."
|
srcdescription = d.getVar('DESCRIPTION', True) or "."
|
||||||
|
srccustomtagschunk = get_package_additional_metadata("rpm", d)
|
||||||
|
|
||||||
srcdepends = strip_multilib_deps(d.getVar('DEPENDS', True), d)
|
srcdepends = strip_multilib_deps(d.getVar('DEPENDS', True), d)
|
||||||
srcrdepends = []
|
srcrdepends = []
|
||||||
@@ -790,6 +791,7 @@ python write_specfile () {
|
|||||||
splitlicense = (localdata.getVar('LICENSE', True) or "")
|
splitlicense = (localdata.getVar('LICENSE', True) or "")
|
||||||
splitsection = (localdata.getVar('SECTION', True) or "")
|
splitsection = (localdata.getVar('SECTION', True) or "")
|
||||||
splitdescription = (localdata.getVar('DESCRIPTION', True) or ".")
|
splitdescription = (localdata.getVar('DESCRIPTION', True) or ".")
|
||||||
|
splitcustomtagschunk = get_package_additional_metadata("rpm", localdata)
|
||||||
|
|
||||||
translate_vers('RDEPENDS', localdata)
|
translate_vers('RDEPENDS', localdata)
|
||||||
translate_vers('RRECOMMENDS', localdata)
|
translate_vers('RRECOMMENDS', localdata)
|
||||||
@@ -863,6 +865,9 @@ python write_specfile () {
|
|||||||
spec_preamble_bottom.append('License: %s' % splitlicense)
|
spec_preamble_bottom.append('License: %s' % splitlicense)
|
||||||
spec_preamble_bottom.append('Group: %s' % splitsection)
|
spec_preamble_bottom.append('Group: %s' % splitsection)
|
||||||
|
|
||||||
|
if srccustomtagschunk != splitcustomtagschunk:
|
||||||
|
spec_preamble_bottom.append(splitcustomtagschunk)
|
||||||
|
|
||||||
# Replaces == Obsoletes && Provides
|
# Replaces == Obsoletes && Provides
|
||||||
robsoletes = bb.utils.explode_dep_versions2(splitrobsoletes or "")
|
robsoletes = bb.utils.explode_dep_versions2(splitrobsoletes or "")
|
||||||
rprovides = bb.utils.explode_dep_versions2(splitrprovides or "")
|
rprovides = bb.utils.explode_dep_versions2(splitrprovides or "")
|
||||||
@@ -965,6 +970,8 @@ python write_specfile () {
|
|||||||
spec_preamble_top.append('Group: %s' % srcsection)
|
spec_preamble_top.append('Group: %s' % srcsection)
|
||||||
spec_preamble_top.append('Packager: %s' % srcmaintainer)
|
spec_preamble_top.append('Packager: %s' % srcmaintainer)
|
||||||
spec_preamble_top.append('URL: %s' % srchomepage)
|
spec_preamble_top.append('URL: %s' % srchomepage)
|
||||||
|
if srccustomtagschunk:
|
||||||
|
spec_preamble_top.append(srccustomtagschunk)
|
||||||
tail_source(d)
|
tail_source(d)
|
||||||
|
|
||||||
# Replaces == Obsoletes && Provides
|
# Replaces == Obsoletes && Provides
|
||||||
|
|||||||
Reference in New Issue
Block a user