Re: [OE-core] [PATCH v3 1/2] licenses.conf: Modified parameters for new spdx.bbclass

2015-06-08 Thread Flanagan, Elizabeth
On 8 June 2015 at 11:25, Lei Maohui leimao...@cn.fujitsu.com wrote:
 1) Define new command line to get spdx file.
 2) Define some mandatory fields for spdx 0.2

 Signed-off-by: Lei Maohui leimao...@cn.fujitsu.com
 ---
  meta/conf/licenses.conf | 77 
 +
  1 file changed, 20 insertions(+), 57 deletions(-)

 diff --git a/meta/conf/licenses.conf b/meta/conf/licenses.conf
 index 629916b..1d37616 100644
 --- a/meta/conf/licenses.conf
 +++ b/meta/conf/licenses.conf
 @@ -122,68 +122,31 @@ SPDXLICENSEMAP[SGIv1] = SGI-1
  #COPY_LIC_DIRS = 1

  ## SPDX temporary directory
 -SPDX_TEMP_DIR = ${WORKDIR}/spdx_temp
 -SPDX_MANIFEST_DIR = /home/yocto/fossology_scans
 +SPDX_TEMP_DIR ?= ${WORKDIR}/spdx_temp
 +SPDX_MANIFEST_DIR ?= /home/yocto/fossology_scans

We should probably find a relative path here for where to put the
manifest that isn't /home/yocto/. I'd suggest
${TMPDIR}/fossology_scans or something like that.


  ## SPDX Format info
 -SPDX_VERSION = SPDX-1.1
 +SPDX_VERSION = SPDX-1.2
  DATA_LICENSE = CC0-1.0
 +## If your fossylogy server is from 2.4.0 to 2.6.1,the LICENSELISTVERSION is 
 1.19
 +## Reference to 
 http://www.fossology.org/projects/fossology/wiki/Release_Notes
 +LICENSELISTVERSION = 1.19
 +CREATOR_TOOL = yocto+fossology-spdx
 +
 +# FOSSologySPDX instance server.
 +FOSS_SERVER ?= http://127.0.0.1/repo/ --noproxy 127.0.0.1
 +
 +# The following commnd is suit for the FOSSologySPDX instance server in 
 localhost.
 +# options:
 +# 1) noCopyright: true/false. Only when this option is set to true, 
 copyright information is scanned.
 +# 2) jsonOutput: true/false. Only when this option is set to true, 
 scanning result is output in JSON format.
 +#Skipping this option equals setting to false.
 +# 3) fullSPDXFlag: true/false. Only when this option is set to true, low 
 definition of full SPDX contents are output.
 +#This option should be set as true when user want to generate SPDX 
 file from command line.

 -## Fossology scan information
 -# You can set option to control if the copyright information will be skipped
 -# during the identification process.
 -#
 -# It is defined as [FOSS_COPYRIGHT] in ./meta/conf/licenses.conf.
 -# FOSS_COPYRIGHT = true
 -#   NO copyright will be processed. That means only license information will 
 be
 -#   identified and output to SPDX file
 -# FOSS_COPYRIGHT = false
 -#   Copyright will be identified and output to SPDX file along with license
 -#   information. The process will take more time than not processing 
 copyright
 -#   information.
 -#
 -
 -FOSS_NO_COPYRIGHT = true
 -
 -# A option defined as[FOSS_RECURSIVE_UNPACK] in ./meta/conf/licenses.conf. is
 -# used to control if FOSSology server need recursively unpack tar.gz file 
 which
 -# is sent from do_spdx task.
 -#
 -# FOSS_RECURSIVE_UNPACK = false:
 -#FOSSology server does NOT recursively unpack. In the current release, 
 this
 -#is the default choice because recursively unpack will not necessarily 
 break
 -#down original compressed files.
 -# FOSS_RECURSIVE_UNPACK = true:
 -#FOSSology server recursively unpack components.
 -#
 -
 -FOSS_RECURSIVE_UNPACK = false
 -
 -# An option defined as [FOSS_FULL_SPDX] in ./meta/conf/licenses.conf is used 
 to
 -# control what kind of SPDX output to get from the FOSSology server.
 -#
 -# FOSS_FULL_SPDX = true:
 -#   Tell FOSSology server to return full SPDX output, like if the program was
 -#   run from the command line. This is needed in order to get license refs 
 for
 -#   the full package rather than individual files only.
 -#
 -# FOSS_FULL_SPDX = false:
 -#   Tell FOSSology to only process license information for files. All package
 -#   license tags in the report will be NOASSERTION
 -#
 -
 -FOSS_FULL_SPDX = true
 -
 -# FOSSologySPDX instance server. http://localhost/repo is the default
 -# installation location for FOSSology.
 -#
  # For more information on FOSSologySPDX commandline:
 -#   https://github.com/spdx-tools/fossology-spdx/wiki/Fossology-SPDX-Web-API
 -#
 -
 -FOSS_BASE_URL = http://localhost/repo/?mod=spdx_license_once;
 -FOSS_SERVER = 
 ${FOSS_BASE_URL}fullSPDXFlag=${FOSS_FULL_SPDX}noCopyright=${FOSS_NO_COPYRIGHT}recursiveUnpack=${FOSS_RECURSIVE_UNPACK}
 +# #   
 https://github.com/spdx-tools/fossology-spdx/wiki/Fossology-SPDX-Web-API

 -FOSS_WGET_FLAGS = -qO - --no-check-certificate --timeout=0
 +FOSS_CURL_FLAGS ?= -F mod=spdx_license_once -F noCopyright=false -F 
 jsonOutput=false -F fullSPDXFlag=true


 --
 1.8.4.2

 --
 ___
 Openembedded-core mailing list
 Openembedded-core@lists.openembedded.org
 http://lists.openembedded.org/mailman/listinfo/openembedded-core



-- 
Elizabeth Flanagan
Yocto Project
Build and Release
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH][Daisy] mesa: Avoid leaving empty sysconfdir in mesa package

2015-06-08 Thread Aníbal Limón

Hi,

Looks good for me i tested with rpm and deb package_classes.

Cheers,
alimon

On 08/06/15 06:10, Pau Espin Pedrol wrote:

Signed-off-by: Pau Espin Pedrol pau.es...@aweurope.be

Acked-by: Aníbal Limón anibal.li...@linux.intel.com

---
  meta/recipes-graphics/mesa/mesa.inc | 5 +
  1 file changed, 5 insertions(+)

diff --git a/meta/recipes-graphics/mesa/mesa.inc 
b/meta/recipes-graphics/mesa/mesa.inc
index 96313b5..f88b2a4 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -99,6 +99,11 @@ do_install_append () {
  
  # it was packaged in libdricore9.1.3-1 and preventing upgrades when debian.bbclass was used

  rm -f ${D}${sysconfdir}/drirc
+
+# /etc is sometimes left as an empty directory and it ends up into 'mesa' 
package, which is then a non-empty package
+if [ -d ${D}${sysconfdir} ]; then
+rmdir --ignore-fail-on-non-empty ${D}${sysconfdir}
+fi
  }
  
  # For the packages that make up the OpenGL interfaces, inject variables so that


--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH v3 2/2] spdx.bbclass: Create the spdx file which is compliant with SPDX 1.2 Specification

2015-06-08 Thread Flanagan, Elizabeth
On 8 June 2015 at 11:25, Lei Maohui leimao...@cn.fujitsu.com wrote:
 The main changes are:
 1. use curl command instead of wget when get spdx file from FOSSologySPDX 
 instance server.

Before apply these patches, the command is :
wget -qO - --no-check-certificate --timeout=0 
 --post-file=xxx/yyy/zzz.tar.gz 
 http://localhost//?mod=spdx_license_oncenoCopyright=${FOSS_COPYRIGHT}recursiveUnpack=${FOSS_RECURSIVE_UNPACK}

After apply these patches, the command is :
curl http://127.0.0.1/repo/ --noproxy 127.0.0.1 -k -F 
 mod=spdx_license_once -F noCopyright=false -F jsonOutput=false -F 
 fullSPDXFlag=true -F file=@ xxx/yyy/zzz.tar.gz -o xxx/yyy/zzz.spdx

Because if use wget command,the Mandatory fields of the SPDX 
 Specification such as the following can't be obtained.
