1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-31 00:39:46 +00:00

Improve handling of 'all' architecture recipes and their interaction with sstate

The existing PACKAGE_ARCH = "all" mechanism of sharing packages is problematic
with sstate since there are a variety of variables which have target specific
values and the sstate package therefore correctly changes signature depending
on the MACHINE setting.

This patch creates a new "allarch" class which sets:

PACKAGE_ARCH = "all"

(as per the existing convention)

INHIBIT_DEFAULT_DEPS = "1"

(since its not target specific and therefore can't depend on the cross
compiler or target libc)

TARGET_ARCH = "all"
TARGET_OS = "linux"
TARGET_CC_ARCH = "none"

(since these variables shouldn't change between the different packages and
target compiler flags shouldn't be getting used)

PACKAGE_EXTRA_ARCHS = ""

(since we shouldn't be depending on any architecture specific package architectures)

Not all PACKAGE_ARCH = "all" recipes can use this class since some run configure
checks on the compiler. This means they have target specific components and therefore
the "all" classification is incorrect.

(From OE-Core rev: 26e5e5feb695864b11e47e24017e254c28f14494)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2011-05-18 00:03:02 +01:00
parent c3a7382c9a
commit 52295fa3de
13 changed files with 47 additions and 25 deletions
@@ -3,11 +3,12 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
SRC_URI = "file://init-boot.sh"
PR = "r0"
PR = "r1"
do_install() {
install -m 0755 ${WORKDIR}/init-boot.sh ${D}/init
}
PACKAGE_ARCH = "all"
inherit allarch
FILES_${PN} += " /init "
@@ -3,11 +3,12 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
SRC_URI = "file://init-live.sh"
PR = "r2"
PR = "r3"
do_install() {
install -m 0755 ${WORKDIR}/init-live.sh ${D}/init
}
PACKAGE_ARCH = "all"
inherit allarch
FILES_${PN} += " /init "
@@ -3,7 +3,7 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
SRC_URI = "file://init-install.sh"
PR = "r3"
PR = "r4"
RDEPENDS="grub parted e2fsprogs-mke2fs"
@@ -11,7 +11,8 @@ do_install() {
install -m 0755 ${WORKDIR}/init-install.sh ${D}/install.sh
}
PACKAGE_ARCH = "all"
inherit allarch
FILES_${PN} = " /install.sh "
# Alternatives to grub need adding for other arch support