From f876463527bd9ae92a09159fdb4899b4a4d19121 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Fri, 3 Oct 2008 08:48:06 +0000 Subject: Split staging by base package arch (armv7a, ppc603e, etc) * tested on beagleboard, dht-walnut, efika, c7x0 and om-gta01 * python, perl, gtk and qt4-x11 build and work * console-image, x11-image and beagleboard-demo-image build and work as well * see http://lists.linuxtogo.org/pipermail/openembedded-devel/2008-July/005819.html --- classes/base.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/base.bbclass b/classes/base.bbclass index 540b891669..ac73e909f8 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -909,7 +909,7 @@ def get_subpkgedata_fn(pkg, d): import bb, os archs = bb.data.expand("${PACKAGE_ARCHS}", d).split(" ") archs.reverse() - pkgdata = bb.data.expand('${STAGING_DIR}/pkgdata/', d) + pkgdata = bb.data.expand('${TMPDIR}/pkgdata/', d) targetdir = bb.data.expand('${TARGET_VENDOR}-${TARGET_OS}/runtime/', d) for arch in archs: fn = pkgdata + arch + targetdir + pkg -- cgit v1.2.3 From 6c50f70f22e1195898ead5ff2b47256b2ba429e2 Mon Sep 17 00:00:00 2001 From: Michael Lauer Date: Sat, 4 Oct 2008 06:32:15 +0000 Subject: distutils-base: export STAGING_INCDIR and STAGING_LIBDIR here --- classes/distutils-base.bbclass | 3 +++ 1 file changed, 3 insertions(+) (limited to 'classes') diff --git a/classes/distutils-base.bbclass b/classes/distutils-base.bbclass index c4551ace83..70155619b3 100644 --- a/classes/distutils-base.bbclass +++ b/classes/distutils-base.bbclass @@ -2,6 +2,9 @@ EXTRA_OEMAKE = "" DEPENDS += "${@["python-native python", ""][(bb.data.getVar('PACKAGES', d, 1) == '')]}" RDEPENDS += "python-core" +export STAGING_INCDIR +export STAGING_LIBDIR + def python_dir(d): import os, bb staging_incdir = bb.data.getVar( "STAGING_INCDIR", d, 1 ) -- cgit v1.2.3 From faaf10c4178c43ff3b2fe7f2e89f275e80c76f40 Mon Sep 17 00:00:00 2001 From: Henning Heinold Date: Sat, 4 Oct 2008 14:08:06 +0000 Subject: insane.bbclass: let sh4 arch play with uclibc --- classes/insane.bbclass | 2 ++ 1 file changed, 2 insertions(+) (limited to 'classes') diff --git a/classes/insane.bbclass b/classes/insane.bbclass index a599689e8c..6608666e4d 100644 --- a/classes/insane.bbclass +++ b/classes/insane.bbclass @@ -60,6 +60,8 @@ def package_qa_get_machine_dict(): "i686": ( 3, 0, 0, True, True), "mipsel": ( 8, 0, 0, True, True), "avr32": (6317, 0, 0, False, True), + "sh4": (42, 0, 0, True, True), + }, "uclinux-uclibc" : { "bfin": ( 106, 0, 0, True, True), -- cgit v1.2.3 From f1c06fce7adcd0882e326ca5989a91c3c58d4f86 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Mon, 6 Oct 2008 12:49:05 +0000 Subject: package bbclass: add an 'allow_links' param to get symlinks packaged, usefull for splitting out libraries --- classes/package.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'classes') diff --git a/classes/package.bbclass b/classes/package.bbclass index f740906c52..a12bfb0a21 100644 --- a/classes/package.bbclass +++ b/classes/package.bbclass @@ -21,7 +21,7 @@ def legitimize_package_name(s): # Remaining package name validity fixes return s.lower().replace('_', '-').replace('@', '+').replace(',', '+').replace('/', '-') -def do_split_packages(d, root, file_regex, output_pattern, description, postinst=None, recursive=False, hook=None, extra_depends=None, aux_files_pattern=None, postrm=None, allow_dirs=False, prepend=False, match_path=False, aux_files_pattern_verbatim=None): +def do_split_packages(d, root, file_regex, output_pattern, description, postinst=None, recursive=False, hook=None, extra_depends=None, aux_files_pattern=None, postrm=None, allow_dirs=False, prepend=False, match_path=False, aux_files_pattern_verbatim=None, allow_links=False): """ Used in .bb files to split up dynamically generated subpackages of a given package, usually plugins or modules. @@ -70,7 +70,7 @@ def do_split_packages(d, root, file_regex, output_pattern, description, postinst continue f = os.path.join(dvar + root, o) mode = os.lstat(f).st_mode - if not (stat.S_ISREG(mode) or (allow_dirs and stat.S_ISDIR(mode))): + if not (stat.S_ISREG(mode) or (allow_links and stat.S_ISLNK(mode)) or (allow_dirs and stat.S_ISDIR(mode))): continue on = legitimize_package_name(m.group(1)) pkg = output_pattern % on -- cgit v1.2.3 From 23f9d417abc9370bd7495622f84c990f718e7bf5 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Tue, 7 Oct 2008 09:13:31 +0000 Subject: cpan* bbclass: fix for staging layout changes sdk bblcass: ditto, this time the fix is from poky --- classes/cpan-base.bbclass | 2 +- classes/cpan.bbclass | 2 +- classes/cpan_build.bbclass | 2 +- classes/sdk.bbclass | 9 +++++++++ 4 files changed, 12 insertions(+), 3 deletions(-) (limited to 'classes') diff --git a/classes/cpan-base.bbclass b/classes/cpan-base.bbclass index cc0d11e515..19d431ce72 100644 --- a/classes/cpan-base.bbclass +++ b/classes/cpan-base.bbclass @@ -10,7 +10,7 @@ RDEPENDS += "${@["perl", ""][(bb.data.inherits_class('native', d))]}" # Determine the staged version of perl from the perl configuration file def get_perl_version(d): import os, bb, re - cfg = bb.data.expand('${STAGING_DIR}/${HOST_SYS}/perl/config.sh', d) + cfg = bb.data.expand('${STAGING_DIR_HOST}/perl/config.sh', d) try: f = open(cfg, 'r') except IOError: diff --git a/classes/cpan.bbclass b/classes/cpan.bbclass index 005e7cc0e9..3ff3f3093d 100644 --- a/classes/cpan.bbclass +++ b/classes/cpan.bbclass @@ -15,7 +15,7 @@ export PERL_ARCHLIB = "${STAGING_LIBDIR_NATIVE}/perl/${@get_perl_version(d)}" cpan_do_configure () { yes '' | perl Makefile.PL ${EXTRA_CPANFLAGS} if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then - . ${STAGING_DIR}/${TARGET_SYS}/perl/config.sh + . ${STAGING_DIR_TARGET}/perl/config.sh if [ "${IS_NEW_PERL}" = "yes" ]; then sed -i -e "s:\(SITELIBEXP = \).*:\1${sitelibexp}:" \ -e "s:\(SITEARCHEXP = \).*:\1${sitearchexp}:" \ diff --git a/classes/cpan_build.bbclass b/classes/cpan_build.bbclass index 63e716c099..c3804ff4cc 100644 --- a/classes/cpan_build.bbclass +++ b/classes/cpan_build.bbclass @@ -25,7 +25,7 @@ DEPENDS_prepend = "${@cpan_build_dep_prepend(d)}" cpan_build_do_configure () { if [ ${@is_target(d)} == "yes" ]; then # build for target - . ${STAGING_DIR}/${TARGET_SYS}/perl/config.sh + . ${STAGING_DIR_TARGET}/perl/config.sh if [ "${IS_NEW_PERL}" = "yes" ]; then perl Build.PL --installdirs vendor \ --destdir ${D} \ diff --git a/classes/sdk.bbclass b/classes/sdk.bbclass index a94332b92c..6c66eac7ad 100644 --- a/classes/sdk.bbclass +++ b/classes/sdk.bbclass @@ -2,15 +2,24 @@ # or indirectly via dependency. No need to be in 'world'. EXCLUDE_FROM_WORLD = "1" +# Save MULTIMACH_ARCH +OLD_MULTIMACH_ARCH := "${MULTIMACH_ARCH}" +# Save PACKAGE_ARCH OLD_PACKAGE_ARCH := ${PACKAGE_ARCH} PACKAGE_ARCH = "${BUILD_ARCH}-${OLD_PACKAGE_ARCH}-sdk" +# Also save BASE_PACKAGE_ARCH since HOST_ARCH can influence it +OLD_BASE_PACKAGE_ARCH := "${BASE_PACKAGE_ARCH}" +BASE_PACKAGE_ARCH = "${OLD_BASE_PACKAGE_ARCH}" + STAGING_DIR_HOST = "${STAGING_DIR}/${HOST_SYS}-sdk" +STAGING_DIR_TARGET = "${STAGING_DIR}/${OLD_MULTIMACH_ARCH}${TARGET_VENDOR}-${TARGET_OS}" HOST_ARCH = "${BUILD_ARCH}" HOST_VENDOR = "${BUILD_VENDOR}" HOST_OS = "${BUILD_OS}" HOST_PREFIX = "${BUILD_PREFIX}" HOST_CC_ARCH = "${BUILD_CC_ARCH}" +#HOST_SYS = "${HOST_ARCH}${TARGET_VENDOR}-${HOST_OS}" CPPFLAGS = "${BUILD_CPPFLAGS}" CFLAGS = "${BUILD_CFLAGS}" -- cgit v1.2.3