1) PackageLicenseInfoFromFiles(Package Information)
2) PackageLicenseDeclared(Package Information)
3) LicenseID(License Information)
4) ExtractedText(License Information)
5) LicenseName(License Information)

 2. In order to avoid the SPDX_S be polluted in the rebuild, create 
 ${WORKDIR}/${SPDX_TEMP_DIR} to save the source.

 3. Add mandatory field to be compliant with the SPDX 1.2 Specification.

 Signed-off-by: Lei Maohui leimao...@cn.fujitsu.com
 ---
  meta/classes/spdx.bbclass | 425 
 +-
  1 file changed, 155 insertions(+), 270 deletions(-)

 diff --git a/meta/classes/spdx.bbclass b/meta/classes/spdx.bbclass
 index 454c53e..09584af 100644
 --- a/meta/classes/spdx.bbclass
 +++ b/meta/classes/spdx.bbclass
 @@ -15,178 +15,191 @@
  # SPDX file will be output to the path which is defined as[SPDX_MANIFEST_DIR]
  # in ./meta/conf/licenses.conf.

 +SPDXOUTPUTDIR = ${WORKDIR}/spdx_output_dir
  SPDXSSTATEDIR = ${WORKDIR}/spdx_sstate_dir

  # If ${S} isn't actually the top-level source directory, set SPDX_S to point 
 at
  # the real top-level directory.
 +
  SPDX_S ?= ${S}

  python do_spdx () {
  import os, sys
 -import json, shutil
 +import json
 +
 +#The source of gcc is too large to get it's spdx.So,give up.
 +bpn = d.getVar('BPN', True)
 +if ((bpn == gcc) or (bpn == libgcc)):
 +return None

  info = {}
  info['workdir'] = d.getVar('WORKDIR', True)
 -info['sourcedir'] = d.getVar('SPDX_S', True)
  info['pn'] = d.getVar('PN', True)
  info['pv'] = d.getVar('PV', True)
 +info['package_download_location'] = d.getVar('SRC_URI', True)
 +if info['package_download_location'] != :
 +info['package_download_location'] = 
 info['package_download_location'].split()[0]
  info['spdx_version'] = d.getVar('SPDX_VERSION', True)
  info['data_license'] = d.getVar('DATA_LICENSE', True)
 +info['creator'] = {}
 +info['creator']['Tool'] = d.getVar('CREATOR_TOOL', True)
 +info['license_list_version'] = d.getVar('LICENSELISTVERSION', True)
 +info['package_homepage'] = d.getVar('HOMEPAGE', True)
 +info['package_summary'] = d.getVar('SUMMARY', True)

 -sstatedir = d.getVar('SPDXSSTATEDIR', True)
 -sstatefile = os.path.join(sstatedir, info['pn'] + info['pv'] + .spdx)
 -
 +spdx_sstate_dir = d.getVar('SPDXSSTATEDIR', True)
  manifest_dir = d.getVar('SPDX_MANIFEST_DIR', True)
 -info['outfile'] = os.path.join(manifest_dir, info['pn'] + .spdx )
 -
 -info['spdx_temp_dir'] = d.getVar('SPDX_TEMP_DIR', True)
 -info['tar_file'] = os.path.join(info['workdir'], info['pn'] + .tar.gz )
 -
 +info['outfile'] = os.path.join(manifest_dir, info['pn'] + - + 
 info['pv'] + .spdx)
 +sstatefile = os.path.join(spdx_sstate_dir,
 +info['pn'] + - + info['pv'] + .spdx )
 +info['tar_file'] = os.path.join(info['workdir'], info['pn'] + .tar.gz)
 +
  # Make sure important dirs exist
  try:
  bb.utils.mkdirhier(manifest_dir)
 -bb.utils.mkdirhier(sstatedir)
 -bb.utils.mkdirhier(info['spdx_temp_dir'])
 +bb.utils.mkdirhier(spdx_sstate_dir)
  except OSError as e:
  bb.error(SPDX: Could not set up required directories:  + str(e))
  return

  ## get everything from cache.  use it to decide if
 -## something needs to be rerun
 -cur_ver_code = get_ver_code(info['sourcedir'])
 +## something needs to be rerun
 +d.setVar('WORKDIR', d.getVar('SPDX_TEMP_DIR', True))
 +info['sourcedir'] = d.getVar('SPDX_S', True)
 +cur_ver_code = get_ver_code(info['sourcedir']).split()[0]
  cache_cur = False
  if os.path.exists(sstatefile):
  ## cache for this package exists. read it in
  cached_spdx = get_cached_spdx(sstatefile)
 -
 -if cached_spdx['PackageVerificationCode'] == cur_ver_code:
 -bb.warn(SPDX: Verification code for  + info['pn']
 -  + is same as cache's. do nothing)
 +if cached_spdx:
 +cached_spdx = cached_spdx.split()[0]
 +if (cached_spdx == cur_ver_code):
 +bb.warn(info['pn'] + 's ver code same as cache's. do 

Re: [OE-core] [PATCH v3 1/2] licenses.conf: Modified parameters for new spdx.bbclass

2015-06-08 Thread Flanagan, Elizabeth
On 8 June 2015 at 11:25, Lei Maohui leimao...@cn.fujitsu.com wrote:
 1) Define new command line to get spdx file.
 2) Define some mandatory fields for spdx 0.2

 Signed-off-by: Lei Maohui leimao...@cn.fujitsu.com
 ---
  meta/conf/licenses.conf | 77 
 +
  1 file changed, 20 insertions(+), 57 deletions(-)

 diff --git a/meta/conf/licenses.conf b/meta/conf/licenses.conf
 index 629916b..1d37616 100644
 --- a/meta/conf/licenses.conf
 +++ b/meta/conf/licenses.conf
 @@ -122,68 +122,31 @@ SPDXLICENSEMAP[SGIv1] = SGI-1
  #COPY_LIC_DIRS = 1

  ## SPDX temporary directory
 -SPDX_TEMP_DIR = ${WORKDIR}/spdx_temp
 -SPDX_MANIFEST_DIR = /home/yocto/fossology_scans
 +SPDX_TEMP_DIR ?= ${WORKDIR}/spdx_temp
 +SPDX_MANIFEST_DIR ?= /home/yocto/fossology_scans

  ## SPDX Format info
 -SPDX_VERSION = SPDX-1.1
 +SPDX_VERSION = SPDX-1.2
  DATA_LICENSE = CC0-1.0
 +## If your fossylogy server is from 2.4.0 to 2.6.1,the LICENSELISTVERSION is 
 1.19
 +## Reference to 
 http://www.fossology.org/projects/fossology/wiki/Release_Notes
 +LICENSELISTVERSION = 1.19
 +CREATOR_TOOL = yocto+fossology-spdx

Can we also get a prefix to these? LICENSELISTVERSION is hard to debug
if I happen to run across it. If you notice above and below we're
using SPDX_ or FOSS_. Can we decide on one of these for DATA_LICENSE
CREATOR_TOOL and LICENSELISTVERSION (which should be shortened
perhaps)?

 +
 +# FOSSologySPDX instance server.
 +FOSS_SERVER ?= http://127.0.0.1/repo/ --noproxy 127.0.0.1
 +
 +# The following commnd is suit for the FOSSologySPDX instance server in 
 localhost.
 +# options:
 +# 1) noCopyright: true/false. Only when this option is set to true, 
 copyright information is scanned.
 +# 2) jsonOutput: true/false. Only when this option is set to true, 
 scanning result is output in JSON format.
 +#Skipping this option equals setting to false.
 +# 3) fullSPDXFlag: true/false. Only when this option is set to true, low 
 definition of full SPDX contents are output.
 +#This option should be set as true when user want to generate SPDX 
 file from command line.

There's some trailing whitespace above.


 -## Fossology scan information
 -# You can set option to control if the copyright information will be skipped
 -# during the identification process.
 -#
 -# It is defined as [FOSS_COPYRIGHT] in ./meta/conf/licenses.conf.
 -# FOSS_COPYRIGHT = true
 -#   NO copyright will be processed. That means only license information will 
 be
 -#   identified and output to SPDX file
 -# FOSS_COPYRIGHT = false
 -#   Copyright will be identified and output to SPDX file along with license
 -#   information. The process will take more time than not processing 
 copyright
 -#   information.
 -#
 -
 -FOSS_NO_COPYRIGHT = true
 -
 -# A option defined as[FOSS_RECURSIVE_UNPACK] in ./meta/conf/licenses.conf. is
 -# used to control if FOSSology server need recursively unpack tar.gz file 
 which
 -# is sent from do_spdx task.
 -#
 -# FOSS_RECURSIVE_UNPACK = false:
 -#FOSSology server does NOT recursively unpack. In the current release, 
 this
 -#is the default choice because recursively unpack will not necessarily 
 break
 -#down original compressed files.
 -# FOSS_RECURSIVE_UNPACK = true:
 -#FOSSology server recursively unpack components.
 -#
 -
 -FOSS_RECURSIVE_UNPACK = false
 -
 -# An option defined as [FOSS_FULL_SPDX] in ./meta/conf/licenses.conf is used 
 to
 -# control what kind of SPDX output to get from the FOSSology server.
 -#
 -# FOSS_FULL_SPDX = true:
 -#   Tell FOSSology server to return full SPDX output, like if the program was
 -#   run from the command line. This is needed in order to get license refs 
 for
 -#   the full package rather than individual files only.
 -#
 -# FOSS_FULL_SPDX = false:
 -#   Tell FOSSology to only process license information for files. All package
 -#   license tags in the report will be NOASSERTION
 -#
 -
 -FOSS_FULL_SPDX = true
 -
 -# FOSSologySPDX instance server. http://localhost/repo is the default
 -# installation location for FOSSology.
 -#
  # For more information on FOSSologySPDX commandline:
 -#   https://github.com/spdx-tools/fossology-spdx/wiki/Fossology-SPDX-Web-API
 -#
 -
 -FOSS_BASE_URL = http://localhost/repo/?mod=spdx_license_once;
 -FOSS_SERVER = 
 ${FOSS_BASE_URL}fullSPDXFlag=${FOSS_FULL_SPDX}noCopyright=${FOSS_NO_COPYRIGHT}recursiveUnpack=${FOSS_RECURSIVE_UNPACK}
 +# #   
 https://github.com/spdx-tools/fossology-spdx/wiki/Fossology-SPDX-Web-API

 -FOSS_WGET_FLAGS = -qO - --no-check-certificate --timeout=0
 +FOSS_CURL_FLAGS ?= -F mod=spdx_license_once -F noCopyright=false -F 
 jsonOutput=false -F fullSPDXFlag=true


 --
 1.8.4.2

 --
 ___
 Openembedded-core mailing list
 Openembedded-core@lists.openembedded.org
 http://lists.openembedded.org/mailman/listinfo/openembedded-core



-- 
Elizabeth Flanagan
Yocto Project
Build and Release
-- 
___
Openembedded-core 

Re: [OE-core] [PATCH RFC] sstate: Add eventhandler which cleans up stale recipe data

2015-06-08 Thread Richard Purdie
On Mon, 2015-06-08 at 14:43 +0200, Martin Jansa wrote:
 On Sun, Jun 07, 2015 at 08:20:12AM +0100, Richard Purdie wrote:
  Incremental builds do not work well when renaming recipes or changing
  architecture is a long standing issue which causes people considerable
  pain. We've struggled for a long time to come up with a way to
  generically address the problem.
  
  There are additional issues where removal of a layer caused data to
  continue to exist and additionally, changing DISTRO_FEATURES also caused
  problems in an existing TMPDIR.
  
  This patch attempts to address this by adding a mapping between stamp
  files and manifests. After parsing we can easily tell which stamp files
  are still reachable, if any manifest has a stamp that can no longer be
  reached, we can remove it. Since this code ties this to the sstate
  architecture list, it will not remove data from other than the current
  MACHINE (and its active architectures). It does not clean the sstate
  cache so if another build activates something which was cleaned, it
  should reinstall from sstate.
  
  We can also go one step further, depending on the setting of
  SSTATE_PRUNE_OBSOLETEWORKDIR, workdirs which are no longer active can
  also be removed. This avoids the buildup of many old copies of data in
  WORKDIR for example when versions are upgraded.
  
  The one thing which may surprise people with this change is if you
  remove a layer, data added by that layer will be uninstalled before
  the next build continues. I believe this is a feature and a good thing
  to do though.
  
  This code is safe with existing builds. If something isn't in the new
  index it simply isn't removed. Since changes to the sstate code trigger
  a rebuild, after this merges, we can assume the code will start to
  detect changes from that point onwards.
  
  [Right now this is an RFC, it appeared to do the right things in some
  brief local tests and I am pretty excited that this could solve a long
  standing usability issue in a clean and effective way. There is a bug
  related to DISTRO_FEATURES changes right now since even skipped recipes
  will still show active stamps meaning systemd isn't removed from a
  sysvinit build and vice versa. I should be able to fix that next week
  before merging. This patch depends on the patch on the bitbake list for
  the event it needs. Before merging I will bump version number
  requirements to ensure people have it. I also want to improve the log
  output so it tells users what its doing rather than the obtuse
  bb.error().]
  
  [YOCTO #4102]
 
 Thanks RP, good work, I'm cherry-picking both changes for my next world
 build.

There were some small but annoying bugs in the first version I posted.
I've shaken them out and posted a version which appears to work much
better.

The sysvinit issue turned out to be the metadata markup, not the skipped
metadata problem I was expecting it to be.

I'm quietly excited with this change as I think it should improve
people's experiences in a number of ways.

Cheers,

Richard


-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 0/2][dizzy] python-nose and python-contextlib backports to dizzy

2015-06-08 Thread Alejandro Hernandez
I would like to backport both python-nose and python-contextlib to dizzy, they 
were
added to master in the following commits respectively:


http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=7282635343e0ccf7a82ffdb35905bdc2db6093d3
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=7f58a85337a0712802bdb604a58985a8800b6477

I would like to include python-scipy, and these are build dependencies for it, 
more specifically for iot builds which currently use the dizzy branch

The following changes since commit 9c4ff467f66428488b1cd9798066a8cb5d6b4c3b:

  split_and_strip_files: regroup hardlinks to make build deterministic 
(2015-05-15 18:13:40 +0100)

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib hsalejandro/iot_backports
  
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=hsalejandro/iot_backports

Alejandro Hernandez (2):
  python-contextlib: backport to dizzy
  python-nose: backport it to dizzy

 meta/recipes-devtools/python/python-2.7-manifest.inc | 10 +++---
 meta/recipes-devtools/python/python-nose_1.3.6.bb| 16 
 scripts/contrib/python/generate-manifest-2.7.py  |  3 +++
 3 files changed, 26 insertions(+), 3 deletions(-)
 create mode 100644 meta/recipes-devtools/python/python-nose_1.3.6.bb

-- 
1.8.4.5

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 1/2][dizzy] python-contextlib: backport to dizzy

2015-06-08 Thread Alejandro Hernandez
Signed-off-by: Alejandro Hernandez alejandro.hernan...@linux.intel.com
---
 meta/recipes-devtools/python/python-2.7-manifest.inc | 10 +++---
 scripts/contrib/python/generate-manifest-2.7.py  |  3 +++
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/meta/recipes-devtools/python/python-2.7-manifest.inc 
b/meta/recipes-devtools/python/python-2.7-manifest.inc
index 5c2629e..3d2e48d 100644
--- a/meta/recipes-devtools/python/python-2.7-manifest.inc
+++ b/meta/recipes-devtools/python/python-2.7-manifest.inc
@@ -5,9 +5,9 @@
 
  
 
-PROVIDES+=${PN}-2to3 ${PN}-audio ${PN}-bsddb ${PN}-codecs ${PN}-compile 
${PN}-compiler ${PN}-compression ${PN}-core ${PN}-crypt ${PN}-ctypes 
${PN}-curses ${PN}-datetime ${PN}-db ${PN}-debugger ${PN}-dev ${PN}-difflib 
${PN}-distutils ${PN}-distutils-staticdev ${PN}-doctest ${PN}-elementtree 
${PN}-email ${PN}-fcntl ${PN}-gdbm ${PN}-hotshot ${PN}-html ${PN}-idle 
${PN}-image ${PN}-importlib ${PN}-io ${PN}-json ${PN}-lang ${PN}-logging 
${PN}-mailbox ${PN}-math ${PN}-mime ${PN}-mmap ${PN}-multiprocessing 
${PN}-netclient ${PN}-netserver ${PN}-numbers ${PN}-pickle ${PN}-pkgutil 
${PN}-pprint ${PN}-profile ${PN}-pydoc ${PN}-re ${PN}-readline ${PN}-resource 
${PN}-robotparser ${PN}-shell ${PN}-smtpd ${PN}-sqlite3 ${PN}-sqlite3-tests 
${PN}-stringold ${PN}-subprocess ${PN}-syslog ${PN}-terminal ${PN}-tests 
${PN}-textutils ${PN}-threading ${PN}-tkinter ${PN}-unittest ${PN}-unixadmin 
${PN}-xml ${PN}-xmlrpc ${PN}-zlib 
+PROVIDES+=${PN}-2to3 ${PN}-audio ${PN}-bsddb ${PN}-codecs ${PN}-compile 
${PN}-compiler ${PN}-compression ${PN}-contextlib ${PN}-core ${PN}-crypt 
${PN}-ctypes ${PN}-curses ${PN}-datetime ${PN}-db ${PN}-debugger ${PN}-dev 
${PN}-difflib ${PN}-distutils ${PN}-distutils-staticdev ${PN}-doctest 
${PN}-elementtree ${PN}-email ${PN}-fcntl ${PN}-gdbm ${PN}-hotshot ${PN}-html 
${PN}-idle ${PN}-image ${PN}-importlib ${PN}-io ${PN}-json ${PN}-lang 
${PN}-logging ${PN}-mailbox ${PN}-math ${PN}-mime ${PN}-mmap 
${PN}-multiprocessing ${PN}-netclient ${PN}-netserver ${PN}-numbers 
${PN}-pickle ${PN}-pkgutil ${PN}-pprint ${PN}-profile ${PN}-pydoc ${PN}-re 
${PN}-readline ${PN}-resource ${PN}-robotparser ${PN}-shell ${PN}-smtpd 
${PN}-sqlite3 ${PN}-sqlite3-tests ${PN}-stringold ${PN}-subprocess ${PN}-syslog 
${PN}-terminal ${PN}-tests ${PN}-textutils ${PN}-threading ${PN}-tkinter 
${PN}-unittest ${PN}-unixadmin ${PN}-xml ${PN}-xmlrpc ${PN}-zlib 
 
