world-image fixes
cover world-image fixes
This depends on
http://lists.linuxtogo.org/pipermail/bitbake-devel/2013-January/004091.html
And world-image is far from building correctly, see "File conflicts between PN-doc packages" thread.
Later I'll post error log from world-image build including complete oe-core and ~20 more layers.
The following changes since commit 9a43a67993c21cedf6cf71138e3da9c691ebf4a7:
gawk: Add missing dependency on readline (2013-01-25 14:37:13 +0000)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib jansa/world
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=jansa/world
Martin Jansa (7):
console-tools, kbd: add RREPLACES/RPROVIDES/RCONFLICTS combo between
PN-dbg
initrdscripts: exclude conflicting packages from world-image
automake: use autotools_do_install
gcc-configure-runtime: always remove info/dir
eglibc-scripts: don't package mtrace, RDEPEND on eglibc-mtrace
instead, fix RDEPENDS
eglibc-package: remove infodir/dir if it exists
oe-core: add world-image
meta/recipes-core/console-tools/console-tools_0.3.2.bb | 7 +++++++ meta/recipes-core/eglibc/eglibc-package.inc | 4 ++++ meta/recipes-core/eglibc/eglibc-scripts.inc | 5 ++--- meta/recipes-core/images/world-image.bb | 10 ++++++++++ meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb | 2 ++ meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb | 2 ++ meta/recipes-core/kbd/kbd_1.15.2.bb | 3 +++ meta/recipes-devtools/automake/automake_1.12.6.bb | 3 +-- meta/recipes-devtools/gcc/gcc-configure-runtime.inc | 8 +++----- 9 files changed, 34 insertions(+), 10 deletions(-) create mode 100644 meta/recipes-core/images/world-image.bb
Signature · 1 line
1.8.1.1
PATCH 1/7 console-tools, kbd: add RREPLACES/RPROVIDES/RCONFLICTS combo between PN-dbg
--- meta/recipes-core/console-tools/console-tools_0.3.2.bb | 7 +++++++ meta/recipes-core/kbd/kbd_1.15.2.bb | 3 +++ 2 files changed, 10 insertions(+)
meta/recipes-core/console-tools/console-tools_0.3.2.bb +7 -0
@@ -15,6 +15,13 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/lct/console-tools-${PV}.tar.gz \ file://lcmessage.m4 \ file://Makevars" +RREPLACES_${PN}-dbg = "kbd-dbg" +RPROVIDES_${PN}-dbg = "kbd-dbg" +RCONFLICTS_${PN}-dbg = "kbd-dbg" +RREPLACES_${PN} = "kbd" +RPROVIDES_${PN} = "kbd" +RCONFLICTS_${PN} = "kbd" + SRC_URI[md5sum] = "bf21564fc38b3af853ef724babddbacd" SRC_URI[sha256sum] = "eea6b441672dacd251079fc85ed322e196282e0e66c16303ec64c3a2b1c126c2"
meta/recipes-core/kbd/kbd_1.15.2.bb +3 -0
@@ -6,6 +6,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=587ce626d15bd61699a64a6b8a5afefb" inherit autotools gettext BBCLASSEXTEND = "native" +RREPLACES_${PN}-dbg = "console-tools-dbg" +RPROVIDES_${PN}-dbg = "console-tools-dbg" +RCONFLICTS_${PN}-dbg = "console-tools-dbg" RREPLACES_${PN} = "console-tools" RPROVIDES_${PN} = "console-tools" RCONFLICTS_${PN} = "console-tools"
Signature · 1 line
1.8.1.1
PATCH 2/7 initrdscripts: exclude conflicting packages from world-image
In reply to Martin Jansa--- meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb | 2 ++ meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb | 2 ++ 2 files changed, 4 insertions(+)
meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb +2 -0
@@ -34,6 +34,8 @@ do_install() { install -m 0755 ${WORKDIR}/debug ${D}/init.d/00-debug } +EXCLUDE_PACKAGES_FROM_WORLD_IMAGE = "${PN}-base" + PACKAGES = "${PN}-base \ initramfs-module-mdev \ initramfs-module-udev \
meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb +2 -0
@@ -5,6 +5,8 @@ RDEPENDS = "udev" DEPENDS = "virtual/kernel" SRC_URI = "file://init-live.sh" +EXCLUDE_FROM_WORLD_IMAGE = "1" + PR = "r11" do_compile() {
Signature · 1 line
1.8.1.1
PATCH 3/7 automake: use autotools_do_install
In reply to Martin Jansa* autotools_do_install removes /info/dir when it exists, overwritting whole do_install prevented that, use do_install_append instead.
--- meta/recipes-devtools/automake/automake_1.12.6.bb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
meta/recipes-devtools/automake/automake_1.12.6.bb +1 -2
@@ -31,8 +31,7 @@ SRC_URI[sha256sum] = "0cbe570db487908e70af7119da85ba04f7e28656b26f717df0265ae08d PR = "r0" -do_install () { - oe_runmake 'DESTDIR=${D}' install +do_install_append () { install -d ${D}${datadir} # Some distros have both /bin/perl and /usr/bin/perl, but we set perl location
Signature · 1 line
1.8.1.1
PATCH 4/7 gcc-configure-runtime: always remove info/dir
In reply to Martin Jansa* move libgomp.info removal also outside that for cycle, can be removed outside if exists
* also use infodir variable instead of ${datadir}/info
--- meta/recipes-devtools/gcc/gcc-configure-runtime.inc | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
meta/recipes-devtools/gcc/gcc-configure-runtime.inc +3 -5
@@ -41,12 +41,10 @@ do_install () { for d in ${RUNTIMETARGET}; do cd ${B}/$target/$d/ oe_runmake 'DESTDIR=${D}' MULTIBUILDTOP=${B}/$target/$d/ install - if [ "$d" = "libgomp" ]; then - rm -rf ${D}${datadir}/info/libgomp.info ${D}${datadir}/info/dir - rmdir --ignore-fail-on-non-empty -p ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude - rmdir --ignore-fail-on-non-empty -p ${D}${datadir}/info - fi done + rm -rf ${D}${infodir}/libgomp.info ${D}${infodir}/dir + rmdir --ignore-fail-on-non-empty -p ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude + rmdir --ignore-fail-on-non-empty -p ${D}${infodir} chown -R root:root ${D} }
Signature · 1 line
1.8.1.1
PATCH 5/7 eglibc-scripts: don't package mtrace, RDEPEND on eglibc-mtrace instead, fix RDEPENDS
In reply to Martin Jansa* eglibc-mtrace and eglibc-scripts provide the same mtrace script
* remove mtrace from eglibc-scripts and replace it with RDEPENDS
* mtrace also needs perl (eglibc-mtrace has correct RDEPENDS), bash is for sotruss and xtrace
* remove invalid RDEPENDS_ldd, ldd is now using /bin/sh and is not packaged by eglibc-scripts
* fixes error in world-image build:
* check_data_file_clashes: Package eglibc-mtrace wants to install file rootfs/usr/bin/mtrace
But that file is already provided by package * eglibc-scripts
--- meta/recipes-core/eglibc/eglibc-scripts.inc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
meta/recipes-core/eglibc/eglibc-scripts.inc +2 -3
@@ -2,12 +2,11 @@ include eglibc-collateral.inc SUMMARY = "utility scripts provided by eglibc" DESCRIPTION = "utility scripts provided by eglibc" -RDEPENDS_${PN} = "bash" -RDEPENDS_ldd = "bash" +RDEPENDS_${PN} = "bash eglibc-mtrace" SRC = "${STAGING_INCDIR}/eglibc-scripts-internal-${MULTIMACH_TARGET_SYS}" -bashscripts = "mtrace sotruss xtrace" +bashscripts = "sotruss xtrace" do_install() { install -d -m 0755 ${D}${bindir}
Signature · 1 line
1.8.1.1
PATCH 6/7 eglibc-package: remove infodir/dir if it exists
In reply to Martin Jansa* fixes error in world-image build:
* check_data_file_clashes: Package eglibc-doc wants to install file rootfs/usr/share/info/dir
But that file is already provided by package * gcc-doc
--- meta/recipes-core/eglibc/eglibc-package.inc | 4 ++++ 1 file changed, 4 insertions(+)
meta/recipes-core/eglibc/eglibc-package.inc +4 -0
@@ -80,6 +80,10 @@ do_install_append () { sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' -e '2s,exec.*perl,exec ${USRBINPATH}/env perl,' ${D}${bindir}/mtrace fi rm -rf ${D}${includedir}/rpcsvc/rquota* + # Info dir listing isn't interesting at this point so remove it if it exists. + if [ -e "${D}${infodir}/dir" ]; then + rm -f ${D}${infodir}/dir + fi } do_install_locale () {
Signature · 1 line
1.8.1.1
PATCH 7/7 oe-core: add world-image
In reply to Martin Jansa* this depends on newer bitbake
* similar to world target, but collects all PACKAGES
* recipes marked with EXCLUDE_FROM_WORLD are excluded from world as well as world-image
* recipes marked with EXCLUDE_FROM_WORLD_IMAGE are excluded completely from world-image, sometimes you can build 2 recipes in same sysroot, but cannot install them in the same image
* PACKAGES listed in EXCLUDE_PACKAGES_FROM_WORLD_IMAGE are also excluded. You can remove e.g. ${PN}-dbg, but keep all other PACKAGES.
--- meta/recipes-core/images/world-image.bb | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 meta/recipes-core/images/world-image.bb
meta/recipes-core/images/world-image.bb new file +10 -0
@@ -0,0 +1,10 @@ +# IMAGE_INSTALL is set from bitbake itself to union of all PACKAGES +# from all recipes which are not marked as: +# EXCLUDE_FROM_WORLD or EXCLUDE_FROM_WORLD_IMAGE +# or individual packages listed in +# EXCLUDE_PACKAGES_FROM_WORLD_IMAGE + +inherit image + +# don't build this in regular world builds +EXCLUDE_FROM_WORLD = "1"
Signature · 1 line
1.8.1.1