Re: [OE-core] [PATCH] lsb: Remove bashisms from the rc.d functions

2017-04-07 Thread Marek Vasut
On 04/08/2017 12:31 AM, Richard Purdie wrote:
> On Fri, 2017-04-07 at 23:55 +0200, Marek Vasut wrote:
>> This bashism prevents functions from working on systems without bash,
>> ie. on systems with busybox shell or debian dash. Replace them with
>> bourne-compatible command instead.
> 
> Note that you'd code adds in a couple of forks for code which currently
> doesn't need separate process execution. Its therefore not a clear cut
> win. Is there no way to do it without the forks in dash?

Well do you know of any bourne-compatible way ? I'll be happy to learn
something new ...

> Cheers,
> 
> Richard
> 
>> Signed-off-by: Marek Vasut 
>> Cc: Ross Burton 
>> Cc: Richard Purdie 
>> ---
>>  .../0002-rc.d-Remove-bashism-from-functions.patch  | 48
>> ++
>>  meta/recipes-extended/lsb/lsbinitscripts_9.68.bb   |  1 +
>>  2 files changed, 49 insertions(+)
>>  create mode 100644 meta/recipes-extended/lsb/lsbinitscripts/0002-
>> rc.d-Remove-bashism-from-functions.patch
>>
>> diff --git a/meta/recipes-extended/lsb/lsbinitscripts/0002-rc.d-
>> Remove-bashism-from-functions.patch b/meta/recipes-
>> extended/lsb/lsbinitscripts/0002-rc.d-Remove-bashism-from-
>> functions.patch
>> new file mode 100644
>> index 00..44eed1cc18
>> --- /dev/null
>> +++ b/meta/recipes-extended/lsb/lsbinitscripts/0002-rc.d-Remove-
>> bashism-from-functions.patch
>> @@ -0,0 +1,48 @@
>> +From b7601dcd4663a9cb936a6d2d224665bea69fcc50 Mon Sep 17 00:00:00
>> 2001
>> +From: Marek Vasut 
>> +Date: Thu, 6 Apr 2017 19:15:56 +0200
>> +Subject: [PATCH] rc.d: Remove bashism from functions
>> +
>> +This bashism prevents functions from working on systems without
>> bash,
>> +ie. on systems with busybox shell or debian dash. Replace them with
>> +bourne-compatible command instead.
>> +
>> +Signed-off-by: Marek Vasut 
>> +---
>> + rc.d/init.d/functions | 9 ++---
>> + 1 file changed, 2 insertions(+), 7 deletions(-)
>> +
>> +diff --git a/rc.d/init.d/functions b/rc.d/init.d/functions
>> +index 746b37d..3ba21ef 100644
>> +--- a/rc.d/init.d/functions
>>  b/rc.d/init.d/functions
>> +@@ -115,15 +115,11 @@ __kill_pids_term_kill_checkpids() {
>> + local pid=
>> + local pids=$*
>> + local remaining=
>> +-local stat=
>> + local stime=
>> + 
>> + for pid in $pids ; do
>> + [ ! -e  "/proc/$pid" ] && continue
>> +-read -r line < "/proc/$pid/stat" 2> /dev/null
>> +-
>> +-stat=($line)
>> +-stime=${stat[21]}
>> ++stime=`cut -d " " -f 22 < /proc/self/stat`
>> + 
>> + [ -n "$stime" ] && [ "$base_stime" -lt "$stime" ] &&
>> continue
>> + remaining+="$pid "
>> +@@ -139,8 +135,7 @@ __kill_pids_term_kill() {
>> + local try=0
>> + local delay=3;
>> + local pid=
>> +-local stat=($(< /proc/self/stat))
>> +-local base_stime=${stat[21]}
>> ++local base_stime=`cut -d " " -f 22 < /proc/self/stat`
>> + 
>> + if [ "$1" = "-d" ]; then
>> + delay=$2
>> +-- 
>> +2.11.0
>> +
>> diff --git a/meta/recipes-extended/lsb/lsbinitscripts_9.68.bb
>> b/meta/recipes-extended/lsb/lsbinitscripts_9.68.bb
>> index 0c08fffcef..9ba0e01776 100644
>> --- a/meta/recipes-extended/lsb/lsbinitscripts_9.68.bb
>> +++ b/meta/recipes-extended/lsb/lsbinitscripts_9.68.bb
>> @@ -11,6 +11,7 @@ S="${WORKDIR}/initscripts-${PV}"
>>  SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/initscripts/inits
>> cripts-${PV}.tar.bz2/6a51a5af38e01445f53989ed0727c3e1/initscripts-
>> ${PV}.tar.bz2 \
>> file://functions.patch \
>> file://0001-functions-avoid-exit-1-which-causes-init-
>> scripts-to-.patch \
>> +   file://0002-rc.d-Remove-bashism-from-functions.patch \
>>" 
>>  
>>  SRC_URI[md5sum] = "6a51a5af38e01445f53989ed0727c3e1"


-- 
Best regards,
Marek Vasut
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] lsb: Remove bashisms from the rc.d functions

2017-04-07 Thread Richard Purdie
On Fri, 2017-04-07 at 23:55 +0200, Marek Vasut wrote:
> This bashism prevents functions from working on systems without bash,
> ie. on systems with busybox shell or debian dash. Replace them with
> bourne-compatible command instead.

Note that you'd code adds in a couple of forks for code which currently
doesn't need separate process execution. Its therefore not a clear cut
win. Is there no way to do it without the forks in dash?

Cheers,

Richard

> Signed-off-by: Marek Vasut 
> Cc: Ross Burton 
> Cc: Richard Purdie 
> ---
>  .../0002-rc.d-Remove-bashism-from-functions.patch  | 48
> ++
>  meta/recipes-extended/lsb/lsbinitscripts_9.68.bb   |  1 +
>  2 files changed, 49 insertions(+)
>  create mode 100644 meta/recipes-extended/lsb/lsbinitscripts/0002-
> rc.d-Remove-bashism-from-functions.patch
> 
> diff --git a/meta/recipes-extended/lsb/lsbinitscripts/0002-rc.d-
> Remove-bashism-from-functions.patch b/meta/recipes-
> extended/lsb/lsbinitscripts/0002-rc.d-Remove-bashism-from-
> functions.patch
> new file mode 100644
> index 00..44eed1cc18
> --- /dev/null
> +++ b/meta/recipes-extended/lsb/lsbinitscripts/0002-rc.d-Remove-
> bashism-from-functions.patch
> @@ -0,0 +1,48 @@
> +From b7601dcd4663a9cb936a6d2d224665bea69fcc50 Mon Sep 17 00:00:00
> 2001
> +From: Marek Vasut 
> +Date: Thu, 6 Apr 2017 19:15:56 +0200
> +Subject: [PATCH] rc.d: Remove bashism from functions
> +
> +This bashism prevents functions from working on systems without
> bash,
> +ie. on systems with busybox shell or debian dash. Replace them with
> +bourne-compatible command instead.
> +
> +Signed-off-by: Marek Vasut 
> +---
> + rc.d/init.d/functions | 9 ++---
> + 1 file changed, 2 insertions(+), 7 deletions(-)
> +
> +diff --git a/rc.d/init.d/functions b/rc.d/init.d/functions
> +index 746b37d..3ba21ef 100644
> +--- a/rc.d/init.d/functions
>  b/rc.d/init.d/functions
> +@@ -115,15 +115,11 @@ __kill_pids_term_kill_checkpids() {
> + local pid=
> + local pids=$*
> + local remaining=
> +-local stat=
> + local stime=
> + 
> + for pid in $pids ; do
> + [ ! -e  "/proc/$pid" ] && continue
> +-read -r line < "/proc/$pid/stat" 2> /dev/null
> +-
> +-stat=($line)
> +-stime=${stat[21]}
> ++stime=`cut -d " " -f 22 < /proc/self/stat`
> + 
> + [ -n "$stime" ] && [ "$base_stime" -lt "$stime" ] &&
> continue
> + remaining+="$pid "
> +@@ -139,8 +135,7 @@ __kill_pids_term_kill() {
> + local try=0
> + local delay=3;
> + local pid=
> +-local stat=($(< /proc/self/stat))
> +-local base_stime=${stat[21]}
> ++local base_stime=`cut -d " " -f 22 < /proc/self/stat`
> + 
> + if [ "$1" = "-d" ]; then
> + delay=$2
> +-- 
> +2.11.0
> +
> diff --git a/meta/recipes-extended/lsb/lsbinitscripts_9.68.bb
> b/meta/recipes-extended/lsb/lsbinitscripts_9.68.bb
> index 0c08fffcef..9ba0e01776 100644
> --- a/meta/recipes-extended/lsb/lsbinitscripts_9.68.bb
> +++ b/meta/recipes-extended/lsb/lsbinitscripts_9.68.bb
> @@ -11,6 +11,7 @@ S="${WORKDIR}/initscripts-${PV}"
>  SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/initscripts/inits
> cripts-${PV}.tar.bz2/6a51a5af38e01445f53989ed0727c3e1/initscripts-
> ${PV}.tar.bz2 \
> file://functions.patch \
> file://0001-functions-avoid-exit-1-which-causes-init-
> scripts-to-.patch \
> +    file://0002-rc.d-Remove-bashism-from-functions.patch \
>    " 
>  
>  SRC_URI[md5sum] = "6a51a5af38e01445f53989ed0727c3e1"
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] ✗ patchtest: failure for lsb: Remove bashisms from the rc.d functions (rev2)

2017-04-07 Thread Patchwork
== Series Details ==

Series: lsb: Remove bashisms from the rc.d functions (rev2)
Revision: 2
URL   : https://patchwork.openembedded.org/series/6209/
State : failure

== Summary ==


Thank you for submitting this patch series to OpenEmbedded Core. This is
an automated response. Several tests have been executed on the proposed
series by patchtest resulting in the following failures:



* Issue Added patch file is missing Upstream-Status in the header 
[test_upstream_status_presence] 
  Suggested fixAdd Upstream-Status:  to the header of 
meta/recipes-extended/lsb/lsbinitscripts/0002-rc.d-Remove-bashism-from-functions.patch
 (possible values: Pending, Submitted, Accepted, Backport, Denied, 
Inappropriate)



If you believe any of these test results are incorrect, please reply to the
mailing list (openembedded-core@lists.openembedded.org) raising your concerns.
Otherwise we would appreciate you correcting the issues and submitting a new
version of the patchset if applicable. Please ensure you add/increment the
version number when sending the new version (i.e. [PATCH] -> [PATCH v2] ->
[PATCH v3] -> ...).

---
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe

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


Re: [OE-core] [PATCH 0/4] Use fixed DISTRO_FEATURES for native

2017-04-07 Thread Richard Purdie
On Fri, 2017-04-07 at 09:08 +0300, Jussi Kukkonen wrote:
> Avoid signifant native task churn when DISTRO_FEATURES is changed
> by defining a fixed DISTRO_FEATURES value (default is "") for native
> recipes.
> 
> The xorg changes are all removals of x11 requirements (that were not
> real) from recipes that have native versions.
> 
> I added a configuration default in bitbake.conf, let me know if this
> is not a good place.
> 
> This seems to work fine (tested multiple different images) but I am
> not really sure how to test it further... Suggestions are welcome, as
> are results from autobuilder. 

Close, but:

https://autobuilder.yocto.io/builders/nightly-no-x11/builds/225/steps/BuildImages/logs/stdio

:/

Cheers,

Richard


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


[OE-core] [PATCH] lsb: Remove bashisms from the rc.d functions

2017-04-07 Thread Marek Vasut
This bashism prevents functions from working on systems without bash,
ie. on systems with busybox shell or debian dash. Replace them with
bourne-compatible command instead.

Signed-off-by: Marek Vasut 
Cc: Ross Burton 
Cc: Richard Purdie 
---
 .../0002-rc.d-Remove-bashism-from-functions.patch  | 48 ++
 meta/recipes-extended/lsb/lsbinitscripts_9.68.bb   |  1 +
 2 files changed, 49 insertions(+)
 create mode 100644 
meta/recipes-extended/lsb/lsbinitscripts/0002-rc.d-Remove-bashism-from-functions.patch

diff --git 
a/meta/recipes-extended/lsb/lsbinitscripts/0002-rc.d-Remove-bashism-from-functions.patch
 
b/meta/recipes-extended/lsb/lsbinitscripts/0002-rc.d-Remove-bashism-from-functions.patch
new file mode 100644
index 00..44eed1cc18
--- /dev/null
+++ 
b/meta/recipes-extended/lsb/lsbinitscripts/0002-rc.d-Remove-bashism-from-functions.patch
@@ -0,0 +1,48 @@
+From b7601dcd4663a9cb936a6d2d224665bea69fcc50 Mon Sep 17 00:00:00 2001
+From: Marek Vasut 
+Date: Thu, 6 Apr 2017 19:15:56 +0200
+Subject: [PATCH] rc.d: Remove bashism from functions
+
+This bashism prevents functions from working on systems without bash,
+ie. on systems with busybox shell or debian dash. Replace them with
+bourne-compatible command instead.
+
+Signed-off-by: Marek Vasut 
+---
+ rc.d/init.d/functions | 9 ++---
+ 1 file changed, 2 insertions(+), 7 deletions(-)
+
+diff --git a/rc.d/init.d/functions b/rc.d/init.d/functions
+index 746b37d..3ba21ef 100644
+--- a/rc.d/init.d/functions
 b/rc.d/init.d/functions
+@@ -115,15 +115,11 @@ __kill_pids_term_kill_checkpids() {
+ local pid=
+ local pids=$*
+ local remaining=
+-local stat=
+ local stime=
+ 
+ for pid in $pids ; do
+ [ ! -e  "/proc/$pid" ] && continue
+-read -r line < "/proc/$pid/stat" 2> /dev/null
+-
+-stat=($line)
+-stime=${stat[21]}
++stime=`cut -d " " -f 22 < /proc/self/stat`
+ 
+ [ -n "$stime" ] && [ "$base_stime" -lt "$stime" ] && continue
+ remaining+="$pid "
+@@ -139,8 +135,7 @@ __kill_pids_term_kill() {
+ local try=0
+ local delay=3;
+ local pid=
+-local stat=($(< /proc/self/stat))
+-local base_stime=${stat[21]}
++local base_stime=`cut -d " " -f 22 < /proc/self/stat`
+ 
+ if [ "$1" = "-d" ]; then
+ delay=$2
+-- 
+2.11.0
+
diff --git a/meta/recipes-extended/lsb/lsbinitscripts_9.68.bb 
b/meta/recipes-extended/lsb/lsbinitscripts_9.68.bb
index 0c08fffcef..9ba0e01776 100644
--- a/meta/recipes-extended/lsb/lsbinitscripts_9.68.bb
+++ b/meta/recipes-extended/lsb/lsbinitscripts_9.68.bb
@@ -11,6 +11,7 @@ S="${WORKDIR}/initscripts-${PV}"
 SRC_URI = 
"http://pkgs.fedoraproject.org/repo/pkgs/initscripts/initscripts-${PV}.tar.bz2/6a51a5af38e01445f53989ed0727c3e1/initscripts-${PV}.tar.bz2
 \
file://functions.patch \

file://0001-functions-avoid-exit-1-which-causes-init-scripts-to-.patch \
+  file://0002-rc.d-Remove-bashism-from-functions.patch \
   " 
 
 SRC_URI[md5sum] = "6a51a5af38e01445f53989ed0727c3e1"
-- 
2.11.0

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


Re: [OE-core] [PATCH 2/4] no-static-libs: Add entry for ncurses

2017-04-07 Thread Richard Purdie
On Fri, 2017-04-07 at 10:42 -0700, Andre McCurdy wrote:
> On Fri, Apr 7, 2017 at 9:41 AM, Richard Purdie
>  wrote:
> > 
> > Yes, the option to disable static libraries in boost really is
> boost or ncurses?

ncurses. Its been a long day, I'll tweak the commit message, thanks.

If anyone does know how to disable static libs in boost I'd be
interested to know how!

Cheers,

Richard

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


[OE-core] [PATCH][morty] base-files: resize only serial tty's in profile

2017-04-07 Thread Daniel Díaz
[Backported from master.]

We don't want to run resize on non serial consoles. There's
been an earlier attempt (6557787), so this builds upon that.

The problem we're seeing is that if there is text buffered in
the virtual console (like from a desperate user trying to
enter login details), resize will get stuck while calling
  ioctl(tty, TCSETAW);

Since serial consoles are named (not just numbered), this
change limits resize's reach even further to run only on
/dev/tty[A-z] (thus avoiding /dev/tty[0-9]).

Signed-off-by: Daniel Díaz 
---
 meta/recipes-core/base-files/base-files/profile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-core/base-files/base-files/profile 
b/meta/recipes-core/base-files/base-files/profile
index 7367fd1..c616616 100644
--- a/meta/recipes-core/base-files/base-files/profile
+++ b/meta/recipes-core/base-files/base-files/profile
@@ -26,7 +26,7 @@ if [ -x /usr/bin/resize ] && termpath="`tty`"; then
   # Make sure we are on a serial console (i.e. the device used starts with 
/dev/tty),
   # otherwise we confuse e.g. the eclipse launcher which tries do use ssh
   case "$termpath" in
-  /dev/tty*) resize >/dev/null
+  /dev/tty[A-z]*) resize >/dev/null
   esac
 fi
 
-- 
1.9.1

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


[OE-core] [PATCH][krogoth] base-files: resize only serial tty's in profile

2017-04-07 Thread Daniel Díaz
[Backported from master.]

We don't want to run resize on non serial consoles. There's
been an earlier attempt (6557787), so this builds upon that.

The problem we're seeing is that if there is text buffered in
the virtual console (like from a desperate user trying to
enter login details), resize will get stuck while calling
  ioctl(tty, TCSETAW);

Since serial consoles are named (not just numbered), this
change limits resize's reach even further to run only on
/dev/tty[A-z] (thus avoiding /dev/tty[0-9]).

Signed-off-by: Daniel Díaz 
---
 meta/recipes-core/base-files/base-files/profile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-core/base-files/base-files/profile 
b/meta/recipes-core/base-files/base-files/profile
index 1f02e52..e449b15 100644
--- a/meta/recipes-core/base-files/base-files/profile
+++ b/meta/recipes-core/base-files/base-files/profile
@@ -32,7 +32,7 @@ if [ -x /usr/bin/resize ] && termpath="`tty`"; then
   # Make sure we are on a serial console (i.e. the device used starts with 
/dev/tty),
   # otherwise we confuse e.g. the eclipse launcher which tries do use ssh
   case "$termpath" in
-  /dev/tty*) resize >/dev/null
+  /dev/tty[A-z]*) resize >/dev/null
   esac
 fi
 
-- 
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/4] no-static-libs: Add entry for ncurses

2017-04-07 Thread Andre McCurdy
On Fri, Apr 7, 2017 at 9:41 AM, Richard Purdie
 wrote:
> Yes, the option to disable static libraries in boost really is

boost or ncurses?

> "--without-normal". Add this for ncurses and its variants.
>
> Signed-off-by: Richard Purdie 
> ---
>  meta/conf/distro/include/no-static-libs.inc | 4 
>  1 file changed, 4 insertions(+)
>
> diff --git a/meta/conf/distro/include/no-static-libs.inc 
> b/meta/conf/distro/include/no-static-libs.inc
> index 54f34a7..f8d8c09 100644
> --- a/meta/conf/distro/include/no-static-libs.inc
> +++ b/meta/conf/distro/include/no-static-libs.inc
> @@ -33,3 +33,7 @@ DISABLE_STATIC_pn-libusb1-native = ""
>  EXTRA_OECONF_append = "${DISABLE_STATIC}"
>
>  EXTRA_OECMAKE_append_pn-libical = " -DSHARED_ONLY=True"
> +
> +EXCONFIG_ARGS_append_pn-ncurses = " --without-normal"
> +EXCONFIG_ARGS_append_pn-ncurses-native = " --without-normal"
> +EXCONFIG_ARGS_append_pn-nativesdk-ncurses = " --without-normal"
> --
> 2.7.4
>
> --
> ___
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] State of bitbake world, Failed tasks 2017-04-05

2017-04-07 Thread Martin Jansa
== Number of issues - stats ==
{| class='wikitable'
!|Date   !!colspan='3'|Failed tasks 
!!colspan='6'|Failed depencencies!!|Signatures
!!colspan='14'|QA !!Comment
|-
||  ||qemuarm   ||qemux86   ||qemux86_64
||qemuarm||max||min ||qemux86||max||min ||all   ||already-stripped  
||libdir||textrel   ||build-deps||file-rdeps
||version-going-backwards   ||host-user-contaminated
||installed-vs-shipped  ||unknown-configure-option  ||symlink-to-sysroot
||invalid-pkgconfig ||pkgname   ||ldflags   ||compile-host-path 
||  
|-
||2017-04-05||2 ||2 ||2 ||N/A   ||N/A   ||N/A   ||N/A   ||N/A   
||N/A   ||3 ||0 ||0 ||3 ||0 
||0 ||0 ||0 ||0 ||0 
||0 ||0 ||0 ||0 ||0 
||  
|}

http://www.openembedded.org/wiki/Bitbake_World_Status

== Failed tasks 2017-04-05 ==

INFO: jenkins-job.sh-1.8.20 Complete log available at 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.report.20170405_212536.log

=== common (2) ===
* 
meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.8.4.bb:do_configure
* 
meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.9.3.bb:do_compile

=== common-x86 (0) ===

=== qemuarm (0) ===

=== qemux86 (0) ===

=== qemux86_64 (0) ===

=== Number of failed tasks (6) ===
{| class=wikitable
|-
|| qemuarm  || 2 || 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.world.qemuarm.20170405_095003.log/
 || http://errors.yoctoproject.org/Errors/Build/35467/
|-
|| qemux86  || 2 || 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.world.qemux86.20170405_095003.log/
 || http://errors.yoctoproject.org/Errors/Build/35472/
|-
|| qemux86_64   || 2 || 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.world.qemux86-64.20170405_143317.log/
 || http://errors.yoctoproject.org/Errors/Build/35477/
|}

=== PNBLACKLISTs (442) ===

=== QA issues (3) ===
{| class=wikitable
!| Count||Issue
|-
||0 ||already-stripped
|-
||0 ||build-deps
|-
||0 ||compile-host-path
|-
||0 ||file-rdeps
|-
||0 ||host-user-contaminated
|-
||0 ||installed-vs-shipped
|-
||0 ||invalid-pkgconfig
|-
||0 ||ldflags
|-
||0 ||libdir
|-
||0 ||pkgname
|-
||0 ||symlink-to-sysroot
|-
||0 ||unknown-configure-option
|-
||0 ||version-going-backwards
|-
||3 ||textrel
|}



=== Incorrect PACKAGE_ARCH or sstate signatures (3) ===

Complete log: 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.signatures.20170405_114645.log/
* ERROR: 3 issues were found in these recipes: wireguard-tools

* ERROR: 1 errors found in signatures.qemux86.do_configure.sigdata.log
* ERROR: 1 errors found in 
signatures.qemux86.do_populate_sysroot.sigdata.log
* ERROR: 1 errors found in 
signatures.qemux86.do_package_write_ipk.sigdata.log

* ERROR: wireguard-tools different signature for task do_configure.sigdata 
between qemux86copy and qemux86
* ERROR: 1 errors found in 
/home/jenkins/oe/world/shr-core/tmp-glibc/sstate-diff/1491428805/signatures.qemux86.do_configure.sigdata.log
* ERROR: wireguard-tools different signature for task 
do_populate_sysroot.sigdata between qemux86copy and qemux86
* ERROR: 1 errors found in 
/home/jenkins/oe/world/shr-core/tmp-glibc/sstate-diff/1491428805/signatures.qemux86.do_populate_sysroot.sigdata.log
* ERROR: wireguard-tools different signature for task 
do_package_write_ipk.sigdata between qemux86copy and qemux86
* ERROR: 1 errors found in 
/home/jenkins/oe/world/shr-core/tmp-glibc/sstate-diff/1491428805/signatures.qemux86.do_package_write_ipk.sigdata.log
* ERROR: 3 issues were found in these recipes: wireguard-tools