-PACKAGES=${PN}-dbg ${PN}-2to3 ${PN}-audio ${PN}-bsddb ${PN}-codecs 
${PN}-compile ${PN}-compiler ${PN}-compression ${PN}-core ${PN}-crypt 
${PN}-ctypes ${PN}-curses ${PN}-datetime ${PN}-db ${PN}-debugger ${PN}-dev 
${PN}-difflib ${PN}-distutils-staticdev ${PN}-distutils ${PN}-doctest 
${PN}-elementtree ${PN}-email ${PN}-fcntl ${PN}-gdbm ${PN}-hotshot ${PN}-html 
${PN}-idle ${PN}-image ${PN}-importlib ${PN}-io ${PN}-json ${PN}-lang 
${PN}-logging ${PN}-mailbox ${PN}-math ${PN}-mime ${PN}-mmap 
${PN}-multiprocessing ${PN}-netclient ${PN}-netserver ${PN}-numbers 
${PN}-pickle ${PN}-pkgutil ${PN}-pprint ${PN}-profile ${PN}-pydoc ${PN}-re 
${PN}-readline ${PN}-resource ${PN}-robotparser ${PN}-shell ${PN}-smtpd 
${PN}-sqlite3 ${PN}-sqlite3-tests ${PN}-stringold ${PN}-subprocess ${PN}-syslog 
${PN}-terminal ${PN}-tests ${PN}-textutils ${PN}-threading ${PN}-tkinter 
${PN}-unittest ${PN}-unixadmin ${PN}-xml ${PN}-xmlrpc ${PN}-zlib ${PN}-modules
+PACKAGES=${PN}-dbg ${PN}-2to3 ${PN}-audio ${PN}-bsddb ${PN}-codecs 
${PN}-compile ${PN}-compiler ${PN}-compression ${PN}-contextlib ${PN}-core 
${PN}-crypt ${PN}-ctypes ${PN}-curses ${PN}-datetime ${PN}-db ${PN}-debugger 
${PN}-dev ${PN}-difflib ${PN}-distutils-staticdev ${PN}-distutils ${PN}-doctest 
${PN}-elementtree ${PN}-email ${PN}-fcntl ${PN}-gdbm ${PN}-hotshot ${PN}-html 
${PN}-idle ${PN}-image ${PN}-importlib ${PN}-io ${PN}-json ${PN}-lang 
${PN}-logging ${PN}-mailbox ${PN}-math ${PN}-mime ${PN}-mmap 
${PN}-multiprocessing ${PN}-netclient ${PN}-netserver ${PN}-numbers 
${PN}-pickle ${PN}-pkgutil ${PN}-pprint ${PN}-profile ${PN}-pydoc ${PN}-re 
${PN}-readline ${PN}-resource ${PN}-robotparser ${PN}-shell ${PN}-smtpd 
${PN}-sqlite3 ${PN}-sqlite3-tests ${PN}-stringold ${PN}-subprocess ${PN}-syslog 
${PN}-terminal ${PN}-tests ${PN}-textutils ${PN}-threading ${PN}-tkinter 
${PN}-unittest ${PN}-unixadmin ${PN}-xml ${PN}-xmlrpc ${PN}-zlib ${PN}-modules
 
 SUMMARY_${PN}-2to3=Python automated Python 2 to 3 code translator
 RDEPENDS_${PN}-2to3=${PN}-core
@@ -37,6 +37,10 @@ SUMMARY_${PN}-compression=Python high-level compression 
support
 RDEPENDS_${PN}-compression=${PN}-core ${PN}-zlib
 FILES_${PN}-compression=${libdir}/python2.7/gzip.* 
${libdir}/python2.7/zipfile.* ${libdir}/python2.7/tarfile.* 
${libdir}/python2.7/lib-dynload/bz2.so 
 
+SUMMARY_${PN}-contextlib=Python utilities for with-statementcontexts.
+RDEPENDS_${PN}-contextlib=${PN}-core
+FILES_${PN}-contextlib=${libdir}/python${PYTHON_MAJMIN}/contextlib.* 
+
 SUMMARY_${PN}-core=Python interpreter and core modules
 

[OE-core] [PATCH 2/2][dizzy] python-nose: backport it to dizzy

2015-06-08 Thread Alejandro Hernandez
Signed-off-by: Alejandro Hernandez alejandro.hernan...@linux.intel.com
---
 meta/recipes-devtools/python/python-nose_1.3.6.bb | 16 
 1 file changed, 16 insertions(+)
 create mode 100644 meta/recipes-devtools/python/python-nose_1.3.6.bb

diff --git a/meta/recipes-devtools/python/python-nose_1.3.6.bb 
b/meta/recipes-devtools/python/python-nose_1.3.6.bb
new file mode 100644
index 000..d6e8fc1
--- /dev/null
+++ b/meta/recipes-devtools/python/python-nose_1.3.6.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = nose extends the test loading and running features of unittest, 
\
+making it easier to write, find and run tests.
+SECTION = devel/python
+LICENSE = LGPLv2.1
+LIC_FILES_CHKSUM = file://lgpl.txt;md5=a6f89e2100d9b6cdffcea4f398e37343
+
+SRC_URI = http://pypi.python.org/packages/source/n/nose/nose-${PV}.tar.gz;
+
+SRC_URI[md5sum] = 0ca546d81ca8309080fc80cb389e7a16
+SRC_URI[sha256sum] = 
f61e0909a743eed37b1207e38a8e7b4a2fe0a82185e36f2be252ef1b3f901758
+
+S = ${WORKDIR}/nose-${PV}
+
+inherit setuptools
+
+BBCLASSEXTEND = native nativesdk
-- 
1.8.4.5

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] sysvinit: Only enable recipe in builds where its applicable

2015-06-08 Thread Richard Purdie
Similarly to systemd, only enable the recipe in builds where 
sysvinit is configured in DISTRO_FEATURES. This allows the new
cleanup mechanism to handle it correctly in existing builds.

Signed-off-by: Richard Purdie richard.pur...@linuxfoundation.org

diff --git a/meta/recipes-core/sysvinit/sysvinit_2.88dsf.bb 
b/meta/recipes-core/sysvinit/sysvinit_2.88dsf.bb
index 2c7e3ce..6709a9b 100644
--- a/meta/recipes-core/sysvinit/sysvinit_2.88dsf.bb
+++ b/meta/recipes-core/sysvinit/sysvinit_2.88dsf.bb
@@ -100,3 +100,8 @@ do_install () {
chown root.shutdown ${D}${base_sbindir}/halt 
${D}${base_sbindir}/shutdown
chmod o-x,u+s ${D}${base_sbindir}/halt ${D}${base_sbindir}/shutdown
 }
+
+python () {
+if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
+raise bb.parse.SkipPackage('sysvinit' not in DISTRO_FEATURES)
+}


-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] sstate: Add eventhandler which cleans up stale recipe data

2015-06-08 Thread Richard Purdie
Incremental builds do not work well when renaming recipes or changing
architecture is a long standing issue which causes people considerable
pain. We've struggled for a long time to come up with a way to
generically address the problem.

There are additional issues where removal of a layer caused data to
continue to exist and additionally, changing DISTRO_FEATURES also caused
problems in an existing TMPDIR.

This patch attempts to address this by adding a mapping between stamp
files and manifests. After parsing we can easily tell which stamp files
are still reachable, if any manifest has a stamp that can no longer be
reached, we can remove it. Since this code ties this to the sstate
architecture list, it will not remove data from other than the current
MACHINE (and its active architectures). It does not clean the sstate
cache so if another build activates something which was cleaned, it
should reinstall from sstate.

We can also go one step further, depending on the setting of
SSTATE_PRUNE_OBSOLETEWORKDIR, workdirs which are no longer active can
also be removed. This avoids the buildup of many old copies of data in
WORKDIR for example when versions are upgraded.

The one thing which may surprise people with this change is if you
remove a layer, data added by that layer will be uninstalled before
the next build continues. I believe this is a feature and a good thing
to do though.

This code is safe with existing builds. If something isn't in the new
index it simply isn't removed. Since changes to the sstate code trigger
a rebuild, after this merges, we can assume the code will start to
detect changes from that point onwards.

[YOCTO #4102]

Signed-off-by: Richard Purdie richard.pur...@linuxfoundation.org

diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 949ba4a..89df28a 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -33,6 +33,16 @@ SSTATE_SCAN_CMD ?= 'find ${SSTATE_BUILDDIR} \( -name ${@\ 
-o -name \.join(d
 
 BB_HASHFILENAME = ${SSTATE_EXTRAPATH} ${SSTATE_PKGSPEC} ${SSTATE_SWSPEC}
 
+SSTATE_ARCHS =  \
+${BUILD_ARCH} \
+${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS} \
+${BUILD_ARCH}_${TARGET_ARCH} \
+${SDK_ARCH}_${SDK_OS} \
+${SDK_ARCH}_${PACKAGE_ARCH} \
+allarch \
+${PACKAGE_ARCH} \
+${MACHINE}
+
 SSTATE_MANMACH ?= ${SSTATE_PKGARCH}
 
 SSTATECREATEFUNCS = sstate_hardcode_path
@@ -233,6 +243,20 @@ def sstate_install(ss, d):
 f.write(di + \n)
 f.close()
 
+# Append to the list of manifests for this PACKAGE_ARCH
+
+i = d2.expand(${SSTATE_MANIFESTS}/index-${SSTATE_MANMACH})
+l = bb.utils.lockfile(i + .lock)
+filedata = d.getVar(STAMP, True) +   + 
d2.getVar(SSTATE_MANFILEPREFIX, True) +   + d.getVar(WORKDIR, True) + \n
+manifests = []
+if os.path.exists(i):
+with open(i, r) as f:
+manifests = f.readlines()
+if filedata not in manifests:
+with open(i, a+) as f:
+f.write(filedata)
+bb.utils.unlockfile(l)
+
 # Run the actual file install
 for state in ss['dirs']:
 if os.path.exists(state[1]):
@@ -858,3 +882,44 @@ python sstate_eventhandler() {
 bb.siggen.dump_this_task(sstatepkg + '_' + taskname + .tgz 
.siginfo, d)
 }
 
+SSTATE_PRUNE_OBSOLETEWORKDIR = 1
+
+# Event handler which removes manifests and stamps file for
+# recipes which are no longer reachable in a build where they
+# once were.
+# Also optionally removes the workdir of those tasks/recipes
+#
+addhandler sstate_eventhandler2
+sstate_eventhandler2[eventmask] = bb.event.ReachableStamps
+python sstate_eventhandler2() {
+import glob
+d = e.data
+stamps = e.stamps.values()
+removeworkdir = (d.getVar(SSTATE_PRUNE_OBSOLETEWORKDIR) == 1)
+seen = []
+for a in d.getVar(SSTATE_ARCHS, True).split():
+toremove = []
+i = d.expand(${SSTATE_MANIFESTS}/index- + a)
+if not os.path.exists(i):
+continue
+with open(i, r) as f:
+lines = f.readlines()
+for l in lines:
+(stamp, manifest, workdir) = l.split()
+if stamp not in stamps:
+toremove.append(l)
+if stamp not in seen:
+bb.note(Stamp %s is not reachable, removing related 
manifests % stamp)
+seen.append(stamp)
+for r in toremove:
+(stamp, manifest, workdir) = r.split()
+for m in glob.glob(manifest + .*):
+sstate_clean_manifest(m, d)
+bb.utils.remove(stamp + *)
+if removeworkdir:
+bb.utils.remove(workdir, recurse = True)
+lines.remove(r)
+with open(i, w) as f:
+for l in lines:
+f.write(l)
+}


-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] cracklib:Fix an error in the patch

2015-06-08 Thread Lei Maohui
To fix an error in the patch.Otherwise,the dictionary would be wrong.

Signed-off-by: Lei Maohui leimao...@cn.fujitsu.com
---
 ...c-support-dictionary-byte-order-dependent.patch | 67 --
 1 file changed, 37 insertions(+), 30 deletions(-)

diff --git 
a/meta/recipes-extended/cracklib/cracklib/0001-packlib.c-support-dictionary-byte-order-dependent.patch
 
b/meta/recipes-extended/cracklib/cracklib/0001-packlib.c-support-dictionary-byte-order-dependent.patch
index 8e0f406..adbe7df 100644
--- 
a/meta/recipes-extended/cracklib/cracklib/0001-packlib.c-support-dictionary-byte-order-dependent.patch
+++ 
b/meta/recipes-extended/cracklib/cracklib/0001-packlib.c-support-dictionary-byte-order-dependent.patch
@@ -1,7 +1,7 @@
-From dae29a98c066bc67bb5ba12219d5fd68a8675514 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia hongxu@windriver.com
-Date: Fri, 26 Apr 2013 20:44:10 +0800
-Subject: [PATCH] packlib.c: support dictionary byte-order dependent
+From 8a6e43726ad0ae41bd1cc2c248d91deb31459357 Mon Sep 17 00:00:00 2001
+From: Lei Maohui leimao...@cn.fujitsu.com
+Date: Tue, 9 Jun 2015 11:11:48 +0900
+Subject: [PATCH] packlib.c: support dictionary byte order dependent
 
 The previous dict files are NOT byte-order independent, in fact they are
 probably ARCHITECTURE SPECIFIC.
@@ -12,7 +12,7 @@ Signed-off-by: Hongxu Jia hongxu@windriver.com
 Upstream-Status: Pending
 
 We can't use the endian.h, htobe* and be*toh functions because they are
-not available on older versions of glibc, such as that found in RHEL 
+not available on older versions of glibc, such as that found in RHEL
 5.9.
 
 Change to checking endian and directly calling bswap_* as defined in
@@ -20,14 +20,15 @@ byteswap.h.
 
 Signed-off-by: Mark Hatle mark.ha...@windriver.com
 
+Signed-off-by: Lei Maohui leimao...@cn.fujitsu.com
 ---
- lib/packlib.c |  208 +++--
- 1 file changed, 204 insertions(+), 4 deletions(-)
+ lib/packlib.c | 214 --
+ 1 file changed, 210 insertions(+), 4 deletions(-)
 
-Index: cracklib-2.8.22/lib/packlib.c
-===
 cracklib-2.8.22.orig/lib/packlib.c
-+++ cracklib-2.8.22/lib/packlib.c
+diff --git a/lib/packlib.c b/lib/packlib.c
+index f851424..3aac805 100644
+--- a/lib/packlib.c
 b/lib/packlib.c
 @@ -16,6 +16,12 @@
  #ifdef HAVE_STDINT_H
  #include stdint.h
@@ -41,7 +42,7 @@ Index: cracklib-2.8.22/lib/packlib.c
  #include packer.h
  
  static const char vers_id[] = packlib.c : v2.3p2 Alec Muffett 18 May 1993;
-@@ -45,6 +51,182 @@ typedef struct
+@@ -45,6 +51,185 @@ typedef struct
  char data_get[NUMWORDS][MAXWORDLEN];
  } PWDICT64;
  
