[OE-core] [PATCHv2 2/2] subversion: explicitly disable sasl
* cyrus-sasl is in meta-networking and isn't in subversion DEPENDS Signed-off-by: Martin Jansa martin.ja...@gmail.com --- meta/recipes-devtools/subversion/subversion_1.6.15.bb | 1 + meta/recipes-devtools/subversion/subversion_1.7.10.bb | 1 + 2 files changed, 2 insertions(+) diff --git a/meta/recipes-devtools/subversion/subversion_1.6.15.bb b/meta/recipes-devtools/subversion/subversion_1.6.15.bb index 244d7ea..2a072e8 100644 --- a/meta/recipes-devtools/subversion/subversion_1.6.15.bb +++ b/meta/recipes-devtools/subversion/subversion_1.6.15.bb @@ -24,6 +24,7 @@ EXTRA_OECONF = \ --without-berkeley-db --without-apxs --without-apache \ --without-swig --with-apr=${STAGING_BINDIR_CROSS} \ --with-apr-util=${STAGING_BINDIR_CROSS} \ +--without-sasl \ ac_cv_path_RUBY=none inherit autotools diff --git a/meta/recipes-devtools/subversion/subversion_1.7.10.bb b/meta/recipes-devtools/subversion/subversion_1.7.10.bb index 9d189fe..ded1788 100644 --- a/meta/recipes-devtools/subversion/subversion_1.7.10.bb +++ b/meta/recipes-devtools/subversion/subversion_1.7.10.bb @@ -22,6 +22,7 @@ EXTRA_OECONF = \ --without-berkeley-db --without-apxs \ --without-swig --with-apr=${STAGING_BINDIR_CROSS} \ --with-apr-util=${STAGING_BINDIR_CROSS} \ +--without-sasl \ ac_cv_path_RUBY=none inherit autotools -- 1.8.2.1 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCHv2] buildhistory: Record size of installed package not compressed archive
* usually it's more important to know how much space will each package take on target device then size of compressed package * example for libewebkit0 with 4 different architectures, interesting that om_gta02 .ipk is bigger but it's smaller when installed before: MACHINE DEFAULTTUNE SIZE (.ipk file) om_gta04cortexa8t-neon15996 KiB libewebkit0 qemux86_64 x86-6416992 KiB libewebkit0 spitz xscale16148 KiB libewebkit0 om_gta02arm920t 16260 KiB libewebkit0 after: MACHINE DEFAULTTUNE SIZE (installed) om_gta04cortexa8t-neon60544 KiB libewebkit0 qemux86_64 x86-6463720 KiB libewebkit0 spitz xscale60588 KiB libewebkit0 om_gta02arm920t 56268 KiB libewebkit0 Signed-off-by: Martin Jansa martin.ja...@gmail.com --- meta/classes/buildhistory.bbclass | 11 scripts/oe-pkgdata-util | 59 --- 2 files changed, 61 insertions(+), 9 deletions(-) diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass index 36e7fe1..1ebe68e 100644 --- a/meta/classes/buildhistory.bbclass +++ b/meta/classes/buildhistory.bbclass @@ -317,6 +317,8 @@ buildhistory_get_installed() { # Get list of installed packages pkgcache=$1/installed-packages.tmp list_installed_packages file | sort $pkgcache + pkgcachearch=$1/installed-packages-arch.tmp + list_installed_packages arch | sort $pkgcachearch cat $pkgcache | awk '{ print $1 }' $1/installed-package-names.txt if [ -s $pkgcache ] ; then @@ -338,18 +340,17 @@ buildhistory_get_installed() { # Produce installed package sizes list printf $1/installed-package-sizes.tmp - cat $pkgcache | while read pkg pkgfile + cat $pkgcachearch | while read pkg arch do - if [ -f $pkgfile ] ; then - pkgsize=`du -k $pkgfile | head -n1 | awk '{ print $1 }'` - echo $pkgsize $pkg $1/installed-package-sizes.tmp - fi + size=`oe-pkgdata-util read_values ${TMPDIR}/pkgdata ${TARGET_VENDOR}-${TARGET_OS} PKGSIZE ${pkg}_${arch}` + echo $size $pkg $1/installed-package-sizes.tmp done cat $1/installed-package-sizes.tmp | sort -n -r | awk '{print $1 \tKiB $2}' $1/installed-package-sizes.txt rm $1/installed-package-sizes.tmp # We're now done with the cache, delete it rm $pkgcache + rm $pkgcachearch if [ $2 != sdk ] ; then # Produce some cut-down graphs (for readability) diff --git a/scripts/oe-pkgdata-util b/scripts/oe-pkgdata-util index 629b2d5..731e269 100755 --- a/scripts/oe-pkgdata-util +++ b/scripts/oe-pkgdata-util @@ -20,9 +20,12 @@ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # # -# Currently only has one function - mapping of packages to their dev/dbg/doc/locale etc. -# counterparts (glob command). Could be extended in future to perform other useful querying -# functions on the pkgdata though. +# Currently only has two functions +# 1) glob - mapping of packages to their dev/dbg/doc/locale etc. counterparts. +# 2) read_values - mapping of packagenames to their location in +#pkgdata and then returns value of selected variable (e.g. PKGSIZE) +# Could be extended in future to perform other useful querying functions on the +# pkgdata though. # import sys @@ -32,7 +35,8 @@ import fnmatch import re def usage(): -print(syntax: pkgdata-util glob [-d] pkgdatadir vendor-os pkglist \globs\); +print(syntax: pkgdata-util glob [-d] pkgdatadir vendor-os pkglist \globs\\n \ +read_values [-d] pkgdatadir vendor-os variable-name \package-name_package_architecture\); @@ -151,7 +155,52 @@ def glob(args): print(\n.join(mappedpkgs)) +def read_values(args): +if len(args) 4: +usage() +sys.exit(1) + +pkgdata_dir = args[0] +target_suffix = args[1] +var = args[2] +packages = args[3].split() +if target_suffix.startswith(-): +target_suffix = target_suffix[1:] + +def readvar(pkgdata_file, var): +val = +with open(pkgdata_file, 'r') as f: +for line in f: +if line.startswith(var + :): +val = line.split(': ')[1].rstrip() +return val + +if debug: +print read_values('%s', '%s', '%s' '%s' % (pkgdata_dir, target_suffix, var, packages) +for package in packages: +pkg_split = package.split('_') +pkg_name = pkg_split[0] +pkg_arch = '_'.join(pkg_split[1:]) +if debug: +print package: name: '%s', arch: '%s' % (pkg_name, pkg_arch) +multimach_target_sys = %s-%s % (pkg_arch, target_suffix) +revlink = os.path.join(pkgdata_dir, multimach_target_sys, runtime-reverse, pkg_name) +if debug: +
Re: [OE-core] [PATCH 1/1] busybox: fix the on-target upgrade problem
On Wed, Jul 03, 2013 at 12:48:12PM +0800, qi.c...@windriver.com wrote: From: Chen Qi qi.c...@windriver.com We now can have a 'one-binary' version of busybox, or 'two-binary' version of busybox, controlled by the 'BUSYBOX_SPLIT_SUID' variable. This makes on-target upgrade a problem, as we have to support the following four upgrading paths. For convenience, in the following context, A is used to denote a 'two-binary' version of busybox while B is used to denote a 'one-binary' version of busybox. A --(upgrade)-- B B --(upgrade)-- A A --(upgrade)-- A B --(upgrade)-- B This patch makes effort to support the above four situations. Thanks for looking into it (it's more complicated then I've first expected) and it looks like there is more issues probably caused by applet path moved in latest busybox upgrade (but ip looks weird) :/ update-alternatives: Error: cannot register alternative addgroup to /usr/sbin/addgroup since it is already registered to /bin/addgroup update-alternatives: Error: cannot register alternative adduser to /usr/sbin/adduser since it is already registered to /bin/adduser update-alternatives: Error: cannot register alternative delgroup to /usr/sbin/delgroup since it is already registered to /bin/delgroup update-alternatives: Error: cannot register alternative deluser to /usr/sbin/deluser since it is already registered to /bin/deluser update-alternatives: Error: cannot register alternative ip to /sbin/ip since it is already registered to /bin/ip SHR root@gjama ~ $ cat /var/lib/opkg/alternatives/ip /bin/ip busybox 50 /bin/busybox 50 /bin/busybox.nosuid 50 SHR root@gjama ~ $ cat /var/lib/opkg/alternatives/adduser /bin/adduser /bin/busybox.nosuid 50 SHR root@gjama ~ $ cat /var/lib/opkg/alternatives/addgroup /bin/addgroup /bin/busybox.nosuid 50 SHR root@gjama ~ $ cat /var/lib/opkg/alternatives/delgroup /bin/delgroup /bin/busybox.nosuid 50 SHR root@gjama ~ $ cat /var/lib/opkg/alternatives/deluser /bin/deluser /bin/busybox.nosuid 50 [YOCTO #4802] Signed-off-by: Chen Qi qi.c...@windriver.com --- meta/recipes-core/busybox/busybox.inc | 48 + 1 file changed, 48 insertions(+) diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc index 8567d64..acd2bfb 100644 --- a/meta/recipes-core/busybox/busybox.inc +++ b/meta/recipes-core/busybox/busybox.inc @@ -190,6 +190,10 @@ do_install () { install -m 0644 ${S}/busybox.links.suid ${D}${sysconfdir} install -m 0644 ${S}/busybox.links.nosuid ${D}${sysconfdir} ln -sf busybox.nosuid ${D}${base_bindir}/sh + # Keep a default busybox for people who want to invoke busybox directly. + # This is also useful for the on device upgrade. Because we want + # to use the busybox command in postinst. + ln -sf busybox.nosuid ${D}${base_bindir}/busybox else if grep -q CONFIG_FEATURE_SUID=y ${B}/.config; then install -m 4755 ${B}/busybox ${D}${base_bindir} @@ -198,6 +202,12 @@ do_install () { fi install -m 0644 ${S}/busybox.links ${D}${sysconfdir} ln -sf busybox ${D}${base_bindir}/sh + # We make this symlink here to eliminate the error when upgrading together + # with busybox-syslog. Without this symlink, the opkg may think of the + # busybox.nosuid as obsolete and remove it, resulting in dead links like + # /bin/sed - /bin/busybox.nosuid. This will make upgrading busybox-syslog fail. + # This symlink will be safely deleted in postinst, thus no negative effect. + ln -sf busybox ${D}${base_bindir}/busybox.nosuid fi else install -d ${D}${base_bindir} ${D}${base_sbindir} @@ -306,6 +316,44 @@ python do_package_prepend () { set_alternative_vars(/etc/busybox.links.suid, /bin/busybox.suid) } +pkg_postinst_${PN} () { + # This part of code is dedicated to the on target upgrade problem. + # It's known that if we don't make appropriate symlinks before update-alternatives calls, + # there will be errors indicating missing commands such as 'sed'. + # These symlinks will later be updated by update-alternatives calls. + test -n 2 /dev/null || alias test='busybox test' + if test x$D = x; then + # Remove busybox.nosuid if it's a symlink, because this situation indicates + # that we're installing or upgrading to a one-binary busybox. + if test -h /bin/busybox.nosuid; then + rm -f /bin/busybox.nosuid + fi + for suffix in .nosuid .suid; do + if test -e
Re: [OE-core] [PATCH 0/4] replace genext2fs with populate-extfs.sh
On 14/05/2013 3:32 PM, Robert Yang wrote: On 05/13/2013 09:22 PM, Jonathan Liu wrote: On 13/05/2013 8:50 PM, Robert Yang wrote: On 05/13/2013 05:50 PM, Jonathan Liu wrote: On 13/05/2013 7:23 PM, Robert Yang wrote: Hi Jonathan Liu, What's your configuration, please, I tried a core-image-minimal building just now, didn't notice this error. Did the error come after these patches applied ? Yes, the errors occured after applying your patches. Thanks, I will try a build with these configuration tonight, and see the result tomorrow. // Robert I can reproduce the fsck errors using the following: Thanks, I can reproduce it with your setting, will do more investigation on it later. // Robert Any updates? Regards, Jonathan meta: f7afeeb75993b159bb8959e0309bc5eb3978a8fb conf/local.conf: BB_NUMBER_THREADS = 8 PARALLEL_MAKE = -j 8 MACHINE ??= qemux86 DISTRO ?= poky PACKAGE_CLASSES = package_ipk EXTRA_IMAGE_FEATURES = debug-tweaks USER_CLASSES ?= buildstats image-mklibs image-prelink PATCHRESOLVE = noop BB_DISKMON_DIRS = \ STOPTASKS,${TMPDIR},1G,100K \ STOPTASKS,${DL_DIR},1G,100K \ STOPTASKS,${SSTATE_DIR},1G,100K \ ABORT,${TMPDIR},100M,1K \ ABORT,${DL_DIR},100M,1K \ ABORT,${SSTATE_DIR},100M,1K CONF_VERSION = 1 DISTRO_FEATURES_append = systemd DISTRO_FEATURES_BACKFILL_CONSIDERED = sysvinit VIRTUAL-RUNTIME_init_manager = systemd IMAGE_FSTYPES = ext4 # bitbake core-image-minimal # fsck.ext4 -fn tmp/deploy/images/core-image-minimal-qemux86.ext4 Regards, Jonathan distro conf: DISTRO_FEATURES_append = largefile opengl systemd DISTRO_FEATURES_BACKFILL_CONSIDERED = sysvinit VIRTUAL-RUNTIME_graphical_init_manager = VIRTUAL-RUNTIME_init_manager = systemd PACKAGE_CLASSES = package_ipk image bb: SYSLINUX_ROOT ?= root=/dev/sda2 SYSLINUX_PROMPT = 0 SYSLINUX_TIMEOUT = 1 SYSLINUX_LABELS = boot LABELS_append = ${SYSLINUX_LABELS} do_bootdirectdisk[depends] += ${PN}:do_rootfs APPEND += rootfstype=ext4 rw ROOTFS ?= ${DEPLOY_DIR_IMAGE}/${IMAGE_BASENAME}-${MACHINE}.ext4 inherit boot-directdisk IMAGE_FEATURES += hwcodecs package-management ssh-server-openssh x11 IMAGE_FSTYPES = ext4 IMAGE_LINGUAS = My configuration: MACHINE = qemux86 IMAGE_FSTYPES += ext4 // Robert On 05/13/2013 12:59 PM, Jonathan Liu wrote: Hi Robert, I get the following errors doing filesystem check on the ext4 image: # fsck.ext4 -fn tmp/deploy/images/custom-image-custom.ext4.ext4 e2fsck 1.42.7 (21-Jan-2013) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Entry 'mtd7' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'mtd4' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'fb0' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'mtd5' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'tty' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'tty6' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'random' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'mtd1' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'urandom' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'zero' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'null' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'kmsg' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'kmem' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'mtd6' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'tty7' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'tty4' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'apm_bios' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'tty5' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'mtd0' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'tty0' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'ttySA0' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'mem' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'mtd2' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'tty8' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'console' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'ttyS0' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'tty2' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no Entry 'mtd3' in /dev (2739) has an incorrect filetype (was 4, should be 3). Fix? no
[OE-core] [PATCH] eglibc: Update 2.18 recipes to fix ppc/e500 failures
This should fix the e500 errors due to bounded pointers removal Signed-off-by: Khem Raj raj.k...@gmail.com --- .../eglibc/cross-localedef-native_2.18.bb |6 +++--- meta/recipes-core/eglibc/eglibc_2.18.bb|6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/meta/recipes-core/eglibc/cross-localedef-native_2.18.bb b/meta/recipes-core/eglibc/cross-localedef-native_2.18.bb index bf9e3c2..790f259 100644 --- a/meta/recipes-core/eglibc/cross-localedef-native_2.18.bb +++ b/meta/recipes-core/eglibc/cross-localedef-native_2.18.bb @@ -16,11 +16,11 @@ inherit autotools # pick up an eglibc patch FILESPATH = ${FILE_DIRNAME}/eglibc-${PV} -SRC_URI = http://downloads.yoctoproject.org/releases/eglibc/eglibc-${PV}-svnr23379.tar.bz2 \ +SRC_URI = http://sakrah.dontexist.org/files/eglibc-${PV}-svnr23424.tar.bz2 \ file://fix_for_centos_5.8.patch;patchdir=.. \ -SRC_URI[md5sum] = 7da8ab8c0af6889187b9ece6dafc12b0 -SRC_URI[sha256sum] = bd1cdb0528fd54d11ab896b878d71c0f89b4557e908e0f2561f32bbd7472aaeb +SRC_URI[md5sum] = e7bb555f34e782d428de3482d203df8d +SRC_URI[sha256sum] = 3824e699a91a34aebbe80bae9993b569616fad2056e4f6430cd455d604fb1d9c S = ${WORKDIR}/eglibc-${PV}/localedef diff --git a/meta/recipes-core/eglibc/eglibc_2.18.bb b/meta/recipes-core/eglibc/eglibc_2.18.bb index 7c26829..ce416f7 100644 --- a/meta/recipes-core/eglibc/eglibc_2.18.bb +++ b/meta/recipes-core/eglibc/eglibc_2.18.bb @@ -2,7 +2,7 @@ require eglibc.inc DEPENDS += gperf-native kconfig-frontends-native -SRC_URI = http://sakrah.dontexist.org/files/eglibc-${PV}-svnr23379.tar.bz2 \ +SRC_URI = http://sakrah.dontexist.org/files/eglibc-${PV}-svnr23424.tar.bz2 \ file://eglibc-svn-arm-lowlevellock-include-tls.patch \ file://IO-acquire-lock-fix.patch \ file://mips-rld-map-check.patch \ @@ -27,8 +27,8 @@ SRC_URI = http://sakrah.dontexist.org/files/eglibc-${PV}-svnr23379.tar.bz2 \ file://0001-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch \ file://fix-tibetian-locales.patch \ -SRC_URI[md5sum] = 7da8ab8c0af6889187b9ece6dafc12b0 -SRC_URI[sha256sum] = bd1cdb0528fd54d11ab896b878d71c0f89b4557e908e0f2561f32bbd7472aaeb +SRC_URI[md5sum] = e7bb555f34e782d428de3482d203df8d +SRC_URI[sha256sum] = 3824e699a91a34aebbe80bae9993b569616fad2056e4f6430cd455d604fb1d9c LIC_FILES_CHKSUM = file://LICENSES;md5=e9a558e243b36d3209f380deb394b213 \ file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \ -- 1.7.9.5 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [RFC][PATCH] test-dependencies: add simple script to detect missing or autoenabled dependencies
Signed-off-by: Martin Jansa martin.ja...@gmail.com --- scripts/test-dependencies.sh | 250 +++ 1 file changed, 250 insertions(+) create mode 100755 scripts/test-dependencies.sh diff --git a/scripts/test-dependencies.sh b/scripts/test-dependencies.sh new file mode 100755 index 000..99e2ca0 --- /dev/null +++ b/scripts/test-dependencies.sh @@ -0,0 +1,250 @@ +#!/bin/sh + +# Used to detect missing dependencies or automagically +# enabled dependencies which aren't explicitly enabled +# or disabled. + +# It does 3 builds of target +# 1st to populate sstate-cache directory and sysroot +# 2nd to rebuild each recipe with every possible +# dependency found in sysroot (which stays populated +# from 1st build +# 3rd to rebuild each recipe only with dependencies defined +# in DEPENDS +# 4th (optional) repeat build like 3rd to make sure that +# minimal versions of dependencies defined in DEPENDS +# is also enough + +# Global vars +tmpdir= +targets= +recipes= +buildhistory= +buildtype= +default_targets=world +default_buildhistory=buildhistory +default_buildtype=1 2 3 c + +usage () { + cat EOF +Welcome to utility to detect missing or autoenabled dependencies. +WARNING: this utility will completely remove your tmpdir (make sure + you don't have important buildhistory or persistent dir there). +$0 OPTION + +Options: + -h, --help +Display this help and exit. + + --tmpdir=tmpdir +Specify tmpdir, will use the environment variable TMPDIR if it is not specified. +Something like /OE/oe-core/tmp-eglibc (no / at the end). + + --targets=targets +List of targets separated by space, will use the environment variable TARGETS if it is not specified. +It will run bitbake targets to populate sysroots. +Default value is world. + + --recipes=recipes +File with list of recipes we want to rebuild with minimal and maximal sysroot. +Will use the environment variable RECIPES if it is not specified. +Default value will use all packages ever recorded in buildhistory directory. + + --buildhistory=buildhistory +Path to buildhistory directory, it needs to be enabled in your config, +because it's used to detect different dependencies and to create list +of recipes to rebuild when it's not specified. +Will use the environment variable BUILDHISTORY if it is not specified. +Default value is buildhistory + + --buildtype=buildtype +There are 4 types of build: + 1: build to populate sstate-cache directory and sysroot + 2: build to rebuild each recipe with every possible dep + 3: build to rebuild each recipe with minimal dependencies + 4: build to rebuild each recipe again with minimal dependencies + c: compare buildhistory directories from build 2 and 3 +Will use the environment variable BUILDTYPE if it is not specified. +Default value is 1 2 3 c, order is important, type 4 is optional. +EOF +} + +# Print error information and exit. +echo_error () { + echo ERROR: $1 2 + exit 1 +} + +while [ -n $1 ]; do + case $1 in +--tmpdir=*) + tmpdir=`echo $1 | sed -e 's#^--tmpdir=##' | xargs readlink -e` + [ -d $tmpdir ] || echo_error Invalid argument to --tmpdir + shift +;; +--targets=*) + targets=`echo $1 | sed -e 's#^--targets=*\([^]*\)*#\1#'` + shift +;; +--recipes=*) + recipes=`echo $1 | sed -e 's#^--recipes=*\([^]*\)*#\1#'` + shift +;; +--buildhistory=*) + buildhistory=`echo $1 | sed -e 's#^--buildhistory=*\([^]*\)*#\1#'` + shift +;; +--buildtype=*) + buildtype=`echo $1 | sed -e 's#^--buildtype=*\([^]*\)*#\1#'` + shift +;; +--help|-h) + usage + exit 0 +;; +*) + echo Invalid arguments $* + echo_error Try '$0 -h' for more information. +;; + esac +done + +# tmpdir directory, use environment variable TMPDIR +# if it was not specified, otherwise, error. +[ -n $tmpdir ] || tmpdir=$TMPDIR +[ -n $tmpdir ] || echo_error No tmpdir found! +[ -d $tmpdir ] || echo_error Invalid tmpdir \$tmpdir\ +[ -n $targets ] || targets=$TARGETS +[ -n $targets ] || targets=$default_targets +[ -n $recipes ] || recipes=$RECIPES +[ -n $recipes -a ! -f $recipes ] echo_error Invalid file with list of recipes to rebuild +[ -n $recipes ] || echo All packages ever recorded in buildhistory directory will be rebuilt +[ -n $buildhistory ] || buildhistory=$BUILDHISTORY +[ -n $buildhistory ] || buildhistory=$default_buildhistory +[ -d $buildhistory ] || echo_error Invalid buildhistory directory \$buildhistory\ +[ -n $buildtype ] || buildtype=$BUILDTYPE +[ -n $buildtype ] || buildtype=$default_buildtype +echo $buildtype | grep -v '^[1234c ]*$' echo_error Invalid buildtype \$buildtype\, only some combination of 1, 2, 3, 4, c separated by space is allowed +
Re: [OE-core] [RFC][PATCH] test-dependencies: add simple script to detect missing or autoenabled dependencies
On Sat, Jul 06, 2013 at 11:24:46PM +0200, Martin Jansa wrote: Signed-off-by: Martin Jansa martin.ja...@gmail.com --- scripts/test-dependencies.sh | 250 +++ 1 file changed, 250 insertions(+) create mode 100755 scripts/test-dependencies.sh +build_all() { + echo = 1st build to populate sstate-cache directory and sysroot = + OUTPUT1=${OUTPUT_BASE}/${TYPE}_all + mkdir -p ${OUTPUT1} + echo Logs will be stored in ${OUTPUT1} directory + bitbake $targets | tee -a ${OUTPUT1}/complete.log +} I've just added -k here to bitbake call, more improvements are expected, that's why it's only RFC, but I wanted to share it soon in case someone else also have access to some builder which is idle during weekends.. It would be nice to test and fix oe-core recipes first, but because my target is to run this in dylan I'm running this with more layers included already. I'm sending patches for master + blacklisting broken recipes in dylan, maybe we should backport them later as missing deps and autodetected deps are relatively safe fixes. Regards, -- Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com signature.asc Description: Digital signature ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCHv2 1/2] eglibc-locale: add missing dependency on virtual/${TARGET_PREFIX}binutils
On Sat, Jul 6, 2013 at 1:39 AM, Martin Jansa martin.ja...@gmail.com wrote: * eglibc-collateral.inc inhibits all default deps, but do_package needs objcopy: ERROR: objcopy failed with exit code 127 (cmd was 'i586-webos-linux-objcopy' --only-keep-debug 'eglibc-locale/2.17-r0/package/usr/lib/gconv/IBM1166.so' 'eglibc-locale/2.17-r0/package/usr/lib/gconv/.debug/IBM1166.so') ERROR: Function failed: split_and_strip_files Wouldn't it be better to add the necessary dep to the do_package[depends] in package.bbclass? -- Christopher Larson ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCHv2 1/2] eglibc-locale: add missing dependency on virtual/${TARGET_PREFIX}binutils
On Sat, Jul 06, 2013 at 03:56:59PM -0700, Chris Larson wrote: On Sat, Jul 6, 2013 at 1:39 AM, Martin Jansa martin.ja...@gmail.com wrote: * eglibc-collateral.inc inhibits all default deps, but do_package needs objcopy: ERROR: objcopy failed with exit code 127 (cmd was 'i586-webos-linux-objcopy' --only-keep-debug 'eglibc-locale/2.17-r0/package/usr/lib/gconv/IBM1166.so' 'eglibc-locale/2.17-r0/package/usr/lib/gconv/.debug/IBM1166.so') ERROR: Function failed: split_and_strip_files Wouldn't it be better to add the necessary dep to the do_package[depends] in package.bbclass? In this case yes, but what about allarch recipes, creating binutils-cross dependency in their do_package task would probably make their stamps depending on architecture. I have similar patch adding virtual/${TARGET_PREFIX}binutils in BASEDEPENDS, that won't fix this eglibc-locale (because it has INHIBIT_DEFAULT_DEPS), but it's needed in cases where gcc-cross.do_configure - binutils-cross.do_populate_sysroot is skipped when gcc-cross is reused from sstate. I'll send RFC for that one now (I was trying to debug why it also brings dependency on do_package_setscene) -- Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com signature.asc Description: Digital signature ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [RFC][PATCH 1/4] package.bbclass: move reading shlibs providers to separate function
* prepare for reading shlibs providers only from dependency tree of current recipe [YOCTO #4628] Signed-off-by: Martin Jansa martin.ja...@gmail.com --- meta/classes/package.bbclass | 43 +++ 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 5c2d1c6..d80535d 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -1337,6 +1337,28 @@ python package_do_shlibs() { # Take shared lock since we're only reading, not writing lf = bb.utils.lockfile(d.expand(${PACKAGELOCK})) +def read_shlib_providers: +list_re = re.compile('^(.*)\.list$') +# Go from least to most specific since the last one found wins +for dir in reversed(shlibs_dirs): +if not os.path.exists(dir): +continue +for file in os.listdir(dir): +m = list_re.match(file) +if m: +dep_pkg = m.group(1) +fd = open(os.path.join(dir, file)) +lines = fd.readlines() +fd.close() +ver_file = os.path.join(dir, dep_pkg + '.ver') +lib_ver = None +if os.path.exists(ver_file): +fd = open(ver_file) +lib_ver = fd.readline().rstrip() +fd.close() +for l in lines: +shlib_provider[l.rstrip()] = (dep_pkg, lib_ver) + def linux_so(file): needs_ldconfig = False cmd = d.getVar('OBJDUMP', True) + -p + pipes.quote(file) + 2/dev/null @@ -1479,26 +1501,7 @@ python package_do_shlibs() { postinst += d.getVar('ldconfig_postinst_fragment', True) d.setVar('pkg_postinst_%s' % pkg, postinst) -list_re = re.compile('^(.*)\.list$') -# Go from least to most specific since the last one found wins -for dir in reversed(shlibs_dirs): -if not os.path.exists(dir): -continue -for file in os.listdir(dir): -m = list_re.match(file) -if m: -dep_pkg = m.group(1) -fd = open(os.path.join(dir, file)) -lines = fd.readlines() -fd.close() -ver_file = os.path.join(dir, dep_pkg + '.ver') -lib_ver = None -if os.path.exists(ver_file): -fd = open(ver_file) -lib_ver = fd.readline().rstrip() -fd.close() -for l in lines: -shlib_provider[l.rstrip()] = (dep_pkg, lib_ver) +read_shlib_providers() bb.utils.unlockfile(lf) -- 1.8.2.1 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [RFC][PATCH 2/4] package.bbclass: show warning when package is trying to provide already provided shlib
* move read_shlib_providers before registering package as provider and don't change provider if it already exists, show warning instead [YOCTO #4628] Signed-off-by: Martin Jansa martin.ja...@gmail.com --- meta/classes/package.bbclass | 11 +-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index d80535d..6c3ca56 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -1341,6 +1341,7 @@ python package_do_shlibs() { list_re = re.compile('^(.*)\.list$') # Go from least to most specific since the last one found wins for dir in reversed(shlibs_dirs): +bb.debug(2, Reading shlib providers in %s % (dir)) if not os.path.exists(dir): continue for file in os.listdir(dir): @@ -1456,6 +1457,8 @@ python package_do_shlibs() { needed = {} shlib_provider = {} +read_shlib_providers() + for pkg in packages.split(): private_libs = d.getVar('PRIVATE_LIBS_' + pkg, True) or d.getVar('PRIVATE_LIBS', True) needs_ldconfig = False @@ -1487,6 +1490,12 @@ python package_do_shlibs() { if len(sonames): fd = open(shlibs_file, 'w') for s in sonames: +if s in shlib_provider: +(old_pkg, old_pkgver) = shlib_provider[s] +if old_pkg != pkg: +bb.warn('%s-%s is already registered as shlib provider for %s, ignoring %s-%s trying to register the same' % (old_pkg, old_pkgver, s, pkg, pkgver)) +continue +bb.debug(1, 'registering %s-%s as shlib provider for %s' % (pkg, pkgver, s)) fd.write(s + '\n') shlib_provider[s] = (pkg, pkgver) fd.close() @@ -1501,8 +1510,6 @@ python package_do_shlibs() { postinst += d.getVar('ldconfig_postinst_fragment', True) d.setVar('pkg_postinst_%s' % pkg, postinst) -read_shlib_providers() - bb.utils.unlockfile(lf) assumed_libs = d.getVar('ASSUME_SHLIBS', True) -- 1.8.2.1 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [RFC][PATCH 3/4] package.bbclass: add SHLIBSSEARCHDIRS to define where to search for shlib providers
* when package contains some files matching ^.*\.so, but in directory not default linker search paths (e.g. /opt/package/bundled-lib/libfoo.so) don't register it as libfoo provider, because it's possible that there is different package providing libfoo.so in ${libdir} and that would be better shlib provider for other packages to depend on * recipes providing libs intentionally in some other directory can define own SHLIBSSEARCHDIRS value [YOCTO #4628] Signed-off-by: Martin Jansa martin.ja...@gmail.com --- meta/classes/package.bbclass | 26 +++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 6c3ca56..3713fd3 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -1307,6 +1307,9 @@ SHLIBSDIRS = ${@getshlibsdirs(d)} SHLIBSDIR = ${TMPDIR}/pkgdata/${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}/shlibs SHLIBSWORKDIR = ${PKGDESTWORK}/shlibs +# default search path when searching for shlibs provided by package +SHLIBSSEARCHDIRS ?= ${baselib} ${libdir} + python package_do_shlibs() { import re, pipes @@ -1317,6 +1320,20 @@ python package_do_shlibs() { lib_re = re.compile(^.*\.so) libdir_re = re.compile(.*/%s$ % d.getVar('baselib', True)) + +shlibs_search_dirs = d.getVar('SHLIBSSEARCHDIRS', True) +shlibs_search_dirs_re_txt = +for dir in shlibs_search_dirs.split(' '): +# strip leading and trailing slash, it's added in regexp +if dir.endswith(/): +dir = dir[:-1] +if dir.startswith(/): +dir = dir[1:] +if shlibs_search_dirs_re_txt: +shlibs_search_dirs_re_txt += | +shlibs_search_dirs_re_txt += (^.*/%s/.*$) % dir +shlibs_search_dirs_re = re.compile(shlibs_search_dirs_re_txt) +bb.debug(2, will use following RE to search for provides sonames %s % shlibs_search_dirs_re_txt) packages = d.getVar('PACKAGES', True) targetos = d.getVar('TARGET_OS', True) @@ -1375,9 +1392,12 @@ python package_do_shlibs() { if m: this_soname = m.group(1) if not this_soname in sonames: -# if library is private (only used by package) then do not build shlib for it -if not private_libs or -1 == private_libs.find(this_soname): -sonames.append(this_soname) +if shlibs_search_dirs_re.match(file): +# if library is private (only used by package) then do not build shlib for it +if not private_libs or -1 == private_libs.find(this_soname): +sonames.append(this_soname) +else: +bb.debug(2, ignoring soname %s from %s, because path doesn't match %s % (this_soname, file, shlibs_search_dirs_re_txt)) if libdir_re.match(os.path.dirname(file)): needs_ldconfig = True if snap_symlinks and (os.path.basename(file) != this_soname): -- 1.8.2.1 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [RFC][PATCH 4/4] WIP: package.bbclass: add some pseudo-code to filter shlibs providers based on dependencies
* when library/binary in package foo created by recipe foo.bb is linked with library libabc.so provided by package libabc created by recipe libabc.bb doesn't record foo - libabc dependency if recipe foo doesn't depend on libabc * this should prevent non-deterministic shlibs providers when libabc metadata are changed or libabc doesn't exist anymore and foo package in sstate-cache still has libabc dependency. foo isn't rebuilt because it doesn't depend on libabc so stamps are still valid [YOCTO #4628] Signed-off-by: Martin Jansa martin.ja...@gmail.com --- meta/classes/package.bbclass | 25 + 1 file changed, 25 insertions(+) diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 3713fd3..72d5f43 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -1354,6 +1354,25 @@ python package_do_shlibs() { # Take shared lock since we're only reading, not writing lf = bb.utils.lockfile(d.expand(${PACKAGELOCK})) +# WIP: this is more like pseudo-code of what I would like to do if possible +# Should return list of packages created by recipes which have their do_package task +# in dependency_tree of pn.do_package +def get_packages_from_dependency_tree(pn): +deps = get_recipes_dependent_on_from_task(pn, do_package, do_package) +return get_package_list(deps) + +# WIP: this is more like pseudo-code of what I would like to do if possible +# Walks dependency tree of pn.task and returns list of pn acumulated from pn.task_dep found there +def get_dependency_tree(pn, task, task_dep): +# this doesn't include transitive dependencies or check for 'task' name +deps = d.getVar('DEPENDS', True) +return deps + +# WIP: this is more like pseudo-code of what I would like to do if possible +# Reads pkgdata and return list of packages created by pn +def get_package_list(pn_list): +return pn_list + def read_shlib_providers: list_re = re.compile('^(.*)\.list$') # Go from least to most specific since the last one found wins @@ -1547,6 +1566,8 @@ python package_do_shlibs() { bb.debug(2, calculating shlib requirements for %s % pkg) deps = list() +pn = d.getVar('PN', True) +allowed_deps = get_packages_from_dependency_tree(pn) for n in needed[pkg]: if n in shlib_provider.keys(): (dep_pkg, ver_needed) = shlib_provider[n] @@ -1556,6 +1577,10 @@ python package_do_shlibs() { if dep_pkg == pkg: continue +if dep_pkg not in allowed_deps: +bb.warn(Skipping dependency on %s - shared library provider for %s, because %s doesn't have any dependency on it % (dep_pkg, n, pn)) +continue + if ver_needed: dep = %s (= %s) % (dep_pkg, ver_needed) else: -- 1.8.2.1 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [RFC][PATCH] SHLIBSSEARCHDIRS
--- meta/classes/package.bbclass | 17 - 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 3f2deca..55035b5 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -1322,11 +1322,18 @@ python package_do_shlibs() { libdir_re = re.compile(.*/%s$ % d.getVar('baselib', True)) shlibs_search_dirs = d.getVar('SHLIBSSEARCHDIRS', True) -for dir in shlibs_search_dirs: +shlibs_search_dirs_re_txt = +for dir in shlibs_search_dirs.split(' '): +# strip leading and trailing slash, it's added in regexp +if dir.endswith(/): +dir = dir[:-1] +if dir.startswith(/): +dir = dir[1:] if shlibs_search_dirs_re: -shlibs_search_dirs_re += \| -shlibs_search_dirs_re += \(^.*\/%s\/.*$\) % dir -bb.debug(2, will use following RE to search for provides sonames %s % shlibs_search_dirs) +shlibs_search_dirs_re_txt += \| +shlibs_search_dirs_re_txt += \(^.*/%s/.*$\) % dir +shlibs_search_dirs_re = re.compile(shlibs_search_dirs_re_txt) +bb.debug(2, will use following RE to search for provides sonames %s % shlibs_search_dirs_re_txt) packages = d.getVar('PACKAGES', True) targetos = d.getVar('TARGET_OS', True) @@ -1389,7 +1396,7 @@ python package_do_shlibs() { if not private_libs or -1 == private_libs.find(this_soname): sonames.append(this_soname) else: -bb.debug(2, ignoring soname %s from %s, because path doesn't match %s % (this_soname, file, shlibs_search_dirs)) +bb.debug(2, ignoring soname %s from %s, because path doesn't match %s % (this_soname, file, shlibs_search_dirs_re_txt)) if libdir_re.match(os.path.dirname(file)): needs_ldconfig = True if snap_symlinks and (os.path.basename(file) != this_soname): -- 1.8.2.1 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [RFC][PATCH] base.bbclass: add binutils to BASEDEPENDS
* when gcc-cross is reused from the sstate cache then gcc-cross's dependency on binutils-cross.do_populate_sysroot is ignored due to being in the safe dependency list in setscene_depvalid * many packages still require binutils-cross.do_populate_sysroot to be executed before their do_configure (or do_compile) * usually some other recipe runs do_package task (which also require binutils-cross.do_populate_sysroot, before do_configure is executed * rebuilding one recipe with everything else reused from sstate-cache before: $ grep binutils-cross log NOTE: Running setscene task 251 of 412 (oe-core/meta/recipes-devtools/binutils/binutils-cross_2.23.1.bb, do_package_write_ipk_setscene) NOTE: recipe binutils-cross-2.23.1-r3: task do_package_write_ipk_setscene: Started NOTE: recipe binutils-cross-2.23.1-r3: task do_package_write_ipk_setscene: Succeeded NOTE: Running setscene task 254 of 412 (oe-core/meta/recipes-devtools/binutils/binutils-cross_2.23.1.bb, do_packagedata_setscene) NOTE: recipe binutils-cross-2.23.1-r3: task do_packagedata_setscene: Started NOTE: recipe binutils-cross-2.23.1-r3: task do_packagedata_setscene: Succeeded NOTE: Running noexec task 209 of 1157 (ID: 530, oe-core/meta/recipes-devtools/binutils/binutils-cross_2.23.1.bb, do_package_write) after: $ grep binutils-cross log2 NOTE: Running setscene task 216 of 412 (oe-core/meta/recipes-devtools/binutils/binutils-cross_2.23.1.bb, do_package_write_ipk_setscene) NOTE: recipe binutils-cross-2.23.1-r3: task do_package_write_ipk_setscene: Started NOTE: recipe binutils-cross-2.23.1-r3: task do_package_write_ipk_setscene: Succeeded NOTE: Running setscene task 341 of 412 (oe-core/meta/recipes-devtools/binutils/binutils-cross_2.23.1.bb, do_packagedata_setscene) NOTE: recipe binutils-cross-2.23.1-r3: task do_packagedata_setscene: Started NOTE: recipe binutils-cross-2.23.1-r3: task do_packagedata_setscene: Succeeded NOTE: Running setscene task 344 of 412 (oe-core/meta/recipes-devtools/binutils/binutils-cross_2.23.1.bb, do_package_setscene) NOTE: recipe binutils-cross-2.23.1-r3: task do_package_setscene: Started NOTE: recipe binutils-cross-2.23.1-r3: task do_package_setscene: Succeeded NOTE: Running setscene task 389 of 412 (oe-core/meta/recipes-devtools/binutils/binutils-cross_2.23.1.bb, do_populate_sysroot_setscene) NOTE: recipe binutils-cross-2.23.1-r3: task do_populate_sysroot_setscene: Started NOTE: recipe binutils-cross-2.23.1-r3: task do_populate_sysroot_setscene: Succeeded NOTE: Running noexec task 187 of 1157 (ID: 108, oe-core/meta/recipes-devtools/binutils/binutils-cross_2.23.1.bb, do_package_write) Signed-off-by: Martin Jansa martin.ja...@gmail.com --- meta/classes/base.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 27edea8..4383d2e 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -72,7 +72,7 @@ def base_dep_prepend(d): # the application. if not d.getVar('INHIBIT_DEFAULT_DEPS'): if (d.getVar('HOST_SYS', True) != d.getVar('BUILD_SYS', True)): -deps += virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}compilerlibs virtual/libc +deps += virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}compilerlibs virtual/${TARGET_PREFIX}binutils virtual/libc return deps BASEDEPENDS = ${@base_dep_prepend(d)} -- 1.8.2.1 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [RFC][PATCH] SHLIBSSEARCHDIRS
On Sun, Jul 07, 2013 at 01:15:54AM +0200, Martin Jansa wrote: --- meta/classes/package.bbclass | 17 - 1 file changed, 12 insertions(+), 5 deletions(-) Ignore this one, wrong git revision passed to send-email.. -- Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com signature.asc Description: Digital signature ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCHv2 1/2] eglibc-locale: add missing dependency on virtual/${TARGET_PREFIX}binutils
On Sat, Jul 6, 2013 at 4:08 PM, Martin Jansa martin.ja...@gmail.com wrote: In this case yes, but what about allarch recipes, creating binutils-cross dependency in their do_package task would probably make their stamps depending on architecture. def get_binutils_dep(d): if 'target' in d.getVar('OVERRIDES', True).split(): return d.expand('virtual/${TARGET_PREFIX}binutils') else: return '' do_package[depends] += ${@get_binutils_dep(d)} -- Christopher Larson clarson at kergoth dot com Founder - BitBake, OpenEmbedded, OpenZaurus Maintainer - Tslib Senior Software Engineer, Mentor Graphics ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCHv2 1/2] eglibc-locale: add missing dependency on virtual/${TARGET_PREFIX}binutils
On Sat, Jul 06, 2013 at 04:20:00PM -0700, Chris Larson wrote: On Sat, Jul 6, 2013 at 4:08 PM, Martin Jansa martin.ja...@gmail.com wrote: In this case yes, but what about allarch recipes, creating binutils-cross dependency in their do_package task would probably make their stamps depending on architecture. def get_binutils_dep(d): if 'target' in d.getVar('OVERRIDES', True).split(): return d.expand('virtual/${TARGET_PREFIX}binutils') else: return '' do_package[depends] += ${@get_binutils_dep(d)} class-target will be in recipes which inherits allarch that code should also respect EXCLUDE_FROM_SHLIBS INHIBIT_PACKAGE_DEBUG_SPLIT INHIBIT_PACKAGE_STRIP flags I think objcopy is needed only with some combination of these. With binutils-cross in BASEDEPENDS I don't know how many recipes will need do_package - binutils-cross.do_populate_sysroot, maybe just this one eglibc-locale... -- Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com signature.asc Description: Digital signature ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 0/1] linux-yocto: update 3.4 to latest -stable
Saul/patch collectors, Here's an update of the 3.4 SRCREVs for the latest 3.4.52 -stable version. Build and boot tested here for linux-yocto and linux-yocto-rt. Cheers, Bruce The following changes since commit dc86293f0444384e8ae5131fdd10b6cb077164b0: bitbake: HOB:Proper handle of SIGINT (2013-07-05 15:52:48 +0100) are available in the git repository at: git://git.pokylinux.org/poky-contrib zedd/kernel-oe http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/kernel-oe Bruce Ashfield (1): linux-yocto/3.4: update to v3.4.52 meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb |8 meta/recipes-kernel/linux/linux-yocto-tiny_3.4.bb |6 +++--- meta/recipes-kernel/linux/linux-yocto_3.4.bb | 16 3 files changed, 15 insertions(+), 15 deletions(-) -- 1.7.10.4 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/1] linux-yocto/3.4: update to v3.4.52
Updating the 3.4 kernel to the latest korg -stable release. Signed-off-by: Bruce Ashfield bruce.ashfi...@windriver.com --- meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb |8 meta/recipes-kernel/linux/linux-yocto-tiny_3.4.bb |6 +++--- meta/recipes-kernel/linux/linux-yocto_3.4.bb | 16 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb b/meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb index 1655da8..5e50cde 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb @@ -3,14 +3,14 @@ require recipes-kernel/linux/linux-yocto.inc KBRANCH = standard/preempt-rt/base KBRANCH_qemuppc = standard/preempt-rt/qemuppc -LINUX_VERSION ?= 3.4.46 +LINUX_VERSION ?= 3.4.52 LINUX_KERNEL_TYPE = preempt-rt KMETA = meta -SRCREV_machine ?= 2a1d3b50a2889587d0fed92ccb09051a9e300735 -SRCREV_machine_qemuppc ?= 0168221d2c818898b69890624e1aacbb8ec1aea9 -SRCREV_meta ?= 9473a39c59bf9c07a316486d272652bacb9ad3ac +SRCREV_machine ?= 1a7a6b495dd6f68e3e2a8a716ceabd283da7f480 +SRCREV_machine_qemuppc ?= 0ce0666df1e29a74ccfd65bbcf8286b2e632cc3f +SRCREV_meta ?= 7250de4d4afc2558082cd42b8a0d151903436e8f PR = ${INC_PR}.1 PV = ${LINUX_VERSION}+git${SRCPV} diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_3.4.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_3.4.bb index b69d9d5..a61fe70 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_3.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_3.4.bb @@ -8,12 +8,12 @@ KBRANCH = ${KBRANCH_DEFAULT} LINUX_KERNEL_TYPE = tiny KCONFIG_MODE = --allnoconfig -LINUX_VERSION ?= 3.4.46 +LINUX_VERSION ?= 3.4.52 KMETA = meta -SRCREV_machine ?= 778950f1e0b5c5af7e92c43220c3c4f4e3324cb5 -SRCREV_meta ?= 9473a39c59bf9c07a316486d272652bacb9ad3ac +SRCREV_machine ?= cdd7a546922ca1c46c94adeec3b9c90dc9aaad2d +SRCREV_meta ?= 7250de4d4afc2558082cd42b8a0d151903436e8f PR = ${INC_PR}.1 PV = ${LINUX_VERSION}+git${SRCPV} diff --git a/meta/recipes-kernel/linux/linux-yocto_3.4.bb b/meta/recipes-kernel/linux/linux-yocto_3.4.bb index ae10448..beb67ee 100644 --- a/meta/recipes-kernel/linux/linux-yocto_3.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto_3.4.bb @@ -3,17 +3,17 @@ require recipes-kernel/linux/linux-yocto.inc KBRANCH_DEFAULT = standard/base KBRANCH = ${KBRANCH_DEFAULT} -SRCREV_machine_qemuarm ?= ccc8f93d42a56511b8867ff3eeba76290309bc2c -SRCREV_machine_qemumips ?= 23607b7f3ca690d62a43c58b8358fa5b75c55b2a -SRCREV_machine_qemuppc ?= d48004092883cfdee8a5092b375ac635742c39cb -SRCREV_machine_qemux86 ?= 778950f1e0b5c5af7e92c43220c3c4f4e3324cb5 -SRCREV_machine_qemux86-64 ?= 778950f1e0b5c5af7e92c43220c3c4f4e3324cb5 -SRCREV_machine ?= 778950f1e0b5c5af7e92c43220c3c4f4e3324cb5 -SRCREV_meta ?= 9473a39c59bf9c07a316486d272652bacb9ad3ac +SRCREV_machine_qemuarm ?= 89c1e24271fba1c235959cb96c91dba98c542821 +SRCREV_machine_qemumips ?= 99e87eb8b1e985eb6addf7590c4e837ff7c7e873 +SRCREV_machine_qemuppc ?= 62f5c50609c93c5b70736a4374cee8075ab82566 +SRCREV_machine_qemux86 ?= cdd7a546922ca1c46c94adeec3b9c90dc9aaad2d +SRCREV_machine_qemux86-64 ?= cdd7a546922ca1c46c94adeec3b9c90dc9aaad2d +SRCREV_machine ?= cdd7a546922ca1c46c94adeec3b9c90dc9aaad2d +SRCREV_meta ?= 7250de4d4afc2558082cd42b8a0d151903436e8f SRC_URI = git://git.yoctoproject.org/linux-yocto-3.4.git;protocol=git;bareclone=1;branch=${KBRANCH},${KMETA};name=machine,meta -LINUX_VERSION ?= 3.4.46 +LINUX_VERSION ?= 3.4.52 PR = ${INC_PR}.5 PV = ${LINUX_VERSION}+git${SRCPV} -- 1.7.10.4 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core