QA issues by type:
count: 0issue: already-stripped


count: 0issue: libdir


count: 3issue: textrel
chromium-54.0.2810.2: ELF binary 
'/tmp/work/i586-oe-linux/chromium/54.0.2810.2-r0/packages-split/chromium/usr/bin/chromium/chrome'
 has relocations in .text [textrel]
chromium-wayland-53.0.2785.143: ELF binary 
'/tmp/work/i586-oe-linux/chromium-wayland/53.0.2785.143-r0/packages-split/chromium-wayland/usr/bin/chromium/chrome'
 has relocations in .text [textrel]
corosync-2.4.2: ELF binary 
'/tmp/work/core2-64-oe-linux/corosync/2.4.2-r0/packages-split/corosync/usr/sbin/corosync'
 has relocations in .text [textrel]


count: 0issue: build-deps


count: 0issue: file-rdeps


count: 0issue: version-going-backwards


count: 0issue: host-user-contaminated


count: 0issue: installed-vs-shipped


count: 0issue: unknown-configure-option


count: 0issue: symlink-to-sysroot


count: 0issue: invalid-pkgconfig


count: 0issue: pkgname



[OE-core] [PATCH 2/4] no-static-libs: Add entry for ncurses

2017-04-07 Thread Richard Purdie
Yes, the option to disable static libraries in boost really is
"--without-normal". Add this for ncurses and its variants.

Signed-off-by: Richard Purdie 
---
 meta/conf/distro/include/no-static-libs.inc | 4 
 1 file changed, 4 insertions(+)

diff --git a/meta/conf/distro/include/no-static-libs.inc 
b/meta/conf/distro/include/no-static-libs.inc
index 54f34a7..f8d8c09 100644
--- a/meta/conf/distro/include/no-static-libs.inc
+++ b/meta/conf/distro/include/no-static-libs.inc
@@ -33,3 +33,7 @@ DISABLE_STATIC_pn-libusb1-native = ""
 EXTRA_OECONF_append = "${DISABLE_STATIC}"
 
 EXTRA_OECMAKE_append_pn-libical = " -DSHARED_ONLY=True"
+
+EXCONFIG_ARGS_append_pn-ncurses = " --without-normal"
+EXCONFIG_ARGS_append_pn-ncurses-native = " --without-normal"
+EXCONFIG_ARGS_append_pn-nativesdk-ncurses = " --without-normal"
-- 
2.7.4

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


Re: [OE-core] [PATCH v2 1/2] runqemu: Automatically add a TFTP directory for slirp boot

2017-04-07 Thread Alistair Francis
On Fri, Mar 31, 2017 at 10:07 AM, Alistair Francis  wrote:
> On Fri, Mar 24, 2017 at 1:38 PM, Alistair Francis
>  wrote:
>> When booting QEMU with slirp networking we want to use QEMUs TFTP server
>> to make the images in deploy accessible to the guest.
>>
>> Signed-off-by: Alistair Francis 
>
> Ping?

Ping^2

I received comments on the second patch, but nothing on this one.

Thanks,

Alistair

>
>> ---
>>  scripts/runqemu | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/scripts/runqemu b/scripts/runqemu
>> index 23c9efb..f76d976 100755
>> --- a/scripts/runqemu
>> +++ b/scripts/runqemu
>> @@ -832,7 +832,7 @@ class BaseConfig(object):
>>  self.kernel_cmdline_script += ' ip=dhcp'
>>  # Port mapping
>>  hostfwd = ",hostfwd=tcp::-:22,hostfwd=tcp::2323-:23"
>> -qb_slirp_opt_default = "-netdev user,id=net0%s" % hostfwd
>> +qb_slirp_opt_default = "-netdev user,id=net0%s,tftp=%s" % (hostfwd, 
>> self.get('DEPLOY_DIR_IMAGE'))
>>  qb_slirp_opt = self.get('QB_SLIRP_OPT') or qb_slirp_opt_default
>>  # Figure out the port
>>  ports = re.findall('hostfwd=[^-]*:([0-9]+)-[^,-]*', qb_slirp_opt)
>> --
>> 2.9.3
>>
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [morty][PATCH 1/1] packagegroup-core-standalone-sdk-target: add libssp

2017-04-07 Thread akuster808



On 04/06/2017 07:38 PM, Paul Eggleton wrote:

If you want to be able to use -fstack-protector then you need the
runtime support - you can either write this yourself or use libssp
supplied with GCC. If you're using GCC then it seems likely that you'd
just be using libssp, so include in the SDK by default; however use
RRECOMMENDS just in case it's been disabled or you aren't using GCC.

(From OE-Core rev: 6c990655e35bb3a14d59555662ec5802c9980028)

Signed-off-by: Paul Eggleton 
Signed-off-by: Ross Burton 
Signed-off-by: Richard Purdie 


great. will pull in. thanks,
Armin

---
  .../packagegroups/packagegroup-core-standalone-sdk-target.bb | 5 +
  1 file changed, 5 insertions(+)

diff --git 
a/meta/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb 
b/meta/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb
index 274e11a..43fc599 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb
@@ -12,3 +12,8 @@ RDEPENDS_${PN} = "\
  libstdc++-dev \
  ${LIBC_DEPENDENCIES} \
  "
+
+RRECOMMENDS_${PN} = "\
+libssp \
+libssp-dev \
+"


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


[OE-core] [PATCH 3/4] ncurses: Drop incorrect option

2017-04-07 Thread Richard Purdie
The --disable-static option doesn't exist in ncurses. Its equivalent is
--without-normal so remove the option which does nothing.

Signed-off-by: Richard Purdie 
---
 meta/recipes-core/ncurses/ncurses.inc | 1 -
 1 file changed, 1 deletion(-)

diff --git a/meta/recipes-core/ncurses/ncurses.inc 
b/meta/recipes-core/ncurses/ncurses.inc
index 3f4bf67..8990b0f 100644
--- a/meta/recipes-core/ncurses/ncurses.inc
+++ b/meta/recipes-core/ncurses/ncurses.inc
@@ -66,7 +66,6 @@ ncurses_configure() {
cd $1
shift
oe_runconf \
-   --disable-static \
--without-debug \
--without-ada \
--without-gpm \
-- 
2.7.4

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


[OE-core] [PATCH 4/4] uninative-flags.inc: Build binutils-native as pie

2017-04-07 Thread Richard Purdie
Some distros (ubuntu 16.10, debian-testing) default to gcc configured with
--enable-default-pie (see gcc -v). This breaks e.g. prelink-native on a pie
default system if binutils-native was built on a system which is not pie default
We therefore enable pie unconditionally for native recipes where static libs are
used such as libiberty from binutils, for now, until our minimum distro set is
all default pie.

Signed-off-by: Richard Purdie 
---
 meta/conf/distro/include/uninative-flags.inc | 8 
 1 file changed, 8 insertions(+)

diff --git a/meta/conf/distro/include/uninative-flags.inc 
b/meta/conf/distro/include/uninative-flags.inc
index e9f82c3..b6a944e 100644
--- a/meta/conf/distro/include/uninative-flags.inc
+++ b/meta/conf/distro/include/uninative-flags.inc
@@ -7,3 +7,11 @@ BUILD_CXXFLAGS_append = " -D_GLIBCXX_USE_CXX11_ABI=0"
 # icu configure defaults to CXX11 if no -std= option is passed in CXXFLAGS
 # therefore pass one
 BUILD_CXXFLAGS_append_pn-icu-native = " -std=c++98"
+
+# Some distros (ubuntu 16.10, debian-testing) default to gcc configured with
+# --enable-default-pie (see gcc -v). This breaks e.g. prelink-native on a pie
+# default system if binutils-native was built on a system which is not pie 
default
+# We therefore enable pie unconditionally for native recipes where static libs 
are
+# used such as libiberty from binutils, for now, until our minimum distro set 
is
+# all default pie.
+BUILD_CFLAGS_append_pn-binutils-native = " -pie -fpie"
-- 
2.7.4

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


[OE-core] [PATCH 1/4] selftest/sstatetests: Replace glibc-initial with linux-libc-headers

2017-04-07 Thread Richard Purdie
The intent in these tests was to find something early in the bootstrap
process to run tests against which didn't require long build times.
This breaks with the removal of the glibc-initial do_build target.
Replacing it with linux-libc-headers seems like a good choice
and simplifies the conditionals too.

Signed-off-by: Richard Purdie 
---
 meta/lib/oeqa/selftest/sstatetests.py | 20 +---
 1 file changed, 5 insertions(+), 15 deletions(-)

diff --git a/meta/lib/oeqa/selftest/sstatetests.py 
b/meta/lib/oeqa/selftest/sstatetests.py
index 5814815..e35ddff 100644
--- a/meta/lib/oeqa/selftest/sstatetests.py
+++ b/meta/lib/oeqa/selftest/sstatetests.py
@@ -49,15 +49,11 @@ class SStateTests(SStateBase):
 
 @testcase(976)
 def test_sstate_creation_distro_nonspecific_pass(self):
-# glibc-initial is intended only for the glibc C library
-if self.tclibc == 'glibc':
-self.run_test_sstate_creation(['glibc-initial'], 
distro_specific=False, distro_nonspecific=True, temp_sstate_location=True)
+self.run_test_sstate_creation(['linux-libc-headers'], 
distro_specific=False, distro_nonspecific=True, temp_sstate_location=True)
 
 @testcase(1375)
 def test_sstate_creation_distro_nonspecific_fail(self):
-# glibc-initial is intended only for the glibc C library
-if self.tclibc == 'glibc':
-self.run_test_sstate_creation(['glibc-initial'], 
distro_specific=True, distro_nonspecific=False, temp_sstate_location=True, 
should_pass=False)
+self.run_test_sstate_creation(['linux-libc-headers'], 
distro_specific=True, distro_nonspecific=False, temp_sstate_location=True, 
should_pass=False)
 
 # Test the sstate files deletion part of the do_cleansstate task
 def run_test_cleansstate_task(self, targets, distro_specific=True, 
distro_nonspecific=True, temp_sstate_location=True):
@@ -79,23 +75,17 @@ class SStateTests(SStateBase):
 @testcase(977)
 def test_cleansstate_task_distro_specific_nonspecific(self):
 targets = ['binutils-cross-'+ self.tune_arch, 'binutils-native']
-# glibc-initial is intended only for the glibc C library
-if self.tclibc == 'glibc':
-targets.append('glibc-initial')
+targets.append('linux-libc-headers')
 self.run_test_cleansstate_task(targets, distro_specific=True, 
distro_nonspecific=True, temp_sstate_location=True)
 
 @testcase(1376)
 def test_cleansstate_task_distro_nonspecific(self):
-# glibc-initial is intended only for the glibc C library
-if self.tclibc == 'glibc':
-self.run_test_cleansstate_task(['glibc-initial'], 
distro_specific=False, distro_nonspecific=True, temp_sstate_location=True)
+self.run_test_cleansstate_task(['linux-libc-headers'], 
distro_specific=False, distro_nonspecific=True, temp_sstate_location=True)
 
 @testcase(1377)
 def test_cleansstate_task_distro_specific(self):
 targets = ['binutils-cross-'+ self.tune_arch, 'binutils-native']
-# glibc-initial is intended only for the glibc C library
-if self.tclibc == 'glibc':
-targets.append('glibc-initial')
+targets.append('linux-libc-headers')
 self.run_test_cleansstate_task(targets, distro_specific=True, 
distro_nonspecific=False, temp_sstate_location=True)
 
 
-- 
2.7.4

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


[OE-core] [PATCH 5/5] yocto-compat-layer: test signature differences when setting MACHINE

2017-04-07 Thread Patrick Ohly
Selecting a machine may only affect the signature of tasks that are specific
to that machine. In other words, when MACHINE=A and MACHINE=B share a recipe
foo and the output of foo, then both machine configurations must build foo
in exactly the same way. Otherwise it is not possible to use both machines
in the same distribution.

This criteria can only be tested by testing different machines in combination,
i.e. one main layer, potentially several additional BSP layers and an explicit
choice of machines:
yocto-compat-layer --additional-layers .../meta-intel --machines 
intel-corei7-64 imx6slevk -- .../meta-freescale

This is work in progress.

Right now it finds do_build differences in all-arch ca-certificates
because of RDEPENDS_${PN} += "openssl". This causes do_build to run
more often then necessary, but probably needs to be ignored by the
test because fixing it in bitbake would be too hard and is harmless in
practice.

There is also a difference for gdb-cross-x86_64:

$ yocto-compat-layer.py -n --machines intel-corei7-64 intel-core2-32 qemux86 
qemux86-64 -- /fast/work/meta-intel
INFO: Detected layers:
INFO: meta-intel: LayerType.BSP, /fast/work/meta-intel
INFO:
INFO: Setting up for meta-intel(LayerType.BSP), /fast/work/meta-intel
INFO: Getting initial bitbake variables ...
INFO: Getting initial signatures ...
INFO: Adding layer meta-intel
INFO: Adding layer meta-intel
INFO: Starting to analyze: meta-intel
INFO: --
...
INFO: ==
INFO: FAIL: test_machine_signatures (bsp.BSPCompatLayer)
INFO: --
INFO: Traceback (most recent call last):
  File "/fast/work/openembedded-core/scripts/lib/compatlayer/cases/bsp.py", 
line 78, in test_machine_signatures
self.fail('\n'.join(msg))
AssertionError: The machines have conflicting signatures for some shared tasks:
   allarch ca-certificates:do_build: 0e3027d1bdab8f84c6db04eedf3daa1d 
(intel-core2-32) != 95083aeb6a3a8179ffe49fa2459d1ef9 (intel-corei7-64) != 
a3234da44f5203dd7fcd96bb79b6b164 (qemux86) != f6d4810f5faad32491c4f1a6f28fc900 
(qemux86-64)
   allarch cantarell-fonts:do_build: 8b3ed1c153b2bfb49ce2e03814a0075e 
(intel-core2-32) != d37c32facfc8aae57044cdab3aa7e1b6 (intel-corei7-64) != 
1e348f57ef18743d1329ab0b2dc51bd5 (qemux86) != de6cb47d25cae6204067d949bcc47d23 
(qemux86-64)
...
   allarch xuser-account:do_build: 81cd497e08b84846f0b70d0f6877b1ff 
(intel-core2-32) != f038a12c4ac671c286783171bf7a8e8c (intel-corei7-64) != 
7fb6d3e9a830959095aebc12df6d3d1e (qemux86) != c3bd05c580cacc6ba06fc909bf6e7656 
(qemux86-64)
   x86-64-x86-64 gdb-cross-x86_64:do_build: 68a82197720db0f0dbad8955635bc1c0 
(intel-corei7-64) != 5631f484d848541bdbf6a4c1f8117f79 (qemux86-64)
   ...
   x86-64-x86-64 gdb-cross-x86_64:do_configure: 
16a264dadaca2897b52871d0c884d564 (intel-corei7-64) != 
9345d347d27f735ef441aad853370acb (qemux86-64)
   ...
   x86-64-x86-64 go-cross-x86_64:do_compile: a297977ab6362dc875643a50f597cd44 
(intel-corei7-64) != 2a7f9da09ac83e2ff2ef2be21b29c19a (qemux86-64)
   ...

$ bitbake-diffsigs -d -t gdb-cross-x86_64 do_configure -s 
16a264dadaca2897b52871d0c884d564 9345d347d27f735ef441aad853370acb
DEBUG: Signature file (previous): 
/fast/build/nodistro/x86/tmp-glibc/stamps/x86_64-linux/gdb-cross-x86_64/7.12.1-r0.do_configure.sigdata.16a264dadaca2897b52871d0c884d564
DEBUG: Signature file (latest): 
/fast/build/nodistro/x86/tmp-glibc/stamps/x86_64-linux/gdb-cross-x86_64/7.12.1-r0.do_configure.sigdata.9345d347d27f735ef441aad853370acb
Task dependencies changed from:
...
List of dependencies for variable TUNE_PKGARCH changed from '{'DEFAULTTUNE', 
'TUNE_PKGARCH_tune-corei7-64'}' to '{'TUNE_PKGARCH_tune-core2-64', 
'DEFAULTTUNE'}'
changed items: {'TUNE_PKGARCH_tune-core2-64', 'TUNE_PKGARCH_tune-corei7-64'}
Dependency on variable TUNE_PKGARCH_tune-core2-64 was added
Dependency on Variable TUNE_PKGARCH_tune-corei7-64 was removed
Variable DEFAULTTUNE value changed from 'corei7-64' to 'core2-64'

Signed-off-by: Patrick Ohly 
---
 scripts/lib/compatlayer/__init__.py  |  7 ++--
 scripts/lib/compatlayer/cases/bsp.py | 54 -
 scripts/yocto-compat-layer.py| 20 +--
 3 files changed, 76 insertions(+), 5 deletions(-)

diff --git a/scripts/lib/compatlayer/__init__.py 
b/scripts/lib/compatlayer/__init__.py
index 6130b85..0d6f4e9 100644
--- a/scripts/lib/compatlayer/__init__.py
+++ b/scripts/lib/compatlayer/__init__.py
@@ -215,7 +215,7 @@ def check_command(error_msg, cmd):
 raise RuntimeError(msg)
 return output
 
-def get_signatures(builddir, failsafe=False):
+def get_signatures(builddir, failsafe=False, machine=None):
 import re
 
 # some recipes needs to be excluded like meta-world-pkgdata
@@ -226,7 +226,10 @@ def get_signatures(builddir, failsafe=False):
 sigs = {}
 tune2tasks = {}
 
-

[OE-core] [PATCH 3/5] yocto-compat-layer: include bitbake-diffsigs output

2017-04-07 Thread Patrick Ohly
After filtering out potential false positives, it becomes feasible to
include the output of bitbake-diffsigs for those tasks which
definitely have a change.

Depends on bitbake-diffsigs with the "--signature" parameter.

Enhanced output now is:

   AssertionError: False is not true : Layer meta- changed 120 signatures, 
initial differences (first hash without, second with layer):
  gstreamer1.0-plugins-base:do_fetch: 76973f19f2e30d282152bdd7e4efe5bb -> 
e6e7c6fa9f2bd59d7d8d107f7c6ca1ac
 Task dependencies changed from:
 ['PV', 'SRCREV', 'SRC_URI', 'SRC_URI[md5sum]', 'SRC_URI[sha256sum]', 
'base_do_fetch']
 to:
 ['GST_IMX_PATCHES_TO_APPEND', 'PV', 'SRCREV', 'SRC_URI', 
'SRC_URI[md5sum]', 'SRC_URI[sha256sum]', 'base_do_fetch']
 basehash changed from d679d30bd1ea41c56e57419b57587f3c to 
090a79b45f5fa26d10f9d34e2ed7a1e6
List of dependencies for variable SRC_URI changed from '{'PV', 
'SRC_URI[md5sum]', 'SRC_URI[sha256sum]'}' to '{'GST_IMX_PATCHES_TO_APPEND', 
'PV', 'SRC_URI[md5sum]', 'SRC_URI[sha256sum]'}'
 changed items: {'GST_IMX_PATCHES_TO_APPEND'}
 Dependency on variable GST_IMX_PATCHES_TO_APPEND was added
 Variable SRC_URI value changed:
 " 
http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz
 file://get-caps-from-src-pad-when-query-caps.patch 
file://0003-ssaparse-enhance-SSA-text-lines-parsing.patch 
file://0004-subparse-set-need_segment-after-sink-pad-received-GS.patch 
file://encodebin-Need-more-buffers-in-output-queue-for-bett.patch 
file://make-gio_unix_2_0-dependency-configurable.patch 
file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch 
file://0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch 
file://0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch 
file://0003-riff-add-missing-include-directories-when-calling-in.patch 
file://0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch [--] 
{+${GST_IMX_PATCHES_TO_APPEND}+}"

  pulseaudio:do_install: 6bb6fe23e11a6d5fef9c3a25e73e4f9c -> 
3f54ea75673a792e307197cfa6ef2694
 basehash changed from ac4efcfa783bd04a5a98a2c38719aedd to 
37679d99623a37c8df955da3a01415a5
 Variable do_install value changed:
 @@ -1,3 +1,7 @@
  autotools_do_install
install -d ${D}${sysconfdir}/default/volatiles
install -m 0644 ${WORKDIR}/volatiles.04_pulse  
${D}${sysconfdir}/default/volatiles/volatiles.04_pulse
 +if [ -e "${WORKDIR}/daemon.conf" ] && [ -e 
"${WORKDIR}/default.pa" ]; then
 +install -m 0644 ${WORKDIR}/daemon.conf 
${D}${sysconfdir}/pulse/daemon.conf
 +install -m 0644 ${WORKDIR}/default.pa 
${D}${sysconfdir}/pulse/default.pa
 +fi

[YOCTO #11161]

Signed-off-by: Patrick Ohly 
---
 scripts/lib/compatlayer/cases/common.py | 12 +++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/scripts/lib/compatlayer/cases/common.py 
b/scripts/lib/compatlayer/cases/common.py
index b91da9b..6eb29c1 100644
--- a/scripts/lib/compatlayer/cases/common.py
+++ b/scripts/lib/compatlayer/cases/common.py
@@ -76,4 +76,14 @@ class CommonCompatLayer(OECompatLayerTestCase):
(self.tc.layer['name'], len(sig_diff)))
 for diff in sorted(sig_diff_filtered):
 msg.append('   %s: %s -> %s' % diff)
-self.assertTrue(False, '\n'.join(msg))
+try:
+recipe, taskname = diff[0].rsplit(':', 1)
+output = check_command('Determining signature difference 
failed.',
+   'bitbake-diffsigs --task %s %s 
--signature %s %s' %
+   (recipe, taskname, diff[1], 
diff[2])).decode('utf-8')
+except RuntimeError as error:
+output = str(error)
+if output:
+msg.extend(['  ' + line for line in 
output.splitlines()])
+msg.append('')
+self.fail('\n'.join(msg))
-- 
git-series 0.9.1
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 4/5] yocto-compat-layer: also determine tune flags for each task

2017-04-07 Thread Patrick Ohly
locked-sigs.inc groups tasks according to their tune flags (allarch,
i586, etc.). Also retrieve that information while getting signatures,
it will be needed to determine when setting a machine changes tasks
that aren't machine-specific.

Signed-off-by: Patrick Ohly 
---
 scripts/lib/compatlayer/__init__.py |  9 -
 scripts/lib/compatlayer/cases/common.py |  2 +-
 scripts/yocto-compat-layer.py   |  2 +-
 3 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/scripts/lib/compatlayer/__init__.py 
b/scripts/lib/compatlayer/__init__.py
index b46527a..6130b85 100644
--- a/scripts/lib/compatlayer/__init__.py
+++ b/scripts/lib/compatlayer/__init__.py
@@ -224,6 +224,7 @@ def get_signatures(builddir, failsafe=False):
 exclude_recipes = ('meta-world-pkgdata',)
 
 sigs = {}
+tune2tasks = {}
 
 cmd = 'bitbake '
 if failsafe:
@@ -234,9 +235,14 @@ def get_signatures(builddir, failsafe=False):
 sigs_file = os.path.join(builddir, 'locked-sigs.inc')
 
 sig_regex = re.compile("^(?P.*:.*):(?P.*) .$")
+tune_regex = re.compile("(^|\s)SIGGEN_LOCKEDSIGS_t-(?P\S*)\s*=\s*")
+current_tune = None
 with open(sigs_file, 'r') as f:
 for line in f.readlines():
 line = line.strip()
+t = tune_regex.search(line)
+if t:
+current_tune = t.group('tune')
 s = sig_regex.match(line)
 if s:
 exclude = False
@@ -249,11 +255,12 @@ def get_signatures(builddir, failsafe=False):
 continue
 
 sigs[s.group('task')] = s.group('hash')