@@ -145,7 +146,8 @@ Index: cracklib-2.8.22/lib/packlib.c
 +
 +for (i = 0; i  nLen / sizeof(uint64_t); i++)
 +{
-+*pHwms64++ = bswap_64(*pHwms64);
++*pHwms64 = bswap_64(*pHwms64);
++*pHwms64++;
 +}
 +
 +}
@@ -155,7 +157,8 @@ Index: cracklib-2.8.22/lib/packlib.c
 +
 +for (i = 0; i  nLen / sizeof(uint32_t); i++)
 +{
-+*pHwms32++ = bswap_32(*pHwms32);
++*pHwms32 = bswap_32(*pHwms32);
++*pHwms32++;
 +}
 +
 +}
@@ -199,7 +202,8 @@ Index: cracklib-2.8.22/lib/packlib.c
 +
 +for (i = 0; i  nLen / sizeof(uint32_t); i++)
 +{
-+*pHwms32++ = bswap_32(*pHwms32);
++*pHwms32 = bswap_32(*pHwms32);
++*pHwms32++;
 +}
 +
 +}
@@ -224,7 +228,7 @@ Index: cracklib-2.8.22/lib/packlib.c
  
  static int
  _PWIsBroken64(FILE *ifp)
-@@ -57,6 +239,7 @@ _PWIsBroken64(FILE *ifp)
+@@ -57,6 +242,7 @@ _PWIsBroken64(FILE *ifp)
 return 0;
  }
  
@@ -232,7 +236,7 @@ Index: cracklib-2.8.22/lib/packlib.c
  return (pdesc64.header.pih_magic == PIH_MAGIC);
  }
  
-@@ -149,7 +332,11 @@ PWOpen(prefix, mode)
+@@ -149,7 +335,11 @@ PWOpen(prefix, mode)
pdesc.header.pih_blocklen = NUMWORDS;
pdesc.header.pih_numwords = 0;
  
@@ -245,23 +249,23 @@ Index: cracklib-2.8.22/lib/packlib.c
  } else
  {
pdesc.flags = ~PFOR_WRITE;
-@@ -173,6 +360,7 @@ PWOpen(prefix, mode)
-   return ((PWDICT *) 0);
+@@ -173,6 +363,7 @@ PWOpen(prefix, mode)
+   return NULL;
}
  
 +IheaderBigEndianToHost((char *) pdesc.header, en_is32);
  if ((pdesc.header.pih_magic == 0) || (pdesc.header.pih_numwords == 0))
  {
  /* uh-oh. either a broken 64-bit file or a garbage file. */
-@@ -195,6 +383,7 @@ PWOpen(prefix, mode)
+@@ -195,6 +386,7 @@ PWOpen(prefix, mode)
}
- return ((PWDICT *) 0);
+ return NULL;
  }
 +IheaderBigEndianToHost((char *) pdesc64.header, en_is64);
  if (pdesc64.header.pih_magic != PIH_MAGIC)
  {
  /* nope, not 64-bit after all */
-@@ -290,6 +479,7 @@ PWOpen(prefix, mode)
+@@ 

Re: [OE-core] [PATCH 0/2][dizzy] python-nose and python-contextlib backports to dizzy

2015-06-08 Thread akuster808

Alejandro,

great.  I pull these in.


thanks,
- armin

On 06/08/2015 06:56 AM, Alejandro Hernandez wrote:

I would like to backport both python-nose and python-contextlib to dizzy, they 
were
added to master in the following commits respectively:


http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=7282635343e0ccf7a82ffdb35905bdc2db6093d3
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=7f58a85337a0712802bdb604a58985a8800b6477

I would like to include python-scipy, and these are build dependencies for it,
more specifically for iot builds which currently use the dizzy branch

The following changes since commit 9c4ff467f66428488b1cd9798066a8cb5d6b4c3b:

   split_and_strip_files: regroup hardlinks to make build deterministic 
(2015-05-15 18:13:40 +0100)

are available in the git repository at:

   git://git.yoctoproject.org/poky-contrib hsalejandro/iot_backports
   
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=hsalejandro/iot_backports

Alejandro Hernandez (2):
   python-contextlib: backport to dizzy
   python-nose: backport it to dizzy

  meta/recipes-devtools/python/python-2.7-manifest.inc | 10 +++---
  meta/recipes-devtools/python/python-nose_1.3.6.bb| 16 
  scripts/contrib/python/generate-manifest-2.7.py  |  3 +++
  3 files changed, 26 insertions(+), 3 deletions(-)
  create mode 100644 meta/recipes-devtools/python/python-nose_1.3.6.bb


--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] sstate: Add eventhandler which cleans up stale recipe data

2015-06-08 Thread Christopher Larson
On Mon, Jun 8, 2015 at 5:28 PM, Richard Purdie 
richard.pur...@linuxfoundation.org wrote:

 +for a in d.getVar(SSTATE_ARCHS, True).split():
 +toremove = []
 +i = d.expand(${SSTATE_MANIFESTS}/index- + a)
 +if not os.path.exists(i):
 +continue
 +with open(i, r) as f:
 +lines = f.readlines()
 +for l in lines:
 +(stamp, manifest, workdir) = l.split()
 +if stamp not in stamps:
 +toremove.append(l)
 +if stamp not in seen:
 +bb.note(Stamp %s is not reachable, removing
 related manifests % stamp)
 +seen.append(stamp)
 +for r in toremove:
 +(stamp, manifest, workdir) = r.split()
 +for m in glob.glob(manifest + .*):
 +sstate_clean_manifest(m, d)
 +bb.utils.remove(stamp + *)
 +if removeworkdir:
 +bb.utils.remove(workdir, recurse = True)


This looks like it’ll solve a lot of headaches for folks.

Should the removal of workdir bit be outside the ‘for r in toremove’ block?
-- 
Christopher Larson
clarson at kergoth dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Senior Software Engineer, Mentor Graphics
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [bitbake-devel] build yocto error

2015-06-08 Thread Robert Yang

Hi issta,

This email should go into oe-core, not bitbake-devel, can you add the file
/chunyun/share/yocto/ZC702/tmp/work/cortexa9-vfp-neon-poky-linux-gnueabi/init-ifupdown/1.0-r7/temp/log.do_package_write_rpm.8848, 
please ?


// Robert



On 06/09/2015 11:27 AM, issta Hu wrote:

chunyun@ubuntu:~/share/yocto/ZC702$ bitbake core-image-minimal
Loading cache: 100%
|#|
ETA:  00:00:00
Loaded 1303 entries from dependency cache.
Parsing recipes: 100%
|###|
Time: 00:00:00
Parsing of 896 .bb files complete (894 cached, 2 parsed). 1303 targets, 58
skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION= 1.27.0
BUILD_SYS = x86_64-linux
NATIVELSBSTRING   = Ubuntu-14.04
TARGET_SYS= arm-poky-linux-gnueabi
MACHINE   = zc702-zynq7
DISTRO= poky
DISTRO_VERSION= 1.8+snapshot-20150609
TUNE_FEATURES = arm armv7a vfp neon cortexa9
TARGET_FPU= vfp-neon
meta  = fido:b5ba70b47fff227e4381fcac93defccb79e3d8f1
meta-xilinx   = fido:5aa58bbbf8ddcc59f8746805d62fd156d7cff461
meta-yocto
meta-yocto-bsp= fido:b5ba70b47fff227e4381fcac93defccb79e3d8f1

NOTE: Preparing RunQueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: Function failed: write_specfile
ERROR: Logfile of failure stored in:
/home/chunyun/share/yocto/ZC702/tmp/work/cortexa9-vfp-neon-poky-linux-gnueabi/init-ifupdown/1.0-r7/temp/log.do_package_write_rpm.8848
Log data follows:
| DEBUG: Executing python function sstate_task_prefunc
| DEBUG: Python function sstate_task_prefunc finished
| DEBUG: Executing python function do_package_write_rpm
| DEBUG: Executing python function read_subpackage_metadata
| DEBUG: Python function read_subpackage_metadata finished
| DEBUG: Executing python function do_package_rpm
| DEBUG: Executing python function write_specfile
| DEBUG: Python function write_specfile finished
| DEBUG: Python function do_package_rpm finished
| DEBUG: Python function do_package_write_rpm finished
| ERROR: Function failed: write_specfile
ERROR: Task 833
(/home/chunyun/share/yocto/poky/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb
http://init-ifupdown_1.0.bb, do_package_write_rpm) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1396 tasks of which 1395 didn't need to be rerun
and 1 failed.
No currently running tasks (1395 of 1889)

Summary: 1 task failed:

/home/chunyun/share/yocto/poky/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb
http://init-ifupdown_1.0.bb, do_package_write_rpm
Summary: There was 1 ERROR message shown, returning a non-zero exit code.




--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH][fido] runqemu: add support to boot arm64 qemu target from NFS

2015-06-08 Thread Jagadeesh Krishnanjanappa
The other changes include,
runqemu - fix MACHINE type being detected as qemuarm when qemuarm64 kernel
  image name is given.

runqemu-internal - Added console=ttyAMA0,115200 as one of the boot parameters
   for qemuarm, in order to print bootlog messages on the
   console.

 - Use -nographic option only if serial option is not
   specified. Otherwise we get below error when
   'runqemu kernel_image rootfs_image serial' is executed,

(snip)
QEMU 2.2.0 monitor - type 'help' for more information
(qemu) qemu-system-aarch64: -serial stdio: cannot use stdio by multiple 
character devices
-- CUT --

qemuarm64 NFS booting has been tested successfully on Ubuntu 14.04 host.

Signed-off-by: Jagadeesh Krishnanjanappa jkrishnanjana...@mvista.com
---
 scripts/runqemu  |  4 ++--
 scripts/runqemu-internal | 20 +++-
 2 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/scripts/runqemu b/scripts/runqemu
index 84ece4d..09c507d 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -232,13 +232,13 @@ fi
 
 if [ -z $MACHINE ]; then
 if [ x$FSTYPE = xvmdk ]; then
-MACHINE=`basename $VM | sed -n 
's/.*\(qemux86-64\|qemux86\|qemuarm\|qemumips64\|qemumips\|qemuppc\|qemush4\).*/\1/p'`
+MACHINE=`basename $VM | sed -n 
's/.*\(qemux86-64\|qemux86\|qemuarm64\|qemuarm\|qemumips64\|qemumips\|qemuppc\|qemush4\).*/\1/p'`
 if [ -z $MACHINE ]; then
 error Unable to set MACHINE from vmdk filename [$VM]
 fi
 echo Set MACHINE to [$MACHINE] based on vmdk [$VM]
 else
-MACHINE=`basename $KERNEL | sed -n 
's/.*\(qemux86-64\|qemux86\|qemuarm\|qemumips64\|qemumips\|qemuppc\|qemush4\).*/\1/p'`
+MACHINE=`basename $KERNEL | sed -n 
's/.*\(qemux86-64\|qemux86\|qemuarm64\|qemuarm\|qemumips64\|qemumips\|qemuppc\|qemush4\).*/\1/p'`
 if [ -z $MACHINE ]; then
 error Unable to set MACHINE from kernel filename [$KERNEL]
 fi
diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
index 2db5566..e346c64 100755
--- a/scripts/runqemu-internal
+++ b/scripts/runqemu-internal
@@ -275,9 +275,6 @@ else
 
 KERNCMDLINE=mem=$QEMU_MEMORY
 QEMU_UI_OPTIONS=-show-cursor -usb -usbdevice wacom-tablet
-if [ $MACHINE = 'qemuarm64' ]; then
-QEMU_UI_OPTIONS=-nographic
-fi
 
 NFS_INSTANCE=`echo $TAP | sed 's/tap//'`
 export NFS_INSTANCE
