Multilib core enablement patches
cover Multilib core enablement patches
This patch series forms the core multilib enablement for OE-Core. The first patch adds the main class which can be enabled as per the local.conf.sample code.
The following patches are various misc multilib related tweaks the system needed.
Following this series, the tune changes I posted earlier and Mark's header changes, the only remaining piece is the package manager integration. I'll post those as a separate follow on series but those are likely still in need of some tweaks before merging.
The patches are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib rpurdie/ml4
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rpurdie/ml4
Dongxiao Xu (1):
distcc: fix makefile parameter order
Mark Hatle (1):
RPM: multilib file class/color
Richard Purdie (2):
multilib: Add support for compiling recipes against multiple ABIs lib/oe/util.py: Add MLPREFIX support to prune_suffix()
Yu Ke (4):
do_split_packages: revise for multilib case
eglibc: fix for multilib RPROVIDES issue
cmake.bbclass: add ${libdir}} for multilib case
linux-yocto: revise the dependency for multilib
meta/classes/autotools.bbclass | 2 +- meta/classes/cmake.bbclass | 2 +- meta/classes/insane.bbclass | 3 +- meta/classes/multilib.bbclass | 87 ++++++++++++++++++++ meta/classes/package.bbclass | 15 ++++ meta/conf/bitbake.conf | 1 + meta/conf/local.conf.sample | 5 + meta/conf/multilib.conf | 24 ++++++ meta/lib/oe/utils.py | 7 ++- meta/recipes-core/dbus/dbus.inc | 8 +- meta/recipes-core/eglibc/eglibc-package.inc | 2 +- meta/recipes-devtools/distcc/distcc_2.18.3.bb | 3 +- .../distcc/files/makefile-param-order.patch | 20 +++++ meta/recipes-devtools/gcc/libgcc_4.6.bb | 6 +- meta/recipes-devtools/rpm/rpm/rpm-fileclass.patch | 34 ++++++++ meta/recipes-devtools/rpm/rpm_5.4.0.bb | 1 + meta/recipes-kernel/linux/linux-tools.inc | 2 +- 17 files changed, 207 insertions(+), 15 deletions(-) create mode 100644 meta/classes/multilib.bbclass create mode 100644 meta/conf/multilib.conf create mode 100644 meta/recipes-devtools/distcc/files/makefile-param-order.patch create mode 100644 meta/recipes-devtools/rpm/rpm/rpm-fileclass.patch
Signature · 1 line
1.7.4.1
PATCH 1/8 multilib: Add support for compiling recipes against multiple ABIs
This patch adds the core multilib class which can be used along with a parameter specifying the mutlilib to use in BBCLASSEXTEND.
The MLPREFIX variable is added and can be used in cases where its too difficult to dynmaically work out where a mutltilib prefix is needed to be added to a variable.
This includes:
* SHLIBSDIR and PACKAGE_ARCH fixes from Lianhao Lu.
* PACKAGE_DYNAMIC mapping from Yu Ke
* PACKAGE_INSTALL mapping from Yu Ke
* RPROVIDES mapping from Yu Ke
* TARGET_VENDOR fix from Mark Hatle
* Ignorning *-native-runtime dependnecies as well as *-native from Yu Ke
--- meta/classes/autotools.bbclass | 2 +- meta/classes/insane.bbclass | 3 +- meta/classes/multilib.bbclass | 87 +++++++++++++++++++++++++++++++ meta/classes/package.bbclass | 11 ++++ meta/conf/bitbake.conf | 1 + meta/conf/local.conf.sample | 5 ++ meta/conf/multilib.conf | 24 +++++++++ meta/recipes-core/dbus/dbus.inc | 8 +-- meta/recipes-devtools/gcc/libgcc_4.6.bb | 6 +- 9 files changed, 137 insertions(+), 10 deletions(-) create mode 100644 meta/classes/multilib.bbclass create mode 100644 meta/conf/multilib.conf
meta/classes/autotools.bbclass +1 -1
@@ -9,7 +9,7 @@ def autotools_dep_prepend(d): return deps deps += 'autoconf-native automake-native help2man-native ' - if not pn in ['libtool', 'libtool-native', 'libtool-cross']: + if not pn in ['libtool', 'libtool-native'] and not pn.endswith("libtool-cross"): deps += 'libtool-native ' if not bb.data.inherits_class('native', d) \ and not bb.data.inherits_class('cross', d) \
meta/classes/insane.bbclass +2 -1
@@ -571,12 +571,13 @@ Rerun configure task after fixing this. The path was '%s'""" % root) cnf = bb.data.getVar('EXTRA_OECONF', d, True) or "" if "gettext" not in bb.data.getVar('P', d, True) and "gcc-runtime" not in bb.data.getVar('P', d, True) and "--disable-nls" not in cnf: + ml = d.getVar("MLPREFIX", True) or "" if bb.data.inherits_class('native', d) or bb.data.inherits_class('cross', d) or bb.data.inherits_class('crosssdk', d) or bb.data.inherits_class('nativesdk', d): gt = "gettext-native" elif bb.data.inherits_class('cross-canadian', d): gt = "gettext-nativesdk" else: - gt = "virtual/gettext" + gt = "virtual/" + ml + "gettext" deps = bb.utils.explode_deps(bb.data.getVar('DEPENDS', d, True) or "") if gt not in deps: for config in configs:
meta/classes/multilib.bbclass new file +87 -0
87 lines not on this page · raw message
meta/classes/package.bbclass +11 -0
@@ -168,6 +168,17 @@ python () { bb.data.setVarFlag('do_package', 'deptask', " ".join(deps), d) else: d.setVar("PACKAGERDEPTASK", "") + + multilib_archs = [] + multilibs= d.getVar('MULTILIBS', True) or "" + if multilibs: + for ext in multilibs.split(): + eext = ext.split(':') + if len(eext) > 1: + if eext[0] == 'multilib': + multilib_archs.append('ml' + eext[1]) + + d.setVar("MULTILIB_ARCHS", ' '.join(multilib_archs)) } def splitfile(file, debugfile, debugsrcdir, d):
meta/conf/bitbake.conf +1 -0
@@ -735,3 +735,4 @@ BB_SIGNATURE_HANDLER ?= "basic" BB_HASHTASK_WHITELIST ?= "(.*-cross$|.*-native$|.*-cross-initial$|.*-cross-intermediate$|^virtual:native:.*|^virtual:nativesdk:.*)" BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM USER FILESPATH USERNAME STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE" +MLPREFIX ??= ""
meta/conf/local.conf.sample +5 -0
@@ -189,3 +189,8 @@ NO32LIBS = "1" # Uncomment this if your host distribution provides the help2man tool. #ASSUME_PROVIDED += "help2man-native" + +# Uncomment the following lines to enable multilib builds +#require conf/multilib.conf +#MULTILIBS = "multilib:lib32" +#TUNENAME_virtclass-multilib-lib32 = "x86"
meta/conf/multilib.conf new file +24 -0
@@ -0,0 +1,24 @@ + +baselib = "${@d.getVar('BASE_LIB_tune-' + (d.getVar('DEFAULTTUNE', True) or 'INVALID'), True) or 'lib'}" + +MULTILIBS ??= "multilib:lib32" +BBCLASSEXTEND_append_pn-linux-libc-headers = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-eglibc-initial = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-eglibc = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-libgcc = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-gcc-runtime = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-libtool-cross = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-zlib = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-binutils-cross = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-gcc-cross-initial = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-gcc-cross-intermediate = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-gcc-cross = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-busybox = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-update-rc.d = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-util-linux = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-gettext = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-bash = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-ncurses = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-expat = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-eglibc-locale = " ${MULTILIBS}" +
meta/recipes-core/dbus/dbus.inc +3 -5
@@ -5,11 +5,9 @@ SECTION = "base" LICENSE = "AFL-2 | GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \ file://dbus/dbus.h;firstline=6;endline=20;md5=6eea2e0c7750dd8e620dcb1437312fa5" -x11deps = "virtual/libx11 libsm" -basedeps = "expat virtual/libintl" -DEPENDS = "${basedeps} ${x11deps}" -DEPENDS_virtclass-native = "${basedeps}" -DEPENDS_virtclass-nativesdk = "${basedeps} virtual/libx11" +DEPENDS = "expat virtual/libintl virtual/libx11 libsm" +DEPENDS_virtclass-native = "expat-native virtual/libintl-native" +DEPENDS_virtclass-nativesdk = "expat-nativesdk virtual/libintl-nativesdk virtual/libx11" SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \ file://tmpdir.patch; \
meta/recipes-devtools/gcc/libgcc_4.6.bb +3 -3
@@ -41,9 +41,9 @@ do_install () { chmod +x ${D}${base_libdir}/libgcc_s.so.* } -do_package_write_ipk[depends] += "virtual/libc:do_package" -do_package_write_deb[depends] += "virtual/libc:do_package" -do_package_write_rpm[depends] += "virtual/libc:do_package" +do_package_write_ipk[depends] += "virtual/${MLPREFIX}libc:do_package" +do_package_write_deb[depends] += "virtual/${MLPREFIX}libc:do_package" +do_package_write_rpm[depends] += "virtual/${MLPREFIX}libc:do_package" BBCLASSEXTEND = "nativesdk"
Signature · 1 line
1.7.4.1
PATCH 2/8 lib/oe/util.py: Add MLPREFIX support to prune_suffix()
prune_suffix() also needs be aware of MLPREFIX when changing PN for use in BPN.
--- meta/lib/oe/utils.py | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-)
meta/lib/oe/utils.py +6 -1
@@ -58,7 +58,12 @@ def prune_suffix(var, suffixes, d): # remove it if found for suffix in suffixes: if var.endswith(suffix): - return var.replace(suffix, "") + var = var.replace(suffix, "") + + prefix = d.getVar("MLPREFIX", True) + if prefix and var.startswith(prefix): + var = var.replace(prefix, "") + return var def str_filter(f, str, d):
Signature · 1 line
1.7.4.1
PATCH 3/8 do_split_packages: revise for multilib case
In reply to Richard PurdieFrom: Yu Ke <[email protected]>
in multilib case, the PACKAGE_DYNAMIC is overrided with multilib prefix. Take multilib:lib64-perl as example. the "perl-module-*" will become "lib64-perl-module-*"
the output_pattern in do_split_packages is designed to work with PACKAGE_DYNAMIC, so it should be applied with the same logic, i.e. overriding with multilib prefix. otherwise the do_split_package will split incorrect files
this patch implements the mulitlib override logic for do_split_packages
--- meta/classes/package.bbclass | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)
meta/classes/package.bbclass +4 -0
@@ -70,6 +70,10 @@ def do_split_packages(d, root, file_regex, output_pattern, description, postinst given package, usually plugins or modules. """ + ml = d.getVar("MLPREFIX", True) + if ml and not output_pattern.startswith(ml): + output_pattern = ml + output_pattern + dvar = bb.data.getVar('PKGD', d, True) packages = bb.data.getVar('PACKAGES', d, True).split()
Signature · 1 line
1.7.4.1
PATCH 4/8 eglibc: fix for multilib RPROVIDES issue
In reply to Richard PurdieFrom: Yu Ke <[email protected]>
in eglibc-package.inc, the "PACKAGES" variable use the ${PN} reference, while RPROVIDES does not use ${PN}. This will lead multilib.bbclass not mapping its RPROVIDES, and cause "NO RPROVIDER: lib64-glibc-utils" error.
This patch unify the recipe to fix this issue
--- meta/recipes-core/eglibc/eglibc-package.inc | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
meta/recipes-core/eglibc/eglibc-package.inc +1 -1
@@ -43,7 +43,7 @@ PACKAGES += "${PN}-localedatas" RRECOMMENDS_${PN}-localedatas = "${@" ".join([p for p in d.getVar('PACKAGES', True).split() if p.find("eglibc-localedata") != -1])}" RPROVIDES_eglibc = "glibc" -RPROVIDES_eglibc-utils = "glibc-utils" +RPROVIDES_${PN}-utils = "glibc-utils" RPROVIDES_eglibc-pic = "glibc-pic" RPROVIDES_eglibc-dev = "glibc-dev" RPROVIDES_eglibc-doc = "glibc-doc"
Signature · 1 line
1.7.4.1
PATCH 5/8 cmake.bbclass: add ${libdir}} for multilib case
In reply to Richard PurdieFrom: Yu Ke <[email protected]>
--- meta/classes/cmake.bbclass | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
meta/classes/cmake.bbclass +1 -1
@@ -57,7 +57,7 @@ set( CMAKE_INSTALL_RPATH ${OECMAKE_RPATH} ) set( CMAKE_MODULE_PATH ${STAGING_DATADIR}/cmake/Modules/ ) # add for non /usr/lib libdir, e.g. /usr/lib64 -LIST(APPEND CMAKE_SYSTEM_LIBRARY_PATH ${libdir}) +set( CMAKE_LIBRARY_PATH ${libdir} ) EOF }
Signature · 1 line
1.7.4.1
PATCH 6/8 linux-yocto: revise the dependency for multilib
In reply to Richard PurdieFrom: Yu Ke <[email protected]>
--- meta/recipes-kernel/linux/linux-tools.inc | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
meta/recipes-kernel/linux/linux-tools.inc +1 -1
@@ -22,7 +22,7 @@ addtask install_perf after do_install before do_package do_compile_perf[umask] = 022 do_install_perf[umask] = 022 -PERFDEPENDS = "virtual/libc:do_populate_sysroot elfutils:do_populate_sysroot" +PERFDEPENDS = "virtual/${MLPREFIX}libc:do_populate_sysroot ${MLPREFIX}elfutils:do_populate_sysroot" PERFDEPENDS_libc-uclibc = "" PERFRDEPENDS = "python perl elfutils" PERFRDEPENDS_libc-uclibc = ""
Signature · 1 line
1.7.4.1
PATCH 7/8 distcc: fix makefile parameter order
In reply to Richard PurdieFrom: Dongxiao Xu <[email protected]>
When linking with gcc, the parameter is read from left to write, if *.o calls a function contained in libxxx, the parameter order should be
"gcc ... *.o -lxxx".
This commit fixes the problem in distcc.
--- meta/recipes-devtools/distcc/distcc_2.18.3.bb | 3 ++- .../distcc/files/makefile-param-order.patch | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletions(-) create mode 100644 meta/recipes-devtools/distcc/files/makefile-param-order.patch
meta/recipes-devtools/distcc/distcc_2.18.3.bb +2 -1
@@ -4,7 +4,7 @@ compilation of C/C++/ObjC code across machines on a network." SECTION = "devel" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -PR = "r6" +PR = "r7" DEPENDS = "avahi ${GTKDEP}" GTKDEP_libc-uclibc = ""
@@ -16,6 +16,7 @@ RRECOMMENDS_${PN} = "avahi-daemon" # http://0pointer.de/public/distcc-avahi.patch SRC_URI = "http://distcc.googlecode.com/files/${PN}-${PV}.tar.bz2 \ file://distcc-avahi.patch \ + file://makefile-param-order.patch \ file://default \ file://distccmon-gnome.desktop \ file://distcc"
meta/recipes-devtools/distcc/files/makefile-param-order.patch new file +20 -0
@@ -0,0 +1,20 @@ +distcc: Put the "-lLIB" parameter in the end of the gcc command. + +Signed-off-by: Dongxiao Xu <[email protected]> + +Upstream-Status: Pending + +diff -ruN distcc-2.18.3-orig/Makefile.in distcc-2.18.3/Makefile.in +--- distcc-2.18.3-orig/Makefile.in 2011-07-25 16:43:21.000000000 +0800 ++++ distcc-2.18.3/Makefile.in 2011-07-25 16:45:39.000000000 +0800 +@@ -378,8 +378,8 @@ + + distccmon-gnome@EXEEXT@: $(mon_obj) $(gnome_obj) + $(CC) -o $@ $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(LIBS) \ +- $(GNOME_CFLAGS) $(GNOME_LIBS) \ +- $(mon_obj) $(gnome_obj) ++ $(GNOME_CFLAGS) \ ++ $(mon_obj) $(gnome_obj) $(GNOME_LIBS) + + + ## Dist targets
Signature · 1 line
1.7.4.1
PATCH 8/8 RPM: multilib file class/color
In reply to Richard PurdieFrom: Mark Hatle <[email protected]>
We need to include file class and file color in order to do the conflict resolution required with a multilib design. This is normally disabled when we don't use the internal dependency generator, patch enables it in all cases.
--- meta/recipes-devtools/rpm/rpm/rpm-fileclass.patch | 34 +++++++++++++++++++++ meta/recipes-devtools/rpm/rpm_5.4.0.bb | 1 + 2 files changed, 35 insertions(+), 0 deletions(-) create mode 100644 meta/recipes-devtools/rpm/rpm/rpm-fileclass.patch
meta/recipes-devtools/rpm/rpm/rpm-fileclass.patch new file +34 -0
@@ -0,0 +1,34 @@ +rpmfc.c: Always generate per-file information + +Even when the per-file dependency generate is disabled, we want to generate +per file classification and other associated data. + +Note: this is a temporary workaround. Eventually we will want to have a way +to seed per-file dependency and other information in order to generate a +package from previously determined information. + +Signed-off-by: Mark Hatle <[email protected]> + +diff --git a/lib/rpmfc.c b/lib/rpmfc.c +index 0c3befd..9306999 100644 +--- a/lib/rpmfc.c ++++ b/lib/rpmfc.c +@@ -1692,7 +1692,6 @@ rpmRC rpmfcGenerateDepends(void * specp, void * pkgp) + /* ... then generate dependencies using %{__find_requires} et al. */ + rc = rpmfcGenerateDependsHelper(spec, pkg, fi); + printDeps(pkg->header); +- return rc; + } + + /* Generate scriptlet Dependencies. */ +@@ -1720,8 +1719,8 @@ rpmRC rpmfcGenerateDepends(void * specp, void * pkgp) + av[ac] = NULL; + + fc = rpmfcNew(); +- fc->skipProv = !pkg->autoProv; +- fc->skipReq = !pkg->autoReq; ++ fc->skipProv = !pkg->autoProv || !internaldeps; ++ fc->skipReq = !pkg->autoReq || !internaldeps; + fc->tracked = 0; + + { const char * buildRootURL;
meta/recipes-devtools/rpm/rpm_5.4.0.bb +1 -0
@@ -60,6 +60,7 @@ SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.0-0.20101229.src.rpm;ex file://rpm-solvedb.patch \ file://rpm-tools-mtree-LDFLAGS.patch \ file://fprint-pointer-fix.patch \ + file://rpm-fileclass.patch \ " # file://hdraddorappend.patch \
Signature · 1 line
1.7.4.1
Re: [PATCH 1/8] multilib: Add support for compiling recipes against multiple ABIs
In reply to Richard PurdieQuoted 10 lines · Richard Purdie
meta/conf/multilib.conf new file +10
-0+MULTILIBS ??= "multilib:lib32" +BBCLASSEXTEND_append_pn-linux-libc-headers = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-eglibc-initial = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-eglibc = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-libgcc = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-gcc-runtime = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-libtool-cross = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-zlib = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-binutils-cross = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-gcc-cross-initial = " ${MULTILIBS}"
meta/conf/multilib.conf line 23
Quoted 10 lines
meta/conf/multilib.conf new file +10
-0+BBCLASSEXTEND_append_pn-gcc-cross-intermediate = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-gcc-cross = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-busybox = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-update-rc.d = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-util-linux = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-gettext = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-bash = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-ncurses = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-expat = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-eglibc-locale = " ${MULTILIBS}"
What's the significance of this set of package names? I couldn't immediately spot an obvious reason why these particular recipes were getting special treatment.
It seems particularly weird to have update-rc.d in there since that is an allarch recipe and (one hopes) isn't going to change much under multilib.
p.
Re: [PATCH 1/8] multilib: Add support for compiling recipes against multiple ABIs
Quoted 26 lines · Phil Blundell
Quoted 10 lines · Richard Purdie
meta/conf/multilib.conf new file +10
-0+MULTILIBS ??= "multilib:lib32" +BBCLASSEXTEND_append_pn-linux-libc-headers = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-eglibc-initial = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-eglibc = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-libgcc = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-gcc-runtime = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-libtool-cross = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-zlib = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-binutils-cross = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-gcc-cross-initial = " ${MULTILIBS}"meta/conf/multilib.conf line 23
Quoted 10 lines
meta/conf/multilib.conf new file +10
-0+BBCLASSEXTEND_append_pn-gcc-cross-intermediate = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-gcc-cross = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-busybox = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-update-rc.d = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-util-linux = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-gettext = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-bash = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-ncurses = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-expat = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-eglibc-locale = " ${MULTILIBS}"What's the significance of this set of package names? I couldn't immediately spot an obvious reason why these particular recipes were getting special treatment.
Quoted 3 lines
It seems particularly weird to have update-rc.d in there since that is an allarch recipe and (one hopes) isn't going to change much under multilib.
It was the basic testing set of things we'd tested with multilib. We still need to better handle "all" arch, likely by adding in some RPROVIDES and disabling the class extensions themselves.
Its intended this list go away in time and the extentions work with any recipe and this is purely a transition artefact.
Cheers,
Richard