Re: [OE-core] [RFC PATCH V2] base.bbclass: show git summary in BUILDCFG_HEADER
On 06/28/2014 10:32 AM, Robert Yang wrote: It was: meta meta-yocto meta-yocto-bsp= master:3a054dc27067efaae9150b465298d9c45d728f85 Now: meta meta-yocto meta-yocto-bsp= master:3a054dc base.bbclass: show git summary in BUILDCFG_HEADER Any objections on this patch, please ? Or I will send a regular patch. // Robert The benefit is that we can easily know the top commit info rather than query it again in the git repo. Signed-off-by: Robert Yang liezhi.y...@windriver.com --- meta/classes/base.bbclass |2 +- meta/classes/metadata_scm.bbclass |6 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index c0d2c8ec8..f5abb88 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -244,7 +244,7 @@ def get_layers_branch_rev(d): layers = (d.getVar(BBLAYERS, True) or ).split() layers_branch_rev = [%-17s = \%s:%s\ % (os.path.basename(i), \ base_get_metadata_git_branch(i, None).strip(), \ -base_get_metadata_git_revision(i, None)) \ +base_get_metadata_git_revision_and_summary(i, None)) \ for i in layers] i = len(layers_branch_rev)-1 p1 = layers_branch_rev[i].find(=) diff --git a/meta/classes/metadata_scm.bbclass b/meta/classes/metadata_scm.bbclass index ba0edf9..dace653 100644 --- a/meta/classes/metadata_scm.bbclass +++ b/meta/classes/metadata_scm.bbclass @@ -80,3 +80,9 @@ def base_get_metadata_git_revision(path, d): return rev return unknown +def base_get_metadata_git_revision_and_summary(path, d): +f = os.popen(cd %s; git log -n 1 --abbrev-commit --pretty=oneline -- 21 % path) +data = f.readline() +if f.close() is None: +return data.rstrip() +return unknown -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/3] lib/oe/image.py: check the rootfs size against IMAGE_ROOTFS_MAXSIZE
* Check the rootfs size against IMAGE_ROOTFS_MAXSIZE (if set) * Add comments for IMAGE_ROOTFS_SIZE to not confuse with IMAGE_ROOTFS_MAXSIZE [YOCTO #2610] Signed-off-by: Robert Yang liezhi.y...@windriver.com --- meta/conf/bitbake.conf |4 meta/lib/oe/image.py |8 2 files changed, 12 insertions(+) diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 311e9a0..f4870d5 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -688,6 +688,10 @@ IMAGE_FSTYPES ?= tar.gz INITRAMFS_FSTYPES ?= cpio.gz DEFAULT_TASK_PROVIDER ?= packagegroup-base MACHINE_TASK_PROVIDER ?= ${DEFAULT_TASK_PROVIDER} + +# The size in Kbytes for the generated image if it is larger than +# the required size (du -ks IMAGE_ROOTFS * IMAGE_OVERHEAD_FACTOR), +# and no effect if less than it. IMAGE_ROOTFS_SIZE ?= 65536 # Forcefully set CACHE now so future changes to things like diff --git a/meta/lib/oe/image.py b/meta/lib/oe/image.py index c9b9033..354a676 100644 --- a/meta/lib/oe/image.py +++ b/meta/lib/oe/image.py @@ -144,6 +144,7 @@ class Image(ImageDepGraph): overhead_factor = float(self.d.getVar('IMAGE_OVERHEAD_FACTOR', True)) rootfs_req_size = int(self.d.getVar('IMAGE_ROOTFS_SIZE', True)) rootfs_extra_space = eval(self.d.getVar('IMAGE_ROOTFS_EXTRA_SPACE', True)) +rootfs_maxsize = self.d.getVar('IMAGE_ROOTFS_MAXSIZE', True) output = subprocess.check_output(['du', '-ks', self.d.getVar('IMAGE_ROOTFS', True)]) @@ -158,6 +159,13 @@ class Image(ImageDepGraph): base_size += rootfs_alignment - 1 base_size -= base_size % rootfs_alignment +# Check the rootfs size against IMAGE_ROOTFS_MAXSIZE (if set) +if rootfs_maxsize: +rootfs_maxsize_int = int(rootfs_maxsize) +if base_size rootfs_maxsize_int: +bb.fatal(The rootfs size %d(K) overrides the max size %d(K) % \ +(base_size, rootfs_maxsize_int)) + return base_size def _create_symlinks(self, subimages): -- 1.7.9.5 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/3] kernel.bbclass: update KERNEL_IMAGE_MAXSIZE
* Make KERNEL_IMAGE_MAXSIZE and IMAGE_ROOTFS_SIZE have the same algorithm: - Use Kbytes as the unit since we use this in other codes. - Use du rather than ls to figure out the size since we use this in image.py. [YOCTO #2610] Signed-off-by: Robert Yang liezhi.y...@windriver.com --- meta/classes/kernel.bbclass |9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index f5d7258..b2e9d4c 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -422,10 +422,13 @@ addtask do_strip before do_sizecheck after do_kernel_link_vmlinux # with a fixed length or there is a limit in transferring the kernel to memory do_sizecheck() { if [ ! -z ${KERNEL_IMAGE_MAXSIZE} ]; then - cd ${B} - size=`ls -lL ${KERNEL_OUTPUT} | awk '{ print $5}'` + invalid=`echo ${KERNEL_IMAGE_MAXSIZE} | sed 's/[0-9]//g'` + if [ -n $invalid ]; then + die Invalid KERNEL_IMAGE_MAXSIZE: ${KERNEL_IMAGE_MAXSIZE}, should be an integerx (The unit is Kbytes) + fi + size=`du -ks ${B}/${KERNEL_OUTPUT} | awk '{ print $1}'` if [ $size -ge ${KERNEL_IMAGE_MAXSIZE} ]; then - die This kernel (size=$size ${KERNEL_IMAGE_MAXSIZE}) is too big for your device. Please reduce the size of the kernel by making more of it modular. + die This kernel (size=$size(K) ${KERNEL_IMAGE_MAXSIZE}(K)) is too big for your device. Please reduce the size of the kernel by making more of it modular. fi fi } -- 1.7.9.5 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 0/3] meta: check IMAGE_ROOTFS_MAXSIZE and KERNEL_IMAGE_MAXSIZE (if set)
The following changes since commit c452b098b4c021d4cbeddf5bf13f7fd9b1cc9224: Revert meta-yocto-bsp: oeqa/controllers: add GrubTarget (2014-07-04 08:45:10 +0100) are available in the git repository at: git://git.openembedded.org/openembedded-core-contrib rbt/size http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/size Robert Yang (3): lib/oe/image.py: check the rootfs size against IMAGE_ROOTFS_MAXSIZE kernel.bbclass: update KERNEL_IMAGE_MAXSIZE local.conf.sample.extended: add KERNEL_IMAGE_MAXSIZE and IMAGE_ROOTFS_MAXSIZE meta/classes/kernel.bbclass |9 ++--- meta/conf/bitbake.conf |4 meta/conf/local.conf.sample.extended |8 meta/lib/oe/image.py |8 4 files changed, 26 insertions(+), 3 deletions(-) -- 1.7.9.5 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 3/3] local.conf.sample.extended: add KERNEL_IMAGE_MAXSIZE and IMAGE_ROOTFS_MAXSIZE
[YOCTO #2610] Signed-off-by: Robert Yang liezhi.y...@windriver.com --- meta/conf/local.conf.sample.extended |8 1 file changed, 8 insertions(+) diff --git a/meta/conf/local.conf.sample.extended b/meta/conf/local.conf.sample.extended index b156319..4bd33a2 100644 --- a/meta/conf/local.conf.sample.extended +++ b/meta/conf/local.conf.sample.extended @@ -331,3 +331,11 @@ # feed layout is used where package files are placed in outdir/arch/. # #IPK_HIERARCHICAL_FEED = 1 + +# Checks the kernel image size against KERNEL_IMAGE_MAXSIZE (The unit is +# Kbytes) +#KERNEL_IMAGE_MAXSIZE = 8192 +# +# Check the rootfs size against IMAGE_ROOTFS_MAXSIZE (The unit is +# Kbytes) +#IMAGE_ROOTFS_MAXSIZE = 65536 -- 1.7.9.5 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] gconf: fix multilib conflict - org.gnome.GConf.service
On 5 July 2014 07:06, Ming Liu ming@windriver.com wrote: error: file /usr/share/dbus-1/services/org.gnome.GConf.service from install of gconf-3.2.6-r0.0.lib32_x86 conflicts with file from package gconf-3.2.6-r0.0.x86_64 Your patch doesn't move the file that is conflicting so it won't help... As you'll only ever install a single instance of the binaries, the correct fix would be to split the ML-appropriate libraries into a libgconf, but leave the DBus service and tools in the main package. Then multilib images can install lib32gconf, lib64gconf, and gconf. Ross -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [RFC PATCH V2] base.bbclass: show git summary in BUILDCFG_HEADER
On Mon, 2014-07-07 at 17:33 +0800, Robert Yang wrote: On 06/28/2014 10:32 AM, Robert Yang wrote: It was: meta meta-yocto meta-yocto-bsp= master:3a054dc27067efaae9150b465298d9c45d728f85 Now: meta meta-yocto meta-yocto-bsp= master:3a054dc base.bbclass: show git summary in BUILDCFG_HEADER Any objections on this patch, please ? Or I will send a regular patch. Being able to find the full sha1 can be useful and is something I use periodical but I also understand why you want more information here. So I have mixed feelings on it... Cheers, Richard -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [RFC PATCH V2] base.bbclass: show git summary in BUILDCFG_HEADER
On 07/07/2014 05:54 PM, Richard Purdie wrote: On Mon, 2014-07-07 at 17:33 +0800, Robert Yang wrote: On 06/28/2014 10:32 AM, Robert Yang wrote: It was: meta meta-yocto meta-yocto-bsp= master:3a054dc27067efaae9150b465298d9c45d728f85 Now: meta meta-yocto meta-yocto-bsp= master:3a054dc base.bbclass: show git summary in BUILDCFG_HEADER Any objections on this patch, please ? Or I will send a regular patch. Being able to find the full sha1 can be useful and is something I use periodical but I also understand why you want more information here. Thanks, let's drop the patch since the full sha1 is useful. // Robert So I have mixed feelings on it... Cheers, Richard -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] gconf: fix multilib conflict - org.gnome.GConf.service
On 07/07/2014 05:40 PM, Burton, Ross wrote: On 5 July 2014 07:06, Ming Liu ming@windriver.com wrote: error: file /usr/share/dbus-1/services/org.gnome.GConf.service from install of gconf-3.2.6-r0.0.lib32_x86 conflicts with file from package gconf-3.2.6-r0.0.x86_64 Your patch doesn't move the file that is conflicting so it won't help... As you'll only ever install a single instance of the binaries, the correct fix would be to split the ML-appropriate libraries into a libgconf, but leave the DBus service and tools in the main package. Then multilib images can install lib32gconf, lib64gconf, and gconf. Hi, Ross: I got your point, but my patch was not tring to address the conflict of binaries or libraries, that kind of conflicts would not cause build error, as you pointed out, only ever a single instance be installed at one time. It's actually tring to fix a conflict of conf file, if the gconfd-2 is put into libexec directory, we have to keep a path like /usr/lib64/gconf/gconfd-2(or /usr/lib/gconf/gconfd-2 in lib32 case) referring it in /usr/share/dbus-1/services/org.gnome.GConf.service which will cause the conflict. the best, thank you Ross -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] gconf: fix multilib conflict - org.gnome.GConf.service
On 7 July 2014 11:07, Ming Liu ming@windriver.com wrote: I got your point, but my patch was not tring to address the conflict of binaries or libraries, that kind of conflicts would not cause build error, as you pointed out, only ever a single instance be installed at one time. It's actually tring to fix a conflict of conf file, if the gconfd-2 is put into libexec directory, we have to keep a path like /usr/lib64/gconf/gconfd-2(or /usr/lib/gconf/gconfd-2 in lib32 case) referring it in /usr/share/dbus-1/services/org.gnome.GConf.service which will cause the conflict. So why did the commit message talk about /usr/share/dbus-1/services/GConf.service conflicting between installation, and how will your patch fix that error? As far as I can tell ${datadir} isn't in the MULTILIBRE_ALLOW_REP so they'll still conflict, right? I still think that splitting up the gconf package into library and tooling is the logical solution. Ross -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] sanity.bbclass: Update minimum git version to 1.7.8
Hi, On Fri, Jul 04, 2014 at 11:49:50AM +0100, Richard Purdie wrote: To quote Maxin B. John maxin.j...@enea.com: git version 1.7.8 added the --list option to git-branch. Since we depend on this option in git.py, the minimum requiremnt for git should be updated to Git 1.7.8+ Signed-off-by: Richard Purdie richard.pur...@linuxfoundation.org diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass index 4b42b17..ed65814 100644 --- a/meta/classes/sanity.bbclass +++ b/meta/classes/sanity.bbclass @@ -386,15 +386,15 @@ def check_tar_version(sanity_data): return Your version of tar is older than 1.24 and has bugs which will break builds. Please install a newer version of tar.\n return None -# We use git parameters and functionality only found in 1.7.5 or later +# We use git parameters and functionality only found in 1.7.8 or later def check_git_version(sanity_data): from distutils.version import LooseVersion status, result = oe.utils.getstatusoutput(git --version 2 /dev/null) if status != 0: return Unable to execute git --version, exit code %s\n % status version = result.split()[2] -if LooseVersion(version) LooseVersion(1.7.5): -return Your version of git is older than 1.7.5 and has bugs which will break builds. Please install a newer version of git.\n +if LooseVersion(version) LooseVersion(1.7.8): +return Your version of git is older than 1.7.8 and has bugs which will break builds. Please install a newer version of git.\n return None # Check the required perl modules which may not be installed by default Ah, I missed this part. Thanks for updating it! Reviewed-by: Maxin B. John maxin.j...@enea.com Best Regards, Maxin -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/2] xserver-xorg: add PACKAGECONFIG for libunwind
The automatic detection of libunwind causes non-deterministic builds, so add a PACKAGECONFIG option for it. Signed-off-by: Ross Burton ross.bur...@intel.com --- meta/recipes-graphics/xorg-xserver/xserver-xorg.inc |1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc index b9b9ac4..48ab347 100644 --- a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc @@ -122,6 +122,7 @@ PACKAGECONFIG[dri] = --enable-dri,--disable-dri,glproto virtual/mesa xf86dripro PACKAGECONFIG[dri2] = --enable-dri2,--disable-dri2,dri2proto PACKAGECONFIG[dri3] = --enable-dri3,--disable-dri3,dri3proto libxshmfence PACKAGECONFIG[glx] = --enable-glx --enable-glx-tls,--disable-glx,glproto virtual/libgl virtual/libx11 +PACKAGECONFIG[unwind] = --enable-libunwind,--disable-libunwind,libunwind do_install_append () { # Its assumed base-files creates this for us -- 1.7.10.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] what's the rationale for libpcre_8.35 PROVIDING pcre?
i might be overthinking this, but ive noticed a number of lib* recipe files that PROVIDE the shorter name. case in point -- in the current oe-core, the recipe file libpcre_8.35.bb explicitly does this: PROVIDES += pcre is there a reason for this, other than the obvious allowing to use the shorter name? i did notice that, although the name libpcre suggests a shared library, the recipe file clearly creates a number of packages, including some that provide command-line utilities: PACKAGES =+ libpcrecpp libpcreposix pcregrep pcregrep-doc pcretest pcretest-doc so is there anything to this occasional lib* renaming, other than brevity? thanks. rday -- Robert P. J. Day Ottawa, Ontario, CANADA http://crashcourse.ca Twitter: http://twitter.com/rpjday LinkedIn: http://ca.linkedin.com/in/rpjday -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH][xserver 1/2] xserver-xorg: add PACKAGECONFIG for libunwind
The automatic detection of libunwind causes non-deterministic builds, so add a PACKAGECONFIG option for it. Signed-off-by: Ross Burton ross.bur...@intel.com --- meta/recipes-graphics/xorg-xserver/xserver-xorg.inc |1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc index b9b9ac4..48ab347 100644 --- a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc @@ -122,6 +122,7 @@ PACKAGECONFIG[dri] = --enable-dri,--disable-dri,glproto virtual/mesa xf86dripro PACKAGECONFIG[dri2] = --enable-dri2,--disable-dri2,dri2proto PACKAGECONFIG[dri3] = --enable-dri3,--disable-dri3,dri3proto libxshmfence PACKAGECONFIG[glx] = --enable-glx --enable-glx-tls,--disable-glx,glproto virtual/libgl virtual/libx11 +PACKAGECONFIG[unwind] = --enable-libunwind,--disable-libunwind,libunwind do_install_append () { # Its assumed base-files creates this for us -- 1.7.10.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH][xserver 2/2] xserver-xorg: fix xshmfence autodetection
Let's just pretend I didn't put [xserver] in the subject, that was intended for the xorg-devel list... :) Ross -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH][xserver 2/2] xserver-xorg: fix xshmfence autodetection
Add a PACKAGECONFIG for xshmfence. If DRI3 is enabled, xshmfence also needs to be enabled. [ YOCTO #6507 ] Signed-off-by: Ross Burton ross.bur...@intel.com --- .../recipes-graphics/xorg-xserver/xserver-xorg.inc |4 +- .../xserver-xorg/xshmfence-option.patch| 55 .../xorg-xserver/xserver-xorg_1.15.1.bb|1 + 3 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-graphics/xorg-xserver/xserver-xorg/xshmfence-option.patch diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc index 48ab347..8b5747e 100644 --- a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc @@ -120,9 +120,11 @@ PACKAGECONFIG ??= udev ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri d PACKAGECONFIG[udev] = --enable-config-udev,--disable-config-udev,udev PACKAGECONFIG[dri] = --enable-dri,--disable-dri,glproto virtual/mesa xf86driproto PACKAGECONFIG[dri2] = --enable-dri2,--disable-dri2,dri2proto -PACKAGECONFIG[dri3] = --enable-dri3,--disable-dri3,dri3proto libxshmfence +# DRI3 requires xshmfence to also be enabled +PACKAGECONFIG[dri3] = --enable-dri3,--disable-dri3,dri3proto PACKAGECONFIG[glx] = --enable-glx --enable-glx-tls,--disable-glx,glproto virtual/libgl virtual/libx11 PACKAGECONFIG[unwind] = --enable-libunwind,--disable-libunwind,libunwind +PACKAGECONFIG[xshmfence] = --enable-xshmfence,--disable-xshmfence,libxshmfence do_install_append () { # Its assumed base-files creates this for us diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg/xshmfence-option.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg/xshmfence-option.patch new file mode 100644 index 000..55e0913 --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg/xshmfence-option.patch @@ -0,0 +1,55 @@ +Upstream-Status: Submitted +Signed-off-by: Ross Burton ross.bur...@intel.com + +commit 1affe20d5c82befc3b1626e557409dab5343c47b +Author: Ross Burton ross.bur...@intel.com +Date: Mon Jul 7 12:53:35 2014 +0100 + +configure.ac: add option for xshmfence + +xshmfence is usable outside of DRI3, and is currently autodetected which isn't +good for distributions where deterministic builds are aspired to. + +Signed-off-by: Ross Burton ross.bur...@intel.com + +diff --git a/configure.ac b/configure.ac +index 2daa6be..fd1cf3f 100644 +--- a/configure.ac b/configure.ac +@@ -648,6 +648,7 @@ AC_ARG_ENABLE(kdrive-kbd, AS_HELP_STRING([--enable-kdrive-kbd], [Build kbd d + AC_ARG_ENABLE(kdrive-mouse, AS_HELP_STRING([--enable-kdrive-mouse], [Build mouse driver for kdrive (default: auto)]), [KDRIVE_MOUSE=$enableval], [KDRIVE_MOUSE=auto]) + AC_ARG_ENABLE(kdrive-evdev, AS_HELP_STRING([--enable-kdrive-evdev], [Build evdev driver for kdrive (default: auto)]), [KDRIVE_EVDEV=$enableval], [KDRIVE_EVDEV=auto]) + AC_ARG_ENABLE(libunwind, AS_HELP_STRING([--enable-libunwind], [Use libunwind for backtracing (default: auto)]), [LIBUNWIND=$enableval], [LIBUNWIND=auto]) ++AC_ARG_ENABLE(xshmfence, AS_HELP_STRING([--disable-xshmfence], [Disable xshmfence (default: auto)]), [WANT_XSHMFENCE=$enableval], [WANT_XSHMFENCE=auto]) + + + dnl chown/chmod to be setuid root as part of build +@@ -1235,18 +1236,19 @@ esac + + AM_CONDITIONAL(BUSFAULT, test x$BUSFAULT = xyes) + +-PKG_CHECK_MODULES([XSHMFENCE], $XSHMFENCE, +-[HAVE_XSHMFENCE=yes], [HAVE_XSHMFENCE=no]) ++HAVE_XSHMFENCE=no ++if test x$WANT_XSHMFENCE != xno; then ++ PKG_CHECK_MODULES([XSHMFENCE], $XSHMFENCE, ++[HAVE_XSHMFENCE=yes], [HAVE_XSHMFENCE=no]) + ++ if test $WANT_XSHMFENCE,$HAVE_XSHMFENCE = yes,no; then ++ AC_MSG_ERROR([libxshmfence requested but not found.]) ++ fi ++ AC_DEFINE(HAVE_XSHMFENCE, 1, [Have X Shared Memory Fence library]) ++ REQUIRED_LIBS=$REQUIRED_LIBS xshmfence ++fi + AM_CONDITIONAL(XSHMFENCE, test x$HAVE_XSHMFENCE = xyes) + +-case x$HAVE_XSHMFENCE in +- xyes) +- AC_DEFINE(HAVE_XSHMFENCE, 1, [Have X Shared Memory Fence library]) +- REQUIRED_LIBS=$REQUIRED_LIBS xshmfence +- ;; +-esac +- + + case $DRI3,$HAVE_XSHMFENCE in + yes,yes | auto,yes) diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.15.1.bb b/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.15.1.bb index 6a4168e..22ac604 100644 --- a/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.15.1.bb +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.15.1.bb @@ -6,6 +6,7 @@ SRC_URI += file://crosscompile.patch \ file://mips64-compiler.patch \ file://aarch64.patch \ file://xorg-CVE-2013-6424.patch \ +file://xshmfence-option.patch \ SRC_URI[md5sum] = e4c70262ed89764be8f8f5d699ed9227 -- 1.7.10.4 -- ___ Openembedded-core
[OE-core] [PATCH] binconfig-disabled: add a default value and comment for BINCONFIG
To avoid syntax errors when inheriting this class without setting BINCONFIG, add a default value and a comment. Signed-off-by: Ross Burton ross.bur...@intel.com --- meta/classes/binconfig-disabled.bbclass |3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/classes/binconfig-disabled.bbclass b/meta/classes/binconfig-disabled.bbclass index 1308358..27f904e 100644 --- a/meta/classes/binconfig-disabled.bbclass +++ b/meta/classes/binconfig-disabled.bbclass @@ -2,6 +2,9 @@ # Class to disable binconfig files instead of installing them # +# The list of scripts which should be disabled. +BINCONFIG ?= + FILES_${PN}-dev += ${bindir}/*-config do_install_append () { -- 1.7.10.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 0/2] Ofono and BlueZ5 upgrades
The following changes since commit a5531a2b8983318b99c119a87b78a92cf84160b8: bitbake: fetch2/svn: Add transportuser parameter (2014-07-04 09:28:36 +0100) are available in the git repository at: git://git.yoctoproject.org/poky-contrib ciorga/PUs http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=ciorga/PUs Cristian Iorga (2): bluez5: upgrade to 5.21 ofono: upgrade to 1.15 meta/recipes-connectivity/bluez5/bluez5_5.20.bb | 3 --- meta/recipes-connectivity/bluez5/bluez5_5.21.bb | 3 +++ meta/recipes-connectivity/ofono/{ofono_1.14.bb = ofono_1.15.bb} | 6 ++ 3 files changed, 5 insertions(+), 7 deletions(-) delete mode 100644 meta/recipes-connectivity/bluez5/bluez5_5.20.bb create mode 100644 meta/recipes-connectivity/bluez5/bluez5_5.21.bb rename meta/recipes-connectivity/ofono/{ofono_1.14.bb = ofono_1.15.bb} (50%) -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/2] ofono: upgrade to 1.15
Bug fixes; Add support for Handsfree subscriber number feature; Add support for Handsfree multiple DTMF characters; Add support for PAP authentication. Signed-off-by: Cristian Iorga cristian.io...@intel.com --- meta/recipes-connectivity/ofono/{ofono_1.14.bb = ofono_1.15.bb} | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) rename meta/recipes-connectivity/ofono/{ofono_1.14.bb = ofono_1.15.bb} (50%) diff --git a/meta/recipes-connectivity/ofono/ofono_1.14.bb b/meta/recipes-connectivity/ofono/ofono_1.15.bb similarity index 50% rename from meta/recipes-connectivity/ofono/ofono_1.14.bb rename to meta/recipes-connectivity/ofono/ofono_1.15.bb index dea5d88..8462a28 100644 --- a/meta/recipes-connectivity/ofono/ofono_1.14.bb +++ b/meta/recipes-connectivity/ofono/ofono_1.15.bb @@ -1,13 +1,11 @@ require ofono.inc -PR = r1 - SRC_URI = \ ${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \ file://ofono \ -SRC_URI[md5sum] = 8bc398d86642408cc71d039f59c61538 -SRC_URI[sha256sum] = 84d28d37cbc47129628a78bf3e17323af1636dceb2494511dd44caa829fb277f +SRC_URI[md5sum] = 4d03de85239d8100dc7721bf0dad2bd2 +SRC_URI[sha256sum] = 978807a05e8904eb4e57d6533ed71e75676a55fa3819a39fe2c878f45dbf7af6 CFLAGS_append_libc-uclibc = -D_GNU_SOURCE -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH V2] libcroco: disable /usr/bin/croco-6.0-config
On 5 July 2014 07:05, Ming Liu ming@windriver.com wrote: librsvg is the only recipe depending on libcroco, which doesn't refer to croco-6.0-config any more, so we inherit binconfig-disabled here to disable it. Signed-off-by: Ross Burton ross.bur...@intel.com -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] libcap: use PACKAGECONFIG for attr and pam configurations
Instead of hard-coding PAM/xattr on for target and off for native, slightly abuse PACKAGECONFIG to add options (and pass them to make in do_compile). Signed-off-by: Ross Burton ross.bur...@intel.com --- meta/recipes-support/libcap/libcap.inc | 34 +--- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/meta/recipes-support/libcap/libcap.inc b/meta/recipes-support/libcap/libcap.inc index 08f4cfe..a21420f 100644 --- a/meta/recipes-support/libcap/libcap.inc +++ b/meta/recipes-support/libcap/libcap.inc @@ -5,10 +5,7 @@ HOMEPAGE = http://sites.google.com/site/fullycapable/; LICENSE = BSD | GPLv2 LIC_FILES_CHKSUM = file://License;md5=3f84fd6f29d453a56514cb7e4ead25f1 -DEPENDS = attr perl-native-runtime -DEPENDS += ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} -# attr and pam are disabled by EXTRA_OEMAKE_class-native -DEPENDS_class-native = perl-native-runtime +DEPENDS = perl-native-runtime SRC_URI = ${DEBIAN_MIRROR}/main/libc/libcap2/${BPN}2_${PV}.orig.tar.gz \ file://fix-CAP_LAST_CAP.patch @@ -29,25 +26,30 @@ do_configure() { sed -e '/shell gperf/cifeq (,yes)' -i libcap/Makefile } -EXTRA_OEMAKE = \ - LIBATTR=yes \ - PAM_CAP=${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'yes', 'no', d)} \ - INDENT= SYSTEM_HEADERS=${STAGING_INCDIR} RAISE_SETFCAP=no \ - lib=${@os.path.basename('${libdir}')} \ - -EXTRA_OEMAKE_class-native = \ - LIBATTR=no \ - PAM_CAP=no \ - INDENT= \ +PACKAGECONFIG ??= attr ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} +PACKAGECONFIG_class-native ??= + +PACKAGECONFIG[attr] = LIBATTR=yes,LIBATTR=no,attr +PACKAGECONFIG[pam] = PAM_CAP=yes,PAM_CAP=no,libpam + +EXTRA_OEMAKE += \ + INDENT= \ lib=${@os.path.basename('${libdir}')} \ + RAISE_SETFCAP=no \ +EXTRA_OEMAKE_append_class-target = SYSTEM_HEADERS=${STAGING_INCDIR} + do_compile() { - oe_runmake + oe_runmake ${EXTRA_OECONF} } do_install() { - oe_runmake install DESTDIR=${D} prefix=${prefix} SBINDIR=${D}${sbindir} + oe_runmake install \ + ${EXTRA_OECONF} \ + DESTDIR=${D} \ + prefix=${prefix} \ + SBINDIR=${D}${sbindir} } do_install_append() { -- 1.7.10.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH RFC 4/4] package.bbclass: Rewrite shlib_provider handling to include RPATH
Change the do_package shlibs code to account for RPATHS. This means that for library dependency purposes, only libraries in system paths or in any declared RPATH will be seen. This is important to resolve problems people have been having where similarly named libraries in private paths were conflicting, e.g. with gstreamer. For now this code assumes the default search path is libdir and base_libdir and places ASSUME_SHLIBS in libdir so they are searched by default. Signed-off-by: Richard Purdie richard.pur...@linuxfoundation.org diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index d7de72b..988e148 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -1375,7 +1375,9 @@ python package_do_shlibs() { fd.close() for l in lines: s = l.strip().split(:) -shlib_provider[s[0]] = (dep_pkg, s[2]) +if s[0] not in shlib_provider: +shlib_provider[s[0]] = {} +shlib_provider[s[0]][s[1]] = (dep_pkg, s[2]) def linux_so(file, needed, sonames, renames, pkgver): needs_ldconfig = False @@ -1518,13 +1520,15 @@ python package_do_shlibs() { if len(sonames): fd = open(shlibs_file, 'w') for s in sonames: -if s[0] in shlib_provider: -(old_pkg, old_pkgver) = shlib_provider[s[0]] +if s[0] in shlib_provider and s[1] in shlib_provider[s[0]]: +(old_pkg, old_pkgver) = shlib_provider[s[0]][s[1]] if old_pkg != pkg: bb.warn('%s-%s was registered as shlib provider for %s, changing it to %s-%s because it was built later' % (old_pkg, old_pkgver, s[0], pkg, pkgver)) bb.debug(1, 'registering %s-%s as shlib provider for %s' % (pkg, pkgver, s[0])) fd.write(s[0] + ':' + s[1] + ':' + s[2] + '\n') -shlib_provider[s[0]] = (pkg, pkgver) +if s[0] not in shlib_provider: +shlib_provider[s[0]] = {} +shlib_provider[s[0]][s[1]] = (pkg, pkgver) fd.close() if needs_ldconfig and use_ldconfig: bb.debug(1, 'adding ldconfig call to postinst for %s' % pkg) @@ -1539,6 +1543,7 @@ python package_do_shlibs() { assumed_libs = d.getVar('ASSUME_SHLIBS', True) if assumed_libs: +libdir = d.getVar(libdir, True) for e in assumed_libs.split(): l, dep_pkg = e.split(:) lib_ver = None @@ -1546,7 +1551,9 @@ python package_do_shlibs() { if len(dep_pkg) == 2: lib_ver = dep_pkg[1] dep_pkg = dep_pkg[0] -shlib_provider[l] = (dep_pkg, lib_ver) +shlib_provider[l][libdir] = (dep_pkg, lib_ver) + +libsearchpath = [d.getVar('libdir', True), d.getVar('base_libdir', True)] for pkg in packages.split(): bb.debug(2, calculating shlib requirements for %s % pkg) @@ -1562,21 +1569,27 @@ python package_do_shlibs() { bb.debug(2, '%s: Dependency %s covered by PRIVATE_LIBS' % (pkg, n[0])) continue if n[0] in shlib_provider.keys(): -(dep_pkg, ver_needed) = shlib_provider[n[0]] +match = None +for p in n[2] + libsearchpath: +if p in shlib_provider[n[0]]: +match = p +break +if match: +(dep_pkg, ver_needed) = shlib_provider[n[0]][match] -bb.debug(2, '%s: Dependency %s requires package %s (used by files: %s)' % (pkg, n[0], dep_pkg, n[1])) +bb.debug(2, '%s: Dependency %s requires package %s (used by files: %s)' % (pkg, n[0], dep_pkg, n[1])) -if dep_pkg == pkg: -continue +if dep_pkg == pkg: +continue -if ver_needed: -dep = %s (= %s) % (dep_pkg, ver_needed) -else: -dep = dep_pkg -if not dep in deps: -deps.append(dep) -else: -bb.note(Couldn't find shared library provider for %s, used by files: %s % (n[0], n[1])) +if ver_needed: +dep = %s (= %s) % (dep_pkg, ver_needed) +else: +dep = dep_pkg +if not dep in deps: +deps.append(dep) +continue +bb.note(Couldn't find shared library provider for %s, used by files: %s % (n[0], n[1])) deps_file = os.path.join(pkgdest, pkg + .shlibdeps) if os.path.exists(deps_file): -- ___ Openembedded-core mailing list
[OE-core] [PATCH RFC 1/4] package.bbclass: Improve shlibs needed data structure
Improve the shlibs 'needed' data structure to include the file and any rpath information. This allows various cleanups to the data structure and moves us closer to being able to resolve shlibs providers issues based on path in due course. This commit doesn't change any stored data, just cleans up internal data structures (for example dropping the needed_from dict). Signed-off-by: Richard Purdie richard.pur...@linuxfoundation.org diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index ea75918..1ef0c66 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -1382,20 +1382,25 @@ python package_do_shlibs() { for l in lines: shlib_provider[l.rstrip()] = (dep_pkg, lib_ver) -def linux_so(file): +def linux_so(file, needed, sonames, renames): needs_ldconfig = False +ldir = os.path.dirname(file).replace(pkgdest, '') cmd = d.getVar('OBJDUMP', True) + -p + pipes.quote(file) + 2/dev/null fd = os.popen(cmd) lines = fd.readlines() fd.close() +rpath = [] +for l in lines: +m = re.match(\s+RPATH\s+([^\s]*), l) +if m: +rpaths = m.group(1).replace($ORIGIN, ldir).split(:) +rpath = map(os.path.normpath, rpaths) for l in lines: m = re.match(\s+NEEDED\s+([^\s]*), l) if m: -if m.group(1) not in needed[pkg]: -needed[pkg].append(m.group(1)) -if m.group(1) not in needed_from: -needed_from[m.group(1)] = [] -needed_from[m.group(1)].append(file) +dep = m.group(1) +if dep not in needed[pkg]: +needed[pkg].append((dep, file, rpath)) m = re.match(\s+SONAME\s+([^\s]*), l) if m: this_soname = m.group(1) @@ -1409,7 +1414,7 @@ python package_do_shlibs() { renames.append((file, os.path.join(os.path.dirname(file), this_soname))) return needs_ldconfig -def darwin_so(file): +def darwin_so(file, needed, sonames, renames): if not os.path.exists(file): return @@ -1464,14 +1469,8 @@ python package_do_shlibs() { name = os.path.basename(dep).replace(.la, ) elif dep.startswith(-l): name = dep.replace(-l, lib) -if pkg not in needed: -needed[pkg] = [] if name and name not in needed[pkg]: -needed[pkg].append(name) -if name not in needed_from: -needed_from[name] = [] -if lafile and lafile not in needed_from[name]: -needed_from[name].append(lafile) +needed[pkg].append((name, lafile, [])) #bb.note(Adding %s for %s % (name, pkg)) if d.getVar('PACKAGE_SNAP_LIB_SYMLINKS', True) == 1: @@ -1485,7 +1484,6 @@ python package_do_shlibs() { use_ldconfig = False needed = {} -needed_from = {} shlib_provider = {} read_shlib_providers() @@ -1509,9 +1507,9 @@ python package_do_shlibs() { if cpath.islink(file): continue if targetos == darwin or targetos == darwin8: -darwin_so(file) +darwin_so(file, needed, sonames, renames) elif os.access(file, os.X_OK) or lib_re.match(file): -ldconfig = linux_so(file) +ldconfig = linux_so(file, needed, sonames, renames) needs_ldconfig = needs_ldconfig or ldconfig for (old, new) in renames: bb.note(Renaming %s to %s % (old, new)) @@ -1567,12 +1565,12 @@ python package_do_shlibs() { # but skipping it is still better alternative than providing own # version and then adding runtime dependency for the same system library if private_libs and n in private_libs: -bb.debug(2, '%s: Dependency %s covered by PRIVATE_LIBS' % (pkg, n)) +bb.debug(2, '%s: Dependency %s covered by PRIVATE_LIBS' % (pkg, n[0])) continue -if n in shlib_provider.keys(): -(dep_pkg, ver_needed) = shlib_provider[n] +if n[0] in shlib_provider.keys(): +(dep_pkg, ver_needed) = shlib_provider[n[0]] -bb.debug(2, '%s: Dependency %s requires package %s (used by files: %s)' % (pkg, n, dep_pkg, needed_from[n])) +bb.debug(2, '%s: Dependency %s requires package %s (used by files: %s)' % (pkg, n[0], dep_pkg, n[1])) if dep_pkg == pkg: continue
[OE-core] [PATCH RFC 3/4] package.bbclass: Improve shlibs pkgdata file format
Instead of having a .list file and a .ver file, place the version information into the .list file in a : delimited string. Also place the path to the library here, this can then be used to evaluate RPATHs in the shlib dependency code. Since the disk format has changed, the easiest way to avoid build failures in the same TMPDIR is to change the shlibs directory to shlibs2. sstate dependency code with ensure everything rebuilds. Signed-off-by: Richard Purdie richard.pur...@linuxfoundation.org diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index bc91e9f..d7de72b 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -1326,8 +1326,8 @@ python package_do_filedeps() { d.setVar(FILERPROVIDESFLIST_ + pkg, .join(provides_files[pkg])) } -SHLIBSDIRS = ${PKGDATA_DIR}/${MLPREFIX}shlibs -SHLIBSWORKDIR = ${PKGDESTWORK}/${MLPREFIX}shlibs +SHLIBSDIRS = ${PKGDATA_DIR}/${MLPREFIX}shlibs2 +SHLIBSWORKDIR = ${PKGDESTWORK}/${MLPREFIX}shlibs2 python package_do_shlibs() { import re, pipes @@ -1373,16 +1373,11 @@ python package_do_shlibs() { 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) +s = l.strip().split(:) +shlib_provider[s[0]] = (dep_pkg, s[2]) -def linux_so(file, needed, sonames, renames): +def linux_so(file, needed, sonames, renames, pkgver): needs_ldconfig = False ldir = os.path.dirname(file).replace(pkgdest + / + pkg, '') cmd = d.getVar('OBJDUMP', True) + -p + pipes.quote(file) + 2/dev/null @@ -1404,7 +1399,7 @@ python package_do_shlibs() { m = re.match(\s+SONAME\s+([^\s]*), l) if m: this_soname = m.group(1) -prov = (this_soname, ldir) +prov = (this_soname, ldir, pkgver) if not prov in sonames: # if library is private (only used by package) then do not build shlib for it if not private_libs or this_soname not in private_libs: @@ -1415,7 +1410,7 @@ python package_do_shlibs() { renames.append((file, os.path.join(os.path.dirname(file), this_soname))) return needs_ldconfig -def darwin_so(file, needed, sonames, renames): +def darwin_so(file, needed, sonames, renames, pkgver): if not os.path.exists(file): return ldir = os.path.dirname(file).replace(pkgdest, '') @@ -1440,7 +1435,7 @@ python package_do_shlibs() { combos = get_combinations(name) for combo in combos: if not combo in sonames: -prov = (combo, ldir) +prov = (combo, ldir, pkgver) sonames.append(prov) if file.endswith('.dylib') or file.endswith('.so'): lafile = file.replace(os.path.join(pkgdest, pkg), d.getVar('PKGD', True)) @@ -1510,9 +1505,9 @@ python package_do_shlibs() { if cpath.islink(file): continue if targetos == darwin or targetos == darwin8: -darwin_so(file, needed, sonames, renames) +darwin_so(file, needed, sonames, renames, pkgver) elif os.access(file, os.X_OK) or lib_re.match(file): -ldconfig = linux_so(file, needed, sonames, renames) +ldconfig = linux_so(file, needed, sonames, renames, pkgver) needs_ldconfig = needs_ldconfig or ldconfig for (old, new) in renames: bb.note(Renaming %s to %s % (old, new)) @@ -1520,7 +1515,6 @@ python package_do_shlibs() { pkgfiles[pkg].remove(old) shlibs_file = os.path.join(shlibswork_dir, pkg + .list) -shver_file = os.path.join(shlibswork_dir, pkg + .ver) if len(sonames): fd = open(shlibs_file, 'w') for s in sonames: @@ -1529,12 +1523,9 @@ python package_do_shlibs() { if old_pkg != pkg: bb.warn('%s-%s was registered as shlib provider for %s, changing it to %s-%s because it was built later' % (old_pkg, old_pkgver, s[0], pkg, pkgver)) bb.debug(1, 'registering %s-%s as shlib provider for %s' % (pkg, pkgver, s[0])) -fd.write(s[0] + '\n') +fd.write(s[0] + ':' + s[1] + ':' + s[2] + '\n') shlib_provider[s[0]] = (pkg, pkgver) fd.close() -fd = open(shver_file,
[OE-core] [PATCH RFC 2/4] package.bbclass: Rewrite sonames data structure to include library path
In order to do more advanced processing of the shared libraries, we need to know where a given library is located on disk so we can know whether its a system path or a private directory for example. This patch adds this information into the 'sonames' data structure. Signed-off-by: Richard Purdie richard.pur...@linuxfoundation.org diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 1ef0c66..bc91e9f 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -1384,7 +1384,7 @@ python package_do_shlibs() { def linux_so(file, needed, sonames, renames): needs_ldconfig = False -ldir = os.path.dirname(file).replace(pkgdest, '') +ldir = os.path.dirname(file).replace(pkgdest + / + pkg, '') cmd = d.getVar('OBJDUMP', True) + -p + pipes.quote(file) + 2/dev/null fd = os.popen(cmd) lines = fd.readlines() @@ -1404,10 +1404,11 @@ python package_do_shlibs() { m = re.match(\s+SONAME\s+([^\s]*), l) if m: this_soname = m.group(1) -if not this_soname in sonames: +prov = (this_soname, ldir) +if not prov in sonames: # if library is private (only used by package) then do not build shlib for it if not private_libs or this_soname not in private_libs: -sonames.append(this_soname) +sonames.append(prov) if libdir_re.match(os.path.dirname(file)): needs_ldconfig = True if snap_symlinks and (os.path.basename(file) != this_soname): @@ -1417,6 +1418,7 @@ python package_do_shlibs() { def darwin_so(file, needed, sonames, renames): if not os.path.exists(file): return +ldir = os.path.dirname(file).replace(pkgdest, '') def get_combinations(base): # @@ -1438,7 +1440,8 @@ python package_do_shlibs() { combos = get_combinations(name) for combo in combos: if not combo in sonames: -sonames.append(combo) +prov = (combo, ldir) +sonames.append(prov) if file.endswith('.dylib') or file.endswith('.so'): lafile = file.replace(os.path.join(pkgdest, pkg), d.getVar('PKGD', True)) # Drop suffix @@ -1521,13 +1524,13 @@ 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 s[0] in shlib_provider: +(old_pkg, old_pkgver) = shlib_provider[s[0]] if old_pkg != pkg: -bb.warn('%s-%s was registered as shlib provider for %s, changing it to %s-%s because it was built later' % (old_pkg, old_pkgver, s, pkg, pkgver)) -bb.debug(1, 'registering %s-%s as shlib provider for %s' % (pkg, pkgver, s)) -fd.write(s + '\n') -shlib_provider[s] = (pkg, pkgver) +bb.warn('%s-%s was registered as shlib provider for %s, changing it to %s-%s because it was built later' % (old_pkg, old_pkgver, s[0], pkg, pkgver)) +bb.debug(1, 'registering %s-%s as shlib provider for %s' % (pkg, pkgver, s[0])) +fd.write(s[0] + '\n') +shlib_provider[s[0]] = (pkg, pkgver) fd.close() fd = open(shver_file, 'w') fd.write(pkgver + '\n') -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [oe-core][PATCH 0/2] update lz4 and add maintainer
Update SRC_URI to github so we can use less complicated fetch Update to version 119 Add self to maintainers list. If inappropriate, then drop second patch Armin Kuster (2): lz4: update to latest version 119 lz4: Add self to maintainers list meta-yocto/conf/distro/include/maintainers.inc | 1 + meta/recipes-support/lz4/{lz4_svn.bb = lz4_r119.bb} | 12 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) rename meta/recipes-support/lz4/{lz4_svn.bb = lz4_r119.bb} (63%) -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [oe-core][PATCH 2/2] lz4: Add self to maintainers list
Signed-off-by: Armin Kuster akus...@mvista.com --- meta-yocto/conf/distro/include/maintainers.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-yocto/conf/distro/include/maintainers.inc b/meta-yocto/conf/distro/include/maintainers.inc index 4d2f46b..4c566d1 100644 --- a/meta-yocto/conf/distro/include/maintainers.inc +++ b/meta-yocto/conf/distro/include/maintainers.inc @@ -419,6 +419,7 @@ RECIPE_MAINTAINER_pn-lttng-tools = Richard Purdie richard.purdie@linuxfoundati RECIPE_MAINTAINER_pn-lttng-ust = Richard Purdie richard.pur...@linuxfoundation.org RECIPE_MAINTAINER_pn-lzop = Saul Wold s...@linux.intel.com RECIPE_MAINTAINER_pn-lzo = Saul Wold s...@linux.intel.com +RECIPE_MAINTAINER_pn-lz4 = Armin Kuster akus...@mvista.com RECIPE_MAINTAINER_pn-m4 = Robert Yang liezhi.y...@windriver.com RECIPE_MAINTAINER_pn-mailx = Kai Kang kai.k...@windriver.com RECIPE_MAINTAINER_pn-make = Robert Yang liezhi.y...@windriver.com -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [oe-core][PATCH 1/2] lz4: update to latest version 119
Update SRC_URI to github as googlecode does not have this version Minor clean to reflect non-svn fetch Signed-off-by: Armin Kuster akus...@mvista.com --- meta/recipes-support/lz4/{lz4_svn.bb = lz4_r119.bb} | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) rename meta/recipes-support/lz4/{lz4_svn.bb = lz4_r119.bb} (63%) diff --git a/meta/recipes-support/lz4/lz4_svn.bb b/meta/recipes-support/lz4/lz4_r119.bb similarity index 63% rename from meta/recipes-support/lz4/lz4_svn.bb rename to meta/recipes-support/lz4/lz4_r119.bb index 38e36d8..dfc155e 100644 --- a/meta/recipes-support/lz4/lz4_svn.bb +++ b/meta/recipes-support/lz4/lz4_r119.bb @@ -2,15 +2,15 @@ SUMMARY = Extremely Fast Compression algorithm DESCRIPTION = LZ4 is a very fast lossless compression algorithm, providing compression speed at 400 MB/s per core, scalable with multi-cores CPU. It also features an extremely fast decoder, with speed in multiple GB/s per core, typically reaching RAM speed limits on multi-core systems. LICENSE = BSD -LIC_FILES_CHKSUM = file://LICENSE;md5=2008d2325e11691e17fcaa3a6046f850 +LIC_FILES_CHKSUM = file://LICENSE;md5=0b0d063f37a4477b54af2459477dcafd -# Upstream names releases after SVN revs -SRCREV = 112 -PV = r${SRCREV} -SRC_URI = svn://lz4.googlecode.com/svn/;module=trunk;protocol=http +SRC_URI = https://github.com/Cyan4973/lz4/archive/${PV}.tar.gz; -S = ${WORKDIR}/trunk +SRC_URI[md5sum] = 3fc4ed20cb98dba909896f485b25d0f1 +SRC_URI[sha256sum] = 1deb77e5cc7b41422c02dd3d56e7e0f0deb20723a54cad4ad5a65fb1f4805b1c + +S = ${WORKDIR}/${BPN}-${PV} EXTRA_OEMAKE = PREFIX=${prefix} CC='${CC}' DESTDIR=${D} LIBDIR=${libdir} INCLUDEDIR=${includedir} -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 1/1] image.bbclass/buildtools-tarball: cleanup the RDEPENDS
On Fri, 2014-07-04 at 02:16 -0700, Robert Yang wrote: The RDEPENDS = should be replaced by RDEPENDS_${PN}, the similar to RRECOMMENDS Why? PACKAGES = for these recipes so there is no ${PN} package to add these dependencies too? I suspect this is from your image class modifications but did you test without those modifications? Cheers, Richard -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 1/1] image.bbclass/buildtools-tarball: cleanup the RDEPENDS
On 07/08/2014 07:37 AM, Richard Purdie wrote: On Fri, 2014-07-04 at 02:16 -0700, Robert Yang wrote: The RDEPENDS = should be replaced by RDEPENDS_${PN}, the similar to RRECOMMENDS Why? PACKAGES = for these recipes so there is no ${PN} package to add these dependencies too? Ah, right, we should not set this if no PACKAGES. I suspect this is from your image class modifications but did you test without those modifications? Yes, it is from the image class modifications. I tested it separately, the bitbake core-image-minimal buildtools-tarball were the same w/o these changes, I don't know why it works after your explanations, I tried to print the self.rdepends_pkg from cache.py after patched: self.rdepends_pkg: {'core-image-minimal': ['packagegroup-core-boot', 'run-postinsts', 'run-postinsts']} maybe that's why it works. Anyway, we should drop this since PACKAGES = . // Robert Cheers, Richard -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [dora][PATCH] opkg: putting the service files into PN
From: Roy Li rongqing...@windriver.com (From OE-Core rev: f0ec7f81c1951211f049c342fd6bd1cad424564a) [YOCTO #6392] Signed-off-by: Roy Li rongqing...@windriver.com Signed-off-by: Saul Wold s...@linux.intel.com Signed-off-by: Richard Purdie richard.pur...@linuxfoundation.org Signed-off-by: Chen Qi qi.c...@windriver.com --- meta/recipes-devtools/opkg/opkg.inc |1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-devtools/opkg/opkg.inc b/meta/recipes-devtools/opkg/opkg.inc index 3d56886..ec07716 100644 --- a/meta/recipes-devtools/opkg/opkg.inc +++ b/meta/recipes-devtools/opkg/opkg.inc @@ -51,6 +51,7 @@ FILES_update-alternatives-cworth = ${bindir}/update-alternatives FILES_libopkg-dev = ${libdir}/*.la ${libdir}/*.so ${includedir}/libopkg FILES_libopkg-staticdev = ${libdir}/*.a FILES_libopkg = ${libdir}/*.so.* ${OPKGLIBDIR}/opkg/ +FILES_${PN} += ${systemd_unitdir}/system/ do_install_append() { # We need to create the lock directory -- 1.7.9.5 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 2/2] ofono: upgrade to 1.15
On 07/07/2014 08:36 AM, Cristian Iorga wrote: Bug fixes; Add support for Handsfree subscriber number feature; Add support for Handsfree multiple DTMF characters; Add support for PAP authentication. This update appears to start using python3 for the -tests packages, I think it's best to see if we can not rely on Python3 if we can. Sau! Signed-off-by: Cristian Iorga cristian.io...@intel.com --- meta/recipes-connectivity/ofono/{ofono_1.14.bb = ofono_1.15.bb} | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) rename meta/recipes-connectivity/ofono/{ofono_1.14.bb = ofono_1.15.bb} (50%) diff --git a/meta/recipes-connectivity/ofono/ofono_1.14.bb b/meta/recipes-connectivity/ofono/ofono_1.15.bb similarity index 50% rename from meta/recipes-connectivity/ofono/ofono_1.14.bb rename to meta/recipes-connectivity/ofono/ofono_1.15.bb index dea5d88..8462a28 100644 --- a/meta/recipes-connectivity/ofono/ofono_1.14.bb +++ b/meta/recipes-connectivity/ofono/ofono_1.15.bb @@ -1,13 +1,11 @@ require ofono.inc -PR = r1 - SRC_URI = \ ${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \ file://ofono \ -SRC_URI[md5sum] = 8bc398d86642408cc71d039f59c61538 -SRC_URI[sha256sum] = 84d28d37cbc47129628a78bf3e17323af1636dceb2494511dd44caa829fb277f +SRC_URI[md5sum] = 4d03de85239d8100dc7721bf0dad2bd2 +SRC_URI[sha256sum] = 978807a05e8904eb4e57d6533ed71e75676a55fa3819a39fe2c878f45dbf7af6 CFLAGS_append_libc-uclibc = -D_GNU_SOURCE -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 0/1] libpcap: fix depends on libnl
The following changes since commit c452b098b4c021d4cbeddf5bf13f7fd9b1cc9224: Revert meta-yocto-bsp: oeqa/controllers: add GrubTarget (2014-07-04 08:45:10 +0100) are available in the git repository at: git://git.openembedded.org/openembedded-core-contrib rbt/libpcap http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/libpcap Robert Yang (1): libpcap: fix depends on libnl meta/recipes-connectivity/libpcap/libpcap.inc |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- 1.7.9.5 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/1] libpcap: fix depends on libnl
Fixed: * libnl1 - libnl * Remove libnl from DEPENDS since we are using PACKAGECONFIG, the libnl in the DEPENDS didn't affect libpcap since the --without-libnl took effect before this patch, so it is safe to remove it. Signed-off-by: Robert Yang liezhi.y...@windriver.com --- meta/recipes-connectivity/libpcap/libpcap.inc |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-connectivity/libpcap/libpcap.inc b/meta/recipes-connectivity/libpcap/libpcap.inc index 8a9fa9e..0ee7371 100644 --- a/meta/recipes-connectivity/libpcap/libpcap.inc +++ b/meta/recipes-connectivity/libpcap/libpcap.inc @@ -8,12 +8,12 @@ SECTION = libs/network LICENSE = BSD LIC_FILES_CHKSUM = file://LICENSE;md5=1d4b0366557951c84a94fabe3529f867 \ file://pcap.h;beginline=1;endline=34;md5=8d6cf7e17d5745010d633e30bc529ea9 -DEPENDS = flex-native bison-native libnl +DEPENDS = flex-native bison-native PACKAGECONFIG ??= ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluetooth', '', d)} PACKAGECONFIG[bluetooth] = --enable-bluetooth,--disable-bluetooth,bluez4 PACKAGECONFIG[canusb] = --enable-canusb,--enable-canusb=no,libusb -PACKAGECONFIG[libnl1] = --with-libnl,--without-libnl,libnl1,libnl1 +PACKAGECONFIG[libnl] = --with-libnl,--without-libnl,libnl INC_PR = r5 -- 1.7.9.5 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [WIP] cpanm.bbclass: need help with paths
DO NOT MERGE In the following branch, I am trying to create a bbclass for cpanm (aka cpanminus), based heavily on cpan_build.bbclass: http://git.openembedded.org/openembedded-core-contrib/log/?h=timo/cpanminus However, as it stands, it always seems to use host paths, not even perl-native. Ultimately, it needs to install in both perl-native and target's vendor_perl. Any insight is appreciated! --Tim P.S. The class is to be used to build Slic3r. Currently the cpanm version of the recipe is only local WIP, but I have a building non-cpanm (XS only) version publicly available: http://git.openembedded.org/meta-openembedded-contrib/log/?h=timo/meta-maker -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core