@@ -368,7 +365,7 @@ if [ $MACHINE = qemuarm -o $MACHINE = qemuarmv6 -o 
$MACHINE = qemuarm
 cleanup
 return 1
 fi
-KERNCMDLINE=root=/dev/nfs nfsroot=$NFS_SERVER:$NFS_DIR,$UNFS_OPTS rw 
$KERNEL_NETWORK_CMD mem=$QEMU_MEMORY
+KERNCMDLINE=root=/dev/nfs nfsroot=$NFS_SERVER:$NFS_DIR,$UNFS_OPTS rw 
console=ttyAMA0,115200 $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY
 QEMUOPTIONS=$QEMU_NETWORK_CMD -M ${MACHINE_SUBTYPE} --no-reboot 
$QEMU_UI_OPTIONS
 fi
 if [ $MACHINE = qemuarmv6 ]; then
@@ -383,12 +380,25 @@ if [ $MACHINE = qemuarm64 ]; then
 QEMU=qemu-system-aarch64
 
 export QEMU_AUDIO_DRV=none
-QEMU_UI_OPTIONS=$QEMU_UI_OPTIONS
+if [ x$SERIALSTDIO = x ] ; then
+QEMU_UI_OPTIONS=-nographic
+else
+QEMU_UI_OPTIONS=
+fi
 if [ ${FSTYPE:0:3} = ext -o $FSTYPE = btrfs ]; then
 KERNCMDLINE=root=/dev/vda rw console=ttyAMA0,38400 mem=$QEMU_MEMORY 
highres=off $KERNEL_NETWORK_CMD
 # qemu-system-aarch64 only support '-machine virt -cpu cortex-a57' for 
now
 QEMUOPTIONS=$QEMU_NETWORK_CMD -machine virt -cpu cortex-a57 
$ROOTFS_OPTIONS $QEMU_UI_OPTIONS
 fi
+if [ $FSTYPE = nfs ]; then
+if [ $NFS_SERVER = 192.168.7.1 -a ! -d $NFS_DIR ]; then
+echo Error: NFS mount point $ROOTFS doesn't exist
+cleanup
+return 1
+fi
+KERNCMDLINE=root=/dev/nfs nfsroot=$NFS_SERVER:$NFS_DIR,$UNFS_OPTS rw 
console=ttyAMA0,38400 mem=$QEMU_MEMORY highres=off $KERNEL_NETWORK_CMD
+QEMUOPTIONS=$QEMU_NETWORK_CMD -machine virt -cpu cortex-a57 
$QEMU_UI_OPTIONS
+fi
 fi
 
 
-- 
1.8.2.3

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [OE-Core][PATCH] {python,python3}-native: fix TypeError

2015-06-08 Thread Changhyeok Bae
g-ir-core in meta-gir is building with python-native.
When the g-ir-core(v1.42.0) is building, following error is occurred.

Error in g-ir-core:
EXEC_PREFIX = os.path.normpath(sys.exec_prefix).replace( 
os.getenv(BUILD_SYS), os.getenv(HOST_SYS) )
| TypeError: expected a character buffer object

Signed-off-by: Changhyeok Bae changhyeok@lge.com
---
 ...2-distutils-prefix-is-inside-staging-area.patch |4 ++--
 .../recipes-devtools/python/python-native_2.7.9.bb |2 +-
 .../python/python3-native_3.4.3.bb |2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git 
a/meta/recipes-devtools/python/python-native/12-distutils-prefix-is-inside-staging-area.patch
 
b/meta/recipes-devtools/python/python-native/12-distutils-prefix-is-inside-staging-area.patch
index f89aaff..b9cc4d9 100644
--- 
a/meta/recipes-devtools/python/python-native/12-distutils-prefix-is-inside-staging-area.patch
+++ 
b/meta/recipes-devtools/python/python-native/12-distutils-prefix-is-inside-staging-area.patch
@@ -12,8 +12,8 @@ Upstream-Status: Inappropriate [embedded specific]
  # These are needed in a couple of spots, so just compute them once.
 -PREFIX = os.path.normpath(sys.prefix)
 -EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
-+PREFIX = os.path.normpath(sys.prefix).replace( os.getenv(BUILD_SYS), 
os.getenv(HOST_SYS) )
-+EXEC_PREFIX = os.path.normpath(sys.exec_prefix).replace( 
os.getenv(BUILD_SYS), os.getenv(HOST_SYS) )
++PREFIX = os.path.normpath(sys.prefix).replace( str(os.getenv(BUILD_SYS)), 
str(os.getenv(HOST_SYS)) )
++EXEC_PREFIX = os.path.normpath(sys.exec_prefix).replace( 
str(os.getenv(BUILD_SYS)), str(os.getenv(HOST_SYS)) )
  
  # Path to the base directory of the project. On Windows the binary may
  # live in project/PCBuild9.  If we're dealing with an x64 Windows build,
diff --git a/meta/recipes-devtools/python/python-native_2.7.9.bb 
b/meta/recipes-devtools/python/python-native_2.7.9.bb
index 34f5c29..5be7bb9 100644
--- a/meta/recipes-devtools/python/python-native_2.7.9.bb
+++ b/meta/recipes-devtools/python/python-native_2.7.9.bb
@@ -2,7 +2,7 @@ require python.inc
 
 EXTRANATIVEPATH += bzip2-native
 DEPENDS = openssl-native bzip2-replacement-native zlib-native readline-native 
sqlite3-native
-PR = ${INC_PR}.1
+PR = ${INC_PR}.2
 
 SRC_URI += \
 file://05-enable-ctypes-cross-build.patch \
diff --git a/meta/recipes-devtools/python/python3-native_3.4.3.bb 
b/meta/recipes-devtools/python/python3-native_3.4.3.bb
index 464ff05..105c0c9 100644
--- a/meta/recipes-devtools/python/python3-native_3.4.3.bb
+++ b/meta/recipes-devtools/python/python3-native_3.4.3.bb
@@ -1,6 +1,6 @@
 require recipes-devtools/python/python.inc
 
-PR = ${INC_PR}.0
+PR = ${INC_PR}.1
 PYTHON_MAJMIN = 3.4
 DISTRO_SRC_URI ?= file://sitecustomize.py
 DISTRO_SRC_URI_linuxstdbase = 
-- 
1.7.9.5

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] RFC: BitBake's tinfoil API

2015-06-08 Thread Paul Eggleton
Hi there,

As some of you may know, BitBake has a module under lib/bb called tinfoil 
which you can use to create simple Python utilities that can call into BitBake 
code - for example, you can get variable values and parse recipes. Several 
utilities shipped with BitBake/OE make use of this (e.g. bitbake-layers, oe-
pkgdata-util, devtool, etc.). The OE layer index and Recipe Reporting Service 
update scripts also use it.

One of tinfoil's limitations up to now is that it bypasses BitBake's client-
server model - it only starts up the server, and it initialises the server 
only partially. This is fine for what it needs to do, but it does mean that 
scripts that use it cannot be run when BitBake is running in memory resident 
mode - there can be only one server instance per TMPDIR. Recently I've been 
trying to address that by moving tinfoil to the client side; my WIP branch is 
here:

  http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=paule/tinfoil2

There are some other benefits to moving to this model:

* We can now connect an actual UI, thus you get things like the recipe parsing 
progress bar and parse error handling for free

* We can now handle events generated by the server - in the OE layer index for 
example, I'm pretty certain the lack of this is the source of a bug where we 
leak memory. (Note - this is still todo on my branch).

* We can potentially extend this to do more stuff, e.g. actually running build 
operations - that simply wasn't possible with tinfoil before. I haven't 
actually provided any specific access to this yet but it shouldn't be too hard.

The downside is that tinfoil no longer has direct access to cooker, the global 
datastore, and the cache. I have extended data_smart to provide remote access 
capability for the datastore, and created fake cooker and cooker.recipecache 
/ cooker.collection adapter objects in order to avoid breaking too many 
tinfoil-using scripts that might be out there (we've never officially 
documented 
tinfoil or bitbake's internal code, but we can still make accommodations where 
practical). I've at least gone far enough to support bitbake-layers with some 
changes, but I know there are scripts such as Chris's bb out there that do 
make other calls into BitBake code that I'm not providing access to through 
the adapters (yet?).

However, it struck me that we have an opportunity to create a proper API this 
time rather than simply exposing the internals of BitBake (which do 
occasionally change, and that has resulted in breakage of tinfoil-using 
scripts in the past). The datastore is probably fine to expose, but parts of 
cooker and the cache would probably be better represented as methods on 
tinfoil, object structures underneath it, or simply as client/server calls 
that can be accessed through runCommand() (with the current architecture, we 
need to add the latter anyway). Once we've set up the new API, we can then 
document it.

Does anyone have any thoughts on this? I'm particularly interested in hearing 
from people using tinfoil in their own scripts or who would be interested in 
writing such scripts in the future - what kind of API would you like to have?

Thanks,
Paul

-- 
Paul Eggleton
-
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH v3 1/2] licenses.conf: Modified parameters for new spdx.bbclass

2015-06-08 Thread Lei Maohui
1) Define new command line to get spdx file.
2) Define some mandatory fields for spdx 0.2

Signed-off-by: Lei Maohui leimao...@cn.fujitsu.com
---
 meta/conf/licenses.conf | 77 +
 1 file changed, 20 insertions(+), 57 deletions(-)

diff --git a/meta/conf/licenses.conf b/meta/conf/licenses.conf
index 629916b..1d37616 100644
--- a/meta/conf/licenses.conf
+++ b/meta/conf/licenses.conf
@@ -122,68 +122,31 @@ SPDXLICENSEMAP[SGIv1] = SGI-1
 #COPY_LIC_DIRS = 1
 
 ## SPDX temporary directory
-SPDX_TEMP_DIR = ${WORKDIR}/spdx_temp
-SPDX_MANIFEST_DIR = /home/yocto/fossology_scans
+SPDX_TEMP_DIR ?= ${WORKDIR}/spdx_temp
+SPDX_MANIFEST_DIR ?= /home/yocto/fossology_scans
 
 ## SPDX Format info
-SPDX_VERSION = SPDX-1.1
+SPDX_VERSION = SPDX-1.2
 DATA_LICENSE = CC0-1.0
+## If your fossylogy server is from 2.4.0 to 2.6.1,the LICENSELISTVERSION is 
1.19
+## Reference to http://www.fossology.org/projects/fossology/wiki/Release_Notes
+LICENSELISTVERSION = 1.19
+CREATOR_TOOL = yocto+fossology-spdx
+
+# FOSSologySPDX instance server.
+FOSS_SERVER ?= http://127.0.0.1/repo/ --noproxy 127.0.0.1
+
+# The following commnd is suit for the FOSSologySPDX instance server in 
localhost.
+# options:
+# 1) noCopyright: true/false. Only when this option is set to true, 
copyright information is scanned.
+# 2) jsonOutput: true/false. Only when this option is set to true, scanning 
result is output in JSON format.
+#Skipping this option equals setting to false. 
+# 3) fullSPDXFlag: true/false. Only when this option is set to true, low 
definition of full SPDX contents are output. 
+#This option should be set as true when user want to generate SPDX file 
from command line.
 
-## Fossology scan information
-# You can set option to control if the copyright information will be skipped
-# during the identification process.
-#
-# It is defined as [FOSS_COPYRIGHT] in ./meta/conf/licenses.conf.
-# FOSS_COPYRIGHT = true
-#   NO copyright will be processed. That means only license information will be
-#   identified and output to SPDX file
-# FOSS_COPYRIGHT = false
-#   Copyright will be identified and output to SPDX file along with license
-#   information. The process will take more time than not processing copyright
-#   information.
-#
-
-FOSS_NO_COPYRIGHT = true
-
-# A option defined as[FOSS_RECURSIVE_UNPACK] in ./meta/conf/licenses.conf. is
-# used to control if FOSSology server need recursively unpack tar.gz file which
-# is sent from do_spdx task.
-#
-# FOSS_RECURSIVE_UNPACK = false:
-#FOSSology server does NOT recursively unpack. In the current release, this
-#is the default choice because recursively unpack will not necessarily 
break
-#down original compressed files.
-# FOSS_RECURSIVE_UNPACK = true:
-#FOSSology server recursively unpack components.
-#
-
-FOSS_RECURSIVE_UNPACK = false
-
-# An option defined as [FOSS_FULL_SPDX] in ./meta/conf/licenses.conf is used to
-# control what kind of SPDX output to get from the FOSSology server.
-#
-# FOSS_FULL_SPDX = true:
-#   Tell FOSSology server to return full SPDX output, like if the program was
-#   run from the command line. This is needed in order to get license refs for
-#   the full package rather than individual files only.
-#
-# FOSS_FULL_SPDX = false:
-#   Tell FOSSology to only process license information for files. All package
-#   license tags in the report will be NOASSERTION
-#
-
-FOSS_FULL_SPDX = true
-
-# FOSSologySPDX instance server. http://localhost/repo is the default
-# installation location for FOSSology.
-#
 # For more information on FOSSologySPDX commandline:
-#   https://github.com/spdx-tools/fossology-spdx/wiki/Fossology-SPDX-Web-API
-#
-
-FOSS_BASE_URL = http://localhost/repo/?mod=spdx_license_once;
-FOSS_SERVER = 
${FOSS_BASE_URL}fullSPDXFlag=${FOSS_FULL_SPDX}noCopyright=${FOSS_NO_COPYRIGHT}recursiveUnpack=${FOSS_RECURSIVE_UNPACK}
+# #   https://github.com/spdx-tools/fossology-spdx/wiki/Fossology-SPDX-Web-API
 
-FOSS_WGET_FLAGS = -qO - --no-check-certificate --timeout=0
+FOSS_CURL_FLAGS ?= -F mod=spdx_license_once -F noCopyright=false -F 
jsonOutput=false -F fullSPDXFlag=true
 
 
-- 
1.8.4.2

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 2/2] python-smartpm: change already installed warnings into info messages

2015-06-08 Thread Paul Eggleton
It's possible to trigger already installed messages during normal
usage if you explicitly install something in the image through
IMAGE_INSTALL that has a dependency on some -dev packages and also have
dev-pkgs in IMAGE_FEATURES. Since we now check the do_rootfs log for
warnings, these are reported as warnings at the build system level.
This situation should not trigger warnings, nor is it really cause for
concern under any other circumstance if the user asks smart to install
something that's already installed, so make it an info message rather
than a warning.