+tune2tasks.setdefault(current_tune, []).append(s.group('task'))
 
 if not sigs:
 raise RuntimeError('Can\'t load signatures from %s' % sigs_file)
 
-return sigs
+return (sigs, tune2tasks)
 
 def get_depgraph(targets=['world']):
 '''
diff --git a/scripts/lib/compatlayer/cases/common.py 
b/scripts/lib/compatlayer/cases/common.py
index 6eb29c1..aa46984 100644
--- a/scripts/lib/compatlayer/cases/common.py
+++ b/scripts/lib/compatlayer/cases/common.py
@@ -33,7 +33,7 @@ class CommonCompatLayer(OECompatLayerTestCase):
 
 # task -> (old signature, new signature)
 sig_diff = {}
-curr_sigs = get_signatures(self.td['builddir'], failsafe=True)
+curr_sigs, _ = get_signatures(self.td['builddir'], failsafe=True)
 for task in self.td['sigs']:
 if task in curr_sigs and \
self.td['sigs'][task] != curr_sigs[task]:
diff --git a/scripts/yocto-compat-layer.py b/scripts/yocto-compat-layer.py
index 22c0c2d..2ebddb6 100755
--- a/scripts/yocto-compat-layer.py
+++ b/scripts/yocto-compat-layer.py
@@ -139,7 +139,7 @@ def main():
 td['bbvars'] = get_bb_vars()
 logger.info('Getting initial signatures ...')
 td['builddir'] = builddir
-td['sigs'] = get_signatures(td['builddir'])
+td['sigs'], td['tunetasks'] = get_signatures(td['builddir'])
 
 if not add_layer(bblayersconf, layer, dep_layers, logger):
 logger.info('Skipping %s ???.' % layer['name'])
-- 
git-series 0.9.1
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 1/5] yocto-compat-layer: fix also other command invocations

2017-04-07 Thread Patrick Ohly
In commit 5b9ac62ab535d, one place was fixed where a command was
invoked such that failures caused double stack traces and stderr was
lost. The same problem also occurs elsewhere, triggered for example by
a layer with parsing problems.

Now a new utility method is used instead of repeating the code.

Signed-off-by: Patrick Ohly 
---
 scripts/lib/compatlayer/__init__.py | 23 ---
 scripts/lib/compatlayer/cases/common.py | 25 +
 2 files changed, 21 insertions(+), 27 deletions(-)

diff --git a/scripts/lib/compatlayer/__init__.py 
b/scripts/lib/compatlayer/__init__.py
index 86f86eb..9eb862d 100644
--- a/scripts/lib/compatlayer/__init__.py
+++ b/scripts/lib/compatlayer/__init__.py
@@ -4,6 +4,7 @@
 # Released under the MIT license (see COPYING.MIT)
 
 import os
+import subprocess
 from enum import Enum
 
 class LayerType(Enum):
@@ -199,8 +200,20 @@ def add_layer(bblayersconf, layer, layers, logger):
 
 return True
 
+def check_command(error_msg, cmd):
+'''
+Run a command under a shell, capture stdout and stderr in a single stream,
+throw an error when command returns non-zero exit code. Returns the output.
+'''
+
+p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, 
stderr=subprocess.STDOUT)
+output, _ = p.communicate()
+if p.returncode:
+msg = "%s\nCommand: %s\nOutput:\n%s" % (error_msg, cmd, 
output.decode('utf-8'))
+raise RuntimeError(msg)
+return output
+
 def get_signatures(builddir, failsafe=False):
-import subprocess
 import re
 
 # some recipes needs to be excluded like meta-world-pkgdata
@@ -214,12 +227,8 @@ def get_signatures(builddir, failsafe=False):
 if failsafe:
 cmd += '-k '
 cmd += '-S none world'
-p = subprocess.Popen(cmd, shell=True,
- stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
-output, _ = p.communicate()
-if p.returncode:
-msg = "Generating signatures failed. This might be due to some parse 
error and/or general layer incompatibilities.\nCommand: %s\nOutput:\n%s" % 
(cmd, output.decode('utf-8'))
-raise RuntimeError(msg)
+check_command('Generating signatures failed. This might be due to some 
parse error and/or general layer incompatibilities.',
+  cmd)
 sigs_file = os.path.join(builddir, 'locked-sigs.inc')
 
 sig_regex = re.compile("^(?P.*:.*):(?P.*) .$")
diff --git a/scripts/lib/compatlayer/cases/common.py 
b/scripts/lib/compatlayer/cases/common.py
index 4d328ec..9cc682e 100644
--- a/scripts/lib/compatlayer/cases/common.py
+++ b/scripts/lib/compatlayer/cases/common.py
@@ -2,9 +2,8 @@
 # Released under the MIT license (see COPYING.MIT)
 
 import os
-import subprocess
 import unittest
-from compatlayer import get_signatures, LayerType
+from compatlayer import get_signatures, LayerType, check_command
 from compatlayer.case import OECompatLayerTestCase
 
 class CommonCompatLayer(OECompatLayerTestCase):
@@ -20,26 +19,12 @@ class CommonCompatLayer(OECompatLayerTestCase):
 msg="Layer contains README file but is empty.")
 
 def test_parse(self):
-try:
-output = subprocess.check_output('bitbake -p', shell=True,
-stderr=subprocess.PIPE)
-except subprocess.CalledProcessError as e:
-import traceback
-exc = traceback.format_exc()
-msg = 'Layer %s failed to parse.\n%s\n%s\n' % 
(self.tc.layer['name'],
-exc, e.output.decode('utf-8'))
-raise RuntimeError(msg)
+check_command('Layer %s failed to parse.' % self.tc.layer['name'],
+  'bitbake -p')
 
 def test_show_environment(self):
-try:
-output = subprocess.check_output('bitbake -e', shell=True,
-stderr=subprocess.PIPE)
-except subprocess.CalledProcessError as e:
-import traceback
-exc = traceback.format_exc()
-msg = 'Layer %s failed to show environment.\n%s\n%s\n' % \
-(self.tc.layer['name'], exc, e.output.decode('utf-8'))
-raise RuntimeError(msg)
+check_command('Layer %s failed to show environment.' % 
self.tc.layer['name'],
+  'bitbake -e')
 
 def test_signatures(self):
 if self.tc.layer['type'] == LayerType.SOFTWARE:
-- 
git-series 0.9.1
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 2/5] yocto-compat-layer: limit report of signature changes

2017-04-07 Thread Patrick Ohly
Typically a single change cascades through the entire task dependency
chain. Developers had to figure that out themselves, based on hard to
read and interpret output (not sorted, no indention, no explanations):

   $ yocto-compat-layer.py -n meta-
   ...
   AssertionError: True is not false : Layer meta- changed signatures.
   webkitgtk:do_install changed fe2edc9082bc0da98f9cb1391c52f565 -> 
b3a44684c5cd9aacd3f7c6ed88eefab5
   gstreamer1.0-plugins-good:do_configure changed 
3b2f8211be3fe08422bf6087f3af16d1 -> 7d80e42fa1f4f01ff4dfe2ea4477d382
   pulseaudio:do_package_qa changed 5d0a58ada66ff17f5576555302ac319a -> 
0e13bcb96143d1ae54c451bc3de0aa30
   epiphany:do_prepare_recipe_sysroot changed 29e1b277dbcb005bd54950594c50d91b 
-> d3c45527b37677a0668ce483c6db3052
   ...
   gst-player:do_packagedata changed 9ce6efdd357dd74919bc4957458b1e95 -> 
d0c083ce629f37adfc9c4ba9eff81f83
   gstreamer1.0-plugins-base:do_install changed 
1161cd867d15bea63e5dd5d9abf0519c -> 5bf2b652a2d77fee3eedb35af2f201a0
   gstreamer1.0-rtsp-server:do_packagedata changed 
6781dc3070f80b843ed1970d74dd323e -> 454620c2e3b9fea87e525d14b6ed0344
   alsa-plugins:do_packagedata changed 1808c3f737cb805b169d004e948ea19c -> 
480124b7fa5eab1f73bf96440d725231

Now the tool automates the problem analysis: it retrieves the depgraph
using the tinfoil API and only reports those tasks with modified
signatures whose dependencies have not changed, i.e. those tasks which
definitely introduce a change.

>From the previous example, that just leaves two tasks that need to be
checked:

   AssertionError: False is not true : Layer meta- changed 120 signatures, 
initial differences (first hash without, second with layer):
  gstreamer1.0-plugins-base:do_fetch: 76973f19f2e30d282152bdd7e4efe5bb -> 
e6e7c6fa9f2bd59d7d8d107f7c6ca1ac
  pulseaudio:do_install: 668eb1e30af129df9806b0aa0d7c10cd -> 
1196bdb88eef564613bb06b9387e

This pruning might be a bit too aggressive in the sense that tasks
which inherit a change and then add more changes themselves won't be
reported initially. They will be found when fixing the reported tasks
and re-running the check.

For a developer it seems better to have something listed which
definitely is a problem and needs fixing instead of everything,
including the tasks which don't need fixes.

Signed-off-by: Patrick Ohly 
---
 scripts/lib/compatlayer/__init__.py | 32 +++-
 scripts/lib/compatlayer/cases/common.py | 54 +++---
 2 files changed, 73 insertions(+), 13 deletions(-)

diff --git a/scripts/lib/compatlayer/__init__.py 
b/scripts/lib/compatlayer/__init__.py
index 9eb862d..b46527a 100644
--- a/scripts/lib/compatlayer/__init__.py
+++ b/scripts/lib/compatlayer/__init__.py
@@ -7,6 +7,8 @@ import os
 import subprocess
 from enum import Enum
 
+import bb.tinfoil
+
 class LayerType(Enum):
 BSP = 0
 DISTRO = 1
@@ -252,3 +254,33 @@ def get_signatures(builddir, failsafe=False):
 raise RuntimeError('Can\'t load signatures from %s' % sigs_file)
 
 return sigs
+
+def get_depgraph(targets=['world']):
+'''
+Returns the dependency graph for the given target(s).
+The dependency graph is taken directly from DepTreeEvent.
+'''
+depgraph = None
+with bb.tinfoil.Tinfoil() as tinfoil:
+tinfoil.prepare(config_only=False)
+tinfoil.set_event_mask(['bb.event.NoProvider', 
'bb.event.DepTreeGenerated', 'bb.command.CommandCompleted'])
+if not tinfoil.run_command('generateDepTreeEvent', targets, 
'do_build'):
+raise RuntimeError('starting generateDepTreeEvent failed')
+while True:
+event = tinfoil.wait_event(timeout=1000)
+if event:
+if isinstance(event, bb.command.CommandFailed):
+raise RuntimeError('Generating dependency information 
failed: %s' % event.error)
+elif isinstance(event, bb.command.CommandCompleted):
+break
+elif isinstance(event, bb.event.NoProvider):
+if event._reasons:
+raise RuntimeError('Nothing provides %s: %s' % 
(event._item, event._reasons))
+else:
+raise RuntimeError('Nothing provides %s.' % 
(event._item))
+elif isinstance(event, bb.event.DepTreeGenerated):
+depgraph = event._depgraph
+
+if depgraph is None:
+raise RuntimeError('Could not retrieve the depgraph.')
+return depgraph
diff --git a/scripts/lib/compatlayer/cases/common.py 
b/scripts/lib/compatlayer/cases/common.py
index 9cc682e..b91da9b 100644
--- a/scripts/lib/compatlayer/cases/common.py
+++ b/scripts/lib/compatlayer/cases/common.py
@@ -3,7 +3,7 @@
 
 import os
 import unittest
-from compatlayer import get_signatures, LayerType, check_command
+from compatlayer import get_signatures, LayerType, check_command, get_depgraph
 from compatlayer.case import 

[OE-core] [PATCH 0/5] [RFC] yocto-compat-layer: various enhancements + bitbake-diffsigs support

2017-04-07 Thread Patrick Ohly
I started applying yocto-compat-layer to some real BSP layers and ran
into some usability issues with the tool.

I also didn't want to do the root cause analysis manually, so I
automated the dependency analysis and the running of
bitbake-diffsigs.

This patch series is based on Mark's "yocto-compat-layer.py updates"
series. The last commit depends on Paul's "bitbake-diffsigs: add an
option to find and compare specific signatures" patch from
http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=paule/sigstuff=5bb69edfb4bbaa7373061daeb4f233a7e2f43a43

Regarding the BSP example that I ended up using: it actually was one
of the better BSP layers and only had one problem in a "bitbake world"
build instead of several as in other BSP layers. Nevertheless I
obscured the name to protect the (not so) guilty in the commit
messages ;-}

The two changes that show up in test_signatures look harmless at first
glance, but probably would need to be done differently to avoid a
false positive when doing the signature check.

V2: - use self.fail() instead of self.assertTrue(False, ...)
- test_machine_signatures check (work in progress)

Patrick Ohly (5):
  yocto-compat-layer: fix also other command invocations
  yocto-compat-layer: limit report of signature changes
  yocto-compat-layer: include bitbake-diffsigs output
  yocto-compat-layer: also determine tune flags for each task
  yocto-compat-layer: test signature differences when setting MACHINE

 scripts/lib/compatlayer/__init__.py | 71 ++---
 scripts/lib/compatlayer/cases/bsp.py| 54 +++-
 scripts/lib/compatlayer/cases/common.py | 89 --
 scripts/yocto-compat-layer.py   | 22 +-
 4 files changed, 189 insertions(+), 47 deletions(-)

base-commit: 719f6ff68135dc2ad143c8572c8321974f6a3357
-- 
git-series 0.9.1
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] ✗ patchtest: failure for Set linux-firmware to correct license

2017-04-07 Thread Leonardo Sandoval
On Fri, 2017-04-07 at 10:32 +, Patchwork wrote:
> == Series Details ==
> 
> Series: Set linux-firmware to correct license
> Revision: 1
> URL   : https://patchwork.openembedded.org/series/6226/
> State : failure
> 
> == Summary ==
> 
> 
> Thank you for submitting this patch series to OpenEmbedded Core. This is
> an automated response. Several tests have been executed on the proposed
> series by patchtest resulting in the following failures:
> 


patchtest is complaining because you are including this patch on your
series

[OE-core] [PATCH 1/4] bitbake: fetch2: Do not fail to create symbolic
links if they already exist

and it is already merged.

> 
> 
> * Issue Series does not apply on top of target branch 
> [test_series_merge_on_head] 
>   Suggested fixRebase your series on top of targeted branch
>   Targeted branch  master (currently at 901659a51c)
> 
> 
> 
> If you believe any of these test results are incorrect, please reply to the
> mailing list (openembedded-core@lists.openembedded.org) raising your concerns.
> Otherwise we would appreciate you correcting the issues and submitting a new
> version of the patchset if applicable. Please ensure you add/increment the
> version number when sending the new version (i.e. [PATCH] -> [PATCH v2] ->
> [PATCH v3] -> ...).
> 
> ---
> Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
> Test suite: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe
> 


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


Re: [OE-core] [PATCH] selftest/recipetool: skip create_git in case x11 feature is not present

2017-04-07 Thread Leonardo Sandoval
On Fri, 2017-04-07 at 08:57 +0300, Jussi Kukkonen wrote:
> 
> 
> On 6 April 2017 at 19:41, 
> wrote:
> From: Leonardo Sandoval
> 
> 
> The unit test requires x11 as distro feature, otherwise it
> will fail
> while building the test requirements.
> 
> 
> How about changing the test recipe to something non-x11 instead?
>  

Yes, but at this point of the release, I do not think it is a good idea.
There was another case on the devtool's selftest where the target was
quite complex for a poky-tiny distro, but again, it requires time to
redo the test and this is not the perfect time frame.

> 
> [YOCTO #10903]
> 
> Signed-off-by: Leonardo Sandoval
> 
> ---
>  meta/lib/oeqa/selftest/recipetool.py | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/meta/lib/oeqa/selftest/recipetool.py
> b/meta/lib/oeqa/selftest/recipetool.py
> index d47b9dd..7bfb02f 100644
> --- a/meta/lib/oeqa/selftest/recipetool.py
> +++ b/meta/lib/oeqa/selftest/recipetool.py
> @@ -382,6 +382,8 @@ class RecipetoolTests(RecipetoolBase):
> 
>  @testcase(1194)
>  def test_recipetool_create_git(self):
> +if 'x11' not in get_bb_var('DISTRO_FEATURES'):
> +self.skipTest('Test requires x11 as distro
> feature')
>  # Ensure we have the right data in shlibs/pkgdata
>  bitbake('libpng pango libx11 libxext jpeg libcheck')
>  # Try adding a recipe
> --
> 2.10.2
> 
> --
> ___
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
> 
> 


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


Re: [OE-core] [PATCH 0/2] Fixes for building on Fedora 26 (Alpha)

2017-04-07 Thread Khem Raj
On Fri, Apr 7, 2017 at 7:02 AM, Christopher Larson  wrote:
>
>
> On Thu, Apr 6, 2017 at 6:23 AM, Joshua Lock  wrote:
>>
>> As Fedora 26 has a new gcc [1] and a new system pkg-config implementation
>> [2] I
>> wanted to do some testing on that host OS so that we might be able to get
>> some
>> fixes in before Pyro/2.3 is released.
>>
>> The following series were the only changes required to start building (I
>> have
>> tested core-image-minimal, core-image-base and core-image-sato) on Fedora
>> 26.
>>
>> 1. https://fedoraproject.org/wiki/Changes/GCC7
>> 2.
>> https://fedoraproject.org/wiki/Changes/pkgconf_as_system_pkg-config_implementation
>
>
> Quite interesting. I started poking at pkgconf a while back —
> https://github.com/kergoth/meta-kergoth-wip/tree/master/meta-pkgconf.

Thanks Chris, I think this is almost there then
a little bit of rework and proposal for 2.4. I think
you should own this feature for next release if you
have time.

> --
> Christopher Larson
> kergoth at gmail dot com
> Founder - BitBake, OpenEmbedded, OpenZaurus
> Senior Software Engineer, Mentor Graphics
>
> --
> ___
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] scripts/rpm2cpio.sh -- master version

2017-04-07 Thread Mark Hatle
The change to the rpm4 version of rpm2cpio.sh has triggered a problem on a few
of our older build machines.  Specifically:

dd: invalid input flag: `skip_bytes'
Try `dd --help' for more information.

I was doing some investigation, and the line causing the issue is:

dd if="$pkg" skip="$o" iflag=skip_bytes status=none $*

The old code did the same thing using:

dd if=$pkg ibs=$o skip=1" 2>/dev/null


It appears that 'iflag' is GNU specific.  Generally not a big deal, but the
specific flag 'skip_bytes' is new with in the last couple years.  The code is
almost not supported on non-GNU systems, so could pose problems on non-Linux
hosts [not a problem today].

I'm wondering if we should look at modifying this script to use the older style
for better compatibility with older hosts?

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


Re: [OE-core] [PATCH 0/2] Fixes for building on Fedora 26 (Alpha)

2017-04-07 Thread Christopher Larson
On Thu, Apr 6, 2017 at 6:23 AM, Joshua Lock  wrote:

> As Fedora 26 has a new gcc [1] and a new system pkg-config implementation
> [2] I
> wanted to do some testing on that host OS so that we might be able to get
> some
> fixes in before Pyro/2.3 is released.
>
> The following series were the only changes required to start building (I
> have
> tested core-image-minimal, core-image-base and core-image-sato) on Fedora
> 26.
>
> 1. https://fedoraproject.org/wiki/Changes/GCC7
> 2. https://fedoraproject.org/wiki/Changes/pkgconf_as_system_pkg-config_
> implementation


Quite interesting. I started poking at pkgconf a while back —
https://github.com/kergoth/meta-kergoth-wip/tree/master/meta-pkgconf.
-- 
Christopher Larson
kergoth at gmail dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Senior Software Engineer, Mentor Graphics
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH v2] python-pycurl: create python3-pycurl recipe

2017-04-07 Thread Dmitry Rozhkov
The python-pycurl recipe can be used with python2 only even
though python3 is officially supported by upstream.

Create python3-pycurl recipe enabling the pycurl module for
python3.

Signed-off-by: Dmitry Rozhkov 
---

Changes in v2:
- redefine SECURITY_CFLAGS for python3-pycurl to drop PIE cflag.
  Otherwise poky-lsb builds fail.

 meta/conf/distro/include/security_flags.inc|  1 +
 meta/recipes-devtools/python/python-pycurl.inc | 31 +
 .../python/python-pycurl_7.21.5.bb | 32 +-
 .../python/python3-pycurl_7.21.5.bb|  5 
 4 files changed, 38 insertions(+), 31 deletions(-)
 create mode 100644 meta/recipes-devtools/python/python-pycurl.inc
 create mode 100644 meta/recipes-devtools/python/python3-pycurl_7.21.5.bb

diff --git a/meta/conf/distro/include/security_flags.inc 
b/meta/conf/distro/include/security_flags.inc
index 6df1842..e162abe 100644
--- a/meta/conf/distro/include/security_flags.inc
+++ b/meta/conf/distro/include/security_flags.inc
@@ -76,6 +76,7 @@ SECURITY_CFLAGS_pn-python-pycurl = "${SECURITY_NO_PIE_CFLAGS}"
 SECURITY_CFLAGS_pn-python-numpy = "${SECURITY_NO_PIE_CFLAGS}"
 SECURITY_CFLAGS_pn-python3-numpy = "${SECURITY_NO_PIE_CFLAGS}"
 SECURITY_CFLAGS_pn-python3-pycairo = "${SECURITY_NO_PIE_CFLAGS}"
+SECURITY_CFLAGS_pn-python3-pycurl = "${SECURITY_NO_PIE_CFLAGS}"
 SECURITY_CFLAGS_pn-python3-pygpgme = "${SECURITY_NO_PIE_CFLAGS}"
 SECURITY_CFLAGS_pn-python3 = "${SECURITY_NO_PIE_CFLAGS}"
 SECURITY_CFLAGS_pn-syslinux = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/meta/recipes-devtools/python/python-pycurl.inc 
b/meta/recipes-devtools/python/python-pycurl.inc
new file mode 100644
index 000..d26318b
--- /dev/null
+++ b/meta/recipes-devtools/python/python-pycurl.inc
@@ -0,0 +1,31 @@
+SUMMARY = "Python bindings for libcurl"
+HOMEPAGE = "http://pycurl.sourceforge.net/;
+SECTION = "devel/python"
+LICENSE = "LGPLv2.1+ | MIT"
+LIC_FILES_CHKSUM = 
"file://README.rst;beginline=166;endline=182;md5=a84a1caa65b89d4584b693d3680062fb
 \
+file://COPYING-LGPL;md5=3579a9fd0221d49a237aaa33492f988c \
+file://COPYING-MIT;md5=b7e434aeb228ed731c00bcf177e79b19"
+
+DEPENDS = "curl ${PYTHON_PN}"
+RDEPENDS_${PN} = "${PYTHON_PN}-core curl"
+SRCNAME = "pycurl"
+
+SRC_URI = "\
+  
http://${SRCNAME}.sourceforge.net/download/${SRCNAME}-${PV}.tar.gz;name=archive 
\
+  file://no-static-link.patch \
+"
+
+SRC_URI[archive.md5sum] = "bca7bf47320082588db544ced2ba8717"
+SRC_URI[archive.sha256sum] = 
"8a1e0eb55573388275a1d6c2534ca4cfca5d7fa772b99b505c08fa149b27aed0"
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+BBCLASSEXTEND = "native"
+
+# Ensure the docstrings are generated as make clean will remove them
+do_compile_prepend() {
+   ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py 
docstrings
+}
+
+do_install_append() {
+   rm -rf ${D}${datadir}/share
+}
diff --git a/meta/recipes-devtools/python/python-pycurl_7.21.5.bb 
b/meta/recipes-devtools/python/python-pycurl_7.21.5.bb
index 7b41f6d..eb70cea 100644
--- a/meta/recipes-devtools/python/python-pycurl_7.21.5.bb
+++ b/meta/recipes-devtools/python/python-pycurl_7.21.5.bb
@@ -1,33 +1,3 @@
-SUMMARY = "Python bindings for libcurl"
-HOMEPAGE = "http://pycurl.sourceforge.net/;
-SECTION = "devel/python"
-LICENSE = "LGPLv2.1+ | MIT"
-LIC_FILES_CHKSUM = 
"file://README.rst;beginline=166;endline=182;md5=a84a1caa65b89d4584b693d3680062fb
 \
-file://COPYING-LGPL;md5=3579a9fd0221d49a237aaa33492f988c \
-file://COPYING-MIT;md5=b7e434aeb228ed731c00bcf177e79b19"
-
-DEPENDS = "curl python"
-RDEPENDS_${PN} = "python-core curl"
-SRCNAME = "pycurl"
-
-SRC_URI = "\
-  
http://${SRCNAME}.sourceforge.net/download/${SRCNAME}-${PV}.tar.gz;name=archive 
\
-  file://no-static-link.patch \
-"
-
-SRC_URI[archive.md5sum] = "bca7bf47320082588db544ced2ba8717"
-SRC_URI[archive.sha256sum] = 
"8a1e0eb55573388275a1d6c2534ca4cfca5d7fa772b99b505c08fa149b27aed0"
-S = "${WORKDIR}/${SRCNAME}-${PV}"
+require python-pycurl.inc
 
 inherit distutils
-
-BBCLASSEXTEND = "native"
-
-# Ensure the docstrings are generated as make clean will remove them
-do_compile_prepend() {
-   ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py 
docstrings
-}
-
-do_install_append() {
-   rm -rf ${D}${datadir}/share
-}
diff --git a/meta/recipes-devtools/python/python3-pycurl_7.21.5.bb 
b/meta/recipes-devtools/python/python3-pycurl_7.21.5.bb
new file mode 100644
index 000..5d11192
--- /dev/null
+++ b/meta/recipes-devtools/python/python3-pycurl_7.21.5.bb
@@ -0,0 +1,5 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/python-pycurl:"
+
+require python-pycurl.inc
+
+inherit distutils3
-- 
2.9.3

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


Re: [OE-core] [PATCH] openssl: Fix symlink creation

2017-04-07 Thread Martin Jansa
On Fri, Apr 07, 2017 at 02:27:45PM +0200, David Vincent wrote:
> On jeudi 6 avril 2017 15:03:36 CEST Martin Jansa wrote:
> > I still don't understand why not use standard update-alternatives and
> > install another package with your favorite openssl.conf which has higher
> > ALTERNATIVE_PRIORITY.
> 
> Why not, but maybe this https://bugzilla.yoctoproject.org/show_bug.cgi?
> id=10777 can be a stopper since libcrypto RRECOMMENDS openssl-conf

Why would it be a stopper? With u-a you can have any number of the u-a
alternative providers installed in the image at the same time.

> > This way u-a will switch to new config even when you just install the
> > package which require it on the target later and will switch back to
> > default openssl.conf when the alternative package with config file is
> > uninstalled.
> > 
> > On Thu, Apr 6, 2017 at 12:55 PM, Jussi Kukkonen 
> >> So previously openssl-conf package included etc/ssl/openssl.cnf and the
> >> symlink ${libdir}/ssl/openssl.conf.
> 
> The symlink is not inside openssl-conf package but rather inside openssl.
> 
> >> Nothing RDEPENDS on this package (but
> >> libcrypto RRECOMMENDS it).
> >> 
> >> After your patch the actual configuration file is still installed. In a
> >> postinst
> >> 
> >>   * ${libdir}/ssl/openssl.conf is removed if it exists (why? If it's for
> >> upgrading, then this should happen in a prerm or postrm)
> >>   * the symlink ${libdir}/ssl/openssl.conf is created
> >> 
> >> My confusion is this: how does the above solve the problem you describe?
> >> If you've managed to use RCONFLICTS to prevent the configuration package
> >> from getting included in the image, why are changes to the package needed?
> >> 
> 
> To avoid creation of the symlink inside openssl package. But I agree for the 
> postrm/prerm tasks instead of postinst.
> 
> >> 
> >> Some alternative solutions to your problem I think might work:
> >> * openssl_%.bbappend with a do_install_append() that simply copies your
> >> conf file over the one from upstream recipe. No extra packages needed
> >> * BAD_RECOMMENDATIONS or PACKAGE_EXCLUDE to prevent openssl-conf from
> >> getting included in your image, then adding your own package with your
> >> configuration (does not work for dpkg I think)
> >> 
> 
> I could consider this if the patch gets reverted, but I still prefer using 
> extra packages. It's easier this way to know which configuration has been 
> applied (but update-alternatives could work too).
> 
> TBH, I say that because I've submitted a similar series of patches for 
> openssh 
> based on the same principle. I think my main problem is the handling of 
> configuration files at build time. This holds especially true for read-only 
> rootfs where these files must be available at build time. Is there guidelines 
> for that ?
> 
> >> Jussi
> >> 
> >> --
> >> ___
> >> Openembedded-core mailing list
> >> Openembedded-core@lists.openembedded.org
> >> http://lists.openembedded.org/mailman/listinfo/openembedded-core
> 
> David

-- 
Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com


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


Re: [OE-core] [PATCH 4/4] native.bbclass: Use fixed DISTRO_FEATURES

2017-04-07 Thread Jussi Kukkonen
On 7 April 2017 at 15:13, Richard Purdie 
wrote:
> > > Also, one question. Does this have any effect on qemu-native? Does
> > > qemu-native need/use x11 today?
> > qemu itself does not use anything x11 since last year and the default
> > native packageconfig is already not
> > dependent on distro features.
> >
> > Now that you mentioned I had a closer look at qemu & SDL:
> >  * qemu-native doesn't build with "sdl" by default, but someone might
> > change that of course
> >  * If that happens (and libsdl-native is not in ASSUME_PROVIDED),
> > libsdl is built and by default depends on libx11
> > I completely expected this to fail now (without x11 in distro
> > features) but it actually builds just fine. It turns out that a
> > clever Burton has tweaked
> > REQUIRED_DISTRO_FEATURES_class-native for some X libraries for
> > exactly this purpose already.
>
> Right, we actually have a commented section for sdl and qemu in our
> local.conf.sample so we do need to test and figure this piece out.
>
> Would we want to put x11 in the default native distro flags to avoid
> some of the other issues above?


I don't see issues that need fixing right now: libx11-native and some other
native X libraries build just fine without "x11" feature because of the
tweaks I mentioned. So building libsdl-native with "x11" packageconfig
works.

Did I miss something else?

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


Re: [OE-core] [PATCH] openssl: Fix symlink creation

2017-04-07 Thread Jussi Kukkonen
On 7 April 2017 at 15:27, David Vincent  wrote:
>
> On jeudi 6 avril 2017 15:03:36 CEST Martin Jansa wrote:
> > I still don't understand why not use standard update-alternatives and
> > install another package with your favorite openssl.conf which has higher
> > ALTERNATIVE_PRIORITY.
>
> Why not, but maybe this https://bugzilla.yoctoproject.org/show_bug.cgi?
> id=10777 can be a stopper since libcrypto RRECOMMENDS openssl-conf
>
> > This way u-a will switch to new config even when you just install the
> > package which require it on the target later and will switch back to
> > default openssl.conf when the alternative package with config file is
> > uninstalled.
> >
> > On Thu, Apr 6, 2017 at 12:55 PM, Jussi Kukkonen <
jussi.kukko...@intel.com>
> >> So previously openssl-conf package included etc/ssl/openssl.cnf and the
> >> symlink ${libdir}/ssl/openssl.conf.
>
> The symlink is not inside openssl-conf package but rather inside openssl.

Right.

> >> Nothing RDEPENDS on this package (but
> >> libcrypto RRECOMMENDS it).
> >>
> >> After your patch the actual configuration file is still installed. In a
> >> postinst
> >>
> >>   * ${libdir}/ssl/openssl.conf is removed if it exists (why? If it's
for
> >> upgrading, then this should happen in a prerm or postrm)
> >>   * the symlink ${libdir}/ssl/openssl.conf is created
> >>
> >> My confusion is this: how does the above solve the problem you
describe?
> >> If you've managed to use RCONFLICTS to prevent the configuration
package
> >> from getting included in the image, why are changes to the package
needed?
> >>
>
> To avoid creation of the symlink inside openssl package.

I'm really not trying to be difficult but ... that still doesn't help me
understand your reasons at all and I think I need to if I want to fix the
current issue.

Could you please explain what your other configuration recipe does and what
files it contains, how you switch between the two and why the symlink in a
postinstall works for you but an installed symlink does not.

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


Re: [OE-core] [PATCH] openssl: Fix symlink creation

2017-04-07 Thread David Vincent
On jeudi 6 avril 2017 15:03:36 CEST Martin Jansa wrote:
> I still don't understand why not use standard update-alternatives and
> install another package with your favorite openssl.conf which has higher
> ALTERNATIVE_PRIORITY.

Why not, but maybe this https://bugzilla.yoctoproject.org/show_bug.cgi?
id=10777 can be a stopper since libcrypto RRECOMMENDS openssl-conf

> This way u-a will switch to new config even when you just install the
> package which require it on the target later and will switch back to
> default openssl.conf when the alternative package with config file is
> uninstalled.
> 
> On Thu, Apr 6, 2017 at 12:55 PM, Jussi Kukkonen 
>> So previously openssl-conf package included etc/ssl/openssl.cnf and the
>> symlink ${libdir}/ssl/openssl.conf.

The symlink is not inside openssl-conf package but rather inside openssl.

>> Nothing RDEPENDS on this package (but
>> libcrypto RRECOMMENDS it).
>> 
>> After your patch the actual configuration file is still installed. In a
>> postinst
>> 
>>   * ${libdir}/ssl/openssl.conf is removed if it exists (why? If it's for
>> upgrading, then this should happen in a prerm or postrm)
>>   * the symlink ${libdir}/ssl/openssl.conf is created
>> 
>> My confusion is this: how does the above solve the problem you describe?
>> If you've managed to use RCONFLICTS to prevent the configuration package
>> from getting included in the image, why are changes to the package needed?
>> 

To avoid creation of the symlink inside openssl package. But I agree for the 
postrm/prerm tasks instead of postinst.

>> 
>> Some alternative solutions to your problem I think might work:
>> * openssl_%.bbappend with a do_install_append() that simply copies your
>> conf file over the one from upstream recipe. No extra packages needed
>> * BAD_RECOMMENDATIONS or PACKAGE_EXCLUDE to prevent openssl-conf from
>> getting included in your image, then adding your own package with your
>> configuration (does not work for dpkg I think)
>> 

I could consider this if the patch gets reverted, but I still prefer using 
extra packages. It's easier this way to know which configuration has been 
applied (but update-alternatives could work too).

TBH, I say that because I've submitted a similar series of patches for openssh 
based on the same principle. I think my main problem is the handling of 
configuration files at build time. This holds especially true for read-only 
rootfs where these files must be available at build time. Is there guidelines 
for that ?

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

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


Re: [OE-core] [PATCH 4/4] native.bbclass: Use fixed DISTRO_FEATURES

2017-04-07 Thread Richard Purdie
On Fri, 2017-04-07 at 14:59 +0300, Jussi Kukkonen wrote:
> On 7 April 2017 at 11:28, Richard Purdie  ion.org> wrote:
> > On Fri, 2017-04-07 at 09:09 +0300, Jussi Kukkonen wrote:
> > > There seems to be no advantage to letting distro features affect
> > > native builds. There is a significant disadvantage: a change to
> > > DISTRO_FEATURES will trigger a lot of unnecessary native tasks.
> > In a
> > > test like this:
> > >   $ bitbake core-image-minimal
> > >   # append " systemd" to DISTRO_FEATURES
> > >   $ bitbake core-image-minimal
> > > The latter build takes 44 minutes (28%) of cpu-time less with
> > this
> > > patch (skipping 135 native tasks). Sadly wall clock time was not
> > > affected as glibc remains the bottleneck.
> > >
> > > Set DISTRO_FEATURES to a fixed value for native recipes to avoid
> > the
> > > unnecessary tasks: currently the default value is empty.
> > >
> > > Do the variable setting in native_virtclass_handler() because
> > > otherwise
> > > it could still be overridden by appends and the feature
> > backfilling.
> > > Shuffle the early returns so DISTRO_FEATURES gets set as long as
> > > the packagename ends with "-native".
> > >
> > > Signed-off-by: Jussi Kukkonen 
> > > ---
> > >  meta/classes/native.bbclass | 12 
> > >  meta/conf/bitbake.conf  |  2 ++
> > >  2 files changed, 10 insertions(+), 4 deletions(-)
> > >
> > > diff --git a/meta/classes/native.bbclass
> > > b/meta/classes/native.bbclass
> > > index 1919fbc..fbca4c6 100644
> > > --- a/meta/classes/native.bbclass
> > > +++ b/meta/classes/native.bbclass
> > > @@ -121,14 +121,18 @@ PATH_prepend = "${COREBASE}/scripts/native-
> > > intercept:"
> > >  SSTATE_SCAN_CMD ?= "${SSTATE_SCAN_CMD_NATIVE}"
> > >  
> > >  python native_virtclass_handler () {
> > > -classextend = e.data.getVar('BBCLASSEXTEND') or ""
> > > -if "native" not in classextend:
> > > -return
> > > -
> > >  pn = e.data.getVar("PN")
> > >  if not pn.endswith("-native"):
> > >  return
> > >  
> > > +# Set features here to prevent appends and distro features
> > > backfill
> > > +# from modifying native distro features
> > > +d.setVar("DISTRO_FEATURES", "${NATIVE_DISTRO_FEATURES}")
> > > +
> > > +classextend = e.data.getVar('BBCLASSEXTEND') or ""
> > > +if "native" not in classextend:
> > > +return
> > > +
> > >  def map_dependencies(varname, d, suffix = ""):
> > >  if suffix:
> > >  varname = varname + "_" + suffix
> > > diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> > > index 5e98d45..78a3470 100644
> > > --- a/meta/conf/bitbake.conf
> > > +++ b/meta/conf/bitbake.conf
> > > @@ -789,6 +789,8 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= ""
> > >  EXTRA_IMAGE_FEATURES ??= ""
> > >  IMAGE_FEATURES += "${EXTRA_IMAGE_FEATURES}"
> > >  
> > > +NATIVE_DISTRO_FEATURES ?= ""
> > > +
> > >  DISTRO_FEATURES_BACKFILL = "pulseaudio sysvinit bluez5 gobject-
> > > introspection-data ldconfig"
> > >  MACHINE_FEATURES_BACKFILL = "rtc qemu-usermode"
> > 
> > Thanks for working on this, looks good.
> > 
> > Most native variables are called XXX_NATIVE, not NATIVE_XXX so we
> > might
> > want to make this match?
> Will do.
>  
> > Also, one question. Does this have any effect on qemu-native? Does
> > qemu-native need/use x11 today?
> qemu itself does not use anything x11 since last year and the default
> native packageconfig is already not
> dependent on distro features.
> 
> Now that you mentioned I had a closer look at qemu & SDL:
>  * qemu-native doesn't build with "sdl" by default, but someone might
> change that of course 
>  * If that happens (and libsdl-native is not in ASSUME_PROVIDED),
> libsdl is built and by default depends on libx11
> I completely expected this to fail now (without x11 in distro
> features) but it actually builds just fine. It turns out that a
> clever Burton has tweaked 
> REQUIRED_DISTRO_FEATURES_class-native for some X libraries for
> exactly this purpose already.

Right, we actually have a commented section for sdl and qemu in our
local.conf.sample so we do need to test and figure this piece out.

Would we want to put x11 in the default native distro flags to avoid
some of the other issues above?

Cheers,

Richard


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


Re: [OE-core] [PATCH 4/4] native.bbclass: Use fixed DISTRO_FEATURES

2017-04-07 Thread Jussi Kukkonen
On 7 April 2017 at 11:28, Richard Purdie  wrote:

> On Fri, 2017-04-07 at 09:09 +0300, Jussi Kukkonen wrote:
> > There seems to be no advantage to letting distro features affect
> > native builds. There is a significant disadvantage: a change to
> > DISTRO_FEATURES will trigger a lot of unnecessary native tasks. In a
> > test like this:
> >   $ bitbake core-image-minimal
> >   # append " systemd" to DISTRO_FEATURES
> >   $ bitbake core-image-minimal
> > The latter build takes 44 minutes (28%) of cpu-time less with this
> > patch (skipping 135 native tasks). Sadly wall clock time was not
> > affected as glibc remains the bottleneck.
> >
> > Set DISTRO_FEATURES to a fixed value for native recipes to avoid the
> > unnecessary tasks: currently the default value is empty.
> >
> > Do the variable setting in native_virtclass_handler() because
> > otherwise
> > it could still be overridden by appends and the feature backfilling.
> > Shuffle the early returns so DISTRO_FEATURES gets set as long as
> > the packagename ends with "-native".
> >
> > Signed-off-by: Jussi Kukkonen 
> > ---
> >  meta/classes/native.bbclass | 12 
> >  meta/conf/bitbake.conf  |  2 ++
> >  2 files changed, 10 insertions(+), 4 deletions(-)
> >
> > diff --git a/meta/classes/native.bbclass
> > b/meta/classes/native.bbclass
> > index 1919fbc..fbca4c6 100644
> > --- a/meta/classes/native.bbclass
> > +++ b/meta/classes/native.bbclass
> > @@ -121,14 +121,18 @@ PATH_prepend = "${COREBASE}/scripts/native-
> > intercept:"
> >  SSTATE_SCAN_CMD ?= "${SSTATE_SCAN_CMD_NATIVE}"
> >
> >  python native_virtclass_handler () {
> > -classextend = e.data.getVar('BBCLASSEXTEND') or ""
> > -if "native" not in classextend:
> > -return
> > -
> >  pn = e.data.getVar("PN")
> >  if not pn.endswith("-native"):
> >  return
> >
> > +# Set features here to prevent appends and distro features
> > backfill
> > +# from modifying native distro features
> > +d.setVar("DISTRO_FEATURES", "${NATIVE_DISTRO_FEATURES}")
> > +
> > +classextend = e.data.getVar('BBCLASSEXTEND') or ""
> > +if "native" not in classextend:
> > +return
> > +
> >  def map_dependencies(varname, d, suffix = ""):
> >  if suffix:
> >  varname = varname + "_" + suffix
> > diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> > index 5e98d45..78a3470 100644
> > --- a/meta/conf/bitbake.conf
> > +++ b/meta/conf/bitbake.conf
> > @@ -789,6 +789,8 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= ""
> >  EXTRA_IMAGE_FEATURES ??= ""
> >  IMAGE_FEATURES += "${EXTRA_IMAGE_FEATURES}"
> >
> > +NATIVE_DISTRO_FEATURES ?= ""
> > +
> >  DISTRO_FEATURES_BACKFILL = "pulseaudio sysvinit bluez5 gobject-
> > introspection-data ldconfig"
> >  MACHINE_FEATURES_BACKFILL = "rtc qemu-usermode"
>
> Thanks for working on this, looks good.
>
> Most native variables are called XXX_NATIVE, not NATIVE_XXX so we might
> want to make this match?
>

Will do.


> Also, one question. Does this have any effect on qemu-native? Does
> qemu-native need/use x11 today?
>

qemu itself does not use anything x11 since last year and the default
native packageconfig is already not
dependent on distro features.

Now that you mentioned I had a closer look at qemu & SDL:
 * qemu-native doesn't build with "sdl" by default, but someone might
change that of course
 * If that happens (and libsdl-native is not in ASSUME_PROVIDED), libsdl is
built and by default depends on libx11
I completely expected this to fail now (without x11 in distro features) but
it actually builds just fine. It turns out that a clever Burton has tweaked
REQUIRED_DISTRO_FEATURES_class-native for some X libraries for exactly this
purpose already.


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


[OE-core] [PATCH 3/3] scripts/oe-build-perf-report: improve guessing of args

2017-04-07 Thread Markus Lehtonen
Search remote branches, too, when finding the latest commit.

Signed-off-by: Markus Lehtonen 
---
 scripts/oe-build-perf-report | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/oe-build-perf-report b/scripts/oe-build-perf-report
index 6f2db49d5c..ced5ff2e12 100755
--- a/scripts/oe-build-perf-report
+++ b/scripts/oe-build-perf-report
@@ -380,7 +380,7 @@ def auto_args(repo, args):
 """Guess arguments, if not defined by the user"""
 # Get the latest commit in the repo
 log.debug("Guessing arguments from the latest commit")
-msg = repo.run_cmd(['log', '-1', '--branches', '--format=%b'])
+msg = repo.run_cmd(['log', '-1', '--branches', '--remotes', '--format=%b'])
 for line in msg.splitlines():
 split = line.split(':', 1)
 if len(split) != 2:
-- 
2.12.0

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


[OE-core] [PATCH 0/3] Fixes to build perf test reporting

2017-04-07 Thread Markus Lehtonen
Three miscellaneous one-liners fixing minor issues in build performance test
reporting scripts.


Markus Lehtonen (3):
  build-perf-test-wrapper.sh: support extra args for email script
  oe-build-perf-report-email.py: use proper fallback email address
  scripts/oe-build-perf-report: improve guessing of args

 scripts/contrib/build-perf-test-wrapper.sh| 2 +-
 scripts/contrib/oe-build-perf-report-email.py | 4 +++-
 scripts/oe-build-perf-report  | 2 +-
 3 files changed, 5 insertions(+), 3 deletions(-)

-- 
2.12.0

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


[OE-core] [PATCH 2/3] oe-build-perf-report-email.py: use proper fallback email address

2017-04-07 Thread Markus Lehtonen
Use properly formatted fallback email address instead of just the
username.

Signed-off-by: Markus Lehtonen 
---
 scripts/contrib/oe-build-perf-report-email.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/scripts/contrib/oe-build-perf-report-email.py 
b/scripts/contrib/oe-build-perf-report-email.py
index 81b58ab020..055a7b12cf 100755
--- a/scripts/contrib/oe-build-perf-report-email.py
+++ b/scripts/contrib/oe-build-perf-report-email.py
@@ -21,6 +21,7 @@ import pwd
 import re
 import shutil
 import smtplib
+import socket
 import subprocess
 import sys
 import tempfile
@@ -211,7 +212,8 @@ def send_email(text_fn, html_fn, subject, recipients):
 raise ReportError("Neither plain text nor html body specified")
 
 full_name = pwd.getpwuid(os.getuid()).pw_gecos.split(',')[0]
-email = os.environ.get('EMAIL', os.getlogin())
+email = os.environ.get('EMAIL',
+   '{}@{}'.format(os.getlogin(), socket.getfqdn()))
 msg['From'] = "{} <{}>".format(full_name, email)
 msg['To'] = ', '.join(recipients)
 msg['Subject'] = subject
-- 
2.12.0

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


[OE-core] [PATCH 1/3] build-perf-test-wrapper.sh: support extra args for email script

2017-04-07 Thread Markus Lehtonen
Make it possible to provide (extra) command line arguments to the
oe-build-perf-test-email script via a new environment variable
OE_BUILD_PERF_REPORT_EMAIL_EXTRA_ARGS.

Signed-off-by: Markus Lehtonen 
---
 scripts/contrib/build-perf-test-wrapper.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/contrib/build-perf-test-wrapper.sh 
b/scripts/contrib/build-perf-test-wrapper.sh
index 49bc298c5b..3da32532be 100755
--- a/scripts/contrib/build-perf-test-wrapper.sh
+++ b/scripts/contrib/build-perf-test-wrapper.sh
@@ -193,7 +193,7 @@ if [ -n "$results_repo" ]; then
 os_name=`get_os_release_var PRETTY_NAME`
 oe-build-perf-report -r "$results_repo" > report.txt
 oe-build-perf-report -r "$results_repo" --html > report.html
-"$script_dir"/oe-build-perf-report-email.py --to "$email_to" --subject 
"Build Perf Test Report for $os_name" --text report.txt --html report.html
+"$script_dir"/oe-build-perf-report-email.py --to "$email_to" --subject 
"Build Perf Test Report for $os_name" --text report.txt --html report.html 
"${OE_BUILD_PERF_REPORT_EMAIL_EXTRA_ARGS[@]}"
 fi
 fi
 
-- 
2.12.0

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


Re: [OE-core] [PATCH v2 0/3][YOCTO #11090] Set linux-firmware to correct license

2017-04-07 Thread Maxin B. John
Hi,

On Fri, Apr 07, 2017 at 03:57:33AM -0700, wei.tee...@intel.com wrote:
> From: "Ng, Wei Tee" 
> 
> These patches is to update the SRCREV of linux-firmware to the latest HEAD 
> and set thelicense file explicitly for linux-firmware-carl9170 to GPL-2.
>  
> The SRCREV for linux-firmware was updated to the latest in order to include 
> the GPL-2 license file. The netronome firmware was removed until rpm 
> packaging issue is resolved.
>  
> This configuration are build and tested.
>  
> Please review and provide feedback if you have any.

ipk packaging also seems to have some troubles with this modification.
Failed in my setup as below:

ERROR: linux-firmware-1_0.0+gitAUTOINC+b14134583c-r0 do_package_write_ipk: 
Error executing a python function in exec_python_func() autogenerated:

The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: 
0001:
*** 0002:do_package_ipk(d)
0003:
File: '/home/maxin/poky/meta/classes/package_ipk.bbclass', lineno: 228, 
function: do_package_ipk
0224:conffiles.close()
0225:
0226:os.chdir(basedir)
0227:subprocess.check_output("PATH=\"%s\" %s %s %s" % 
(localdata.getVar("PATH"),
 *** 0228:  
d.getVar("OPKGBUILDCMD"), pkg, pkgoutdir), shell=True)
0229:
0230:if d.getVar('IPK_SIGN_PACKAGES') == '1':
0231:ipkver = "%s-%s" % (d.getVar('PKGV'), d.getVar('PKGR'))
0232:ipk_to_sign = "%s/%s_%s_%s.ipk" % (pkgoutdir, pkgname, ipkver, 
d.getVar('PACKAGE_ARCH'))
File: '/usr/lib64/python3.4/subprocess.py', lineno: 620, function: check_output
0616:process.wait()
0617:raise
0618:retcode = process.poll()
0619:if retcode:
*** 0620:raise CalledProcessError(retcode, process.args, 
output=output)
0621:return output
0622:
0623:
0624:def list2cmdline(seq):
Exception: subprocess.CalledProcessError: Command 
'PATH="/home/maxin/poky/build/tmp/sysroots-uninative/x86_64-linux/usr/bin:/home/maxin/poky/scripts:/home/maxin/poky/build/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+b14134583c-r0/recipe-sysroot-native/usr/bin/allarch-poky-linux:/home/maxin/poky/build/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+b14134583c-r0/recipe-sysroot/usr/bin/crossscripts:/home/maxin/poky/build/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+b14134583c-r0/recipe-sysroot-native/usr/sbin:/home/maxin/poky/build/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+b14134583c-r0/recipe-sysroot-native/usr/bin:/home/maxin/poky/build/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+b14134583c-r0/recipe-sysroot-native/sbin:/home/maxin/poky/build/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+b14134583c-r0/recipe-sysroot-native/bin:/home/maxin/poky/bitbake/bin:/home/maxin/poky/build/tmp/hosttools"
 opkg-build linux-
 firmware-GPL-2-license 
/home/maxin/poky/build/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+b14134583c-r0/deploy-ipks/all'
 returned non-zero exit status 1

Subprocess output:
linux-firmware-GPL-2-license

ERROR: linux-firmware-1_0.0+gitAUTOINC+b14134583c-r0 do_package_write_ipk: 
Function failed: do_package_ipk
ERROR: Logfile of failure stored in: 
/home/maxin/poky/build/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+b14134583c-r0/temp/log.do_package_write_ipk.32268
ERROR: Task 
(/home/maxin/poky/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb:do_package_write_ipk)
 failed with exit code '1'
NOTE: Tasks Summary: Attempted 349 tasks of which 348 didn't need to be rerun 
and 1 failed.
Summary: 1 task failed:
/home/maxin/poky/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb:do_package_write_ipk

> Thanks.
>  
> Regards,
> 
> Wei Tee
> 
> 
> Chang, Rebecca Swee Fun (1):
>   linux-firmware: Fix build failure when update SRCREV to latest HEAD
> 
> Ng, Wei Tee (2):
>   linux-firmware: update to revision a4dde74b
>   linux-firmware: Set the license for carl9170 to GPLv2
> 
>  .../linux-firmware/linux-firmware_git.bb   | 40 
> ++
>  1 file changed, 25 insertions(+), 15 deletions(-)
> 
> -- 
> 2.7.4

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


Re: [OE-core] [PATCH v3 4/8] logrotate: replace fedorahosted.org SRC_URI with github.com source

2017-04-07 Thread Richard Purdie
On Fri, 2017-04-07 at 09:10 +, Choong, Yin Thong wrote:
> Is wired. I bitbake successful on my machine. bitbake logrotate
> -ccleanall and bitbake logrotate.
> In this case, I should submit my entire patch or only resubmit this
> patch [PATCH v3 4/8] with cover letter?

Please send just this patch. If you setup a multiconfig configuration
and then "bitbake lib32-logrotate" you'd see this error.

You can see the configuration the autobuilder used here:
https://autobuilder.yocto.io/builders/nightly-world/builds/214/steps/CreateAutoConf/logs/stdio
for that world build for example.

Cheers,

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


[OE-core] [PATCH v2 2/3] linux-firmware: Set the license for carl9170 to GPLv2

2017-04-07 Thread wei . tee . ng
From: "Ng, Wei Tee" 

linux-firmwara-carl9170 was set to a wrong license string.
Carl9170 firmware is bounded by GPLv2 via code inspection on
linux firmware source tree. Hence we include GPLv2 in LICENSE
field and set carl9170 firmware to the correct license.

[YOCTO #11090]

Signed-off-by: Ng, Wei Tee 
---
 .../linux-firmware/linux-firmware_git.bb| 21 -
 1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb 
b/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
index be82a63..9497531 100644
--- a/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
+++ b/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
@@ -19,6 +19,7 @@ LICENSE = "\
 & Firmware-ene_firmware \
 & Firmware-fw_sst_0f28 \
 & Firmware-go7007 \
+& Firmware-GPL-2 \
 & Firmware-hfi1_firmware \
 & Firmware-i2400m \
 & Firmware-i915 \
@@ -75,6 +76,7 @@ LIC_FILES_CHKSUM = "\
 file://LICENCE.ene_firmware;md5=ed67f0f62f8f798130c296720b7d3921 \
 file://LICENCE.fw_sst_0f28;md5=6353931c988ad52818ae733ac61cd293 \
 file://LICENCE.go7007;md5=c0bb9f6aaaba55b0529ee9b30aa66beb \
+file://GPL-2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
 file://LICENSE.hfi1_firmware;md5=5e7b6e586ce7339d12689e49931ad444 \
 file://LICENCE.i2400m;md5=14b901969e23c41881327c0d9e4b7d36 \
 file://LICENSE.i915;md5=2b0b2e0d20984affd4490ba2cba02570 \
@@ -132,6 +134,7 @@ NO_GENERIC_LICENSE[Firmware-e100] = "LICENCE.e100"
 NO_GENERIC_LICENSE[Firmware-ene_firmware] = "LICENCE.ene_firmware"
 NO_GENERIC_LICENSE[Firmware-fw_sst_0f28] = "LICENCE.fw_sst_0f28"
 NO_GENERIC_LICENSE[Firmware-go7007] = "LICENCE.go7007"
+NO_GENERIC_LICENSE[Firmware-GPL-2] = "GPL-2"
 NO_GENERIC_LICENSE[Firmware-hfi1_firmware] = "LICENSE.hfi1_firmware"
 NO_GENERIC_LICENSE[Firmware-i2400m] = "LICENCE.i2400m"
 NO_GENERIC_LICENSE[Firmware-i915] = "LICENSE.i915"
@@ -223,7 +226,8 @@ PACKAGES =+ "${PN}-ralink-license ${PN}-ralink \
  ${PN}-vt6656-license ${PN}-vt6656 \
  ${PN}-rtl-license ${PN}-rtl8188 ${PN}-rtl8192cu ${PN}-rtl8192ce 
${PN}-rtl8192su ${PN}-rtl8723 ${PN}-rtl8821 \
  ${PN}-broadcom-license ${PN}-bcm4329 ${PN}-bcm4330 ${PN}-bcm4334 
${PN}-bcm43340 ${PN}-bcm4339 ${PN}-bcm43430 ${PN}-bcm4354 \
- ${PN}-atheros-license ${PN}-ar9170 ${PN}-carl9170 ${PN}-ath6k 
${PN}-ath9k \
+ ${PN}-atheros-license ${PN}-ar9170 ${PN}-ath6k ${PN}-ath9k \
+ ${PN}-GPL-2-license ${PN}-carl9170 \
  ${PN}-ar3k-license  ${PN}-ar3k  ${PN}-ath10k-license  
${PN}-ath10k  \
  \
  ${PN}-iwlwifi-license ${PN}-iwlwifi \
@@ -253,9 +257,6 @@ FILES_${PN}-atheros-license = 
"${nonarch_base_libdir}/firmware/LICENCE.atheros_f
 FILES_${PN}-ar9170 = " \
   ${nonarch_base_libdir}/firmware/ar9170*.fw \
 "
-FILES_${PN}-carl9170 = " \
-  ${nonarch_base_libdir}/firmware/carl9170*.fw \
-"
 FILES_${PN}-ath6k = " \
   ${nonarch_base_libdir}/firmware/ath6k \
 "
@@ -269,10 +270,20 @@ FILES_${PN}-ath9k = " \
 "
 
 RDEPENDS_${PN}-ar9170 += "${PN}-atheros-license"
-RDEPENDS_${PN}-carl9170 += "${PN}-atheros-license"
 RDEPENDS_${PN}-ath6k += "${PN}-atheros-license"
 RDEPENDS_${PN}-ath9k += "${PN}-atheros-license"
 
+# For carl9170
+LICENSE_${PN}-carl9170 = "Firmware-GPL-2"
+LICENSE_${PN}-GPL-2-license = "Firmware-GPL-2"
+
+FILES_${PN}-GPL-2-license = "${nonarch_base_libdir}/firmware/GPL-2"
+FILES_${PN}-carl9170 = " \
+  ${nonarch_base_libdir}/firmware/carl9170*.fw \
+"
+
+RDEPENDS_${PN}-carl9170 += "${PN}-GPL-2-license"
+
 # For QualCommAthos
 LICENSE_${PN}-ar3k = "Firmware-qualcommAthos_ar3k"
 LICENSE_${PN}-ar3k-license = "Firmware-qualcommAthos_ar3k"
-- 
2.7.4

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


[OE-core] [PATCH v2 3/3] linux-firmware: Fix build failure when update SRCREV to latest HEAD

2017-04-07 Thread wei . tee . ng
From: "Chang, Rebecca Swee Fun" 

When we update the SRCREV to latest, we will encouter the following
bitbake error.

Build error message:
| Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
| error: Arch dependent binaries in noarch package
|
|
| RPM build errors:
| Missing build-id in 
/home/phoongst/work2/test00/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+44d8e8d4fd-r0/package/lib/firmware/netronome/nic_AMDA0081-0001_1x40.nffw
| Missing build-id in 
/home/phoongst/work2/test00/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+44d8e8d4fd-r0/package/lib/firmware/netronome/nic_AMDA0099-0001_2x25.nffw
| Missing build-id in 
/home/phoongst/work2/test00/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+44d8e8d4fd-r0/package/lib/firmware/netronome/nic_AMDA0097-0001_8x10.nffw
| Missing build-id in 
/home/phoongst/work2/test00/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+44d8e8d4fd-r0/package/lib/firmware/netronome/nic_AMDA0081-0001_4x10.nffw
| Missing build-id in 
/home/phoongst/work2/test00/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+44d8e8d4fd-r0/package/lib/firmware/netronome/nic_AMDA0097-0001_4x10_1x40.nffw
| Missing build-id in 
/home/phoongst/work2/test00/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+44d8e8d4fd-r0/package/lib/firmware/netronome/nic_AMDA0099-0001_2x10.nffw
| Missing build-id in 
/home/phoongst/work2/test00/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+44d8e8d4fd-r0/package/lib/firmware/netronome/nic_AMDA0097-0001_2x40.nffw
| Missing build-id in 
/home/phoongst/work2/test00/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+44d8e8d4fd-r0/package/lib/firmware/netronome/nic_AMDA0096-0001_2x10.nffw
| Deprecated external dependency generator is used!
| Arch dependent binaries in noarch package
| WARNING: exit code 1 from a shell command.

This is due to netronome firmware is not included in noarch package.
Hence we removed the netronome firmware before it is packaged,
until the rpm issue is resolved.

Signed-off-by: Chang, Rebecca Swee Fun 
Signed-off-by: Ng, Wei Tee 
---
 meta/recipes-kernel/linux-firmware/linux-firmware_git.bb | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb 
b/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
index 9497531..3eb3bce 100644
--- a/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
+++ b/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
@@ -112,7 +112,7 @@ LIC_FILES_CHKSUM = "\
 file://LICENCE.xc4000;md5=0ff51d2dc49fce04814c9155081092f0 \
 file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \
 file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \
-file://WHENCE;md5=4c56371b1c0d9e75f7620563c652b566 \
+file://WHENCE;md5=ad12d0618287e8c10ae3da05fa0edcfb \
 "
 
 # These are not common licenses, set NO_GENERIC_LICENSE for them
@@ -172,7 +172,7 @@ NO_GENERIC_LICENSE[Firmware-xc5000] = "LICENCE.xc5000"
 NO_GENERIC_LICENSE[Firmware-xc5000c] = "LICENCE.xc5000c"
 NO_GENERIC_LICENSE[WHENCE] = "WHENCE"
 
-SRCREV = "a4dde74b504522d239e8521617b53b03f393ed6a"
+SRCREV = "b14134583c2a15d4404695f72cb523daedb877ab"
 PE = "1"
 PV = "0.0+git${SRCPV}"
 
@@ -216,6 +216,9 @@ do_install() {
 
 # Copy the iwlwifi ucode
 cp ${WORKDIR}/iwlwifi-8000C-19.ucode 
${D}${nonarch_base_libdir}/firmware/
+
+   # TODO: Remove netronome firmware until RPM packaging issue is resolved
+   rm -r ${D}${nonarch_base_libdir}/firmware/netronome/
 }
 
 
-- 
2.7.4

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


[OE-core] [PATCH v2 1/3] linux-firmware: update to revision a4dde74b

2017-04-07 Thread wei . tee . ng
From: "Ng, Wei Tee" 

-change in amdgpu firmware copyright year
-change in radeon firmware copyright year
-LICENCE.mwl8335 was removed in linux-firmware source tree
-specify the copyright year for siano
-change in qla2xxx firmware copyright year

Signed-off-by: Ng, Wei Tee 
---
 meta/recipes-kernel/linux-firmware/linux-firmware_git.bb | 16 ++--
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb 
b/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
index d393231..be82a63 100644
--- a/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
+++ b/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
@@ -29,7 +29,6 @@ LICENSE = "\
 & Firmware-kaweth \
 & Firmware-Marvell \
 & Firmware-moxa \
-& Firmware-mwl8335 \
 & Firmware-myri10ge_firmware \
 & Firmware-nvidia \
 & Firmware-OLPC \
@@ -62,7 +61,7 @@ LIC_FILES_CHKSUM = "\
 file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \
 file://LICENCE.adsp_sst;md5=615c45b91a5a4a9fe046d6ab9a2df728 \
 file://LICENCE.agere;md5=af0133de6b4a9b2522defd5f188afd31 \
-file://LICENSE.amdgpu;md5=3fe8a3430700a518990c3b3d75297209 \
+file://LICENSE.amdgpu;md5=0aa3c2f3e736af320a08a3aeeccecf29 \
 file://LICENSE.amd-ucode;md5=3a0de451253cc1edbf30a3c621effee3 \
 file://LICENCE.atheros_firmware;md5=30a14c7823beedac9fa39c64fdd01a13 \
 file://LICENSE.atmel;md5=aa74ac0c60595dee4d4e239107ea77a3 \
@@ -86,7 +85,6 @@ LIC_FILES_CHKSUM = "\
 file://LICENCE.kaweth;md5=b1d876e562f4b3b8d391ad8395dfe03f \
 file://LICENCE.Marvell;md5=9ddea1734a4baf3c78d845151f42a37a \
 file://LICENCE.moxa;md5=1086614767d8ccf744a923289d3d4261 \
-file://LICENCE.mwl8335;md5=9a6271ee0e644404b2ff3c61fd070983 \
 file://LICENCE.myri10ge_firmware;md5=42e32fb89f6b959ca222e25ac8df8fed \
 file://LICENCE.nvidia;md5=4428a922ed3ba2ceec95f076a488ce07 \
 file://LICENCE.OLPC;md5=5b917f9d8c061991be4f6f5f108719cd \
@@ -94,15 +92,15 @@ LIC_FILES_CHKSUM = "\
 file://LICENCE.phanfw;md5=954dcec0e051f9409812b561ea743bfa \
 file://LICENCE.qat_firmware;md5=9e7d8bea77612d7cc7d9e9b54b623062 \
 file://LICENCE.qla1280;md5=d6895732e622d950609093223a2c4f5d \
-file://LICENCE.qla2xxx;md5=f5ce8529ec5c17cb7f911d2721d90e91 \
+file://LICENCE.qla2xxx;md5=505855e921b75f1be4a437ad9b79dff0 \
 file://LICENSE.QualcommAtheros_ar3k;md5=b5fe244fb2b532311de1472a3bc06da5 \
 file://LICENSE.QualcommAtheros_ath10k;md5=b5fe244fb2b532311de1472a3bc06da5 
\
 file://LICENCE.r8a779x_usb3;md5=4c1671656153025d7076105a5da7e498 \
-file://LICENSE.radeon;md5=69612f4f7b141a97659cb1d609a1bde2 \
+file://LICENSE.radeon;md5=68ec28bacb3613200bca44f404c69b16 \
 
file://LICENCE.ralink_a_mediatek_company_firmware;md5=728f1a85fd53fd67fa8d7afb080bc435
 \
 file://LICENCE.ralink-firmware.txt;md5=ab2c269277c45476fb449673911a2dfd \
 file://LICENCE.rtlwifi_firmware.txt;md5=00d06cfd3eddd5a2698948ead2ad54a5 \
-file://LICENCE.siano;md5=602c79ae3f98f1e73d880fd9f940a418 \
+file://LICENCE.siano;md5=4556c1bf830067f12ca151ad953ec2a5 \
 file://LICENCE.tda7706-firmware.txt;md5=835997cf5e3c131d0695c7d9103e \
 file://LICENCE.ti-connectivity;md5=c5e02be633f1499c109d1652514d85ec \
 file://LICENCE.ti-keystone;md5=3a86335d32864b0bef996bee26cc0f2c \
@@ -112,7 +110,7 @@ LIC_FILES_CHKSUM = "\
 file://LICENCE.xc4000;md5=0ff51d2dc49fce04814c9155081092f0 \
 file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \
 file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \
-file://WHENCE;md5=f514a0c53c5d73c2fe98d5861103f0c6 \
+file://WHENCE;md5=4c56371b1c0d9e75f7620563c652b566 \
 "
 
 # These are not common licenses, set NO_GENERIC_LICENSE for them
@@ -144,7 +142,6 @@ NO_GENERIC_LICENSE[Firmware-iwlwifi_firmware] = 
"LICENCE.iwlwifi_firmware"
 NO_GENERIC_LICENSE[Firmware-kaweth] = "LICENCE.kaweth"
 NO_GENERIC_LICENSE[Firmware-Marvell] = "LICENCE.Marvell"
 NO_GENERIC_LICENSE[Firmware-moxa] = "LICENCE.moxa"
-NO_GENERIC_LICENSE[Firmware-mwl8335] = "LICENCE.mwl8335"
 NO_GENERIC_LICENSE[Firmware-myri10ge_firmware] = "LICENCE.myri10ge_firmware"
 NO_GENERIC_LICENSE[Firmware-nvidia] = "LICENCE.nvidia"
 NO_GENERIC_LICENSE[Firmware-OLPC] = "LICENCE.OLPC"
@@ -172,7 +169,7 @@ NO_GENERIC_LICENSE[Firmware-xc5000] = "LICENCE.xc5000"
 NO_GENERIC_LICENSE[Firmware-xc5000c] = "LICENCE.xc5000c"
 NO_GENERIC_LICENSE[WHENCE] = "WHENCE"
 
-SRCREV = "42ad5367dd38371b2a1bb263b6efa85f9b92fc93"
+SRCREV = "a4dde74b504522d239e8521617b53b03f393ed6a"
 PE = "1"
 PV = "0.0+git${SRCPV}"
 
@@ -598,7 +595,6 @@ LICENSE_${PN} = "\
 & Firmware-IntcSST2 \
 & Firmware-kaweth \
 & Firmware-moxa \
-& Firmware-mwl8335 \
 & Firmware-myri10ge_firmware \
 & Firmware-nvidia \
 & Firmware-OLPC \
-- 
2.7.4

-- 
___
Openembedded-core mailing list

[OE-core] [PATCH v2 0/3][YOCTO #11090] Set linux-firmware to correct license

2017-04-07 Thread wei . tee . ng
From: "Ng, Wei Tee" 

These patches is to update the SRCREV of linux-firmware to the latest HEAD and 
set thelicense file explicitly for linux-firmware-carl9170 to GPL-2.
 
The SRCREV for linux-firmware was updated to the latest in order to include the 
GPL-2 license file. The netronome firmware was removed until rpm packaging 
issue is resolved.
 
This configuration are build and tested.
 
Please review and provide feedback if you have any.
 
Thanks.
 
Regards,

Wei Tee


Chang, Rebecca Swee Fun (1):
  linux-firmware: Fix build failure when update SRCREV to latest HEAD

Ng, Wei Tee (2):
  linux-firmware: update to revision a4dde74b
  linux-firmware: Set the license for carl9170 to GPLv2

 .../linux-firmware/linux-firmware_git.bb   | 40 ++
 1 file changed, 25 insertions(+), 15 deletions(-)

-- 
2.7.4

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


[OE-core] ✗ patchtest: failure for Set linux-firmware to correct license

2017-04-07 Thread Patchwork
== Series Details ==

Series: Set linux-firmware to correct license
Revision: 1
URL   : https://patchwork.openembedded.org/series/6226/
State : failure

== Summary ==


Thank you for submitting this patch series to OpenEmbedded Core. This is
an automated response. Several tests have been executed on the proposed
series by patchtest resulting in the following failures:



* Issue Series does not apply on top of target branch 
[test_series_merge_on_head] 
  Suggested fixRebase your series on top of targeted branch
  Targeted branch  master (currently at 901659a51c)



If you believe any of these test results are incorrect, please reply to the
mailing list (openembedded-core@lists.openembedded.org) raising your concerns.
Otherwise we would appreciate you correcting the issues and submitting a new
version of the patchset if applicable. Please ensure you add/increment the
version number when sending the new version (i.e. [PATCH] -> [PATCH v2] ->
[PATCH v3] -> ...).

---
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe

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


[OE-core] [PATCH 3/4] linux-firmware: Set the license for carl9170 to GPLv2

2017-04-07 Thread wei . tee . ng
From: "Ng, Wei Tee" 

linux-firmwara-carl9170 was set to a wrong license string.
Carl9170 firmware is bounded by GPLv2 via code inspection on
linux firmware source tree. Hence we include GPLv2 in LICENSE
field and set carl9170 firmware to the correct license.

[YOCTO #11090]

Signed-off-by: Ng, Wei Tee 
---
 .../linux-firmware/linux-firmware_git.bb| 21 -
 1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb 
b/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
index be82a63..9497531 100644
--- a/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
+++ b/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
@@ -19,6 +19,7 @@ LICENSE = "\
 & Firmware-ene_firmware \
 & Firmware-fw_sst_0f28 \
 & Firmware-go7007 \
+& Firmware-GPL-2 \
 & Firmware-hfi1_firmware \
 & Firmware-i2400m \
 & Firmware-i915 \
@@ -75,6 +76,7 @@ LIC_FILES_CHKSUM = "\
 file://LICENCE.ene_firmware;md5=ed67f0f62f8f798130c296720b7d3921 \
 file://LICENCE.fw_sst_0f28;md5=6353931c988ad52818ae733ac61cd293 \
 file://LICENCE.go7007;md5=c0bb9f6aaaba55b0529ee9b30aa66beb \
+file://GPL-2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
 file://LICENSE.hfi1_firmware;md5=5e7b6e586ce7339d12689e49931ad444 \
 file://LICENCE.i2400m;md5=14b901969e23c41881327c0d9e4b7d36 \
 file://LICENSE.i915;md5=2b0b2e0d20984affd4490ba2cba02570 \
@@ -132,6 +134,7 @@ NO_GENERIC_LICENSE[Firmware-e100] = "LICENCE.e100"
 NO_GENERIC_LICENSE[Firmware-ene_firmware] = "LICENCE.ene_firmware"
 NO_GENERIC_LICENSE[Firmware-fw_sst_0f28] = "LICENCE.fw_sst_0f28"
 NO_GENERIC_LICENSE[Firmware-go7007] = "LICENCE.go7007"
+NO_GENERIC_LICENSE[Firmware-GPL-2] = "GPL-2"
 NO_GENERIC_LICENSE[Firmware-hfi1_firmware] = "LICENSE.hfi1_firmware"
 NO_GENERIC_LICENSE[Firmware-i2400m] = "LICENCE.i2400m"
 NO_GENERIC_LICENSE[Firmware-i915] = "LICENSE.i915"
@@ -223,7 +226,8 @@ PACKAGES =+ "${PN}-ralink-license ${PN}-ralink \
  ${PN}-vt6656-license ${PN}-vt6656 \
  ${PN}-rtl-license ${PN}-rtl8188 ${PN}-rtl8192cu ${PN}-rtl8192ce 
${PN}-rtl8192su ${PN}-rtl8723 ${PN}-rtl8821 \
  ${PN}-broadcom-license ${PN}-bcm4329 ${PN}-bcm4330 ${PN}-bcm4334 
${PN}-bcm43340 ${PN}-bcm4339 ${PN}-bcm43430 ${PN}-bcm4354 \
- ${PN}-atheros-license ${PN}-ar9170 ${PN}-carl9170 ${PN}-ath6k 
${PN}-ath9k \
+ ${PN}-atheros-license ${PN}-ar9170 ${PN}-ath6k ${PN}-ath9k \
+ ${PN}-GPL-2-license ${PN}-carl9170 \
  ${PN}-ar3k-license  ${PN}-ar3k  ${PN}-ath10k-license  
${PN}-ath10k  \
  \
  ${PN}-iwlwifi-license ${PN}-iwlwifi \
@@ -253,9 +257,6 @@ FILES_${PN}-atheros-license = 
"${nonarch_base_libdir}/firmware/LICENCE.atheros_f
 FILES_${PN}-ar9170 = " \
   ${nonarch_base_libdir}/firmware/ar9170*.fw \
 "
-FILES_${PN}-carl9170 = " \
-  ${nonarch_base_libdir}/firmware/carl9170*.fw \
-"
 FILES_${PN}-ath6k = " \
   ${nonarch_base_libdir}/firmware/ath6k \
 "
@@ -269,10 +270,20 @@ FILES_${PN}-ath9k = " \
 "
 
 RDEPENDS_${PN}-ar9170 += "${PN}-atheros-license"
-RDEPENDS_${PN}-carl9170 += "${PN}-atheros-license"
 RDEPENDS_${PN}-ath6k += "${PN}-atheros-license"
 RDEPENDS_${PN}-ath9k += "${PN}-atheros-license"
 
+# For carl9170
+LICENSE_${PN}-carl9170 = "Firmware-GPL-2"
+LICENSE_${PN}-GPL-2-license = "Firmware-GPL-2"
+
+FILES_${PN}-GPL-2-license = "${nonarch_base_libdir}/firmware/GPL-2"
+FILES_${PN}-carl9170 = " \
+  ${nonarch_base_libdir}/firmware/carl9170*.fw \
+"
+
+RDEPENDS_${PN}-carl9170 += "${PN}-GPL-2-license"
+
 # For QualCommAthos
 LICENSE_${PN}-ar3k = "Firmware-qualcommAthos_ar3k"
 LICENSE_${PN}-ar3k-license = "Firmware-qualcommAthos_ar3k"
-- 
2.7.4

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


[OE-core] [PATCH 4/4] linux-firmware: Fix build failure when update SRCREV to latest HEAD

2017-04-07 Thread wei . tee . ng
From: "Chang, Rebecca Swee Fun" 

When we update the SRCREV to latest, we will encouter the following
bitbake error.

Build error message:
| Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
| error: Arch dependent binaries in noarch package
|
|
| RPM build errors:
| Missing build-id in 
/home/phoongst/work2/test00/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+44d8e8d4fd-r0/package/lib/firmware/netronome/nic_AMDA0081-0001_1x40.nffw
| Missing build-id in 
/home/phoongst/work2/test00/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+44d8e8d4fd-r0/package/lib/firmware/netronome/nic_AMDA0099-0001_2x25.nffw
| Missing build-id in 
/home/phoongst/work2/test00/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+44d8e8d4fd-r0/package/lib/firmware/netronome/nic_AMDA0097-0001_8x10.nffw
| Missing build-id in 
/home/phoongst/work2/test00/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+44d8e8d4fd-r0/package/lib/firmware/netronome/nic_AMDA0081-0001_4x10.nffw
| Missing build-id in 
/home/phoongst/work2/test00/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+44d8e8d4fd-r0/package/lib/firmware/netronome/nic_AMDA0097-0001_4x10_1x40.nffw
| Missing build-id in 
/home/phoongst/work2/test00/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+44d8e8d4fd-r0/package/lib/firmware/netronome/nic_AMDA0099-0001_2x10.nffw
| Missing build-id in 
/home/phoongst/work2/test00/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+44d8e8d4fd-r0/package/lib/firmware/netronome/nic_AMDA0097-0001_2x40.nffw
| Missing build-id in 
/home/phoongst/work2/test00/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+44d8e8d4fd-r0/package/lib/firmware/netronome/nic_AMDA0096-0001_2x10.nffw
| Deprecated external dependency generator is used!
| Arch dependent binaries in noarch package
| WARNING: exit code 1 from a shell command.

This is due to netronome firmware is not included in noarch package.
Hence we removed the netronome firmware before it is packaged,
until the rpm issue is resolved.

Signed-off-by: Chang, Rebecca Swee Fun 
Signed-off-by: Ng, Wei Tee 
---
 meta/recipes-kernel/linux-firmware/linux-firmware_git.bb | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb 
b/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
index 9497531..3eb3bce 100644
--- a/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
+++ b/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
@@ -112,7 +112,7 @@ LIC_FILES_CHKSUM = "\
 file://LICENCE.xc4000;md5=0ff51d2dc49fce04814c9155081092f0 \
 file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \
 file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \
-file://WHENCE;md5=4c56371b1c0d9e75f7620563c652b566 \
+file://WHENCE;md5=ad12d0618287e8c10ae3da05fa0edcfb \
 "
 
 # These are not common licenses, set NO_GENERIC_LICENSE for them
@@ -172,7 +172,7 @@ NO_GENERIC_LICENSE[Firmware-xc5000] = "LICENCE.xc5000"
 NO_GENERIC_LICENSE[Firmware-xc5000c] = "LICENCE.xc5000c"
 NO_GENERIC_LICENSE[WHENCE] = "WHENCE"
 
-SRCREV = "a4dde74b504522d239e8521617b53b03f393ed6a"
+SRCREV = "b14134583c2a15d4404695f72cb523daedb877ab"
 PE = "1"
 PV = "0.0+git${SRCPV}"
 
@@ -216,6 +216,9 @@ do_install() {
 
 # Copy the iwlwifi ucode
 cp ${WORKDIR}/iwlwifi-8000C-19.ucode 
${D}${nonarch_base_libdir}/firmware/
+
+   # TODO: Remove netronome firmware until RPM packaging issue is resolved
+   rm -r ${D}${nonarch_base_libdir}/firmware/netronome/
 }
 
 
-- 
2.7.4

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


[OE-core] [PATCH 1/4] bitbake: fetch2: Do not fail to create symbolic links if they already exist

2017-04-07 Thread wei . tee . ng
From: Peter Kjellerstedt 

When the fetcher retrieves file:// URLs, there is no lock file being
used. This means that in case two separate tasks (typically from two
concurrent invocations of bitbake) want to download the same file://
URL at the same time, there is a very small chance that they also end
up wanting to create a symbolic link to the file at the same time.
This would previously lead to one of the tasks failing as the other
task would have created the link.

(Bitbake rev: 58a03531c8183b165bb7dcad86d8559c92bc150d)

Signed-off-by: Peter Kjellerstedt 
Signed-off-by: Richard Purdie 
---
 bitbake/lib/bb/fetch2/__init__.py | 15 +--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/bitbake/lib/bb/fetch2/__init__.py 
b/bitbake/lib/bb/fetch2/__init__.py
index ea72025..136fc29 100644
--- a/bitbake/lib/bb/fetch2/__init__.py
+++ b/bitbake/lib/bb/fetch2/__init__.py
@@ -983,7 +983,14 @@ def try_mirror_url(fetch, origud, ud, ld, check = False):
 open(ud.donestamp, 'w').close()
 dest = os.path.join(dldir, os.path.basename(ud.localpath))
 if not os.path.exists(dest):
-os.symlink(ud.localpath, dest)
+# In case this is executing without any file locks held (as is
+# the case for file:// URLs), two tasks may end up here at the
+# same time, in which case we do not want the second task to
+# fail when the link has already been created by the first 
task.
+try:
+os.symlink(ud.localpath, dest)
+except FileExistsError:
+pass
 if not verify_donestamp(origud, ld) or 
origud.method.need_update(origud, ld):
 origud.method.download(origud, ld)
 if hasattr(origud.method,"build_mirror_data"):
@@ -995,7 +1002,11 @@ def try_mirror_url(fetch, origud, ud, ld, check = False):
 # Broken symbolic link
 os.unlink(origud.localpath)
 
-os.symlink(ud.localpath, origud.localpath)
+# As per above, in case two tasks end up here simultaneously.
+try:
+os.symlink(ud.localpath, origud.localpath)
+except FileExistsError:
+pass
 update_stamp(origud, ld)
 return ud.localpath
 
-- 
2.7.4

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


[OE-core] [PATCH 0/4][YOCTO #11090] Set linux-firmware to correct license

2017-04-07 Thread wei . tee . ng
From: "Ng, Wei Tee" 

These patches is to update the SRCREV of linux-firmware to the latest HEAD
and set the license file explicitly for linux-firmware-carl9170 to GPL-2.
 
The SRCREV for linux-firmware was updated to the latest in order to include
the GPL-2 license file. The netronome firmware was removed until rpm
packaging issue is resolved.
 
This configuration are build and tested.
 
Please review and provide feedback if you have any.
 
Thanks.
 
Regards,

Wei Tee

Chang, Rebecca Swee Fun (1):
  linux-firmware: Fix build failure when update SRCREV to latest HEAD

Ng, Wei Tee (2):
  linux-firmware: update to revision a4dde74b
  linux-firmware: Set the license for carl9170 to GPLv2

Peter Kjellerstedt (1):
  bitbake: fetch2: Do not fail to create symbolic links if they already
exist

 bitbake/lib/bb/fetch2/__init__.py  | 15 ++--
 .../linux-firmware/linux-firmware_git.bb   | 40 ++
 2 files changed, 38 insertions(+), 17 deletions(-)

-- 
2.7.4

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


Re: [OE-core] [PATCH 0/2] Fixes for building on Fedora 26 (Alpha)

2017-04-07 Thread Joshua Lock
On Thu, 2017-04-06 at 06:50 -0700, Khem Raj wrote:
> On Thu, Apr 6, 2017 at 6:23 AM, Joshua Lock 
> wrote:
> > As Fedora 26 has a new gcc [1] and a new system pkg-config
> > implementation [2] I
> > wanted to do some testing on that host OS so that we might be able
> > to get some
> > fixes in before Pyro/2.3 is released.
> > 
> > The following series were the only changes required to start
> > building (I have
> > tested core-image-minimal, core-image-base and core-image-sato) on
> > Fedora 26.
> 
> gcc patch looks fine to me.

Thanks for the review.

> > 
> > 1. https://fedoraproject.org/wiki/Changes/GCC7
> > 2. https://fedoraproject.org/wiki/Changes/pkgconf_as_system_pkg-con
> > fig_implementation
> 
> I think we should think about making pkgconf as default too for OE in
> next release cycle.

I've filed that as a 2.4 enhancement bug:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=11308

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


[OE-core] [PATCH 8/8] runqemu: make use of two new vars

2017-04-07 Thread Robert Yang
From: Chen Qi 

Make use of STAGING_DIR_TUNCTL_NATIVE and STAGING_DIR_QEMU_BINDIR_NATIVE
to run correctly. In this way, runqemu would still work when 'rm_work'
is enabled.

[YOCTO #11266]
[YOCTO #11193]

Signed-off-by: Chen Qi 
---
 scripts/runqemu | 10 --
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/scripts/runqemu b/scripts/runqemu
index 5b5d56b9ef..e741dfe05d 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -920,7 +920,10 @@ class BaseConfig(object):
 gid = os.getgid()
 uid = os.getuid()
 logger.info("Setting up tap interface under sudo")
-cmd = 'sudo %s %s %s %s' % (self.qemuifup, uid, gid, 
self.get('STAGING_DIR_NATIVE'))
+if os.path.exists(self.get('STAGING_DIR_TUNCTL_NATIVE')):
+cmd = 'sudo %s %s %s %s' % (self.qemuifup, uid, gid, 
self.get('STAGING_DIR_TUNCTL_NATIVE'))
+else:
+cmd = 'sudo %s %s %s %s' % (self.qemuifup, uid, gid, 
self.get('STAGING_DIR_NATIVE'))
 tap = subprocess.Popen(cmd, shell=True, 
stdout=subprocess.PIPE).stdout.read().decode('utf-8').rstrip('\n')
 lockfile = os.path.join(lockdir, tap)
 self.lock = lockfile + '.lock'
@@ -1056,7 +1059,10 @@ class BaseConfig(object):
 if not qemu_system:
 raise Exception("Failed to boot, QB_SYSTEM_NAME is NULL!")
 
-qemu_bin = '%s/%s' % (self.get('STAGING_BINDIR_NATIVE'), qemu_system)
+if os.path.exists(self.get('STAGING_DIR_QEMU_BINDIR_NATIVE')):
+qemu_bin = '%s/%s' % (self.get('STAGING_DIR_QEMU_BINDIR_NATIVE'), 
qemu_system)
+else:
+qemu_bin = '%s/%s' % (self.get('STAGING_BINDIR_NATIVE'), 
qemu_system)
 
 # It is possible to have qemu-native in ASSUME_PROVIDED, and it won't
 # find QEMU in sysroot, it needs to use host's qemu.
-- 
2.11.0.rc2.dirty

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


[OE-core] [PATCH 7/8] qemuboot.bbclass: add two vars for use by runqemu

2017-04-07 Thread Robert Yang
From: Chen Qi 

Add STAGING_DIR_TUNCTL_NATIVE and STAGING_DIR_QEMU_BINDIR_NATIVE so that
runqemu could find 'tunctl' and 'qemu-xxx' binaries to run correctly.

[YOCTO #11266]
[YOCTO #11193]

Signed-off-by: Chen Qi 
---
 meta/classes/qemuboot.bbclass | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/meta/classes/qemuboot.bbclass b/meta/classes/qemuboot.bbclass
index 2870388dfb..ac52ef295e 100644
--- a/meta/classes/qemuboot.bbclass
+++ b/meta/classes/qemuboot.bbclass
@@ -70,12 +70,15 @@ QB_DRIVE_TYPE ?= "/dev/sd"
 # Create qemuboot.conf
 addtask do_write_qemuboot_conf after do_rootfs before do_image
 IMGDEPLOYDIR ?= "${WORKDIR}/deploy-${PN}-image-complete"
+STAGING_DIR_TUNCTL_NATIVE = 
"${STAGING_DIR}-components/${BUILD_ARCH}/qemu-helper-native"
+STAGING_DIR_QEMU_BINDIR_NATIVE = 
"${STAGING_DIR}-components/${BUILD_ARCH}/qemu-native/usr/bin"
 
 def qemuboot_vars(d):
 build_vars = ['MACHINE', 'TUNE_ARCH', 'DEPLOY_DIR_IMAGE',
 'KERNEL_IMAGETYPE', 'IMAGE_NAME', 'IMAGE_LINK_NAME',
 'STAGING_DIR_NATIVE', 'STAGING_BINDIR_NATIVE',
-'STAGING_DIR_HOST']
+'STAGING_DIR_HOST', 'STAGING_DIR_TUNCTL_NATIVE',
+'STAGING_DIR_QEMU_BINDIR_NATIVE']
 return build_vars + [k for k in d.keys() if k.startswith('QB_')]
 
 do_write_qemuboot_conf[vardeps] += "${@' '.join(qemuboot_vars(d))}"
-- 
2.11.0.rc2.dirty

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


[OE-core] [PATCH 6/8] runqemu: do not rely on grepping images

2017-04-07 Thread Robert Yang
Fixed when the image is large and not enough memory:
  grep: memory exhausted
  Aborted

[YOCTO #11073]

Signed-off-by: Robert Yang 
---
 meta/classes/qemuboot.bbclass |  3 +++
 scripts/runqemu   | 19 +++
 2 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/meta/classes/qemuboot.bbclass b/meta/classes/qemuboot.bbclass
index 3ca97cad4c..2870388dfb 100644
--- a/meta/classes/qemuboot.bbclass
+++ b/meta/classes/qemuboot.bbclass
@@ -64,6 +64,9 @@ QB_DEFAULT_FSTYPE ?= "ext4"
 QB_OPT_APPEND ?= "-show-cursor"
 QB_NETWORK_DEVICE ?= "-device virtio-net-pci,netdev=net0,mac=@MAC@"
 
+# This should be kept align with ROOT_VM
+QB_DRIVE_TYPE ?= "/dev/sd"
+
 # Create qemuboot.conf
 addtask do_write_qemuboot_conf after do_rootfs before do_image
 IMGDEPLOYDIR ?= "${WORKDIR}/deploy-${PN}-image-complete"
diff --git a/scripts/runqemu b/scripts/runqemu
index a4036ae091..5b5d56b9ef 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -978,23 +978,26 @@ class BaseConfig(object):
 self.kernel_cmdline = 'root=/dev/ram0 rw debugshell'
 self.rootfs_options = '-initrd %s' % self.rootfs
 else:
+vm_drive = ''
 if self.fstype in self.vmtypes:
 if self.fstype == 'iso':
 vm_drive = '-cdrom %s' % self.rootfs
-else:
-cmd1 = "grep -q 'root=/dev/sd' %s" % self.rootfs
-cmd2 = "grep -q 'root=/dev/hd' %s" % self.rootfs
-if subprocess.call(cmd1, shell=True) == 0:
+elif self.get('QB_DRIVE_TYPE'):
+drive_type = self.get('QB_DRIVE_TYPE')
+if drive_type.startswith("/dev/sd"):
 logger.info('Using scsi drive')
 vm_drive = '-drive if=none,id=hd,file=%s,format=%s 
-device virtio-scsi-pci,id=scsi -device scsi-hd,drive=hd' \
% (self.rootfs, rootfs_format)
-elif subprocess.call(cmd2, shell=True) == 0:
+elif drive_type.startswith("/dev/hd"):
 logger.info('Using ide drive')
 vm_drive = "%s,format=%s" % (self.rootfs, 
rootfs_format)
 else:
-logger.warn("Can't detect drive type %s" % self.rootfs)
-logger.warn('Trying to use virtio block drive')
-vm_drive = '-drive if=virtio,file=%s,format=%s' % 
(self.rootfs, rootfs_format)
+logger.warn("Unknown QB_DRIVE_TYPE: %s" % drive_type)
+
+if not vm_drive:
+logger.warn("Failed to figure out drive type, consider 
define or fix QB_DRIVE_TYPE")
+logger.warn('Trying to use virtio block drive')
+vm_drive = '-drive if=virtio,file=%s,format=%s' % 
(self.rootfs, rootfs_format)
 self.rootfs_options = '%s -no-reboot' % vm_drive
 self.kernel_cmdline = 'root=%s rw highres=off' % 
(self.get('QB_KERNEL_ROOT'))
 
-- 
2.11.0.rc2.dirty

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


[OE-core] [PATCH 5/8] runqemu: use realpath for imgdir

2017-04-07 Thread Robert Yang
The DEPLOY_DIR_IMAGE maybe relative or absolute path since it can be
read from env vars, so use realpath for both imgdir and
DEPLOY_DIR_IMAGE when compare.

Signed-off-by: Robert Yang 
---
 scripts/runqemu | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/runqemu b/scripts/runqemu
index f55494df12..a4036ae091 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -705,8 +705,8 @@ class BaseConfig(object):
 # artefacts are relative to that file, rather than in whatever
 # directory DEPLOY_DIR_IMAGE in the conf file points to.
 if self.qbconfload:
-imgdir = os.path.dirname(self.qemuboot)
-if imgdir != self.get('DEPLOY_DIR_IMAGE'):
+imgdir = os.path.realpath(os.path.dirname(self.qemuboot))
+if imgdir != os.path.realpath(self.get('DEPLOY_DIR_IMAGE')):
 logger.info('Setting DEPLOY_DIR_IMAGE to folder containing %s 
(%s)' % (self.qemuboot, imgdir))
 self.set('DEPLOY_DIR_IMAGE', imgdir)
 
-- 
2.11.0.rc2.dirty

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


[OE-core] [PATCH 2/8] runqemu: support env vars explicitly

2017-04-07 Thread Robert Yang
Use self.env_vars to support get vars from environment explicity. The
MACHINE, ROOTFS and KERNEL was supported by shell based runqemu, and
the help text says support them from env vars, so add them back.

[YOCTO #11141]

Signed-off-by: Robert Yang 
---
 scripts/runqemu | 71 ++---
 1 file changed, 42 insertions(+), 29 deletions(-)

diff --git a/scripts/runqemu b/scripts/runqemu
index 251f5f7e94..ddbff4b221 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -163,12 +163,18 @@ def check_free_port(host, port):
 
 class BaseConfig(object):
 def __init__(self):
-# Vars can be merged with .qemuboot.conf, use a dict to manage them.
-self.d = {
-'MACHINE': '',
-'DEPLOY_DIR_IMAGE': '',
-'QB_KERNEL_ROOT': '/dev/vda',
-}
+# The self.d saved vars from self.set(), part of them are from 
qemuboot.conf
+self.d = {'QB_KERNEL_ROOT': '/dev/vda'}
+
+# Supported env vars, add it here if a var can be got from env,
+# and don't use os.getenv in the code.
+self.env_vars = ('MACHINE',
+'ROOTFS',
+'KERNEL',
+'DEPLOY_DIR_IMAGE',
+'OE_TMPDIR',
+'OECORE_NATIVE_SYSROOT',
+)
 
 self.qemu_opt = ''
 self.qemu_opt_script = ''
@@ -238,6 +244,8 @@ class BaseConfig(object):
 def get(self, key):
 if key in self.d:
 return self.d.get(key)
+elif os.getenv(key):
+return os.getenv(key)
 else:
 return ''
 
@@ -338,10 +346,13 @@ class BaseConfig(object):
 
 def check_arg_machine(self, arg):
 """Check whether it is a machine"""
-if self.get('MACHINE') and self.get('MACHINE') != arg or 
re.search('/', arg):
-raise Exception("Unknown arg: %s" % arg)
-elif self.get('MACHINE') == arg:
+if self.get('MACHINE') == arg:
 return
+elif self.get('MACHINE') and self.get('MACHINE') != arg:
+raise Exception("Maybe conflicted MACHINE: %s vs %s" % 
(self.get('MACHINE'), arg))
+elif re.search('/', arg):
+raise Exception("Unknown arg: %s" % arg)
+
 logger.info('Assuming MACHINE = %s' % arg)
 
 # if we're running under testimage, or similarly as a child
@@ -350,14 +361,14 @@ class BaseConfig(object):
 # FIXME: testimage.bbclass exports these two variables into env,
 # are there other scenarios in which we need to support being
 # invoked by bitbake?
-deploy = os.environ.get('DEPLOY_DIR_IMAGE')
-bbchild = deploy and os.environ.get('OE_TMPDIR')
+deploy = self.get('DEPLOY_DIR_IMAGE')
+bbchild = deploy and self.get('OE_TMPDIR')
 if bbchild:
 self.set_machine_deploy_dir(arg, deploy)
 return
 # also check whether we're running under a sourced toolchain
 # environment file
-if os.environ.get('OECORE_NATIVE_SYSROOT'):
+if self.get('OECORE_NATIVE_SYSROOT'):
 self.set("MACHINE", arg)
 return
 
@@ -430,20 +441,15 @@ class BaseConfig(object):
 if unknown_arg:
 if self.get('MACHINE') == unknown_arg:
 return
-if not self.get('DEPLOY_DIR_IMAGE'):
-# Trying to get DEPLOY_DIR_IMAGE from env.
-p = os.getenv('DEPLOY_DIR_IMAGE')
-if p and self.is_deploy_dir_image(p):
-machine = os.path.basename(p)
-if unknown_arg == machine:
-self.set_machine_deploy_dir(machine, p)
-return
-else:
-logger.info('DEPLOY_DIR_IMAGE: %s' % p)
-self.set("DEPLOY_DIR_IMAGE", p)
+if self.get('DEPLOY_DIR_IMAGE'):
+machine = os.path.basename(self.get('DEPLOY_DIR_IMAGE'))
+if unknown_arg == machine:
+self.set("MACHINE", machine)
+return
+
 self.check_arg_machine(unknown_arg)
 
-if not (self.get('MACHINE') or self.get('DEPLOY_DIR_IMAGE')):
+if not self.get('DEPLOY_DIR_IMAGE'):
 self.load_bitbake_env()
 s = re.search('^DEPLOY_DIR_IMAGE="(.*)"', self.bitbake_e, re.M)
 if s:
@@ -505,7 +511,16 @@ class BaseConfig(object):
 def check_rootfs(self):
 """Check and set rootfs"""
 
-if self.fstype == 'nfs' or self.fstype == "none":
+if self.fstype == "none":
+return
+
+if self.get('ROOTFS'):
+if not self.rootfs:
+self.rootfs = self.get('ROOTFS')
+elif self.get('ROOTFS') != self.rootfs:
+raise Exception("Maybe conflicted ROOTFS: %s vs %s" % 
(self.get('ROOTFS'), self.rootfs))
+

[OE-core] [PATCH 3/8] runqemu: use self.rootfs to replace self.nfs_dir

2017-04-07 Thread Robert Yang
We can use self.rootfs as self.nfs_dir when self.fstype is nfs, this can
reduce the code's complexity and we can re-use the code of checking
ROOTFS conflictions.

Signed-off-by: Robert Yang 
---
 scripts/runqemu | 28 +---
 1 file changed, 13 insertions(+), 15 deletions(-)

diff --git a/scripts/runqemu b/scripts/runqemu
index ddbff4b221..7e7a6b4915 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -178,7 +178,6 @@ class BaseConfig(object):
 
 self.qemu_opt = ''
 self.qemu_opt_script = ''
-self.nfs_dir = ''
 self.clean_nfs_dir = False
 self.nfs_server = ''
 self.rootfs = ''
@@ -284,12 +283,11 @@ class BaseConfig(object):
 
 def check_arg_nfs(self, p):
 if os.path.isdir(p):
-self.nfs_dir = p
+self.rootfs = p
 else:
 m = re.match('(.*):(.*)', p)
 self.nfs_server = m.group(1)
-self.nfs_dir = m.group(2)
-self.rootfs = ""
+self.rootfs = m.group(2)
 self.check_arg_fstype('nfs')
 
 def check_arg_path(self, p):
@@ -759,7 +757,7 @@ class BaseConfig(object):
 print('MACHINE: [%s]' % self.get('MACHINE'))
 print('FSTYPE: [%s]' % self.fstype)
 if self.fstype  == 'nfs':
-print('NFS_DIR: [%s]' % self.nfs_dir)
+print('NFS_DIR: [%s]' % self.rootfs)
 else:
 print('ROOTFS: [%s]' % self.rootfs)
 if self.ovmf_bios:
@@ -804,13 +802,13 @@ class BaseConfig(object):
 
 
self.unfs_opts="nfsvers=3,port=%s,mountprog=%s,nfsprog=%s,udp,mountport=%s" % 
(nfsd_port, mountd_rpcport, nfsd_rpcport, mountd_port)
 
-# Extract .tar.bz2 or .tar.bz if no self.nfs_dir
-if not self.nfs_dir:
+# Extract .tar.bz2 or .tar.bz if no nfs dir
+if not (self.rootfs and os.path.isdir(self.rootfs)):
 src_prefix = '%s/%s' % (self.get('DEPLOY_DIR_IMAGE'), 
self.get('IMAGE_LINK_NAME'))
 dest = "%s-nfsroot" % src_prefix
 if os.path.exists('%s.pseudo_state' % dest):
 logger.info('Use %s as NFS_DIR' % dest)
-self.nfs_dir = dest
+self.rootfs = dest
 else:
 src = ""
 src1 = '%s.tar.bz2' % src_prefix
@@ -827,10 +825,10 @@ class BaseConfig(object):
 if subprocess.call(cmd, shell=True) != 0:
 raise Exception('Failed to run %s' % cmd)
 self.clean_nfs_dir = True
-self.nfs_dir = dest
+self.rootfs = dest
 
 # Start the userspace NFS server
-cmd = 'runqemu-export-rootfs start %s' % self.nfs_dir
+cmd = 'runqemu-export-rootfs start %s' % self.rootfs
 logger.info('Running %s...' % cmd)
 if subprocess.call(cmd, shell=True) != 0:
 raise Exception('Failed to run %s' % cmd)
@@ -1001,7 +999,7 @@ class BaseConfig(object):
 
 if self.fstype == 'nfs':
 self.rootfs_options = ''
-k_root = '/dev/nfs nfsroot=%s:%s,%s' % (self.nfs_server, 
self.nfs_dir, self.unfs_opts)
+k_root = '/dev/nfs nfsroot=%s:%s,%s' % (self.nfs_server, 
self.rootfs, self.unfs_opts)
 self.kernel_cmdline = 'root=%s rw highres=off' % k_root
 
 if self.fstype == 'none':
@@ -1147,7 +1145,7 @@ class BaseConfig(object):
 
 if self.nfs_running:
 logger.info("Shutting down the userspace NFS server...")
-cmd = "runqemu-export-rootfs stop %s" % self.nfs_dir
+cmd = "runqemu-export-rootfs stop %s" % self.rootfs
 logger.info('Running %s' % cmd)
 subprocess.call(cmd, shell=True)
 
@@ -1156,9 +1154,9 @@ class BaseConfig(object):
 subprocess.call(cmd, shell=True)
 
 if self.clean_nfs_dir:
-logger.info('Removing %s' % self.nfs_dir)
-shutil.rmtree(self.nfs_dir)
-shutil.rmtree('%s.pseudo_state' % self.nfs_dir)
+logger.info('Removing %s' % self.rootfs)
+shutil.rmtree(self.rootfs)
+shutil.rmtree('%s.pseudo_state' % self.rootfs)
 
 def load_bitbake_env(self, mach=None):
 if self.bitbake_e:
-- 
2.11.0.rc2.dirty

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


[OE-core] [PATCH 4/8] runqemu: run without arguments

2017-04-07 Thread Robert Yang
Since we can get MACHINE and others from env vars and "bitbake -e",
"runqemu" can work without any arguments.

Signed-off-by: Robert Yang 
---
 scripts/runqemu | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/runqemu b/scripts/runqemu
index 7e7a6b4915..f55494df12 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -83,6 +83,7 @@ of the following environment variables (in any order):
   help, -h, --help: print this text
 
 Examples:
+  runqemu
   runqemu qemuarm
   runqemu tmp/deploy/images/qemuarm
   runqemu tmp/deploy/images/qemux86/
@@ -1182,8 +1183,7 @@ class BaseConfig(object):
 logger.warn("Couldn't run 'bitbake -e' to gather environment 
information:\n%s" % err.output.decode('utf-8'))
 
 def main():
-if len(sys.argv) == 1 or "help" in sys.argv or \
-'-h' in sys.argv or '--help' in sys.argv:
+if "help" in sys.argv or '-h' in sys.argv or '--help' in sys.argv:
 print_usage()
 return 0
 config = BaseConfig()
-- 
2.11.0.rc2.dirty

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


[OE-core] [PATCH 0/8 V2] fixes for runqemu and runqemu + rm_work

2017-04-07 Thread Robert Yang
* V2:
  - Fixed "ERROR - name 'p' is not defined"
  - Add Qi's patch.

// Robert

The following changes since commit 901659a51cd53625a93f57a9c5865e90a07ec09d:

  oeqa/runtime/utils/targetbuildproject: use parent classes defaults tmpdir 
(2017-04-06 10:13:34 +0100)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib rbt/qemu
  http://cgit.openembedded.org/openembedded-core-contrib/log/?h=rbt/qemu

Chen Qi (2):
  qemuboot.bbclass: add two vars for use by runqemu
  runqemu: make use of two new vars

Robert Yang (6):
  runqemu: fix 2 typos
  runqemu: support env vars explicitly
  runqemu: use self.rootfs to replace self.nfs_dir
  runqemu: run without arguments
  runqemu: use realpath for imgdir
  runqemu: do not rely on grepping images

 meta/classes/qemuboot.bbclass |   8 ++-
 scripts/runqemu   | 140 --
 2 files changed, 87 insertions(+), 61 deletions(-)

-- 
2.11.0.rc2.dirty

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


[OE-core] [PATCH 1/8] runqemu: fix 2 typos

2017-04-07 Thread Robert Yang
* "is it" -> "it is"
* Remove ".qemuboot.conf =" in the error message which looked strange.

Signed-off-by: Robert Yang 
---
 scripts/runqemu | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/runqemu b/scripts/runqemu
index 23c9efbae2..251f5f7e94 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -421,7 +421,7 @@ class BaseConfig(object):
 elif arg.startswith('ovmf'):
 self.ovmf_bios.append(arg)
 else:
-# At last, assume is it the MACHINE
+# At last, assume it is the MACHINE
 if (not unknown_arg) or unknown_arg == arg:
 unknown_arg = arg
 else:
@@ -677,7 +677,7 @@ class BaseConfig(object):
 return
 
 if not os.path.exists(self.qemuboot):
-raise Exception("Failed to find .qemuboot.conf = %s (wrong 
image name or BSP does not support running under qemu?)." % self.qemuboot)
+raise Exception("Failed to find %s (wrong image name or BSP does 
not support running under qemu?)." % self.qemuboot)
 
 logger.info('CONFFILE: %s' % self.qemuboot)
 
-- 
2.11.0.rc2.dirty

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


Re: [OE-core] [PATCH 0/6] fixes for runqemu

2017-04-07 Thread Robert Yang



On 04/07/2017 07:54 AM, Richard Purdie wrote:

On Wed, 2017-04-05 at 23:41 -0700, Robert Yang wrote:

The following changes since commit
3a1cce659156ef2654a55a6e3c6922fa2dc780e4:

  glibc: fix nativesdk ldd RTLDLIST (2017-04-05 23:22:06 +0100)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib rbt/qemu
  http://cgit.openembedded.org/openembedded-core-contrib/log/?h=rbt/q
emu

Robert Yang (6):
  runqemu: fix 2 typos
  runqemu: support env vars explicitly
  runqemu: use self.rootfs to replace self.nfs_dir
  runqemu: run without arguments
  runqemu: use realpath for imgdir
  runqemu: do not rely on grepping images


Something in here breaks the use of "bitbake xxx-image -c testimage":

https://autobuilder.yocto.io/builders/nightly-arm/builds/280

[basically all sanity tests failed in that build]


I'm really very sorry for the stupid errors, I had seen it, and I thought
that I had fixed it, but didn't. I will send a V2 and include Qi's
patch since there are conflicts, I will resolve the conflicts.

// Robert



Cheers,

Richard


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


Re: [OE-core] [PATCH v3 4/8] logrotate: replace fedorahosted.org SRC_URI with github.com source

2017-04-07 Thread Choong, Yin Thong
Is wired. I bitbake successful on my machine. bitbake logrotate -ccleanall and 
bitbake logrotate.
In this case, I should submit my entire patch or only resubmit this patch 
[PATCH v3 4/8] with cover letter?

Thanks and Regards
Choong YinThong

-Original Message-
From: Richard Purdie [mailto:richard.pur...@linuxfoundation.org] 
Sent: Friday, April 7, 2017 3:37 PM
To: Choong, Yin Thong ; 
openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH v3 4/8] logrotate: replace fedorahosted.org 
SRC_URI with github.com source

On Thu, 2017-04-06 at 01:35 -0700, yin.thong.cho...@intel.com wrote:
> From: Choong YinThong 
> 
> fedorahosted.org was retired on March 1st, 2017. This is to update the 
> SRC_URI to point to github.com.
> 
> [YOCTO #11226]
> 
> Signed-off-by: Choong YinThong 

This failed autobuilder testing in multilib builds:

https://autobuilder.yocto.io/builders/nightly-world-lsb/builds/214/steps/BuildImages/logs/stdio
https://autobuilder.yocto.io/builders/nightly-world/builds/214/steps/BuildImages/logs/stdio

Probably you need ${BPN}, not ${PN}.

>  meta/recipes-extended/logrotate/logrotate_3.9.1.bb | 19
> +++
>  1 file changed, 15 insertions(+), 4 deletions(-)
> 
> diff --git a/meta/recipes-extended/logrotate/logrotate_3.9.1.bb
> b/meta/recipes-extended/logrotate/logrotate_3.9.1.bb
> index 9c2dfe0..5cbd9ff 100644
> --- a/meta/recipes-extended/logrotate/logrotate_3.9.1.bb
> +++ b/meta/recipes-extended/logrotate/logrotate_3.9.1.bb
> @@ -1,6 +1,6 @@
>  SUMMARY = "Rotates, compresses, removes and mails system log files"
>  SECTION = "console/utils"
> -HOMEPAGE = "https://fedorahosted.org/logrotate/;
> +HOMEPAGE = "https://github.com/logrotate/logrotate/issues;
>  LICENSE = "GPLv2"
>  
>  # TODO: logrotate 3.8.8 adds autotools/automake support, update 
> recipe to use it.
> @@ -10,14 +10,25 @@ DEPENDS="coreutils popt"
>  
>  LIC_FILES_CHKSUM =
> "file://COPYING;md5=18810669f13b87348459e611d31ab760"
>  
> -SRC_URI = "https://fedorahosted.org/releases/l/o/logrotate/logrotate
> -${PV}.tar.gz \
> +# When updating logrotate to latest upstream, SRC_URI should point
> to
> +# a proper release tarball from https://github.com/logrotate/logrota
> te/releases
> +# and we have to take the snapshot for now because there is no such # 
> +tarball available for 3.9.1.
> +
> +S = "${WORKDIR}/${PN}-r3-9-1"
> +
> +UPSTREAM_CHECK_URI = "https://github.com/${PN}/${PN}/releases;
> +
> +SRC_URI = "https://github.com/${PN}/${PN}/archive/r3-9-1.tar.gz \
> file://act-as-mv-when-rotate.patch \
> file://update-the-manual.patch \
> file://disable-check-different-filesystems.patch \
>  "
>  
> -SRC_URI[md5sum] = "4492b145b6d542e4a2f41e77fa199ab0"
> -SRC_URI[sha256sum] =
> "022769e3288c80981559a8421703c88e8438b447235e36dd3c8e97cd94c52545"
> +# Checksum changed due to tarball source folder changes in upstream
> + 
> +SRC_URI[md5sum] = "8572b7c2cf9ade09a8a8e10098500fb3"
> +SRC_URI[sha256sum] =
> "5bf8e478c428e7744fefa465118f8296e7e771c981fb6dffb7527856a0ea3617"
>  
>  PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl 
> selinux', d)}"
>  
> --
> 2.7.4
> 
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 4/4] native.bbclass: Use fixed DISTRO_FEATURES

2017-04-07 Thread Richard Purdie
On Fri, 2017-04-07 at 09:09 +0300, Jussi Kukkonen wrote:
> There seems to be no advantage to letting distro features affect
> native builds. There is a significant disadvantage: a change to
> DISTRO_FEATURES will trigger a lot of unnecessary native tasks. In a
> test like this:
>   $ bitbake core-image-minimal
>   # append " systemd" to DISTRO_FEATURES
>   $ bitbake core-image-minimal
> The latter build takes 44 minutes (28%) of cpu-time less with this
> patch (skipping 135 native tasks). Sadly wall clock time was not
> affected as glibc remains the bottleneck.
> 
> Set DISTRO_FEATURES to a fixed value for native recipes to avoid the
> unnecessary tasks: currently the default value is empty.
> 
> Do the variable setting in native_virtclass_handler() because
> otherwise
> it could still be overridden by appends and the feature backfilling.
> Shuffle the early returns so DISTRO_FEATURES gets set as long as
> the packagename ends with "-native".
> 
> Signed-off-by: Jussi Kukkonen 
> ---
>  meta/classes/native.bbclass | 12 
>  meta/conf/bitbake.conf  |  2 ++
>  2 files changed, 10 insertions(+), 4 deletions(-)
> 
> diff --git a/meta/classes/native.bbclass
> b/meta/classes/native.bbclass
> index 1919fbc..fbca4c6 100644
> --- a/meta/classes/native.bbclass
> +++ b/meta/classes/native.bbclass
> @@ -121,14 +121,18 @@ PATH_prepend = "${COREBASE}/scripts/native-
> intercept:"
>  SSTATE_SCAN_CMD ?= "${SSTATE_SCAN_CMD_NATIVE}"
>  
>  python native_virtclass_handler () {
> -classextend = e.data.getVar('BBCLASSEXTEND') or ""
> -if "native" not in classextend:
> -return
> -
>  pn = e.data.getVar("PN")
>  if not pn.endswith("-native"):
>  return
>  
> +# Set features here to prevent appends and distro features
> backfill
> +# from modifying native distro features
> +d.setVar("DISTRO_FEATURES", "${NATIVE_DISTRO_FEATURES}")
> +
> +classextend = e.data.getVar('BBCLASSEXTEND') or ""
> +if "native" not in classextend:
> +return
> +
>  def map_dependencies(varname, d, suffix = ""):
>  if suffix:
>  varname = varname + "_" + suffix
> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> index 5e98d45..78a3470 100644
> --- a/meta/conf/bitbake.conf
> +++ b/meta/conf/bitbake.conf
> @@ -789,6 +789,8 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= ""
>  EXTRA_IMAGE_FEATURES ??= ""
>  IMAGE_FEATURES += "${EXTRA_IMAGE_FEATURES}"
>  
> +NATIVE_DISTRO_FEATURES ?= ""
> +
>  DISTRO_FEATURES_BACKFILL = "pulseaudio sysvinit bluez5 gobject-
> introspection-data ldconfig"
>  MACHINE_FEATURES_BACKFILL = "rtc qemu-usermode"

Thanks for working on this, looks good.

Most native variables are called XXX_NATIVE, not NATIVE_XXX so we might
want to make this match?

Also, one question. Does this have any effect on qemu-native? Does
qemu-native need/use x11 today?

Cheers,

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


Re: [OE-core] [PATCH 1/1] image.inc/qemu.inc: preserve directories to be used by runqemu

2017-04-07 Thread ChenQi

On 04/05/2017 07:22 PM, Richard Purdie wrote:

On Wed, 2017-04-05 at 20:06 +1000, Nathan Rossi wrote:

On 30 March 2017 at 15:12, Chen Qi  wrote:

The 'recipe-sysroot' and 'recipe-sysroot-native' directories need
to
be preserved for runqemu to work correctly. Otherwise, when
'rm_work'
is enabled, these directories are removed, thus causing errors when
using runqemu .

[YOCTO #11266]
[YOCTO #11193]

Signed-off-by: Chen Qi 
---
  meta/classes/image.bbclass | 1 +
  meta/conf/machine/include/qemu.inc | 3 +++
  2 files changed, 4 insertions(+)

diff --git a/meta/classes/image.bbclass
b/meta/classes/image.bbclass
index 405fd73..cac3a5f 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -8,6 +8,7 @@ inherit ${SDKEXTCLASS}
  TOOLCHAIN_TARGET_TASK += "${PACKAGE_INSTALL}"
  TOOLCHAIN_TARGET_TASK_ATTEMPTONLY +=
"${PACKAGE_INSTALL_ATTEMPTONLY}"
  POPULATE_SDK_POST_TARGET_COMMAND += "rootfs_sysroot_relativelinks;
"
+RM_WORK_EXCLUDE_ITEMS_append = " ${IMAGE_RM_WORK_EXCLUDE_ITEMS}"

  LICENSE = "MIT"
  PACKAGES = ""
diff --git a/meta/conf/machine/include/qemu.inc
b/meta/conf/machine/include/qemu.inc
index 0e4103b..8345c08 100644
--- a/meta/conf/machine/include/qemu.inc
+++ b/meta/conf/machine/include/qemu.inc
@@ -29,3 +29,6 @@ KERNEL_FEATURES_append_pn-linux-yocto = "
features/nfsd/nfsd-enable.scc"
  MACHINE_EXTRA_RRECOMMENDS += "rng-tools"

  IMAGE_CLASSES += "qemuboot"
+
+# These two directories need to be preserved for runqemu to work
well
+IMAGE_RM_WORK_EXCLUDE_ITEMS = "recipe-sysroot recipe-sysroot-
native"

Should this be setup by qemuboot.bbclass instead, so that it applies
to any image/machine (even those that do not use qemu.inc) that is
intended to be used by runqemu?

I'm trying to decide what the best approach here is. I'm thinking it
might be better to:

a) make qemu builds depend on qemu-helper-native
b) make that preserve its native sysroot (not the target one).
c) have runqemu look at qemu-helper-native

I think that should solve problems and work better than the above?

Cheers,

Richard


Hi Richard,

I've sent out a new patch series. The solution is a little bit different 
from the above.


As 'tunctl' is from qemu-helper-native, and 'qemu-xxx' is from 
qemu-native, I choose to have runqemu look at things under 
sysroots-components. The STAGING_DIR_NATIVE and STAGING_BINDIR_NATIVE 
logic is still preserved so that runqemu still works well in SDK.


I've used the following test cases for testing.

1) runqemu + rm_work

2) oe-selftest -r runqemu

3) runqemu + SDK

4) runqemu + Ext SDK

Best Regards,

Chen Qi

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


[OE-core] [PATCH 1/2] qemuboot.bbclass: add two vars for use by runqemu

2017-04-07 Thread Chen Qi
Add STAGING_DIR_TUNCTL_NATIVE and STAGING_DIR_QEMU_BINDIR_NATIVE so that
runqemu could find 'tunctl' and 'qemu-xxx' binaries to run correctly.

[YOCTO #11266]
[YOCTO #11193]

Signed-off-by: Chen Qi 
---
 meta/classes/qemuboot.bbclass | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/meta/classes/qemuboot.bbclass b/meta/classes/qemuboot.bbclass
index 3ca97ca..bd2102b 100644
--- a/meta/classes/qemuboot.bbclass
+++ b/meta/classes/qemuboot.bbclass
@@ -67,12 +67,15 @@ QB_NETWORK_DEVICE ?= "-device 
virtio-net-pci,netdev=net0,mac=@MAC@"
 # Create qemuboot.conf
 addtask do_write_qemuboot_conf after do_rootfs before do_image
 IMGDEPLOYDIR ?= "${WORKDIR}/deploy-${PN}-image-complete"
+STAGING_DIR_TUNCTL_NATIVE = 
"${STAGING_DIR}-components/${BUILD_ARCH}/qemu-helper-native"
+STAGING_DIR_QEMU_BINDIR_NATIVE = 
"${STAGING_DIR}-components/${BUILD_ARCH}/qemu-native/usr/bin"
 
 def qemuboot_vars(d):
 build_vars = ['MACHINE', 'TUNE_ARCH', 'DEPLOY_DIR_IMAGE',
 'KERNEL_IMAGETYPE', 'IMAGE_NAME', 'IMAGE_LINK_NAME',
 'STAGING_DIR_NATIVE', 'STAGING_BINDIR_NATIVE',
-'STAGING_DIR_HOST']
+'STAGING_DIR_HOST', 'STAGING_DIR_TUNCTL_NATIVE',
+'STAGING_DIR_QEMU_BINDIR_NATIVE']
 return build_vars + [k for k in d.keys() if k.startswith('QB_')]
 
 do_write_qemuboot_conf[vardeps] += "${@' '.join(qemuboot_vars(d))}"
-- 
1.9.1

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


[OE-core] [PATCH 2/2] runqemu: make use of two new vars

2017-04-07 Thread Chen Qi
Make use of STAGING_DIR_TUNCTL_NATIVE and STAGING_DIR_QEMU_BINDIR_NATIVE
to run correctly. In this way, runqemu would still work when 'rm_work'
is enabled.

[YOCTO #11266]
[YOCTO #11193]

Signed-off-by: Chen Qi 
---
 scripts/runqemu | 10 --
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/scripts/runqemu b/scripts/runqemu
index 23c9efb..cde9ae5 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -908,7 +908,10 @@ class BaseConfig(object):
 gid = os.getgid()
 uid = os.getuid()
 logger.info("Setting up tap interface under sudo")
-cmd = 'sudo %s %s %s %s' % (self.qemuifup, uid, gid, 
self.get('STAGING_DIR_NATIVE'))
+if os.path.exists(self.get('STAGING_DIR_TUNCTL_NATIVE')):
+cmd = 'sudo %s %s %s %s' % (self.qemuifup, uid, gid, 
self.get('STAGING_DIR_TUNCTL_NATIVE'))
+else:
+cmd = 'sudo %s %s %s %s' % (self.qemuifup, uid, gid, 
self.get('STAGING_DIR_NATIVE'))
 tap = subprocess.Popen(cmd, shell=True, 
stdout=subprocess.PIPE).stdout.read().decode('utf-8').rstrip('\n')
 lockfile = os.path.join(lockdir, tap)
 self.lock = lockfile + '.lock'
@@ -1041,7 +1044,10 @@ class BaseConfig(object):
 if not qemu_system:
 raise Exception("Failed to boot, QB_SYSTEM_NAME is NULL!")
 
-qemu_bin = '%s/%s' % (self.get('STAGING_BINDIR_NATIVE'), qemu_system)
+if os.path.exists(self.get('STAGING_DIR_QEMU_BINDIR_NATIVE')):
+qemu_bin = '%s/%s' % (self.get('STAGING_DIR_QEMU_BINDIR_NATIVE'), 
qemu_system)
+else:
+qemu_bin = '%s/%s' % (self.get('STAGING_BINDIR_NATIVE'), 
qemu_system)
 
 # It is possible to have qemu-native in ASSUME_PROVIDED, and it won't
 # find QEMU in sysroot, it needs to use host's qemu.
-- 
1.9.1

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


[OE-core] [PATCH 0/2] Fix runqemu problem when 'rm_work' is enabled

2017-04-07 Thread Chen Qi
The following changes since commit 633ad6c9f436f5d2b6ee1a005b697661a054a394:

  oeqa/runtime/utils/targetbuildproject: use parent classes defaults tmpdir 
(2017-04-06 10:13:39 +0100)

are available in the git repository at:

  git://git.pokylinux.org/poky-contrib ChenQi/runqemu_rm_work
  http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/runqemu_rm_work

Chen Qi (2):
  qemuboot.bbclass: add two vars for use by runqemu
  runqemu: make use of two new vars

 meta/classes/qemuboot.bbclass |  5 -
 scripts/runqemu   | 10 --
 2 files changed, 12 insertions(+), 3 deletions(-)

-- 
1.9.1

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


Re: [OE-core] [PATCH 0/4] Fix some incorrect TARGET_-* flags

2017-04-07 Thread Richard Purdie
On Thu, 2017-04-06 at 14:09 +0200, liu.min...@gmail.com wrote:
> From: Ming Liu 
> 
> I had found a lot of churn in sysroots when multiple MACHINEs are
> sharing a same build folder, which is the case in my company, after
> digging into it, I found it's caused by the TARGET_-* flags, they
> are exported but not in use at all, they should be replaced by
> particular flags for cross,crosssdk,nativesdk,cross-canadian, native
> class does not need that because it's already done in:
> 
> commit 05a70ac30b37cab0952f1b9df501993a9dec70da:
> [ native.bbclass: Override TARGET_ flags too ]

Whilst I understand why you want to do this, unfortunately these change
did break our automated tests, e.g.:

https://autobuilder.yocto.io/builders/nightly-x86-lsb/builds/232/steps/BuildImages/logs/stdio
https://autobuilder.yocto.io/builders/nightly-arm/builds/281/steps/BuildImages/logs/stdio

I think roughly what happened is that binutils-native was built on a
machine which doesn't default to PIC (providing libiberty), then
prelink-native was attempted on a machine that does. The result is the
error you see.

Previously this happened to work since enough target flags leaked into
the native ones to avoid the problem. After your change it breaks.
We're going to have to look into and fix this before I can merge these
changes...

Cheers,

Richard


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


Re: [OE-core] [PATCH] python-pycurl: create python3-pycurl recipe

2017-04-07 Thread Richard Purdie
On Wed, 2017-04-05 at 10:01 +0300, Dmitry Rozhkov wrote:
> The python-pycurl recipe can be used with python2 only even
> though python3 is officially supported by upstream.
> 
> Create python3-pycurl recipe enabling the pycurl module for
> python3.

This failed autobuilder tests:

https://autobuilder.yocto.io/builders/nightly-world-lsb/builds/214/step
s/BuildImages/logs/stdio



> Signed-off-by: Dmitry Rozhkov 
> ---
>  meta/recipes-devtools/python/python-pycurl.inc | 31
> +
>  .../python/python-pycurl_7.21.5.bb | 32 +---
> --
>  .../python/python3-pycurl_7.21.5.bb|  5 
>  3 files changed, 37 insertions(+), 31 deletions(-)
>  create mode 100644 meta/recipes-devtools/python/python-pycurl.inc
>  create mode 100644 meta/recipes-devtools/python/python3-
> pycurl_7.21.5.bb
> 
> diff --git a/meta/recipes-devtools/python/python-pycurl.inc
> b/meta/recipes-devtools/python/python-pycurl.inc
> new file mode 100644
> index 000..d26318b
> --- /dev/null
> +++ b/meta/recipes-devtools/python/python-pycurl.inc
> @@ -0,0 +1,31 @@
> +SUMMARY = "Python bindings for libcurl"
> +HOMEPAGE = "http://pycurl.sourceforge.net/;
> +SECTION = "devel/python"
> +LICENSE = "LGPLv2.1+ | MIT"
> +LIC_FILES_CHKSUM =
> "file://README.rst;beginline=166;endline=182;md5=a84a1caa65b89d4584b6
> 93d3680062fb \
> +file://COPYING-
> LGPL;md5=3579a9fd0221d49a237aaa33492f988c \
> +file://COPYING-
> MIT;md5=b7e434aeb228ed731c00bcf177e79b19"
> +
> +DEPENDS = "curl ${PYTHON_PN}"
> +RDEPENDS_${PN} = "${PYTHON_PN}-core curl"
> +SRCNAME = "pycurl"
> +
> +SRC_URI = "\
> +  http://${SRCNAME}.sourceforge.net/download/${SRCNAME}-
> ${PV}.tar.gz;name=archive \
> +  file://no-static-link.patch \
> +"
> +
> +SRC_URI[archive.md5sum] = "bca7bf47320082588db544ced2ba8717"
> +SRC_URI[archive.sha256sum] =
> "8a1e0eb55573388275a1d6c2534ca4cfca5d7fa772b99b505c08fa149b27aed0"
> +S = "${WORKDIR}/${SRCNAME}-${PV}"
> +
> +BBCLASSEXTEND = "native"
> +
> +# Ensure the docstrings are generated as make clean will remove them
> +do_compile_prepend() {
> + ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN}
> setup.py docstrings
> +}
> +
> +do_install_append() {
> + rm -rf ${D}${datadir}/share
> +}
> diff --git a/meta/recipes-devtools/python/python-pycurl_7.21.5.bb
> b/meta/recipes-devtools/python/python-pycurl_7.21.5.bb
> index 7b41f6d..eb70cea 100644
> --- a/meta/recipes-devtools/python/python-pycurl_7.21.5.bb
> +++ b/meta/recipes-devtools/python/python-pycurl_7.21.5.bb
> @@ -1,33 +1,3 @@
> -SUMMARY = "Python bindings for libcurl"
> -HOMEPAGE = "http://pycurl.sourceforge.net/;
> -SECTION = "devel/python"
> -LICENSE = "LGPLv2.1+ | MIT"
> -LIC_FILES_CHKSUM =
> "file://README.rst;beginline=166;endline=182;md5=a84a1caa65b89d4584b6
> 93d3680062fb \
> -file://COPYING-
> LGPL;md5=3579a9fd0221d49a237aaa33492f988c \
> -file://COPYING-
> MIT;md5=b7e434aeb228ed731c00bcf177e79b19"
> -
> -DEPENDS = "curl python"
> -RDEPENDS_${PN} = "python-core curl"
> -SRCNAME = "pycurl"
> -
> -SRC_URI = "\
> -  http://${SRCNAME}.sourceforge.net/download/${SRCNAME}-
> ${PV}.tar.gz;name=archive \
> -  file://no-static-link.patch \
> -"
> -
> -SRC_URI[archive.md5sum] = "bca7bf47320082588db544ced2ba8717"
> -SRC_URI[archive.sha256sum] =
> "8a1e0eb55573388275a1d6c2534ca4cfca5d7fa772b99b505c08fa149b27aed0"
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> +require python-pycurl.inc
>  
>  inherit distutils
> -
> -BBCLASSEXTEND = "native"
> -
> -# Ensure the docstrings are generated as make clean will remove them
> -do_compile_prepend() {
> - ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN}
> setup.py docstrings
> -}
> -
> -do_install_append() {
> - rm -rf ${D}${datadir}/share
> -}
> diff --git a/meta/recipes-devtools/python/python3-pycurl_7.21.5.bb
> b/meta/recipes-devtools/python/python3-pycurl_7.21.5.bb
> new file mode 100644
> index 000..5d11192
> --- /dev/null
> +++ b/meta/recipes-devtools/python/python3-pycurl_7.21.5.bb
> @@ -0,0 +1,5 @@
> +FILESEXTRAPATHS_prepend := "${THISDIR}/python-pycurl:"
> +
> +require python-pycurl.inc
> +
> +inherit distutils3
> -- 
> 2.9.3
> 
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH v3 4/8] logrotate: replace fedorahosted.org SRC_URI with github.com source

2017-04-07 Thread Richard Purdie
On Thu, 2017-04-06 at 01:35 -0700, yin.thong.cho...@intel.com wrote:
> From: Choong YinThong 
> 
> fedorahosted.org was retired on March 1st, 2017. This is to
> update the SRC_URI to point to github.com.
> 
> [YOCTO #11226]
> 
> Signed-off-by: Choong YinThong 

This failed autobuilder testing in multilib builds:

https://autobuilder.yocto.io/builders/nightly-world-lsb/builds/214/steps/BuildImages/logs/stdio
https://autobuilder.yocto.io/builders/nightly-world/builds/214/steps/BuildImages/logs/stdio

Probably you need ${BPN}, not ${PN}.

>  meta/recipes-extended/logrotate/logrotate_3.9.1.bb | 19
> +++
>  1 file changed, 15 insertions(+), 4 deletions(-)
> 
> diff --git a/meta/recipes-extended/logrotate/logrotate_3.9.1.bb
> b/meta/recipes-extended/logrotate/logrotate_3.9.1.bb
> index 9c2dfe0..5cbd9ff 100644
> --- a/meta/recipes-extended/logrotate/logrotate_3.9.1.bb
> +++ b/meta/recipes-extended/logrotate/logrotate_3.9.1.bb
> @@ -1,6 +1,6 @@
>  SUMMARY = "Rotates, compresses, removes and mails system log files"
>  SECTION = "console/utils"
> -HOMEPAGE = "https://fedorahosted.org/logrotate/;
> +HOMEPAGE = "https://github.com/logrotate/logrotate/issues;
>  LICENSE = "GPLv2"
>  
>  # TODO: logrotate 3.8.8 adds autotools/automake support, update
> recipe to use it.
> @@ -10,14 +10,25 @@ DEPENDS="coreutils popt"
>  
>  LIC_FILES_CHKSUM =
> "file://COPYING;md5=18810669f13b87348459e611d31ab760"
>  
> -SRC_URI = "https://fedorahosted.org/releases/l/o/logrotate/logrotate
> -${PV}.tar.gz \
> +# When updating logrotate to latest upstream, SRC_URI should point
> to
> +# a proper release tarball from https://github.com/logrotate/logrota
> te/releases
> +# and we have to take the snapshot for now because there is no such
> +# tarball available for 3.9.1.
> +
> +S = "${WORKDIR}/${PN}-r3-9-1"
> +
> +UPSTREAM_CHECK_URI = "https://github.com/${PN}/${PN}/releases;
> +
> +SRC_URI = "https://github.com/${PN}/${PN}/archive/r3-9-1.tar.gz \
> file://act-as-mv-when-rotate.patch \
> file://update-the-manual.patch \
> file://disable-check-different-filesystems.patch \
>  "
>  
> -SRC_URI[md5sum] = "4492b145b6d542e4a2f41e77fa199ab0"
> -SRC_URI[sha256sum] =
> "022769e3288c80981559a8421703c88e8438b447235e36dd3c8e97cd94c52545"
> +# Checksum changed due to tarball source folder changes in upstream
> + 
> +SRC_URI[md5sum] = "8572b7c2cf9ade09a8a8e10098500fb3"
> +SRC_URI[sha256sum] =
> "5bf8e478c428e7744fefa465118f8296e7e771c981fb6dffb7527856a0ea3617"
>  
>  PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl
> selinux', d)}"
>  
> -- 
> 2.7.4
> 
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 2/3] yocto-compat-layer: limit report of signature changes

2017-04-07 Thread Patrick Ohly
On Fri, 2017-04-07 at 08:38 +1200, Paul Eggleton wrote:
> On Thursday, 6 April 2017 1:36:05 AM NZST you wrote:
> >AssertionError: False is not true : Layer meta- changed 120
> > signatures, initial differences (first hash without, second with layer):
> 
> BTW, rather than self.assertTrue(False, ... ) you can just use self.fail(...) 
> and then you avoid this ugly "False is not True" bit.

I suspected that there must be something like that when changing the
message, but then was too lazy to look it up - thanks for pointing it
out ;-}

I'll change that in a V2.

-- 
Best Regards, Patrick Ohly

The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.



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


[OE-core] [PATCH 2/4] mkfontscale: Remove x11 requirement

2017-04-07 Thread Jussi Kukkonen
Build does not need libx11, so also does not need the distro feature.

Signed-off-by: Jussi Kukkonen 
---
 meta/recipes-graphics/xorg-app/mkfontscale_1.1.2.bb | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta/recipes-graphics/xorg-app/mkfontscale_1.1.2.bb 
b/meta/recipes-graphics/xorg-app/mkfontscale_1.1.2.bb
index 31cf186..066f4a7 100644
--- a/meta/recipes-graphics/xorg-app/mkfontscale_1.1.2.bb
+++ b/meta/recipes-graphics/xorg-app/mkfontscale_1.1.2.bb
@@ -10,6 +10,9 @@ is used by the mkfontdir program."
 
 DEPENDS = "util-macros-native zlib libfontenc freetype xproto"
 
+# We don't actually need x11 as xorg-app-common claims
+REQUIRED_DISTRO_FEATURES = ""
+
 BBCLASSEXTEND = "native"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=2e0d129d05305176d1a790e0ac1acb7f"
-- 
2.1.4

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


[OE-core] [PATCH 0/4] Use fixed DISTRO_FEATURES for native

2017-04-07 Thread Jussi Kukkonen
Avoid signifant native task churn when DISTRO_FEATURES is changed
by defining a fixed DISTRO_FEATURES value (default is "") for native
recipes.

The xorg changes are all removals of x11 requirements (that were not
real) from recipes that have native versions.

I added a configuration default in bitbake.conf, let me know if this
is not a good place.

This seems to work fine (tested multiple different images) but I am
not really sure how to test it further... Suggestions are welcome, as
are results from autobuilder. 


Thanks,
  Jussi



The following changes since commit 633ad6c9f436f5d2b6ee1a005b697661a054a394:

  oeqa/runtime/utils/targetbuildproject: use parent classes defaults tmpdir 
(2017-04-06 10:13:39 +0100)

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib jku/native-distro-features
  
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=jku/native-distro-features

Jussi Kukkonen (4):
  mkfontdir: Remove x11 requirement
  mkfontscale: Remove x11 requirement
  xorg-font-common.inc: Remove x11 requirement
  native.bbclass: Use fixed DISTRO_FEATURES

 meta/classes/native.bbclass  | 12 
 meta/conf/bitbake.conf   |  2 ++
 meta/recipes-graphics/xorg-app/mkfontdir_1.0.7.bb|  4 
 meta/recipes-graphics/xorg-app/mkfontscale_1.1.2.bb  |  3 +++
 meta/recipes-graphics/xorg-font/xorg-font-common.inc |  3 ---
 5 files changed, 17 insertions(+), 7 deletions(-)

-- 
2.1.4

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


[OE-core] [PATCH 4/4] native.bbclass: Use fixed DISTRO_FEATURES

2017-04-07 Thread Jussi Kukkonen
There seems to be no advantage to letting distro features affect
native builds. There is a significant disadvantage: a change to
DISTRO_FEATURES will trigger a lot of unnecessary native tasks. In a
test like this:
  $ bitbake core-image-minimal
  # append " systemd" to DISTRO_FEATURES
  $ bitbake core-image-minimal
The latter build takes 44 minutes (28%) of cpu-time less with this
patch (skipping 135 native tasks). Sadly wall clock time was not
affected as glibc remains the bottleneck.

Set DISTRO_FEATURES to a fixed value for native recipes to avoid the
unnecessary tasks: currently the default value is empty.

Do the variable setting in native_virtclass_handler() because otherwise
it could still be overridden by appends and the feature backfilling.
Shuffle the early returns so DISTRO_FEATURES gets set as long as
the packagename ends with "-native".

Signed-off-by: Jussi Kukkonen 
---
 meta/classes/native.bbclass | 12 
 meta/conf/bitbake.conf  |  2 ++
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass
index 1919fbc..fbca4c6 100644
--- a/meta/classes/native.bbclass
+++ b/meta/classes/native.bbclass
@@ -121,14 +121,18 @@ PATH_prepend = "${COREBASE}/scripts/native-intercept:"
 SSTATE_SCAN_CMD ?= "${SSTATE_SCAN_CMD_NATIVE}"
 
 python native_virtclass_handler () {
-classextend = e.data.getVar('BBCLASSEXTEND') or ""
-if "native" not in classextend:
-return
-
 pn = e.data.getVar("PN")
 if not pn.endswith("-native"):
 return
 
+# Set features here to prevent appends and distro features backfill
+# from modifying native distro features
+d.setVar("DISTRO_FEATURES", "${NATIVE_DISTRO_FEATURES}")
+
+classextend = e.data.getVar('BBCLASSEXTEND') or ""
+if "native" not in classextend:
+return
+
 def map_dependencies(varname, d, suffix = ""):
 if suffix:
 varname = varname + "_" + suffix
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 5e98d45..78a3470 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -789,6 +789,8 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= ""
 EXTRA_IMAGE_FEATURES ??= ""
 IMAGE_FEATURES += "${EXTRA_IMAGE_FEATURES}"
 
+NATIVE_DISTRO_FEATURES ?= ""
+
 DISTRO_FEATURES_BACKFILL = "pulseaudio sysvinit bluez5 
gobject-introspection-data ldconfig"
 MACHINE_FEATURES_BACKFILL = "rtc qemu-usermode"
 
-- 
2.1.4

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


[OE-core] [PATCH 3/4] xorg-font-common.inc: Remove x11 requirement

2017-04-07 Thread Jussi Kukkonen
Remove the fake news about mkfontscale-native needing x11.

Signed-off-by: Jussi Kukkonen 
---
 meta/recipes-graphics/xorg-font/xorg-font-common.inc | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/meta/recipes-graphics/xorg-font/xorg-font-common.inc 
b/meta/recipes-graphics/xorg-font/xorg-font-common.inc
index cdbebcf..82a8487 100644
--- a/meta/recipes-graphics/xorg-font/xorg-font-common.inc
+++ b/meta/recipes-graphics/xorg-font/xorg-font-common.inc
@@ -16,9 +16,6 @@ S = "${WORKDIR}/${XORG_PN}-${PV}"
 
 inherit autotools pkgconfig distro_features_check
 
-# The mkfontscale-native requires x11 in DISTRO_FEATURES
-REQUIRED_DISTRO_FEATURES = "x11"
-
 EXTRA_OEMAKE += "FCCACHE=/bin/true 
UTIL_DIR=${STAGING_DIR_TARGET}\$\(MAPFILES_PATH\)"
 
 do_install_append() {
-- 
2.1.4

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


[OE-core] [PATCH 1/4] mkfontdir: Remove x11 requirement

2017-04-07 Thread Jussi Kukkonen
Build does not need libx11, so also does not need the distro feature.

Signed-off-by: Jussi Kukkonen 
---
 meta/recipes-graphics/xorg-app/mkfontdir_1.0.7.bb | 4 
 1 file changed, 4 insertions(+)

diff --git a/meta/recipes-graphics/xorg-app/mkfontdir_1.0.7.bb 
b/meta/recipes-graphics/xorg-app/mkfontdir_1.0.7.bb
index a453e24..371d9a1 100644
--- a/meta/recipes-graphics/xorg-app/mkfontdir_1.0.7.bb
+++ b/meta/recipes-graphics/xorg-app/mkfontdir_1.0.7.bb
@@ -11,6 +11,10 @@ files."
 PE = "1"
 PR = "${INC_PR}.0"
 
+# We don't actually need x11 as xorg-app-common claims
+DEPENDS = "util-macros-native"
+REQUIRED_DISTRO_FEATURES = ""
+
 RDEPENDS_${PN} += "mkfontscale"
 RDEPENDS_${PN}_class-native += "mkfontscale-native"
 
-- 
2.1.4

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