Re: [OE-core] [RFC PATCH V2] base.bbclass: show git summary in BUILDCFG_HEADER

2014-07-07 Thread Robert Yang


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

2014-07-07 Thread Robert Yang
* 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

2014-07-07 Thread Robert Yang
* 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)

2014-07-07 Thread Robert Yang
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

2014-07-07 Thread Robert Yang
[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

2014-07-07 Thread Burton, Ross
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

2014-07-07 Thread Richard Purdie
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

2014-07-07 Thread Robert Yang



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

2014-07-07 Thread Ming Liu

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

2014-07-07 Thread Burton, Ross
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

2014-07-07 Thread Maxin B. John
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

2014-07-07 Thread Ross Burton
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?

2014-07-07 Thread Robert P. J. Day

  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

2014-07-07 Thread Ross Burton
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

2014-07-07 Thread Burton, Ross
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

2014-07-07 Thread Ross Burton
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

2014-07-07 Thread Ross Burton
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

2014-07-07 Thread Cristian Iorga
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

2014-07-07 Thread Cristian Iorga
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

2014-07-07 Thread Burton, Ross
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

2014-07-07 Thread Ross Burton
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

2014-07-07 Thread Richard Purdie
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

2014-07-07 Thread Richard Purdie
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

2014-07-07 Thread Richard Purdie
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

2014-07-07 Thread Richard Purdie

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

2014-07-07 Thread Armin Kuster
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

2014-07-07 Thread Armin Kuster
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

2014-07-07 Thread Armin Kuster
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

2014-07-07 Thread Richard Purdie
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

2014-07-07 Thread Robert Yang



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

2014-07-07 Thread Chen Qi
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

2014-07-07 Thread Saul Wold

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

2014-07-07 Thread Robert Yang
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

2014-07-07 Thread Robert Yang
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

2014-07-07 Thread Tim Orling
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