Fixes [YOCTO #7840].

Signed-off-by: Paul Eggleton paul.eggle...@linux.intel.com
---
 .../smart-already-installed-message.patch  | 54 ++
 .../python/python-smartpm_1.4.1.bb |  1 +
 2 files changed, 55 insertions(+)
 create mode 100644 
meta/recipes-devtools/python/python-smartpm/smart-already-installed-message.patch

diff --git 
a/meta/recipes-devtools/python/python-smartpm/smart-already-installed-message.patch
 
b/meta/recipes-devtools/python/python-smartpm/smart-already-installed-message.patch
new file mode 100644
index 000..905
--- /dev/null
+++ 
b/meta/recipes-devtools/python/python-smartpm/smart-already-installed-message.patch
@@ -0,0 +1,54 @@
+From a74a9a9eb9d75964a0e978950e8b191d7a18d763 Mon Sep 17 00:00:00 2001
+From: Paul Eggleton paul.eggle...@linux.intel.com
+Date: Fri, 5 Jun 2015 17:07:16 +0100
+Subject: [PATCH] smart: change is already installed message from warning to
+ info
+
+This doesn't need to be a warning.
+
+Upstream-Status: Pending
+
+Signed-off-by: Paul Eggleton paul.eggle...@linux.intel.com
+---
+ smart/commands/install.py| 4 ++--
+ smart/interfaces/text/interactive.py | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/smart/commands/install.py b/smart/commands/install.py
+index 6ef9682..80d456b 100644
+--- a/smart/commands/install.py
 b/smart/commands/install.py
+@@ -152,7 +152,7 @@ def main(ctrl, opts):
+ for obj in results:
+ for pkg in obj.packages:
+ if pkg.installed:
+-iface.warning(_(%s (for %s) is already installed)
++iface.info(_(%s (for %s) is already installed)
+   % (pkg, arg))
+ installed = True
+ break
+@@ -184,7 +184,7 @@ def main(ctrl, opts):
+ for name in names:
+ pkg = names[name][0]
+ if pkg.installed:
+-iface.warning(_(%s is already installed) % pkg)
++iface.info(_(%s is already installed) % pkg)
+ else:
+ trans.enqueue(pkg, INSTALL)
+ 
+diff --git a/smart/interfaces/text/interactive.py 
b/smart/interfaces/text/interactive.py
+index 9865584..190867b 100644
+--- a/smart/interfaces/text/interactive.py
 b/smart/interfaces/text/interactive.py
+@@ -278,7 +278,7 @@ class Interpreter(Cmd):
+ for name in names:
+ pkg = names[name][0]
+ if pkg.installed:
+-iface.warning(_(%s is already installed) % pkg)
++iface.info(_(%s is already installed) % pkg)
+ else:
+ found = True
+ transaction.enqueue(pkg, INSTALL)
+-- 
+2.1.0
+
diff --git a/meta/recipes-devtools/python/python-smartpm_1.4.1.bb 
b/meta/recipes-devtools/python/python-smartpm_1.4.1.bb
index c75f10f..69b94a2 100644
--- a/meta/recipes-devtools/python/python-smartpm_1.4.1.bb
+++ b/meta/recipes-devtools/python/python-smartpm_1.4.1.bb
@@ -34,6 +34,7 @@ SRC_URI = \
   file://smart-filename-NAME_MAX.patch \
   file://smart-rpm4-fixes.patch \
   file://smart-add-for-rpm-ignoresize-check.patch \
+  file://smart-already-installed-message.patch \
  
 
 SRC_URI[md5sum] = 573ef32ba177a6b3c4bf7ef04873fcb6
-- 
2.1.0

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 1/2] lib/oe/rootfs: tidy up log warning reporting

2015-06-08 Thread Paul Eggleton
* bb.warn() should only be called once per warning - UIs such as Toaster
  assume that this is the case, so adjust the output accordingly. (It's
  tricky here because we have to include log_check on every line or
  we'll end up looping forever as the log checking code's own messages
  retrigger the log check, sigh...)
* Iterating over a file already splits by line, there's no need to do it
  manually.

Signed-off-by: Paul Eggleton paul.eggle...@linux.intel.com
---
 meta/lib/oe/rootfs.py | 13 ++---
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py
index 5f1f7b3e..48e5754 100644
--- a/meta/lib/oe/rootfs.py
+++ b/meta/lib/oe/rootfs.py
@@ -44,15 +44,14 @@ class Rootfs(object):
 r = re.compile('^(warn|Warn|NOTE: warn|NOTE: Warn|WARNING:)')
 log_path = self.d.expand(${T}/log.do_rootfs)
 with open(log_path, 'r') as log:
-for line in log.read().split('\n'):
+for line in log:
 if 'log_check' in line or 'NOTE:' in line:
 continue
 
 m = r.search(line)
 if m:
-bb.warn('log_check: There is a warn message in the 
logfile')
-bb.warn('log_check: Matched keyword: [%s]' % m.group())
-bb.warn('log_check: %s\n' % line)
+bb.warn('[log_check] %s: found a warning message in the 
logfile (keyword \'%s\'):\n[log_check] %s'
+   % (self.d.getVar('PN', True), m.group(), 
line))
 
 def _log_check_error(self):
 r = re.compile(self.log_check_regex)
@@ -60,15 +59,15 @@ class Rootfs(object):
 with open(log_path, 'r') as log:
 found_error = 0
 message = \n
-for line in log.read().split('\n'):
+for line in log:
 if 'log_check' in line:
 continue
 
 m = r.search(line)
 if m:
 found_error = 1
-bb.warn('log_check: There were error messages in the 
logfile')
-bb.warn('log_check: Matched keyword: [%s]\n\n' % m.group())
+bb.warn('[log_check] %s: found an error message in the 
logfile (keyword \'%s\'):\n[log_check] %s'
+   % (self.d.getVar('PN', True), m.group(), 
line))
 
 if found_error = 1 and found_error = 5:
 message += line + '\n'
-- 
2.1.0

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 0/2] A couple of fixes for do_rootfs log checking

2015-06-08 Thread Paul Eggleton
The following changes since commit 3b1d89a51445cf526ca84eb5b53de434f9585d6e:

  scripts/combo-layer: Fix exit codes and tty handling (2015-06-05 16:42:07 
+0100)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib paule/rootfs-warning
  
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/rootfs-warning

Paul Eggleton (2):
  lib/oe/rootfs: tidy up log warning reporting
  python-smartpm: change already installed warnings into info messages

 meta/lib/oe/rootfs.py  | 13 +++---
 .../smart-already-installed-message.patch  | 54 ++
 .../python/python-smartpm_1.4.1.bb |  1 +
 3 files changed, 61 insertions(+), 7 deletions(-)
 create mode 100644 
meta/recipes-devtools/python/python-smartpm/smart-already-installed-message.patch

-- 
2.1.0

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 0/1] Fix for YOCTO #7662

2015-06-08 Thread Cristian Iorga
The following changes since commit 20a3a36547831349d5d8b429cb35f1415a856bda:

  scripts/combo-layer: Fix exit codes and tty handling (2015-06-05 16:42:17 
+0100)

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib Ciorga/YB7662
  http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=Ciorga/YB7662

Cristian Iorga (1):
  insane: errors out on binaries installed by allarch-inherit recipes

 meta/classes/insane.bbclass | 5 +
 1 file changed, 5 insertions(+)

-- 
2.1.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 1/1] insane: errors out on binaries installed by allarch-inherit recipes

2015-06-08 Thread Cristian Iorga
If a prebuilt binary is installed via a recipe that
inherits allarch, an odd-looking traceback is thrown out.
Fixed by implementing a proper check and outputting an
error message that clarifies the issue.

Fixes [YOCTO #7662].

Signed-off-by: Cristian Iorga cristian.io...@intel.com
---
 meta/classes/insane.bbclass | 5 +
 1 file changed, 5 insertions(+)

diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index 14d4a3c..e12f2ec 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -457,6 +457,11 @@ def package_qa_check_arch(path,name,d, elf, messages):
 provides = d.getVar('PROVIDES', True)
 bpn = d.getVar('BPN', True)
 
+if target_arch == allarch:
+pn = d.getVar('PN', True)
+messages[arch] = pn + : Recipe inherits the allarch class, but has 
packaged architecture-specific binaries
+return
+
 # FIXME: Cross package confuse this check, so just skip them
 for s in ['cross', 'nativesdk', 'cross-canadian']:
 if bb.data.inherits_class(s, d):
-- 
2.1.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH v3 0/2] These patches aim to make the spdx file be compliant with the SPDX 1.2 Specification.

2015-06-08 Thread Lei Maohui
Those patches aim to make the spdx file be compliant with the SPDX 1.2 
Specification. 
If you want to use this feature,you need to do:
1. Make sure your fossology+spdx server works well.You can get spdx file with 
the following command.
   curl http://127.0.0.1/repo/ --noproxy 127.0.0.1 -k -F mod=spdx_license_once 
-F noCopyright=false 
   -F jsonOutput=false -F fullSPDXFlag=true -F file=@xxx.tar.gz -o xxx.spdx
   
2. Add the following INHERIT statement and set the SPDX_MANIFEST_DIR at the end 
of your conf/local.conf file found in the Build Directory.
   SPDX_MANIFEST_DIR = /xxx/xxx/xxx
   INHERIT += spdx

Lei Maohui (2):
  licenses.conf: Modified parameters for new spdx.bbclass
  spdx.bbclass: Create the spdx file which is compliant with SPDX 1.2
Specification

 meta/classes/spdx.bbclass | 425 +-
 meta/conf/licenses.conf   |  77 +++--
 2 files changed, 175 insertions(+), 327 deletions(-)

-- 
1.8.4.2

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH v3 2/2] spdx.bbclass: Create the spdx file which is compliant with SPDX 1.2 Specification

2015-06-08 Thread Lei Maohui
The main changes are:
1. use curl command instead of wget when get spdx file from FOSSologySPDX 
instance server.

   Before apply these patches, the command is :
   wget -qO - --no-check-certificate --timeout=0 --post-file=xxx/yyy/zzz.tar.gz 
http://localhost//?mod=spdx_license_oncenoCopyright=${FOSS_COPYRIGHT}recursiveUnpack=${FOSS_RECURSIVE_UNPACK}

   After apply these patches, the command is :
   curl http://127.0.0.1/repo/ --noproxy 127.0.0.1 -k -F 
mod=spdx_license_once -F noCopyright=false -F jsonOutput=false -F 
fullSPDXFlag=true -F file=@ xxx/yyy/zzz.tar.gz -o xxx/yyy/zzz.spdx

   Because if use wget command,the Mandatory fields of the SPDX Specification 
such as the following can't be obtained.
   1) PackageLicenseInfoFromFiles(Package Information)
   2) PackageLicenseDeclared(Package Information)
   3) LicenseID(License Information)
   4) ExtractedText(License Information)
   5) LicenseName(License Information)

2. In order to avoid the SPDX_S be polluted in the rebuild, create 
${WORKDIR}/${SPDX_TEMP_DIR} to save the source.

3. Add mandatory field to be compliant with the SPDX 1.2 Specification.

Signed-off-by: Lei Maohui leimao...@cn.fujitsu.com
---
 meta/classes/spdx.bbclass | 425 +-
 1 file changed, 155 insertions(+), 270 deletions(-)

diff --git a/meta/classes/spdx.bbclass b/meta/classes/spdx.bbclass
index 454c53e..09584af 100644
--- a/meta/classes/spdx.bbclass
+++ b/meta/classes/spdx.bbclass
@@ -15,178 +15,191 @@
 # SPDX file will be output to the path which is defined as[SPDX_MANIFEST_DIR] 
 # in ./meta/conf/licenses.conf.
 
+SPDXOUTPUTDIR = ${WORKDIR}/spdx_output_dir
 SPDXSSTATEDIR = ${WORKDIR}/spdx_sstate_dir
 
 # If ${S} isn't actually the top-level source directory, set SPDX_S to point at
 # the real top-level directory.
