Misc fixes for multilib
cover Misc fixes for multilib
This patch set added a package QA function to detect the potential incorrected package dependencies for multilib packages.
It also fixed the locale related package name in multilib case reported by the new package QA function.
The following changes since commit 2cf6e7cf81c0b864b5d51be60094a6eb3e584383:
Andrei Gherzan (1):
fotowall: Add #include ui_wizard.h to ExportWizard.cpp
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib llu/multilib2
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=llu/multilib2
Lianhao Lu (3):
(libc-)package.bbclass: Added MLPREFIX to locale packages. multilib.conf: Added multilib support for kmod. multilib.bbclass: Added multilib specific package QA.
meta/classes/libc-package.bbclass | 4 ++-- meta/classes/multilib.bbclass | 31 +++++++++++++++++++++++++++++++ meta/classes/package.bbclass | 5 +++-- meta/conf/multilib.conf | 1 + 4 files changed, 37 insertions(+), 4 deletions(-)
PATCH 1/3 (libc-)package.bbclass: Added MLPREFIX to locale packages.
Added multilib prefix to the locale related package names/dependencies.
--- meta/classes/libc-package.bbclass | 4 ++-- meta/classes/package.bbclass | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-)
meta/classes/libc-package.bbclass +2 -2
@@ -308,10 +308,10 @@ python package_do_split_gconvs () { pkgname = d.getVar('MLPREFIX') + 'locale-base-' + legitimize_package_name(name) d.setVar('ALLOW_EMPTY_%s' % pkgname, '1') d.setVar('PACKAGES', '%s %s' % (pkgname, d.getVar('PACKAGES', True))) - rprovides = ' virtual-locale-%s' % legitimize_package_name(name) + rprovides = ' %svirtual-locale-%s' % (mlprefix, legitimize_package_name(name)) m = re.match("(.*)_(.*)", name) if m: - rprovides += ' virtual-locale-%s' % m.group(1) + rprovides += ' %svirtual-locale-%s' % (mlprefix, m.group(1)) d.setVar('RPROVIDES_%s' % pkgname, rprovides) if use_bin == "compile":
meta/classes/package.bbclass +3 -2
@@ -400,13 +400,14 @@ python package_do_split_locales() { summary = d.getVar('SUMMARY', True) or pn description = d.getVar('DESCRIPTION', True) or "" locale_section = d.getVar('LOCALE_SECTION', True) + mlprefix = d.getVar('MLPREFIX', True) or "" for l in sorted(locales): ln = legitimize_package_name(l) pkg = pn + '-locale-' + ln packages.append(pkg) d.setVar('FILES_' + pkg, os.path.join(datadir, 'locale', l)) - d.setVar('RDEPENDS_' + pkg, '%s virtual-locale-%s' % (pn, ln)) - d.setVar('RPROVIDES_' + pkg, '%s-locale %s-translation' % (pn, ln)) + d.setVar('RDEPENDS_' + pkg, '%s %svirtual-locale-%s' % (pn, mlprefix, ln)) + d.setVar('RPROVIDES_' + pkg, '%s-locale %s%s-translation' % (pn, mlprefix, ln)) d.setVar('SUMMARY_' + pkg, '%s - %s translations' % (summary, l)) d.setVar('DESCRIPTION_' + pkg, '%s This package contains language translation files for the %s locale.' % (description, l)) if locale_section:
Signature · 1 line
1.7.0.4
PATCH 2/3 multilib.conf: Added multilib support for kmod.
--- meta/conf/multilib.conf | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
meta/conf/multilib.conf +1 -0
@@ -470,6 +470,7 @@ BBCLASSEXTEND_append_pn-mktemp = " ${MULTILIBS}" BBCLASSEXTEND_append_pn-mobile-broadband-provider-info = " ${MULTILIBS}" BBCLASSEXTEND_append_pn-module-init-tools-cross = " ${MULTILIBS}" BBCLASSEXTEND_append_pn-module-init-tools = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-kmod = " ${MULTILIBS}" BBCLASSEXTEND_append_pn-modutils-initscripts = " ${MULTILIBS}" BBCLASSEXTEND_append_pn-mpeg2dec = " ${MULTILIBS}" BBCLASSEXTEND_append_pn-mpfr = " ${MULTILIBS}"
Signature · 1 line
1.7.0.4
PATCH 3/3 multilib.bbclass: Added multilib specific package QA.
In reply to Lianhao LuAdded a new PACKAGEFUNCS function to check the multilib packages' dependency.
--- meta/classes/multilib.bbclass | 31 +++++++++++++++++++++++++++++++ 1 files changed, 31 insertions(+), 0 deletions(-)
meta/classes/multilib.bbclass +31 -0
@@ -66,3 +66,34 @@ python __anonymous () { clsextend.map_variable("PACKAGE_INSTALL") clsextend.map_variable("INITSCRIPT_PACKAGES") } + +PACKAGEFUNCS_append = "do_package_qa_multilib" + +python do_package_qa_multilib() { + + def check_mlprefix(pkg, var, mlprefix): + values = bb.utils.explode_dep_versions(d.getVar('%s_%s' % (var, pkg), True) or d.getVar(var, True) or "") + candidates = [] + for i in values.keys(): + if i.startswith('virtual/'): + i = i[len('virtual/'):] + if (not i.startswith('kernel-module')) and (not i.startswith(mlprefix)): + candidates.append(i) + if len(candidates) > 0: + bb.warn("Multilib QA Issue: %s package %s - suspicious values '%s' in %s" + % (d.getVar('PN', True), pkg, ' '.join(candidates), var)) + + ml = d.getVar('MLPREFIX', True) + if not ml: + return + + packages = d.getVar('PACKAGES', True) + for pkg in packages.split(): + check_mlprefix(pkg, 'RDEPENDS', ml) + check_mlprefix(pkg, 'RPROVIDES', ml) + check_mlprefix(pkg, 'RRECOMMENDS', ml) + check_mlprefix(pkg, 'RSUGGESTS', ml) + check_mlprefix(pkg, 'RREPLACES', ml) + check_mlprefix(pkg, 'RCONFLICTS', ml) +} +
Signature · 1 line
1.7.0.4
Re: [PATCH 1/3] (libc-)package.bbclass: Added MLPREFIX to locale packages.
In reply to Lianhao LuQuoted 3 lines · Lianhao Lu
Added multilib prefix to the locale related package names/dependencies.
Signed-off-by Lianhao Lu <[email protected]>
Does mlprefix already has a leading '-' ? otherwise I think adding a - would make is more readable.
Quoted 51 lines
---
meta/classes/libc-package.bbclass | 4 ++--
meta/classes/package.bbclass | 5 +++--2 files changed, 5 insertions(+), 4 deletions(-)meta/classes/libc-package.bbclass +1
-1@@ -308,10 +308,10 @@ python package_do_split_gconvs () { pkgname = d.getVar('MLPREFIX') + 'locale-base-' + legitimize_package_name(name) d.setVar('ALLOW_EMPTY_%s' % pkgname, '1') d.setVar('PACKAGES', '%s %s' % (pkgname, d.getVar('PACKAGES', True))) - rprovides = ' virtual-locale-%s' % legitimize_package_name(name) + rprovides = ' %svirtual-locale-%s' % (mlprefix, legitimize_package_name(name)) m = re.match("(.*)_(.*)", name)if m:
- rprovides += ' virtual-locale-%s' %m.group(1)
+ rprovides += ' %svirtual-locale-%s' % (mlprefix,m.group(1))d.setVar('RPROVIDES_%s' % pkgname, rprovides)if
use_bin== "compile":meta/classes/package.bbclass +0
-0@@ -400,13 +400,14 @@ python package_do_split_locales() {summary =
d.getVar('SUMMARY', True)or pn
description =d.getVar('DESCRIPTION', True)or ""
locale_section=d.getVar('LOCALE_SECTION', True)
+ mlprefix =d.getVar('MLPREFIX', True)or ""
for l in sorted(locales):
ln =legitimize_package_name(l)
pkg = pn + '-locale-' + ln
packages.append(pkg)
d.setVar('FILES_' + pkg,os.path.join(datadir, 'locale', l))
-d.setVar('RDEPENDS_' + pkg, '%s virtual-locale-%s' % (pn, ln))
-d.setVar('RPROVIDES_' + pkg, '%s-locale %s-translation' % (pn, ln))
+d.setVar('RDEPENDS_' + pkg, '%s %svirtual-locale-%s' % (pn, mlprefix, ln))
+d.setVar('RPROVIDES_' + pkg, '%s-locale %s%s-translation' % (pn, mlprefix, ln))
d.setVar('SUMMARY_' + pkg, '%s - %s translations' % (summary, l))
d.setVar('DESCRIPTION_' + pkg, '%s This package contains language translation files for the %s locale.' % (description, l)) iflocale_section:
--
1.7.0.4_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [PATCH 1/3] (libc-)package.bbclass: Added MLPREFIX to locale packages.
Quoted 7 lines · Khem Raj
Quoted 3 lines · Lianhao Lu
Added multilib prefix to the locale related package names/dependencies.
Signed-off-by Lianhao Lu <[email protected]>Does mlprefix already has a leading '-' ? otherwise I think adding a - would make is more readable.
mlprefix adds this. Trying to do this the other way makes things too difficult and potentially inconsistent.
Cheers,
Richard
Richard Purdie
AppliedQuoted 12 lines · Lianhao Lu
This patch set added a package QA function to detect the potential incorrected package dependencies for multilib packages.
It also fixed the locale related package name in multilib case reported by the new package QA function.
The following changes since commit
2cf6e7cf81c0b864b5d51be60094a6eb3e584383:
Andrei Gherzan (1):
fotowall: Add #includeui_wizard.hto ExportWizard.cppare available in the git repository at:
Quoted 7 lines
git://git.yoctoproject.org/poky-contribllu/multilib2
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=llu/multilib2Lianhao Lu (3):
(libc-)package.bbclass: Added MLPREFIX to locale packages. multilib.conf: Added multilib support for kmod. multilib.bbclass: Added multilib specific package QA.
Merged to master, thanks.
Richard