+
 SPDX_S ?= ${S}
 
 python do_spdx () {
 import os, sys
-import json, shutil
+import json
+
+#The source of gcc is too large to get it's spdx.So,give up.
+bpn = d.getVar('BPN', True)
+if ((bpn == gcc) or (bpn == libgcc)):
+return None
 
 info = {} 
 info['workdir'] = d.getVar('WORKDIR', True)
-info['sourcedir'] = d.getVar('SPDX_S', True)
 info['pn'] = d.getVar('PN', True)
 info['pv'] = d.getVar('PV', True)
+info['package_download_location'] = d.getVar('SRC_URI', True)
+if info['package_download_location'] != :
+info['package_download_location'] = 
info['package_download_location'].split()[0]
 info['spdx_version'] = d.getVar('SPDX_VERSION', True)
 info['data_license'] = d.getVar('DATA_LICENSE', True)
+info['creator'] = {}
+info['creator']['Tool'] = d.getVar('CREATOR_TOOL', True)
+info['license_list_version'] = d.getVar('LICENSELISTVERSION', True)
+info['package_homepage'] = d.getVar('HOMEPAGE', True)
+info['package_summary'] = d.getVar('SUMMARY', True)
 
-sstatedir = d.getVar('SPDXSSTATEDIR', True)
-sstatefile = os.path.join(sstatedir, info['pn'] + info['pv'] + .spdx)
-
+spdx_sstate_dir = d.getVar('SPDXSSTATEDIR', True)
 manifest_dir = d.getVar('SPDX_MANIFEST_DIR', True)
-info['outfile'] = os.path.join(manifest_dir, info['pn'] + .spdx )
-
-info['spdx_temp_dir'] = d.getVar('SPDX_TEMP_DIR', True)
-info['tar_file'] = os.path.join(info['workdir'], info['pn'] + .tar.gz )
-
+info['outfile'] = os.path.join(manifest_dir, info['pn'] + - + info['pv'] 
+ .spdx)
+sstatefile = os.path.join(spdx_sstate_dir, 
+info['pn'] + - + info['pv'] + .spdx )
+info['tar_file'] = os.path.join(info['workdir'], info['pn'] + .tar.gz)
+
 # Make sure important dirs exist
 try:
 bb.utils.mkdirhier(manifest_dir)
-bb.utils.mkdirhier(sstatedir)
-bb.utils.mkdirhier(info['spdx_temp_dir'])
+bb.utils.mkdirhier(spdx_sstate_dir)
 except OSError as e:
 bb.error(SPDX: Could not set up required directories:  + str(e))
 return
 
 ## get everything from cache.  use it to decide if 
-## something needs to be rerun 
-cur_ver_code = get_ver_code(info['sourcedir'])
+## something needs to be rerun
+d.setVar('WORKDIR', d.getVar('SPDX_TEMP_DIR', True))
+info['sourcedir'] = d.getVar('SPDX_S', True)
+cur_ver_code = get_ver_code(info['sourcedir']).split()[0]
 cache_cur = False
 if os.path.exists(sstatefile):
 ## cache for this package exists. read it in
 cached_spdx = get_cached_spdx(sstatefile)
-
-if cached_spdx['PackageVerificationCode'] == cur_ver_code:
-bb.warn(SPDX: Verification code for  + info['pn']
-  + is same as cache's. do nothing)
+if cached_spdx:
+cached_spdx = cached_spdx.split()[0]
+if (cached_spdx == cur_ver_code):
+bb.warn(info['pn'] + 's ver code same as cache's. do nothing)
 cache_cur = True
-else:
-local_file_info = setup_foss_scan(info, True, cached_spdx['Files'])
-else:
-

[OE-core] [PATCH][Daisy] mesa: Avoid leaving empty sysconfdir in mesa package

2015-06-08 Thread Pau Espin Pedrol
Signed-off-by: Pau Espin Pedrol pau.es...@aweurope.be
---
 meta/recipes-graphics/mesa/mesa.inc | 5 +
 1 file changed, 5 insertions(+)

diff --git a/meta/recipes-graphics/mesa/mesa.inc 
b/meta/recipes-graphics/mesa/mesa.inc
index 96313b5..f88b2a4 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -99,6 +99,11 @@ do_install_append () {
 
 # it was packaged in libdricore9.1.3-1 and preventing upgrades when 
debian.bbclass was used 
 rm -f ${D}${sysconfdir}/drirc
+
+# /etc is sometimes left as an empty directory and it ends up into 'mesa' 
package, which is then a non-empty package
+if [ -d ${D}${sysconfdir} ]; then
+rmdir --ignore-fail-on-non-empty ${D}${sysconfdir}
+fi
 }
 
 # For the packages that make up the OpenGL interfaces, inject variables so that
-- 
1.9.1

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 2/2] cmake: Upgrade 2.8.12.2 - 3.2.2

2015-06-08 Thread Moritz Blume

On 03.06.2015 16:55, Martin Jansa wrote:

On Wed, Jun 03, 2015 at 03:57:33PM +0200, Moritz Blume wrote:

Patches qt4-fail-silent.patch and support-oe-qt4-tools-names.patch
were adapted in order to fit to CMake 3.2.2 (refer to the commit
message in the respective patch for details).
Patch cmake-2.8.11.2-FindFreetype.patch was dropped since it was
rejected upstream and its functionality otherwise implemented in the
meantime.

The Ugly hack in cmake.inc is removed since these things belong
to QT related recipes, not CMake.

No, it's issue in CMake build trying to find Qt files, so it has to be
fixed in CMake build. This hack used to be part of meta-qt5 (which
provides these files which are causing CMake build to fail, but it was
moved to oe-core so that people don't need to adjust the cmake bbappends
when they are using different branches of oe-core and meta-qt5.


Can you please tell me how to reproduce the error? I tried some of the 
meta-qt5 recipes and they all build.


Cheers,
Moritz.




Note that CMake 3 needs to have the full compiler path in the toolchain
file (see cmake.bbclass).

Does it work correctly when sstate is reused on host with different
paths?


Signed-off-by: Moritz Blume moritz.bl...@bmw-carit.de
---
  meta/classes/cmake.bbclass |  8 ++-
  .../cmake/cmake-native_2.8.12.2.bb | 19 --
  meta/recipes-devtools/cmake/cmake-native_3.2.2.bb  | 19 ++
  meta/recipes-devtools/cmake/cmake.inc  | 25 +---
  .../cmake/cmake/cmake-2.8.11.2-FindFreetype.patch  | 47 ---
  .../cmake/cmake/qt4-fail-silent.patch  | 30 --
  .../cmake/cmake/support-oe-qt4-tools-names.patch   | 70 ++
  meta/recipes-devtools/cmake/cmake_2.8.12.2.bb  | 52 
  meta/recipes-devtools/cmake/cmake_3.2.2.bb | 56 +
  9 files changed, 140 insertions(+), 186 deletions(-)
  delete mode 100644 meta/recipes-devtools/cmake/cmake-native_2.8.12.2.bb
  create mode 100644 meta/recipes-devtools/cmake/cmake-native_3.2.2.bb
  delete mode 100644 
meta/recipes-devtools/cmake/cmake/cmake-2.8.11.2-FindFreetype.patch
  delete mode 100644 meta/recipes-devtools/cmake/cmake_2.8.12.2.bb
  create mode 100644 meta/recipes-devtools/cmake/cmake_3.2.2.bb

diff --git a/meta/classes/cmake.bbclass b/meta/classes/cmake.bbclass
index 1ebb936..c97fd02 100644
--- a/meta/classes/cmake.bbclass
+++ b/meta/classes/cmake.bbclass
@@ -10,9 +10,11 @@ CCACHE = 
  # We want the staging and installing functions from autotools
  inherit autotools
  
-# C/C++ Compiler (without cpu arch/tune arguments)

-OECMAKE_C_COMPILER ?= `echo ${CC} | sed 's/^\([^ ]*\).*/\1/'`
-OECMAKE_CXX_COMPILER ?= `echo ${CXX} | sed 's/^\([^ ]*\).*/\1/'`
+# Full path to C/C++ Compiler (without cpu arch/tune arguments)
+C_COMPILER = $(echo ${CC} | sed 's/^\([^ ]*\).*/\1/')
+CXX_COMPILER = $(echo ${CXX} | sed 's/^\([^ ]*\).*/\1/')
+OECMAKE_C_COMPILER ?= $(which ${C_COMPILER})
+OECMAKE_CXX_COMPILER ?= $(which ${CXX_COMPILER})
  OECMAKE_AR ?= ${AR}
  
  # Compiler flags

diff --git a/meta/recipes-devtools/cmake/cmake-native_2.8.12.2.bb 
b/meta/recipes-devtools/cmake/cmake-native_2.8.12.2.bb
deleted file mode 100644
index e40dfdd..000
--- a/meta/recipes-devtools/cmake/cmake-native_2.8.12.2.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-require cmake.inc
-inherit native
-
-# Using cmake's internal libarchive, so some dependencies are needed
-DEPENDS += bzip2-native zlib-native
-
-SRC_URI += \
-file://cmlibarchive-disable-ext2fs.patch \
-
-
-SRC_URI[md5sum] = 17c6513483d23590cbce6957ec6d1e66
-SRC_URI[sha256sum] = 
8c6574e9afabcb9fc66f463bb1f2f051958d86c85c37fccf067eb1a44a120e5e
-
-# Disable ccmake since we don't depend on ncurses
-CMAKE_EXTRACONF = \
--DBUILD_CursesDialog=0 \
--DENABLE_ACL=0 -DHAVE_ACL_LIBACL_H=0 \
--DHAVE_SYS_ACL_H=0 \
-
diff --git a/meta/recipes-devtools/cmake/cmake-native_3.2.2.bb 
b/meta/recipes-devtools/cmake/cmake-native_3.2.2.bb
new file mode 100644
index 000..17e9e2c
--- /dev/null
+++ b/meta/recipes-devtools/cmake/cmake-native_3.2.2.bb
@@ -0,0 +1,19 @@
+require cmake.inc
+inherit native
+
+# Using cmake's internal libarchive, so some dependencies are needed
+DEPENDS += bzip2-native zlib-native
+
+SRC_URI += \
+file://cmlibarchive-disable-ext2fs.patch \
+
+
+SRC_URI[md5sum] = 2da57308071ea98b10253a87d2419281
+SRC_URI[sha256sum] = 
ade94e6e36038774565f2aed8866415443444fb7a362eb0ea5096e40d5407c78
+
+# Disable ccmake since we don't depend on ncurses
+CMAKE_EXTRACONF = \
+-DBUILD_CursesDialog=0 \
+-DENABLE_ACL=0 -DHAVE_ACL_LIBACL_H=0 \
+-DHAVE_SYS_ACL_H=0 \
+
diff --git a/meta/recipes-devtools/cmake/cmake.inc 
b/meta/recipes-devtools/cmake/cmake.inc
index 28b7f2d..226b12f 100644
--- a/meta/recipes-devtools/cmake/cmake.inc
+++ b/meta/recipes-devtools/cmake/cmake.inc
@@ -6,7 +6,7 @@ HOMEPAGE = http://www.cmake.org/;
  BUGTRACKER = http://public.kitware.com/Bug/my_view_page.php;
  SECTION = console/utils
  

Re: [OE-core] [wic][PATCH 3/4] wic: replaced __run_parted with exec_native_cmd

2015-06-08 Thread Ed Bartosh
On Fri, Jun 05, 2015 at 05:33:12PM +0100, Ross Burton wrote:
 On 05/06/2015 07:13, Ed Bartosh wrote:
  There is no need for yet another wrapper around exec_native_cmd.
 
 This doesn't appear to apply to master, can you rebase?
 
 (or does it depend on your other series?)

It depends on this patchset: 
http://lists.openembedded.org/pipermail/openembedded-core/2015-June/105561.html

--
Regards,
Ed
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] squashfs-tools: upgrade to newer revision from git

2015-06-08 Thread Martin Jansa
* 4.3 release has nasty hard to reproduce bug in LZO compression
  which in few cases results in one of these 2 errors:
  1) Lseek failure when creating the FS:
| writer: Lseek on destination failed because Bad file descriptor, 
offset=0x1f72306
| FATAL ERROR:Probably out of space on output filesystem
| Parallel mksquashfs: Using 32 processors
| Creating 4.0 filesystem on rootfs.squashfs, block size 262144.
..
  2) failing to read the filesystem in runtime, kernel 3.16.0 showing
errors like this:
[   46.720568] SQUASHFS error: lzo decompression failed, data probably 
corrupt
[   46.730003] SQUASHFS error: squashfs_read_data failed to read block 
0x1f72305
[   46.740076] SQUASHFS error: Unable to read fragment cache entry [1f72305]
  it's fixed in upstream git repo:
  
https://github.com/plougher/squashfs-tools/commit/de03266983ceb62e5365aac84fcd3b2fd4d16e6f
  
https://github.com/plougher/squashfs-tools/commit/9c1db6d13a51a2e009f0027ef336ce03624eac0d
  the official repo is:
  https://git.kernel.org/cgit/fs/squashfs/squashfs-tools.git
  but author's github is kept in sync so we can use just that

Signed-off-by: Martin Jansa martin.ja...@gmail.com
---
 .../squashfs-tools/squashfs-tools_4.3.bb   | 40 --
 .../squashfs-tools/squashfs-tools_git.bb   | 37 
 2 files changed, 37 insertions(+), 40 deletions(-)
 delete mode 100644 meta/recipes-devtools/squashfs-tools/squashfs-tools_4.3.bb
 create mode 100644 meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb

diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools_4.3.bb 
b/meta/recipes-devtools/squashfs-tools/squashfs-tools_4.3.bb
deleted file mode 100644
index 19d555e1..000
--- a/meta/recipes-devtools/squashfs-tools/squashfs-tools_4.3.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-# Note, we can probably remove the lzma option as it has be replaced with xz,
-# and I don't think the kernel supports it any more.
-SUMMARY = Tools for manipulating SquashFS filesystems
-SECTION = base
-LICENSE = GPL-2  PD
-LIC_FILES_CHKSUM = file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-
file://../../7zC.txt;beginline=12;endline=16;md5=2056cd6d919ebc3807602143c7449a7c
 \
-   
-DEPENDS = attr zlib xz lzo lz4
-
-SRC_URI = ${SOURCEFORGE_MIRROR}/squashfs/squashfs${PV}.tar.gz;name=squashfs \
-   http://downloads.sourceforge.net/sevenzip/lzma465.tar.bz2;name=lzma 
\
-  
-
-SRC_URI[squashfs.md5sum] = d92ab59aabf5173f2a59089531e30dbf
-SRC_URI[squashfs.sha256sum] = 
0d605512437b1eb800b4736791559295ee5f60177e102e4d4ccd0ee241a5f3f6
-
-SRC_URI[lzma.md5sum] = 29d5ffd03a5a3e51aef6a74e9eafb759
-SRC_URI[lzma.sha256sum] = 
c935fd04dd8e0e8c688a3078f3675d699679a90be81c12686837e0880aa0fa1e
-
-S = ${WORKDIR}/squashfs${PV}/squashfs-tools
-SPDX_S = ${WORKDIR}/squashfs${PV}
-
-# EXTRA_OEMAKE is typically: -e MAKEFLAGS=
-# the -e causes problems as CFLAGS is modified in the Makefile, so
-# we redefine EXTRA_OEMAKE here
-EXTRA_OEMAKE = MAKEFLAGS= LZMA_SUPPORT=1 LZMA_DIR=../.. XZ_SUPPORT=1 
LZO_SUPPORT=1 LZ4_SUPPORT=1
-
-do_compile() {
-   oe_runmake mksquashfs unsquashfs
-}
-do_install () {
-install -d ${D}${sbindir}
-install -m 0755 mksquashfs ${D}${sbindir}/
-   install -m 0755 unsquashfs ${D}${sbindir}/
-}
-
-ARM_INSTRUCTION_SET = arm
-
-BBCLASSEXTEND = native nativesdk
diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb 
b/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
new file mode 100644
index 000..95042dd
--- /dev/null
+++ b/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
@@ -0,0 +1,37 @@
+# Note, we can probably remove the lzma option as it has be replaced with xz,
+# and I don't think the kernel supports it any more.
+SUMMARY = Tools for manipulating SquashFS filesystems
+SECTION = base
+LICENSE = GPL-2  PD
+LIC_FILES_CHKSUM = file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+
file://../../7zC.txt;beginline=12;endline=16;md5=2056cd6d919ebc3807602143c7449a7c
 \
+
+DEPENDS = attr zlib xz lzo lz4
+
+PV = 4.3+gitr${SRCPV}
+SRCREV = 9c1db6d13a51a2e009f0027ef336ce03624eac0d
+SRC_URI = git://github.com/plougher/squashfs-tools.git;protocol=https \
+   http://downloads.sourceforge.net/sevenzip/lzma465.tar.bz2;name=lzma 
\
+
+SRC_URI[lzma.md5sum] = 29d5ffd03a5a3e51aef6a74e9eafb759
+SRC_URI[lzma.sha256sum] = 
c935fd04dd8e0e8c688a3078f3675d699679a90be81c12686837e0880aa0fa1e
+
+S = ${WORKDIR}/git/squashfs-tools
+
+# EXTRA_OEMAKE is typically: -e MAKEFLAGS=
+# the -e causes problems as CFLAGS is modified in the Makefile, so
+# we redefine EXTRA_OEMAKE here
+EXTRA_OEMAKE = MAKEFLAGS= LZMA_SUPPORT=1 LZMA_DIR=../.. XZ_SUPPORT=1 
LZO_SUPPORT=1 LZ4_SUPPORT=1
+
+do_compile() {
+oe_runmake mksquashfs unsquashfs
+}
+do_install () {
+install -d ${D}${sbindir}
+install -m 0755 mksquashfs ${D}${sbindir}/
+install -m 0755 unsquashfs 

Re: [OE-core] [PATCH RFC] sstate: Add eventhandler which cleans up stale recipe data

2015-06-08 Thread Martin Jansa
On Sun, Jun 07, 2015 at 08:20:12AM +0100, Richard Purdie wrote:
 Incremental builds do not work well when renaming recipes or changing
 architecture is a long standing issue which causes people considerable
 pain. We've struggled for a long time to come up with a way to
 generically address the problem.
 
 There are additional issues where removal of a layer caused data to
 continue to exist and additionally, changing DISTRO_FEATURES also caused
 problems in an existing TMPDIR.
 
 This patch attempts to address this by adding a mapping between stamp
 files and manifests. After parsing we can easily tell which stamp files
 are still reachable, if any manifest has a stamp that can no longer be
 reached, we can remove it. Since this code ties this to the sstate
 architecture list, it will not remove data from other than the current
 MACHINE (and its active architectures). It does not clean the sstate
 cache so if another build activates something which was cleaned, it
 should reinstall from sstate.
 
 We can also go one step further, depending on the setting of
 SSTATE_PRUNE_OBSOLETEWORKDIR, workdirs which are no longer active can
 also be removed. This avoids the buildup of many old copies of data in
 WORKDIR for example when versions are upgraded.
 
 The one thing which may surprise people with this change is if you
 remove a layer, data added by that layer will be uninstalled before
 the next build continues. I believe this is a feature and a good thing
 to do though.
 
 This code is safe with existing builds. If something isn't in the new
 index it simply isn't removed. Since changes to the sstate code trigger
 a rebuild, after this merges, we can assume the code will start to
 detect changes from that point onwards.
 
 [Right now this is an RFC, it appeared to do the right things in some
 brief local tests and I am pretty excited that this could solve a long
 standing usability issue in a clean and effective way. There is a bug
 related to DISTRO_FEATURES changes right now since even skipped recipes
 will still show active stamps meaning systemd isn't removed from a
 sysvinit build and vice versa. I should be able to fix that next week
 before merging. This patch depends on the patch on the bitbake list for
 the event it needs. Before merging I will bump version number
 requirements to ensure people have it. I also want to improve the log
 output so it tells users what its doing rather than the obtuse
 bb.error().]
 
 [YOCTO #4102]

Thanks RP, good work, I'm cherry-picking both changes for my next world
build.

 Signed-off-by: Richard Purdie richard.pur...@linuxfoundation.org
 
 diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
 index 949ba4a..c5a974a 100644
 --- a/meta/classes/sstate.bbclass
 +++ b/meta/classes/sstate.bbclass
 @@ -33,6 +33,15 @@ SSTATE_SCAN_CMD ?= 'find ${SSTATE_BUILDDIR} \( -name 
 ${@\ -o -name \.join(d
  
  BB_HASHFILENAME = ${SSTATE_EXTRAPATH} ${SSTATE_PKGSPEC} ${SSTATE_SWSPEC}
  
 +SSTATE_ARCHS =  \
 +${BUILD_ARCH} \
 +${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS} \
 +${BUILD_ARCH}_${TARGET_ARCH} \
 +${SDK_ARCH}_${SDK_OS} \
 +${SDK_ARCH}_${PACKAGE_ARCH} \
 +allarch \
 +${PACKAGE_ARCH}
 +
  SSTATE_MANMACH ?= ${SSTATE_PKGARCH}
  
  SSTATECREATEFUNCS = sstate_hardcode_path
 @@ -233,6 +242,20 @@ def sstate_install(ss, d):
  f.write(di + \n)
  f.close()
  
 +# Append to the list of manifests for this PACKAGE_ARCH
 +
 +i = d.expand(${SSTATE_MANIFESTS}/index-${SSTATE_MANMACH})
 +l = bb.utils.lockfile(i + .lock)
 +filedata = d.getVar(STAMP, True) +   + 
 d.getVar(SSTATE_MANFILEPREFIX, True) +   + d.getVar(WORKDIR, True) + 
 \n
 +manifests = []
 +if os.path.exists(i):
 +with open(i, r) as f:
 +manifests = f.readlines()
 +if filedata not in manifests:
 +with open(i, a+) as f:
 +f.write(filedata)
 +bb.utils.unlockfile(l)
 +
  # Run the actual file install
  for state in ss['dirs']:
  if os.path.exists(state[1]):
 @@ -858,3 +881,41 @@ python sstate_eventhandler() {
  bb.siggen.dump_this_task(sstatepkg + '_' + taskname + .tgz 
 .siginfo, d)
  }
  
 +SSTATE_PRUNE_OBSOLETEWORKDIR = 1
 +
 +# Event handler which removes manifests and stamps file for
 +# recipes which are no longer reachable in a build where they
 +# once were.
 +# Also optionally removes the workdir of those tasks/recipes
 +#
 +addhandler sstate_eventhandler2
 +sstate_eventhandler2[eventmask] = bb.event.ReachableStamps
 +python sstate_eventhandler2() {
 +import glob
 +d = e.data
 +stamps = e.stamps.values()
 +toremove = []
 +removeworkdir = (d.getVar(SSTATE_PRUNE_OBSOLETEWORKDIR) == 1)
 +for a in d.getVar(SSTATE_ARCHS, True).split():
 +i = d.expand(${SSTATE_MANIFESTS}/index- + a)
 +if not os.path.exists(i):
 +continue
 +with open(i, r) as f:
 +lines = f.readlines()
 +for l in lines:
 +

Re: [OE-core] [PATCH 7/7] core-image-minimal-vms: new recipe to build images for VM

2015-06-08 Thread Bruce Ashfield
On Mon, Jun 8, 2015 at 11:15 AM, Burton, Ross ross.bur...@intel.com wrote:

 On 3 June 2015 at 19:07, Juro Bystricky juro.bystri...@intel.com wrote:

 Simple recipe that builds core-image-minimal in both supported VM formats:
 VDI (VirtualBox) and VMDK (VM player)


 I'm not convinced we need this in oe-core as it's just a IMAGE_FSTYPES
 assignment in local.conf for the end user.

FWIW: I was thinking the same thing.

Bruce


 Ross

 --
 ___
 Openembedded-core mailing list
 Openembedded-core@lists.openembedded.org
 http://lists.openembedded.org/mailman/listinfo/openembedded-core




-- 
Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 7/7] core-image-minimal-vms: new recipe to build images for VM

2015-06-08 Thread Bystricky, Juro
Agreed. Not needed per se, just an example recipe.
I used it for testing of the new bbclass.

From: Burton, Ross [mailto:ross.bur...@intel.com]
Sent: Monday, June 8, 2015 8:15 AM
To: Bystricky, Juro
Cc: OE-core; Juro Bystricky; Saul Wold
Subject: Re: [PATCH 7/7] core-image-minimal-vms: new recipe to build images for 
VM


On 3 June 2015 at 19:07, Juro Bystricky 
juro.bystri...@intel.commailto:juro.bystri...@intel.com wrote:
Simple recipe that builds core-image-minimal in both supported VM formats:
VDI (VirtualBox) and VMDK (VM player)

I'm not convinced we need this in oe-core as it's just a IMAGE_FSTYPES 
assignment in local.conf for the end user.

Ross
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 7/7] core-image-minimal-vms: new recipe to build images for VM

2015-06-08 Thread Burton, Ross
On 3 June 2015 at 19:07, Juro Bystricky juro.bystri...@intel.com wrote:

 Simple recipe that builds core-image-minimal in both supported VM formats:
 VDI (VirtualBox) and VMDK (VM player)


I'm not convinced we need this in oe-core as it's just a IMAGE_FSTYPES
assignment in local.conf for the end user.

Ross
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 2/2] cmake: Upgrade 2.8.12.2 - 3.2.2

2015-06-08 Thread Martin Jansa
On Mon, Jun 08, 2015 at 04:27:55PM +0200, Moritz Blume wrote:
 On 03.06.2015 16:55, Martin Jansa wrote:
  On Wed, Jun 03, 2015 at 03:57:33PM +0200, Moritz Blume wrote:
  Patches qt4-fail-silent.patch and support-oe-qt4-tools-names.patch
  were adapted in order to fit to CMake 3.2.2 (refer to the commit
  message in the respective patch for details).
  Patch cmake-2.8.11.2-FindFreetype.patch was dropped since it was
  rejected upstream and its functionality otherwise implemented in the
  meantime.
 
  The Ugly hack in cmake.inc is removed since these things belong
  to QT related recipes, not CMake.
  No, it's issue in CMake build trying to find Qt files, so it has to be
  fixed in CMake build. This hack used to be part of meta-qt5 (which
  provides these files which are causing CMake build to fail, but it was
  moved to oe-core so that people don't need to adjust the cmake bbappends
  when they are using different branches of oe-core and meta-qt5.
 
 Can you please tell me how to reproduce the error? I tried some of the 
 meta-qt5 recipes and they all build.

cmake-native doesn't depend on qtbase-native, but it's detecting files from
qtbase-native, when it finds them in do_configure it will fail with the
message shown in recipe or sometimes there is different error message
when qtbase-native is removed from sysroot while cmake-native build is
trying to use these files from sysroot.

 
 Cheers,
 Moritz.
 
 
  Note that CMake 3 needs to have the full compiler path in the toolchain
  file (see cmake.bbclass).
  Does it work correctly when sstate is reused on host with different
  paths?
 
  Signed-off-by: Moritz Blume moritz.bl...@bmw-carit.de
  ---
meta/classes/cmake.bbclass |  8 ++-
.../cmake/cmake-native_2.8.12.2.bb | 19 --
meta/recipes-devtools/cmake/cmake-native_3.2.2.bb  | 19 ++
meta/recipes-devtools/cmake/cmake.inc  | 25 +---
.../cmake/cmake/cmake-2.8.11.2-FindFreetype.patch  | 47 ---
.../cmake/cmake/qt4-fail-silent.patch  | 30 --
.../cmake/cmake/support-oe-qt4-tools-names.patch   | 70 
  ++
meta/recipes-devtools/cmake/cmake_2.8.12.2.bb  | 52 
meta/recipes-devtools/cmake/cmake_3.2.2.bb | 56 +
9 files changed, 140 insertions(+), 186 deletions(-)
delete mode 100644 meta/recipes-devtools/cmake/cmake-native_2.8.12.2.bb
create mode 100644 meta/recipes-devtools/cmake/cmake-native_3.2.2.bb
delete mode 100644 
  meta/recipes-devtools/cmake/cmake/cmake-2.8.11.2-FindFreetype.patch
delete mode 100644 meta/recipes-devtools/cmake/cmake_2.8.12.2.bb
create mode 100644 meta/recipes-devtools/cmake/cmake_3.2.2.bb
 
  diff --git a/meta/classes/cmake.bbclass b/meta/classes/cmake.bbclass
  index 1ebb936..c97fd02 100644
  --- a/meta/classes/cmake.bbclass
  +++ b/meta/classes/cmake.bbclass
  @@ -10,9 +10,11 @@ CCACHE = 
# We want the staging and installing functions from autotools
inherit autotools

  -# C/C++ Compiler (without cpu arch/tune arguments)
  -OECMAKE_C_COMPILER ?= `echo ${CC} | sed 's/^\([^ ]*\).*/\1/'`
  -OECMAKE_CXX_COMPILER ?= `echo ${CXX} | sed 's/^\([^ ]*\).*/\1/'`
  +# Full path to C/C++ Compiler (without cpu arch/tune arguments)
  +C_COMPILER = $(echo ${CC} | sed 's/^\([^ ]*\).*/\1/')
  +CXX_COMPILER = $(echo ${CXX} | sed 's/^\([^ ]*\).*/\1/')
  +OECMAKE_C_COMPILER ?= $(which ${C_COMPILER})
  +OECMAKE_CXX_COMPILER ?= $(which ${CXX_COMPILER})
OECMAKE_AR ?= ${AR}

# Compiler flags
  diff --git a/meta/recipes-devtools/cmake/cmake-native_2.8.12.2.bb 
  b/meta/recipes-devtools/cmake/cmake-native_2.8.12.2.bb
  deleted file mode 100644
  index e40dfdd..000
  --- a/meta/recipes-devtools/cmake/cmake-native_2.8.12.2.bb
  +++ /dev/null
  @@ -1,19 +0,0 @@
  -require cmake.inc
  -inherit native
  -
  -# Using cmake's internal libarchive, so some dependencies are needed
  -DEPENDS += bzip2-native zlib-native
  -
  -SRC_URI += \
  -file://cmlibarchive-disable-ext2fs.patch \
  -
  -
  -SRC_URI[md5sum] = 17c6513483d23590cbce6957ec6d1e66
  -SRC_URI[sha256sum] = 
  8c6574e9afabcb9fc66f463bb1f2f051958d86c85c37fccf067eb1a44a120e5e
  -
  -# Disable ccmake since we don't depend on ncurses
  -CMAKE_EXTRACONF = \
  --DBUILD_CursesDialog=0 \
  --DENABLE_ACL=0 -DHAVE_ACL_LIBACL_H=0 \
  --DHAVE_SYS_ACL_H=0 \
  -
  diff --git a/meta/recipes-devtools/cmake/cmake-native_3.2.2.bb 
  b/meta/recipes-devtools/cmake/cmake-native_3.2.2.bb
  new file mode 100644
  index 000..17e9e2c
  --- /dev/null
  +++ b/meta/recipes-devtools/cmake/cmake-native_3.2.2.bb
  @@ -0,0 +1,19 @@
  +require cmake.inc
  +inherit native
  +
  +# Using cmake's internal libarchive, so some dependencies are needed
  +DEPENDS += bzip2-native zlib-native
  +
  +SRC_URI += \
  +file://cmlibarchive-disable-ext2fs.patch \
  +
  +
  +SRC_URI[md5sum] = 2da57308071ea98b10253a87d2419281
  +SRC_URI[sha256sum] =