[OE-core] [oe-core][THUD][PATCH] Introduce mechanism to keep nativesdk* sstate in esdk

2019-04-03 Thread Jaewon Lee
Using SDK_INCLUDE_NATIVESDK flag to toggle inclusion of all nativesdk*
sstate into esdk
Currently locked-sigs.inc is generated during do_sdk_depends which
doesn't pull in nativesdk packages. Generating another locked-sigs.inc
in do_populate_sdk_ext and pruning it to only nativesdk* packages by
using a modified version of the already existing function
prune_locked_sigs and merging it with the current locked-sigs.inc
Also adding SDK_INCLUDE_NATIVESDK tasklistfn to the logic surrounding
setting tasklist file to not prune esdk sstate during creation

Signed-off-by: Jaewon Lee 
---
 meta/classes/populate_sdk_ext.bbclass | 28 +++-
 meta/lib/oe/copy_buildsystem.py   |  8 ++--
 2 files changed, 33 insertions(+), 3 deletions(-)

diff --git a/meta/classes/populate_sdk_ext.bbclass 
b/meta/classes/populate_sdk_ext.bbclass
index 40b0375..d98b0e5 100644
--- a/meta/classes/populate_sdk_ext.bbclass
+++ b/meta/classes/populate_sdk_ext.bbclass
@@ -20,6 +20,7 @@ SDK_EXT_task-populate-sdk-ext = "-ext"
 SDK_EXT_TYPE ?= "full"
 SDK_INCLUDE_PKGDATA ?= "0"
 SDK_INCLUDE_TOOLCHAIN ?= "${@'1' if d.getVar('SDK_EXT_TYPE') == 'full' else 
'0'}"
+SDK_INCLUDE_NATIVESDK ?= "0"
 
 SDK_RECRDEP_TASKS ?= ""
 
@@ -401,9 +402,27 @@ python copy_buildsystem () {
 excluded_targets = get_sdk_install_targets(d, images_only=True)
 sigfile = d.getVar('WORKDIR') + '/locked-sigs.inc'
 lockedsigs_pruned = baseoutpath + '/conf/locked-sigs.inc'
+#nativesdk-only sigfile to merge into locked-sigs.inc
+sdk_include_nativesdk = (d.getVar("SDK_INCLUDE_NATIVESDK") == '1')
+nativesigfile = d.getVar('WORKDIR') + '/locked-sigs_nativesdk.inc'
+nativesigfile_pruned = d.getVar('WORKDIR') + 
'/locked-sigs_nativesdk_pruned.inc'
+
+if sdk_include_nativesdk:
+oe.copy_buildsystem.prune_lockedsigs([],
+excluded_targets.split(),
+nativesigfile,
+ True,
+ nativesigfile_pruned)
+
+oe.copy_buildsystem.merge_lockedsigs([],
+sigfile,
+nativesigfile_pruned,
+sigfile)
+
 oe.copy_buildsystem.prune_lockedsigs([],
  excluded_targets.split(),
  sigfile,
+ False,
  lockedsigs_pruned)
 
 sstate_out = baseoutpath + '/sstate-cache'
@@ -414,7 +433,7 @@ python copy_buildsystem () {
 
 sdk_include_toolchain = (d.getVar('SDK_INCLUDE_TOOLCHAIN') == '1')
 sdk_ext_type = d.getVar('SDK_EXT_TYPE')
-if sdk_ext_type != 'minimal' or sdk_include_toolchain or derivative:
+if (sdk_ext_type != 'minimal' or sdk_include_toolchain or derivative) and 
not sdk_include_nativesdk:
 # Create the filtered task list used to generate the sstate cache 
shipped with the SDK
 tasklistfn = d.getVar('WORKDIR') + '/tasklist.txt'
 create_filtered_tasklist(d, baseoutpath, tasklistfn, conf_initpath)
@@ -658,9 +677,16 @@ fakeroot python do_populate_sdk_ext() {
 d.setVar('SDKDEPLOYDIR', '${SDKEXTDEPLOYDIR}')
 # ESDKs have a libc from the buildtools so ensure we don't ship linguas 
twice
 d.delVar('SDKIMAGE_LINGUAS')
+if d.getVar("SDK_INCLUDE_NATIVESDK") == '1':
+generate_nativesdk_lockedsigs(d)
 populate_sdk_common(d)
 }
 
+def generate_nativesdk_lockedsigs(d):
+import oe.copy_buildsystem
+sigfile = d.getVar('WORKDIR') + '/locked-sigs_nativesdk.inc'
+oe.copy_buildsystem.generate_locked_sigs(sigfile, d)
+
 def get_ext_sdk_depends(d):
 # Note: the deps varflag is a list not a string, so we need to specify 
expand=False
 deps = d.getVarFlag('do_image_complete', 'deps', False)
diff --git a/meta/lib/oe/copy_buildsystem.py b/meta/lib/oe/copy_buildsystem.py
index 7cb784c..5bc728e 100644
--- a/meta/lib/oe/copy_buildsystem.py
+++ b/meta/lib/oe/copy_buildsystem.py
@@ -168,7 +168,7 @@ def generate_locked_sigs(sigfile, d):
 tasks = ['%s.%s' % (v[2], v[1]) for v in depd.values()]
 bb.parse.siggen.dump_lockedsigs(sigfile, tasks)
 
-def prune_lockedsigs(excluded_tasks, excluded_targets, lockedsigs, 
pruned_output):
+def prune_lockedsigs(excluded_tasks, excluded_targets, lockedsigs, onlynative, 
pruned_output):
 with open(lockedsigs, 'r') as infile:
 bb.utils.mkdirhier(os.path.dirname(pruned_output))
 with open(pruned_output, 'w') as f:
@@ -178,7 +178,11 @@ def prune_lockedsigs(excluded_tasks, excluded_targets, 
lockedsigs, pruned_output
 if line.endswith('\\\n'):
 splitval = line.strip().split(':')
 if not splitval[1] in excluded_tasks and not 
splitval[0] in excluded_targets:
-f.write(lin

Re: [OE-core] Link issue of virglrenderer on x86 with gcc options '-O2 -fvisibility=default'

2019-04-03 Thread Kang Kai

On 2019/4/3 上午12:16, Khem Raj wrote:

On Tue, Apr 2, 2019 at 8:46 AM Kang Kai  wrote:

Hi Raj,

I meet a link problem of virglrenderer with gcc options '-O2
-fvisibility=default' configured in local.conf:

SELECTED_OPTIMIZATION = "-O2 -fvisibility=default"

It fails on qemux86 but succeeds on x86-64.

And the error message:

| i586-poky-linux-libtool: link: i586-poky-linux-gcc  -m32 -march=i586
-fstack-protector-strong  -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security
-Werror=
format-security
--sysroot=/home/kkang/buildarea/Yocto/build-systemd/tmp/work/i586-poky-linux/virglrenderer/0.7.0-r0/recipe-sysroot
-shared  -fPIC -DPIC
   .libs/virglrenderer.o  *-Wl,--whole-archive* ./.libs/libvrend.a
gallium/auxiliary/.libs/libgallium.a *-Wl,--no-whole-archive*  -lm -ldrm
-lgbm -lepoxy -lX1
1  -m32 -march=i586 -fstack-protector-strong
--sysroot=/home/kkang/buildarea/Yocto/build-systemd/tmp/work/i586-poky-linux/virglrenderer/0.7.0-r0/recipe-
sysroot -O2 -Wl,-Bsymbolic -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
-fstack-protector-strong -Wl,-z -Wl,relro -Wl,-z -Wl,now   -pthread
-Wl,-soname
-Wl,libvirglrenderer.so.0 -o .libs/libvirglrenderer.so.0.2.0
|
/home/kkang/buildarea/Yocto/build-systemd/tmp/work/i586-poky-linux/virglrenderer/0.7.0-r0/recipe-sysroot-native/usr/bin/i586-poky-linux/../../libexec/
i586-poky-linux/gcc/i586-poky-linux/8.3.0/ld:
gallium/auxiliary/.libs/libgallium.a(u_cpu_detect.o): relocation
R_386_GOTOFF against undefined symbol `ut
il_cpu_caps' can not be used when making a shared object

It could pass if options -Wl,--whole-archive and -Wl,--no-whole-archive
are removed.

It says 'relocation R_386_GOTOFF' but when I check the file, it shows
relocation type is R_386_GOT32X:

$ readelf --relocs ./util/.libs/u_cpu_detect.o | grep util_cpu_caps
0092  102b R_386_GOT32X  0004   util_cpu_caps

AFAIK R_386_GOT32X is not used with PIC. But I don't know why the type
is R_386_GOT32X that -fPIC has been applied already?

Any suggestion is great appreciated. Thanks.


it seems you have to build PIC archive for libgallium.a, it might not
be using the right -fPIC flags during compile/link phase.


Hi Raj,

Thanks a lot.

It turns out that caused by link option '-Bsymbolic'. Replace with 
'-Bdynamic' could resolve the issue. And I'll send a patch to upstream.



Regards,
Kai





--
Kai Kang



--
Kai Kang

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


Re: [OE-core] [PATCH] cmake: 3.14.0 -> 3.14.1

2019-04-03 Thread Bach, Pascal
This patch should also go into warrior as I think we should not ship 3.14.0 due 
to the issue mentioned bellow.

> -Original Message-
> From: Pascal Bach 
> Sent: Montag, 1. April 2019 14:17
> To: openembedded-core@lists.openembedded.org
> Cc: Bach, Pascal (BT CPS R&D ZG FW CCP) 
> Subject: [PATCH] cmake: 3.14.0 -> 3.14.1
> 
> The FindFontconfig module added by 3.14.0 accidentally used uppercase
> FONTCONFIG_* variable names that do not match our conventions.
> 3.14.1 revises the module to use Fontconfig_* variable names.
> This is incompatible with 3.14.0 but since the module is new in the
> 3.14 series usage should not yet be widespread.
> 
> Signed-off-by: Pascal Bach 
> ---
>  .../cmake/{cmake-native_3.14.0.bb => cmake-native_3.14.1.bb}  | 0
>  meta/recipes-devtools/cmake/cmake.inc | 4 
> ++--
>  meta/recipes-devtools/cmake/{cmake_3.14.0.bb => cmake_3.14.1.bb}  | 0
>  3 files changed, 2 insertions(+), 2 deletions(-)  rename meta/recipes-
> devtools/cmake/{cmake-native_3.14.0.bb => cmake-native_3.14.1.bb}
> (100%)  rename meta/recipes-devtools/cmake/{cmake_3.14.0.bb =>
> cmake_3.14.1.bb} (100%)
> 
> diff --git a/meta/recipes-devtools/cmake/cmake-native_3.14.0.bb
> b/meta/recipes-devtools/cmake/cmake-native_3.14.1.bb
> similarity index 100%
> rename from meta/recipes-devtools/cmake/cmake-native_3.14.0.bb
> rename to meta/recipes-devtools/cmake/cmake-native_3.14.1.bb
> diff --git a/meta/recipes-devtools/cmake/cmake.inc b/meta/recipes-
> devtools/cmake/cmake.inc
> index f787851e2d..5b0bce6808 100644
> --- a/meta/recipes-devtools/cmake/cmake.inc
> +++ b/meta/recipes-devtools/cmake/cmake.inc
> @@ -18,7 +18,7 @@ SRC_URI =
> "https://cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz
> \
> 
> file://0004-Fail-silently-if-system-Qt-installation-is-broken.patch \  "
> 
> -SRC_URI[md5sum] = "7504e4f3e05b59e083f2127e07059d5d"
> -SRC_URI[sha256sum] =
> "aa76ba67b3c2af1946701f847073f4652af5cbd9f141f221c97af99127e75502"
> +SRC_URI[md5sum] = "7efe5394e85c3292ad020b8b70e55669"
> +SRC_URI[sha256sum] =
> "7321be640406338fc12590609c42b0fae7ea12980855c1be363d25dcd76bb25f"
> 
>  UPSTREAM_CHECK_REGEX = "cmake-(?P\d+(\.\d+)+)\.tar"
> diff --git a/meta/recipes-devtools/cmake/cmake_3.14.0.bb b/meta/recipes-
> devtools/cmake/cmake_3.14.1.bb
> similarity index 100%
> rename from meta/recipes-devtools/cmake/cmake_3.14.0.bb
> rename to meta/recipes-devtools/cmake/cmake_3.14.1.bb
> --
> 2.11.0

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


Re: [OE-core] [PATCH v2 1/3] cmake-native: Enable ccmake by default and depend on ncurses

2019-04-03 Thread Bach, Pascal
> 
> Enable the building of the curses based ui for cmake. This depends on
> ncurses.

I think this is acceptable. It might also be useful for people wanting to use 
ccmake inside an SDK.

> Signed-off-by: Nathan Rossi 
> ---
> This patch suggests enabling this in the cmake-native recipe, however this
> might be undesirable for bootstrapping reasons. Whilst ccmake is not used
> normally the added dependency on ncurses is likely required for other parts
> of the build so impact on build ordering and time should be relatively
> minimal.
> 
> Changes in v2:
> - None
> ---
>  meta/recipes-devtools/cmake/cmake-native_3.14.0.bb | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/meta/recipes-devtools/cmake/cmake-native_3.14.0.bb
> b/meta/recipes-devtools/cmake/cmake-native_3.14.0.bb
> index fedcf3d4bd..b2952ee5f5 100644
> --- a/meta/recipes-devtools/cmake/cmake-native_3.14.0.bb
> +++ b/meta/recipes-devtools/cmake/cmake-native_3.14.0.bb
> @@ -1,7 +1,7 @@
>  require cmake.inc
>  inherit native
> 
> -DEPENDS += "bzip2-replacement-native expat-native xz-native zlib-native
> curl-native"
> +DEPENDS += "bzip2-replacement-native expat-native xz-native zlib-native
> curl-native ncurses-native"
> 
>  SRC_URI += "file://OEToolchainConfig.cmake \
>  file://environment.d-cmake.sh \ @@ -13,10 +13,9 @@ SRC_URI +=
> "file://OEToolchainConfig.cmake \  B = "${WORKDIR}/build"
>  do_configure[cleandirs] = "${B}"
> 
> -# Disable ccmake since we don't depend on ncurses  CMAKE_EXTRACONF =
> "\
>  -DCMAKE_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \
> --DBUILD_CursesDialog=0 \
> +-DBUILD_CursesDialog=1 \
>  -DCMAKE_USE_SYSTEM_LIBRARIES=1 \
>  -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \
>  -DCMAKE_USE_SYSTEM_LIBRARY_LIBARCHIVE=0 \
> ---
> 2.20.1
> --
> ___
> 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] Git commit process question.

2019-04-03 Thread Adrian Bunk
On Tue, Apr 02, 2019 at 03:46:14PM -0400, Tom Rini wrote:
> On Tue, Apr 02, 2019 at 09:51:21AM +0300, Adrian Bunk wrote:
> > On Mon, Apr 01, 2019 at 04:20:41PM -0700, akuster808 wrote:
> > > 
> > > 
> > > On 4/1/19 4:02 PM, Richard Purdie wrote:
> > > > On Mon, 2019-04-01 at 15:33 -0700, akuster808 wrote:
> > > >> Hello,
> > > >>
> > > >> I have noticed a large number of git commits with no header
> > > >> information being accepted.
> > > > Can you be more specific about what "no header information" means? You
> > > > mean a shortlog and no full log message?
> > > Commits with just a "subject" and signoff. No additional information
> > > 
> > > We tend to reference back to how the kernel does things.
> > > 
> > > https://www.kernel.org/doc/html/latest/process/submitting-patches.html
> > > These two sections in particular.
> > > 
> > > 
> > > 2) Describe your changes
> > > 
> > > Describe your problem. Whether your patch is a one-line bug fix or 5000
> > > lines of a new feature, there must be an underlying problem that
> > > motivated you to do this work. Convince the reviewer that there is a
> > > problem worth fixing and that it makes sense for them to read past the
> > > first paragraph.
> > >...
> > 
> > The kernel does not have "upgrade foo to the latest upstream version" 
> > commits.
> > 
> > With the Automatic Upgrade Helper this is a semi-automatic task, and 
> > most of the time there is no specific motivation other than upgrading
> > to the latest upstream version.
> 
> But since that's just filling in a template the body can also be a
> template perhaps with useful AUH data (run at ... by ... ?) ?

That would be more trivial than useful.

And so far noone has stated any actual problem that would be solved
by adding such a new requirement.

> Tom

cu
Adrian

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed

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


Re: [OE-core] [PATCH] cogl: fix compile error with -Werror=maybe-uninitialized

2019-04-03 Thread Adrian Bunk
On Wed, Apr 03, 2019 at 10:29:08AM +0800, Changqing Li wrote:
> 
> On 4/2/19 7:31 PM, Adrian Bunk wrote:
> > On Tue, Apr 02, 2019 at 05:08:33PM +0800, changqing...@windriver.com wrote:
> > > From: Changqing Li 
> > > 
> > > fix below compile error with -Werror=maybe-uninitialized
> > > 
> > > | ../../cogl-1.22.2/cogl/driver/gl/gles/cogl-driver-gles.c:217:17: error: 
> > > 'gltype' may be used uninitialized in this function 
> > > [-Werror=maybe-uninitialized]
> > > |  *out_gltype = gltype;
> > > |  ^~~~
> > > | ../../cogl-1.22.2/cogl/driver/gl/gles/cogl-driver-gles.c:213:22: error: 
> > > 'glintformat' may be used uninitialized in this function 
> > > [-Werror=maybe-uninitialized]
> > > |  *out_glintformat = glintformat;
> > > |  ~^
> > > ...
> > Looking at the code, is this a failure that only happens with DEBUG_FLAGS?
> Yes, only happen with DEBUG_FLAGS
> > > +--- a/cogl/driver/gl/gles/cogl-driver-gles.c
> > >  b/cogl/driver/gl/gles/cogl-driver-gles.c
> > > +@@ -74,9 +74,9 @@ _cogl_driver_pixel_format_to_gl (CoglContext *context,
> > > +  GLenum *out_gltype)
> > > + {
> > > +   CoglPixelFormat required_format;
> > > +-  GLenum glintformat;
> > > ++  GLenum glintformat = 0;
> > > +   GLenum glformat = 0;
> > > +-  GLenum gltype;
> > > ++  GLenum gltype = 0;
> > > ...
> > Assigning random values to variables is a bug,
> > they do not even seem to be valid values for these variables.
> 
> According to code logic,  glformat and glintformat will assigned
> simultaneously and usually with same value,

But glformat has an assert later to ensure the 0 doesn't leak anywhere.

> and 0 mean invalid pixel format.

For pixel format 0 means COGL_PIXEL_FORMAT_ANY.

For glintformat I don't know what would happen if 0 is used.

> [snip]
> 
>     case COGL_PIXEL_FORMAT_DEPTH_24_STENCIL_8:
>   glintformat = GL_DEPTH_STENCIL;
>   glformat = GL_DEPTH_STENCIL;
>   gltype = GL_UNSIGNED_INT_24_8;
>   break;
> 
> and for gtype, there also should be no problem according to the code logic.

According to the current code.

If some future change breaks the code, it would pass invalid data at 
runtime instead of giving a compile warning.

> and the fix is just for eliminate the error when DEBUG_FLAGS is enabled.

Looking at the code, does passing --enable-maintainer-flags=no
to configure work around this gcc bug?

cu
Adrian

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed

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


Re: [OE-core] [oe] Git commit process question.

2019-04-03 Thread Burton, Ross
On Tue, 2 Apr 2019 at 20:46, Tom Rini  wrote:
> > The kernel does not have "upgrade foo to the latest upstream version" 
> > commits.
> >
> > With the Automatic Upgrade Helper this is a semi-automatic task, and
> > most of the time there is no specific motivation other than upgrading
> > to the latest upstream version.
>
> But since that's just filling in a template the body can also be a
> template perhaps with useful AUH data (run at ... by ... ?) ?

Apart from making the commit message longer what does this achieve?
The commit already has a timestamp and author.

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


Re: [OE-core] [oe] Git commit process question.

2019-04-03 Thread Alexander Kanavin
Just to make clear, the AUH workflow does require the maintainer to
sign off and edit a commit message via 'git commit -s --reset-author
--amend' for every commit, so AUH does not get in the way of useful
commit messages.

Alex

On Wed, 3 Apr 2019 at 12:31, Burton, Ross  wrote:
>
> On Tue, 2 Apr 2019 at 20:46, Tom Rini  wrote:
> > > The kernel does not have "upgrade foo to the latest upstream version" 
> > > commits.
> > >
> > > With the Automatic Upgrade Helper this is a semi-automatic task, and
> > > most of the time there is no specific motivation other than upgrading
> > > to the latest upstream version.
> >
> > But since that's just filling in a template the body can also be a
> > template perhaps with useful AUH data (run at ... by ... ?) ?
>
> Apart from making the commit message longer what does this achieve?
> The commit already has a timestamp and author.
>
> Ross
> --
> ___
> 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 2/2 V2] gobject-introspection: auto-enable/-disable gobject-introspection for meson

2019-04-03 Thread Andreas Müller
On Mon, Apr 1, 2019 at 6:21 PM Alexander Kanavin  wrote:
>
> On Mon, 1 Apr 2019 at 18:10, Alexander Kanavin  wrote:
>
> > Thanks, may I also ask that you go over the recipes in oe-core that
> > inherit meson, and tweak them to use this option? (there is not a lot,
> > and some don't use g-i at all).
>
> The exact list is:
>
> at-spi2-core
> libsoup-2.4
> gdk-pixbuf
> libmodulemd
> atk
> pango
> libdazzle
> json-glib
> clutter-gtk-1.0.inc
>
> Alex
Some intermediate info:

* adjusted gobject-introspection.bbclass to make flags (true/false or
yes/no ...) overridable and removed configure option whitelisting
* changed the recipes above
* update glib-networking to get gnutls option back

With test builds I get:
* gstreamer1.0-plugins-good complains for unrecognised
'enable-introspection' and 'disable-introspection'. This is odd for
two reasons: Both options enable/disable? gstreamer1.0-plugins-good
complains but has introspection.m4 what is the problem?
* Some recipes in meta-gnome complain for unrecognised options now

To be continued...

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


Re: [OE-core] [yocto] [oe] Git commit process question.

2019-04-03 Thread akuster808


On 4/3/19 3:38 AM, Alexander Kanavin wrote:
> Just to make clear, the AUH workflow does require the maintainer to
> sign off and edit a commit message via 'git commit -s --reset-author
> --amend' for every commit, 
Not sure if this a requirement anymore. Most of my packages got updated
by other folks this time around.  Hard to say if the AUH played a part
or are folks now using the devtool check.
> so AUH does not get in the way of useful
> commit messages.
There was talk of using the AUH to fast track updates that pass the
process so in that case the message would be whatever the AUH provides

- armin
>
> Alex
>
> On Wed, 3 Apr 2019 at 12:31, Burton, Ross  wrote:
>> On Tue, 2 Apr 2019 at 20:46, Tom Rini  wrote:
>> pr
 The kernel does not have "upgrade foo to the latest upstream version" 
 commits.

 With the Automatic Upgrade Helper this is a semi-automatic task, and
 most of the time there is no specific motivation other than upgrading
 to the latest upstream version.
>>> But since that's just filling in a template the body can also be a
>>> template perhaps with useful AUH data (run at ... by ... ?) ?
>> Apart from making the commit message longer what does this achieve?
>> The commit already has a timestamp and author.
>>
>> Ross
>> --
>> ___
>> 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 2/2 V2] gobject-introspection: auto-enable/-disable gobject-introspection for meson

2019-04-03 Thread Alexander Kanavin
On Wed, 3 Apr 2019 at 12:55, Andreas Müller  wrote:
t builds I get:
> * gstreamer1.0-plugins-good complains for unrecognised
> 'enable-introspection' and 'disable-introspection'. This is odd for
> two reasons: Both options enable/disable? gstreamer1.0-plugins-good
> complains but has introspection.m4 what is the problem?

It seems as though gst-plugins-good does not support introspection,
and never did! So you can simply add the option whitelisting to that
recipe specifically.

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


[OE-core] [PATCH] wic/engine: Add missing newline

2019-04-03 Thread Richard Purdie
On some hosts the wic.Wic2.test_wic_cp_ext selftest was failing as files weren't
being copied into the rootfs with "wic cp". This was due to a bug added by:

http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=89d4a8df074598cfb3a76e41db7c45d845afd961

where there should be a second newline added at the end of the expression due
to the difference in the way echo -e and printf behave.

Signed-off-by: Richard Purdie 
---
 scripts/lib/wic/engine.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/lib/wic/engine.py b/scripts/lib/wic/engine.py
index ea600d2854e..ab33fa6042e 100644
--- a/scripts/lib/wic/engine.py
+++ b/scripts/lib/wic/engine.py
@@ -338,7 +338,7 @@ class Disk:
 def copy(self, src, pnum, path):
 """Copy partition image into wic image."""
 if self.partitions[pnum].fstype.startswith('ext'):
-cmd = "printf 'cd {}\nwrite {} {}' | {} -w {}".\
+cmd = "printf 'cd {}\nwrite {} {}\n' | {} -w {}".\
   format(path, src, os.path.basename(src),
  self.debugfs, self._get_part_image(pnum))
 else: # fat
-- 
2.20.1

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


[OE-core] [PATCH] useradd.bbclass: Make sure users/groups exist for package_write_* tasks

2019-04-03 Thread Peter Kjellerstedt
If the populate_lic task and any of the package_write_* tasks need to
run, but the package task can be restored from the sstate cache, then
the fetch task, which is a dependency of populate_lic, will wipe out
the RSS including any users/groups that have been created. This
results in that the package_write_* tasks are run without any
user/group information, which causes them to fallback to either use
the root user for any unknown users/groups (rpm) or to use the numeric
UIDs/GIDs (deb/ipk). Neither solution will yield correct packages.

Signed-off-by: Peter Kjellerstedt 
---
 meta/classes/useradd.bbclass | 18 --
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass
index 124becd082..e32315a1af 100644
--- a/meta/classes/useradd.bbclass
+++ b/meta/classes/useradd.bbclass
@@ -4,7 +4,7 @@ inherit useradd_base
 # target sysroot, and shadow -native and -sysroot provide the utilities
 # and support files needed to add and modify user and group accounts
 DEPENDS_append_class-target = " base-files shadow-native shadow-sysroot shadow 
base-passwd"
-PACKAGE_WRITE_DEPS += "shadow-native"
+PACKAGE_WRITE_DEPS += "shadow-native shadow-sysroot base-passwd"
 
 # This preinstall function can be run in four different contexts:
 #
@@ -144,7 +144,10 @@ python useradd_sysroot_sstate () {
 task = d.getVar("BB_CURRENTTASK")
 if task == "package_setscene":
 bb.build.exec_func("useradd_sysroot", d)
-elif task == "prepare_recipe_sysroot":
+elif (task == "prepare_recipe_sysroot" or
+  task == "package_write_deb" or
+  task == "package_write_ipk" or
+  task == "package_write_rpm"):
 # Used to update this recipe's own sysroot so the user/groups are 
available to do_install
 scriptfile = 
d.expand("${RECIPE_SYSROOT}${bindir}/postinst-useradd-${PN}")
 bb.build.exec_func("useradd_sysroot", d)
@@ -161,13 +164,16 @@ python useradd_sysroot_sstate () {
 os.chmod(scriptfile, 0o755)
 }
 
-do_prepare_recipe_sysroot[postfuncs] += "${SYSROOTFUNC}"
-SYSROOTFUNC_class-target = "useradd_sysroot_sstate"
 SYSROOTFUNC = ""
+SYSROOTFUNC_class-target = "useradd_sysroot_sstate"
 
-SYSROOT_PREPROCESS_FUNCS += "${SYSROOTFUNC}"
+do_prepare_recipe_sysroot[postfuncs] += "${SYSROOTFUNC}"
+do_package_write_deb[prefuncs] += "${SYSROOTFUNC}"
+do_package_write_ipk[prefuncs] += "${SYSROOTFUNC}"
+do_package_write_rpm[prefuncs] += "${SYSROOTFUNC}"
 
-SSTATEPREINSTFUNCS_append_class-target = " useradd_sysroot_sstate"
+SYSROOT_PREPROCESS_FUNCS += "${SYSROOTFUNC}"
+SSTATEPREINSTFUNCS += "${SYSROOTFUNC}"
 
 do_package_setscene[depends] += "${USERADDSETSCENEDEPS}"
 do_populate_sysroot_setscene[depends] += "${USERADDSETSCENEDEPS}"
-- 
2.12.0

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


[OE-core] [thud][PATCH] ghostscript: Fix CVE-2019-3835 and CVE-2019-3838

2019-04-03 Thread Ovidiu Panait
It was found that the superexec operator was available in the internal
dictionary in ghostscript before 9.27. A specially crafted PostScript
file could use this flaw in order to, for example, have access to the
file system outside of the constrains imposed by -dSAFER.

It was found that the forceput operator could be extracted from the
DefineResource method in ghostscript before 9.27. A specially crafted
PostScript file could use this flaw in order to, for example, have
access to the file system outside of the constrains imposed by -dSAFER.

References:
https://nvd.nist.gov/vuln/detail/CVE-2019-3835
https://nvd.nist.gov/vuln/detail/CVE-2019-3838

Upstream patches:
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=779664d
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e8acf6d
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2055917
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d683d1e
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ed9fcd9
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a82601e

Signed-off-by: Ovidiu Panait 
---
 .../ghostscript/CVE-2019-3835-0001.patch  |  99 ++
 .../ghostscript/CVE-2019-3835-0002.patch  |  71 +
 .../ghostscript/CVE-2019-3835-0003.patch  | 295 ++
 .../ghostscript/CVE-2019-3835-0004.patch  | 167 ++
 .../ghostscript/CVE-2019-3838-0001.patch  |  34 ++
 .../ghostscript/CVE-2019-3838-0002.patch  |  30 ++
 .../ghostscript/ghostscript_9.26.bb   |   6 +
 7 files changed, 702 insertions(+)
 create mode 100644 
meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0001.patch
 create mode 100644 
meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0002.patch
 create mode 100644 
meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0003.patch
 create mode 100644 
meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0004.patch
 create mode 100644 
meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3838-0001.patch
 create mode 100644 
meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3838-0002.patch

diff --git 
a/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0001.patch 
b/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0001.patch
new file mode 100644
index 00..30ce04a7b1
--- /dev/null
+++ b/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0001.patch
@@ -0,0 +1,99 @@
+From ad3ad6b389653722507e588c5cb34d8731e49e89 Mon Sep 17 00:00:00 2001
+From: Chris Liddell 
+Date: Mon, 26 Nov 2018 18:01:25 +
+Subject: [PATCH] Have gs_cet.ps run from gs_init.ps
+
+Previously gs_cet.ps was run on the command line, to set up the interpreter
+state so our output more closely matches the example output for the QL CET
+tests.
+
+Allow a -dCETMODE command line switch, which will cause gs_init.ps to run the
+file directly.
+
+This works better for gpdl as it means the changes are made in the intial
+interpreter state, rather than after initialisation is complete.
+
+This also means adding a definition of the default procedure for black
+generation and under color removal (rather it being defined in-line in
+.setdefaultbgucr
+
+Also, add a check so gs_cet.ps only runs once - if we try to run it a second
+time, we'll just skip over the file, flushing through to the end.
+
+CVE: CVE-2019-3835
+Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
+
+Signed-off-by: Ovidiu Panait 
+---
+ Resource/Init/gs_cet.ps  | 11 ++-
+ Resource/Init/gs_init.ps | 13 -
+ 2 files changed, 22 insertions(+), 2 deletions(-)
+
+diff --git a/Resource/Init/gs_cet.ps b/Resource/Init/gs_cet.ps
+index d3e1686..75534bb 100644
+--- a/Resource/Init/gs_cet.ps
 b/Resource/Init/gs_cet.ps
+@@ -1,6 +1,11 @@
+ %!PS
+ % Set defaults for Ghostscript to match Adobe CPSI behaviour for CET
+ 
++systemdict /product get (PhotoPRINT SE 5.0v2) readonly eq
++{
++  (%END GS_CET) .skipeof
++} if
++
+ % do this in the server level so it is persistent across jobs
+ //true 0 startjob not {
+   (*** Warning: CET startup is not in server default) = flush
+@@ -25,7 +30,9 @@ currentglobal //true setglobal
+ 
+ /UNROLLFORMS true def
+ 
+-{ } bind dup
++(%.defaultbgrucrproc) cvn { } bind def
++
++(%.defaultbgrucrproc) cvn load dup
+ setblackgeneration
+ setundercolorremoval
+ 0 array cvx readonly dup dup dup setcolortransfer
+@@ -109,3 +116,5 @@ userdict /.smoothness currentsmoothness put
+ % end of slightly nasty hack to give consistent cluster results
+ 
+ //false 0 startjob pop% re-enter encapsulated mode
++
++%END GS_CET
+diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps
+index 45bebf4..e6b9cd2 100644
+--- a/Resource/Init/gs_init.ps
 b/Resource/Init/gs_init.ps
+@@ -1538,10 +1538,18 @@ setpacking
+   % any-part-of-pixel rule.
+   0.5 .setfilladjust
+ } bind def
++
+ % Set the default screen and BG/UCR.
++% We define the proc here, rather than inline in .setdefaultbgucr
++% for the benefit

Re: [OE-core] [PATCH] useradd.bbclass: Make sure users/groups exist for package_write_* tasks

2019-04-03 Thread Richard Purdie
On Wed, 2019-04-03 at 14:26 +0200, Peter Kjellerstedt wrote:
> If the populate_lic task and any of the package_write_* tasks need to
> run, but the package task can be restored from the sstate cache, then
> the fetch task, which is a dependency of populate_lic, will wipe out
> the RSS including any users/groups that have been created. This
> results in that the package_write_* tasks are run without any
> user/group information, which causes them to fallback to either use
> the root user for any unknown users/groups (rpm) or to use the
> numeric
> UIDs/GIDs (deb/ipk). Neither solution will yield correct packages.
> 
> Signed-off-by: Peter Kjellerstedt 
> ---
>  meta/classes/useradd.bbclass | 18 --
>  1 file changed, 12 insertions(+), 6 deletions(-)
> 
> diff --git a/meta/classes/useradd.bbclass
> b/meta/classes/useradd.bbclass
> index 124becd082..e32315a1af 100644
> --- a/meta/classes/useradd.bbclass
> +++ b/meta/classes/useradd.bbclass
> @@ -4,7 +4,7 @@ inherit useradd_base
>  # target sysroot, and shadow -native and -sysroot provide the
> utilities
>  # and support files needed to add and modify user and group accounts
>  DEPENDS_append_class-target = " base-files shadow-native shadow-
> sysroot shadow base-passwd"
> -PACKAGE_WRITE_DEPS += "shadow-native"
> +PACKAGE_WRITE_DEPS += "shadow-native shadow-sysroot base-passwd"
>  
>  # This preinstall function can be run in four different contexts:
>  #
> @@ -144,7 +144,10 @@ python useradd_sysroot_sstate () {
>  task = d.getVar("BB_CURRENTTASK")
>  if task == "package_setscene":
>  bb.build.exec_func("useradd_sysroot", d)
> -elif task == "prepare_recipe_sysroot":
> +elif (task == "prepare_recipe_sysroot" or
> +  task == "package_write_deb" or
> +  task == "package_write_ipk" or
> +  task == "package_write_rpm"):
>  # Used to update this recipe's own sysroot so the
> user/groups are available to do_install
>  scriptfile = d.expand("${RECIPE_SYSROOT}${bindir}/postinst-
> useradd-${PN}")
>  bb.build.exec_func("useradd_sysroot", d)
> @@ -161,13 +164,16 @@ python useradd_sysroot_sstate () {
>  os.chmod(scriptfile, 0o755)
>  }
>  
> -do_prepare_recipe_sysroot[postfuncs] += "${SYSROOTFUNC}"
> -SYSROOTFUNC_class-target = "useradd_sysroot_sstate"
>  SYSROOTFUNC = ""
> +SYSROOTFUNC_class-target = "useradd_sysroot_sstate"
>  
> -SYSROOT_PREPROCESS_FUNCS += "${SYSROOTFUNC}"
> +do_prepare_recipe_sysroot[postfuncs] += "${SYSROOTFUNC}"
> +do_package_write_deb[prefuncs] += "${SYSROOTFUNC}"
> +do_package_write_ipk[prefuncs] += "${SYSROOTFUNC}"
> +do_package_write_rpm[prefuncs] += "${SYSROOTFUNC}"
>  
> -SSTATEPREINSTFUNCS_append_class-target = " useradd_sysroot_sstate"
> +SYSROOT_PREPROCESS_FUNCS += "${SYSROOTFUNC}"
> +SSTATEPREINSTFUNCS += "${SYSROOTFUNC}"
>  
>  do_package_setscene[depends] += "${USERADDSETSCENEDEPS}"
>  do_populate_sysroot_setscene[depends] += "${USERADDSETSCENEDEPS}"

This may be a bigger problem that just package_write_*.

This feels like a bad thing to do since there may be other tasks which
also rely on the user information being present. This probably only
fixes one corner case but there are likey others :(.

Possible solutions might be:

a) To wipe out all sstate tasks if we're rerunning do_fetch
b) Preserve the user/group information around the cleaning of the
sysroot

I think we may need to fix this generically...

Cheers,

Richard

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


[OE-core] [PATCH] support CONFIG_MODULE_COMPRESS=y

2019-04-03 Thread Jens Rehsack
In case, kernel config enables compressed modules, support of
splitting via split_kernel_module_packages won't find any module.
So, first expand module pattern regex to recognize compressed
modules and then objcopy on temporary extacted to extract module
information.

Signed-off-by: Jens Rehsack 
---
 meta/classes/kernel-module-split.bbclass | 36 +---
 1 file changed, 26 insertions(+), 10 deletions(-)

diff --git a/meta/classes/kernel-module-split.bbclass 
b/meta/classes/kernel-module-split.bbclass
index e8d3eb5105..61819dca99 100644
--- a/meta/classes/kernel-module-split.bbclass
+++ b/meta/classes/kernel-module-split.bbclass
@@ -1,31 +1,31 @@
 pkg_postinst_modules () {
 if [ -z "$D" ]; then
-   depmod -a ${KERNEL_VERSION}
+depmod -a ${KERNEL_VERSION}
 else
-   # image.bbclass will call depmodwrapper after everything is installed,
-   # no need to do it here as well
-   :
+# image.bbclass will call depmodwrapper after everything is installed,
+# no need to do it here as well
+:
 fi
 }
 
 pkg_postrm_modules () {
 if [ -z "$D" ]; then
-   depmod -a ${KERNEL_VERSION}
+depmod -a ${KERNEL_VERSION}
 else
-   depmodwrapper -a -b $D ${KERNEL_VERSION}
+depmodwrapper -a -b $D ${KERNEL_VERSION}
 fi
 }
 
 autoload_postinst_fragment() {
 if [ x"$D" = "x" ]; then
-   modprobe %s || true
+modprobe %s || true
 fi
 }
 
 PACKAGE_WRITE_DEPS += "kmod-native depmodwrapper-cross"
 
 do_install_append() {
-   install -d ${D}${sysconfdir}/modules-load.d/ 
${D}${sysconfdir}/modprobe.d/
+install -d ${D}${sysconfdir}/modules-load.d/ 
${D}${sysconfdir}/modprobe.d/
 }
 
 PACKAGESPLITFUNCS_prepend = "split_kernel_module_packages "
@@ -44,9 +44,23 @@ python split_kernel_module_packages () {
 def extract_modinfo(file):
 import tempfile, subprocess
 tempfile.tempdir = d.getVar("WORKDIR")
+compressed = re.match( r'.*\.([xg])z$', file)
 tf = tempfile.mkstemp()
 tmpfile = tf[1]
-cmd = "%sobjcopy -j .modinfo -O binary %s %s" % 
(d.getVar("HOST_PREFIX") or "", file, tmpfile)
+if compressed:
+tmpkofile = tmpfile + ".ko"
+if compressed.group(1) == 'g':
+cmd = "gunzip -dc %s > %s" % (file, tmpkofile)
+subprocess.check_call(cmd, shell=True)
+elif compressed.group(1) == 'x':
+cmd = "xz -dc %s > %s" % (file, tmpkofile)
+subprocess.check_call(cmd, shell=True)
+else:
+msg = "Cannot decompress '%s'" % file
+raise msg
+cmd = "%sobjcopy -j .modinfo -O binary %s %s" % 
(d.getVar("HOST_PREFIX") or "", tmpkofile, tmpfile)
+else:
+cmd = "%sobjcopy -j .modinfo -O binary %s %s" % 
(d.getVar("HOST_PREFIX") or "", file, tmpfile)
 subprocess.check_call(cmd, shell=True)
 # errors='replace': Some old kernel versions contain invalid utf-8 
characters in mod descriptions (like 0xf6, '??')
 f = open(tmpfile, errors='replace')
@@ -54,6 +68,8 @@ python split_kernel_module_packages () {
 f.close()
 os.close(tf[0])
 os.unlink(tmpfile)
+if compressed:
+os.unlink(tmpkofile)
 vals = {}
 for i in l:
 m = modinfoexp.match(i)
@@ -133,7 +149,7 @@ python split_kernel_module_packages () {
 kernel_package_name = d.getVar("KERNEL_PACKAGE_NAME") or "kernel"
 kernel_version = d.getVar("KERNEL_VERSION")
 
-module_regex = r'^(.*)\.k?o$'
+module_regex = r'^(.*)\.k?o(?:\.[xg]z)?$'
 
 module_pattern_prefix = d.getVar('KERNEL_MODULE_PACKAGE_PREFIX')
 module_pattern_suffix = d.getVar('KERNEL_MODULE_PACKAGE_SUFFIX')
-- 
2.17.1

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


[OE-core] [PATCH] perl-sanity: support cpan versions of core modules

2019-04-03 Thread Jens Rehsack
Most of perl core modules are dual-life modules which exists on CPAN
as well as they do in perl core. Sometime, fixes are uploaded to CPAN
before a new perl is released which contains the fix of the core
module. Also, some modules recent releases aren't fully backported
to earlier releases (out of support, lack of specific feature, ...),
which makes it up to the distribution build to choose between core
or CPAN version, respectively.

Signed-off-by: Jens Rehsack 
---
 .../perl-sanity/perl_5.28.1.bb| 33 +++
 1 file changed, 33 insertions(+)

diff --git a/meta/recipes-devtools/perl-sanity/perl_5.28.1.bb 
b/meta/recipes-devtools/perl-sanity/perl_5.28.1.bb
index 5aa7cd3ee1..e609c056d0 100644
--- a/meta/recipes-devtools/perl-sanity/perl_5.28.1.bb
+++ b/meta/recipes-devtools/perl-sanity/perl_5.28.1.bb
@@ -172,6 +172,39 @@ perl_package_preprocess () {
 ${PKGD}${libdir}/perl5/config.sh
 }
 
+inherit update-alternatives
+
+ALTERNATIVE_PRIORITY = "100"
+
+ALTERNATIVE_${PN} = "corelist cpan enc2xs encguess h2ph h2xs instmodsh json_pp 
libnetcfg \
+ piconv pl2pm pod2html pod2man pod2text pod2usage 
podchecker podselect \
+ prove ptar ptardiff ptargrep shasum splain xsubpp 
zipdetails"
+ALTERNATIVE_LINK_NAME[corelist] = "${bindir}/corelist"
+ALTERNATIVE_LINK_NAME[cpan] = "${bindir}/cpan"
+ALTERNATIVE_LINK_NAME[enc2xs] = "${bindir}/enc2xs"
+ALTERNATIVE_LINK_NAME[encguess] = "${bindir}/encguess"
+ALTERNATIVE_LINK_NAME[h2ph] = "${bindir}/h2ph"
+ALTERNATIVE_LINK_NAME[h2xs] = "${bindir}/h2xs"
+ALTERNATIVE_LINK_NAME[instmodsh] = "${bindir}/instmodsh"
+ALTERNATIVE_LINK_NAME[json_pp] = "${bindir}/json_pp"
+ALTERNATIVE_LINK_NAME[libnetcfg] = "${bindir}/libnetcfg"
+ALTERNATIVE_LINK_NAME[piconv] = "${bindir}/piconv"
+ALTERNATIVE_LINK_NAME[pl2pm] = "${bindir}/pl2pm"
+ALTERNATIVE_LINK_NAME[pod2html] = "${bindir}/pod2html"
+ALTERNATIVE_LINK_NAME[pod2man] = "${bindir}/pod2man"
+ALTERNATIVE_LINK_NAME[pod2text] = "${bindir}/pod2text"
+ALTERNATIVE_LINK_NAME[pod2usage] = "${bindir}/pod2usage"
+ALTERNATIVE_LINK_NAME[podchecker] = "${bindir}/podchecker"
+ALTERNATIVE_LINK_NAME[podselect] = "${bindir}/podselect"
+ALTERNATIVE_LINK_NAME[prove] = "${bindir}/prove"
+ALTERNATIVE_LINK_NAME[ptar] = "${bindir}/ptar"
+ALTERNATIVE_LINK_NAME[ptardiff] = "${bindir}/ptardiff"
+ALTERNATIVE_LINK_NAME[ptargrep] = "${bindir}/ptargrep"
+ALTERNATIVE_LINK_NAME[shasum] = "${bindir}/shasum"
+ALTERNATIVE_LINK_NAME[splain] = "${bindir}/splain"
+ALTERNATIVE_LINK_NAME[xsubpp] = "${bindir}/xsubpp"
+ALTERNATIVE_LINK_NAME[zipdetails] = "${bindir}/zipdetails"
+
 require perl-ptest.inc
 
 FILES_${PN} = "${bindir}/perl ${bindir}/perl.real ${bindir}/perl${PV} 
${libdir}/libperl.so* \
-- 
2.17.1

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


Re: [OE-core] [thud][PATCH] ghostscript: Fix CVE-2019-3835 and CVE-2019-3838

2019-04-03 Thread Burton, Ross
Have all of these been resolved in master?

Ross

On Wed, 3 Apr 2019 at 13:39, Ovidiu Panait  wrote:
>
> It was found that the superexec operator was available in the internal
> dictionary in ghostscript before 9.27. A specially crafted PostScript
> file could use this flaw in order to, for example, have access to the
> file system outside of the constrains imposed by -dSAFER.
>
> It was found that the forceput operator could be extracted from the
> DefineResource method in ghostscript before 9.27. A specially crafted
> PostScript file could use this flaw in order to, for example, have
> access to the file system outside of the constrains imposed by -dSAFER.
>
> References:
> https://nvd.nist.gov/vuln/detail/CVE-2019-3835
> https://nvd.nist.gov/vuln/detail/CVE-2019-3838
>
> Upstream patches:
> http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=779664d
> http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e8acf6d
> http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2055917
> http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d683d1e
> http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ed9fcd9
> http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a82601e
>
> Signed-off-by: Ovidiu Panait 
> ---
>  .../ghostscript/CVE-2019-3835-0001.patch  |  99 ++
>  .../ghostscript/CVE-2019-3835-0002.patch  |  71 +
>  .../ghostscript/CVE-2019-3835-0003.patch  | 295 ++
>  .../ghostscript/CVE-2019-3835-0004.patch  | 167 ++
>  .../ghostscript/CVE-2019-3838-0001.patch  |  34 ++
>  .../ghostscript/CVE-2019-3838-0002.patch  |  30 ++
>  .../ghostscript/ghostscript_9.26.bb   |   6 +
>  7 files changed, 702 insertions(+)
>  create mode 100644 
> meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0001.patch
>  create mode 100644 
> meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0002.patch
>  create mode 100644 
> meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0003.patch
>  create mode 100644 
> meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0004.patch
>  create mode 100644 
> meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3838-0001.patch
>  create mode 100644 
> meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3838-0002.patch
>
> diff --git 
> a/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0001.patch 
> b/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0001.patch
> new file mode 100644
> index 00..30ce04a7b1
> --- /dev/null
> +++ b/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0001.patch
> @@ -0,0 +1,99 @@
> +From ad3ad6b389653722507e588c5cb34d8731e49e89 Mon Sep 17 00:00:00 2001
> +From: Chris Liddell 
> +Date: Mon, 26 Nov 2018 18:01:25 +
> +Subject: [PATCH] Have gs_cet.ps run from gs_init.ps
> +
> +Previously gs_cet.ps was run on the command line, to set up the interpreter
> +state so our output more closely matches the example output for the QL CET
> +tests.
> +
> +Allow a -dCETMODE command line switch, which will cause gs_init.ps to run the
> +file directly.
> +
> +This works better for gpdl as it means the changes are made in the intial
> +interpreter state, rather than after initialisation is complete.
> +
> +This also means adding a definition of the default procedure for black
> +generation and under color removal (rather it being defined in-line in
> +.setdefaultbgucr
> +
> +Also, add a check so gs_cet.ps only runs once - if we try to run it a second
> +time, we'll just skip over the file, flushing through to the end.
> +
> +CVE: CVE-2019-3835
> +Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
> +
> +Signed-off-by: Ovidiu Panait 
> +---
> + Resource/Init/gs_cet.ps  | 11 ++-
> + Resource/Init/gs_init.ps | 13 -
> + 2 files changed, 22 insertions(+), 2 deletions(-)
> +
> +diff --git a/Resource/Init/gs_cet.ps b/Resource/Init/gs_cet.ps
> +index d3e1686..75534bb 100644
> +--- a/Resource/Init/gs_cet.ps
>  b/Resource/Init/gs_cet.ps
> +@@ -1,6 +1,11 @@
> + %!PS
> + % Set defaults for Ghostscript to match Adobe CPSI behaviour for CET
> +
> ++systemdict /product get (PhotoPRINT SE 5.0v2) readonly eq
> ++{
> ++  (%END GS_CET) .skipeof
> ++} if
> ++
> + % do this in the server level so it is persistent across jobs
> + //true 0 startjob not {
> +   (*** Warning: CET startup is not in server default) = flush
> +@@ -25,7 +30,9 @@ currentglobal //true setglobal
> +
> + /UNROLLFORMS true def
> +
> +-{ } bind dup
> ++(%.defaultbgrucrproc) cvn { } bind def
> ++
> ++(%.defaultbgrucrproc) cvn load dup
> + setblackgeneration
> + setundercolorremoval
> + 0 array cvx readonly dup dup dup setcolortransfer
> +@@ -109,3 +116,5 @@ userdict /.smoothness currentsmoothness put
> + % end of slightly nasty hack to give consistent cluster results
> +
> + //false 0 startjob pop% re-enter encapsulated mode
> ++
> ++%END GS_CET
> +diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init

Re: [OE-core] [PATCH] cmake: 3.14.0 -> 3.14.1

2019-04-03 Thread Richard Purdie
On Wed, 2019-04-03 at 09:20 +, Bach, Pascal wrote:
> This patch should also go into warrior as I think we should not ship
> 3.14.0 due to the issue mentioned bellow.

Thanks, will queue this in warrior-next.

Cheers,

Richard

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


Re: [OE-core] [PATCH] support CONFIG_MODULE_COMPRESS=y

2019-04-03 Thread Richard Purdie
On Wed, 2019-04-03 at 15:18 +0200, Jens Rehsack wrote:
> In case, kernel config enables compressed modules, support of
> splitting via split_kernel_module_packages won't find any module.
> So, first expand module pattern regex to recognize compressed
> modules and then objcopy on temporary extacted to extract module
> information.
> 
> Signed-off-by: Jens Rehsack 
> ---
>  meta/classes/kernel-module-split.bbclass | 36 +-
> --
>  1 file changed, 26 insertions(+), 10 deletions(-)

There is a lot of whitespace noise in this, could you clean that up and
resend please?

Cheers,

Richard

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


[OE-core] [PATCH 1/2] resulttool: Allow store to work on single files

2019-04-03 Thread Richard Purdie
Store operations using a single file as a source weren't working as the os.walk
command didn't like being given a single file. Fix the store operation to
work for single files.

Signed-off-by: Richard Purdie 
---
 scripts/lib/resulttool/store.py | 21 -
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/scripts/lib/resulttool/store.py b/scripts/lib/resulttool/store.py
index 5e33716c3dc..3a81933242b 100644
--- a/scripts/lib/resulttool/store.py
+++ b/scripts/lib/resulttool/store.py
@@ -29,15 +29,18 @@ def store(args, logger):
 try:
 results = {}
 logger.info('Reading files from %s' % args.source)
-for root, dirs,  files in os.walk(args.source):
-for name in files:
-f = os.path.join(root, name)
-if name == "testresults.json":
-resultutils.append_resultsdata(results, f)
-elif args.all:
-dst = f.replace(args.source, tempdir + "/")
-os.makedirs(os.path.dirname(dst), exist_ok=True)
-shutil.copyfile(f, dst)
+if os.path.isfile(args.source):
+resultutils.append_resultsdata(results, args.source)
+else:
+for root, dirs,  files in os.walk(args.source):
+for name in files:
+f = os.path.join(root, name)
+if name == "testresults.json":
+resultutils.append_resultsdata(results, f)
+elif args.all:
+dst = f.replace(args.source, tempdir + "/")
+os.makedirs(os.path.dirname(dst), exist_ok=True)
+shutil.copyfile(f, dst)
 
 revisions = {}
 
-- 
2.20.1

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


[OE-core] [PATCH 2/2] resulttool: Allow extraction of ptest data

2019-04-03 Thread Richard Purdie
Rather than simply discarding the ptest data, change the code to discard
it when writing out the new testresult files, or optionally either preserve
it, or write it as seperate discrete logs.

This means the autobuilder should start writing out individual ptest log
files as well as allowing ueers to extract these manually.

Signed-off-by: Richard Purdie 
---
 scripts/lib/resulttool/resultutils.py | 39 +--
 scripts/lib/resulttool/store.py   |  2 +-
 2 files changed, 32 insertions(+), 9 deletions(-)

diff --git a/scripts/lib/resulttool/resultutils.py 
b/scripts/lib/resulttool/resultutils.py
index 153f2b8e107..ad40ac8499d 100644
--- a/scripts/lib/resulttool/resultutils.py
+++ b/scripts/lib/resulttool/resultutils.py
@@ -15,6 +15,7 @@
 import os
 import json
 import scriptpath
+import copy
 scriptpath.add_oe_lib_path()
 
 flatten_map = {
@@ -60,12 +61,6 @@ def append_resultsdata(results, f, configmap=store_map):
 testpath = "/".join(data[res]["configuration"].get(i) for i in 
configmap[testtype])
 if testpath not in results:
 results[testpath] = {}
-if 'ptestresult.rawlogs' in data[res]['result']:
-del data[res]['result']['ptestresult.rawlogs']
-if 'ptestresult.sections' in data[res]['result']:
-for i in data[res]['result']['ptestresult.sections']:
-if 'log' in data[res]['result']['ptestresult.sections'][i]:
-del data[res]['result']['ptestresult.sections'][i]['log']
 results[testpath][res] = data[res]
 
 #
@@ -93,15 +88,43 @@ def filter_resultsdata(results, resultid):
  newresults[r][i] = results[r][i]
 return newresults
 
-def save_resultsdata(results, destdir, fn="testresults.json"):
+def strip_ptestresults(results):
+newresults = copy.deepcopy(results)
+#for a in newresults2:
+#  newresults = newresults2[a]
+for res in newresults:
+if 'result' not in newresults[res]:
+continue
+if 'ptestresult.rawlogs' in newresults[res]['result']:
+del newresults[res]['result']['ptestresult.rawlogs']
+if 'ptestresult.sections' in newresults[res]['result']:
+for i in newresults[res]['result']['ptestresult.sections']:
+if 'log' in 
newresults[res]['result']['ptestresult.sections'][i]:
+del 
newresults[res]['result']['ptestresult.sections'][i]['log']
+return newresults
+
+def save_resultsdata(results, destdir, fn="testresults.json", ptestjson=False, 
ptestlogs=False):
 for res in results:
 if res:
 dst = destdir + "/" + res + "/" + fn
 else:
 dst = destdir + "/" + fn
 os.makedirs(os.path.dirname(dst), exist_ok=True)
+resultsout = results[res]
+if not ptestjson:
+resultsout = strip_ptestresults(results[res])
 with open(dst, 'w') as f:
-f.write(json.dumps(results[res], sort_keys=True, indent=4))
+f.write(json.dumps(resultsout, sort_keys=True, indent=4))
+for res2 in results[res]:
+if ptestlogs and 'result' in results[res][res2]:
+if 'ptestresult.rawlogs' in results[res][res2]['result']:
+with open(dst.replace(fn, "ptest-raw.log"), "w+") as f:
+
f.write(results[res][res2]['result']['ptestresult.rawlogs']['log'])
+if 'ptestresult.sections' in results[res][res2]['result']:
+for i in 
results[res][res2]['result']['ptestresult.sections']:
+if 'log' in 
results[res][res2]['result']['ptestresult.sections'][i]:
+with open(dst.replace(fn, "ptest-%s.log" % i), 
"w+") as f:
+
f.write(results[res][res2]['result']['ptestresult.sections'][i]['log'])
 
 def git_get_result(repo, tags):
 git_objs = []
diff --git a/scripts/lib/resulttool/store.py b/scripts/lib/resulttool/store.py
index 3a81933242b..e4a08075287 100644
--- a/scripts/lib/resulttool/store.py
+++ b/scripts/lib/resulttool/store.py
@@ -68,7 +68,7 @@ def store(args, logger):
 results = revisions[r]
 keywords = {'commit': r[0], 'branch': r[1], "commit_count": r[2]}
 subprocess.check_call(["find", tempdir, "!", "-path", "./.git/*", 
"-delete"])
-resultutils.save_resultsdata(results, tempdir)
+resultutils.save_resultsdata(results, tempdir, ptestlogs=True)
 
 logger.info('Storing test result into git repository %s' % 
args.git_dir)
 
-- 
2.20.1

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


Re: [OE-core] [oe] Git commit process question.

2019-04-03 Thread Tom Rini
On Wed, Apr 03, 2019 at 11:30:39AM +0100, Burton, Ross wrote:
> On Tue, 2 Apr 2019 at 20:46, Tom Rini  wrote:
> > > The kernel does not have "upgrade foo to the latest upstream version" 
> > > commits.
> > >
> > > With the Automatic Upgrade Helper this is a semi-automatic task, and
> > > most of the time there is no specific motivation other than upgrading
> > > to the latest upstream version.
> >
> > But since that's just filling in a template the body can also be a
> > template perhaps with useful AUH data (run at ... by ... ?) ?
> 
> Apart from making the commit message longer what does this achieve?
> The commit already has a timestamp and author.

It's an etiquette thing.  Subject+Sign-off+Empty body is bad form.  AUH
updates are a form of "trivial update" that every project has.  "Update
$X from version $Y to $Z" is what a human would normally put.  It's
weird looking at git log of nothing but subject+signed-off-by.  I'm not
going to object further on this point, but I don't get it.

-- 
Tom


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


[OE-core] [PATCH] libsecret: remove intltool DEPENDS

2019-04-03 Thread Ross Burton
libsecret 0.18.7 removed intltool and now uses pure gettext.

Signed-off-by: Ross Burton 
---
 meta/recipes-gnome/libsecret/libsecret_0.18.7.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-gnome/libsecret/libsecret_0.18.7.bb 
b/meta/recipes-gnome/libsecret/libsecret_0.18.7.bb
index 0061b880533..ba38d107f7a 100644
--- a/meta/recipes-gnome/libsecret/libsecret_0.18.7.bb
+++ b/meta/recipes-gnome/libsecret/libsecret_0.18.7.bb
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = 
"file://COPYING;md5=23c2a5e0106b99d75238986559bb5fc6"
 
 inherit gnomebase gtk-doc vala gobject-introspection manpages
 
-DEPENDS += "glib-2.0 libgcrypt gettext-native intltool-native"
+DEPENDS += "glib-2.0 libgcrypt gettext-native"
 
 PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, 
libxslt-native xmlto-native"
 
-- 
2.11.0

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


[OE-core] [PATCH] utils.py: added sh_quote() function

2019-04-03 Thread Enrico Scholz via Openembedded-core
This function is a wrapper around "shlex.quote()" and can be used in
"${@...}" context where shlex (or pipes, which provides similar
functionality) is unavailable.

Signed-off-by: Enrico Scholz 
---
 meta/lib/oe/utils.py | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta/lib/oe/utils.py b/meta/lib/oe/utils.py
index 3a496090f3..cedd053d36 100644
--- a/meta/lib/oe/utils.py
+++ b/meta/lib/oe/utils.py
@@ -490,3 +490,6 @@ class ImageQAFailed(bb.build.FuncFailed):
 
 return msg
 
+def sh_quote(string):
+import shlex
+return shlex.quote(string)
-- 
2.20.1

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


Re: [OE-core] [oe] Git commit process question.

2019-04-03 Thread Khem Raj
On Wed, Apr 3, 2019 at 7:41 AM Tom Rini  wrote:
>
> On Wed, Apr 03, 2019 at 11:30:39AM +0100, Burton, Ross wrote:
> > On Tue, 2 Apr 2019 at 20:46, Tom Rini  wrote:
> > > > The kernel does not have "upgrade foo to the latest upstream version" 
> > > > commits.
> > > >
> > > > With the Automatic Upgrade Helper this is a semi-automatic task, and
> > > > most of the time there is no specific motivation other than upgrading
> > > > to the latest upstream version.
> > >
> > > But since that's just filling in a template the body can also be a
> > > template perhaps with useful AUH data (run at ... by ... ?) ?
> >
> > Apart from making the commit message longer what does this achieve?
> > The commit already has a timestamp and author.
>
> It's an etiquette thing.  Subject+Sign-off+Empty body is bad form.  AUH
> updates are a form of "trivial update" that every project has.  "Update
> $X from version $Y to $Z" is what a human would normally put.  It's
> weird looking at git log of nothing but subject+signed-off-by.  I'm not
> going to object further on this point, but I don't get it.

if the content of subject is being repeated in body then I would
prefer an empty body
redundant information in commits should be avoided since it can create
impression that body does not have
useful information and skip reading it. We should strive to make commits
concise and useful.
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH v2 1/3] cmake-native: Enable ccmake by default and depend on ncurses

2019-04-03 Thread Khem Raj
On Wed, Apr 3, 2019 at 2:26 AM Bach, Pascal  wrote:
>
> >
> > Enable the building of the curses based ui for cmake. This depends on
> > ncurses.
>
> I think this is acceptable. It might also be useful for people wanting to use 
> ccmake inside an SDK.
>

Adding dependencies do serialize builds and might have penalty on
build time, better is to turn this into a packageconfig
option and keep it disabled by default.

> > Signed-off-by: Nathan Rossi 
> > ---
> > This patch suggests enabling this in the cmake-native recipe, however this
> > might be undesirable for bootstrapping reasons. Whilst ccmake is not used
> > normally the added dependency on ncurses is likely required for other parts
> > of the build so impact on build ordering and time should be relatively
> > minimal.
> >
> > Changes in v2:
> > - None
> > ---
> >  meta/recipes-devtools/cmake/cmake-native_3.14.0.bb | 5 ++---
> >  1 file changed, 2 insertions(+), 3 deletions(-)
> >
> > diff --git a/meta/recipes-devtools/cmake/cmake-native_3.14.0.bb
> > b/meta/recipes-devtools/cmake/cmake-native_3.14.0.bb
> > index fedcf3d4bd..b2952ee5f5 100644
> > --- a/meta/recipes-devtools/cmake/cmake-native_3.14.0.bb
> > +++ b/meta/recipes-devtools/cmake/cmake-native_3.14.0.bb
> > @@ -1,7 +1,7 @@
> >  require cmake.inc
> >  inherit native
> >
> > -DEPENDS += "bzip2-replacement-native expat-native xz-native zlib-native
> > curl-native"
> > +DEPENDS += "bzip2-replacement-native expat-native xz-native zlib-native
> > curl-native ncurses-native"
> >
> >  SRC_URI += "file://OEToolchainConfig.cmake \
> >  file://environment.d-cmake.sh \ @@ -13,10 +13,9 @@ SRC_URI +=
> > "file://OEToolchainConfig.cmake \  B = "${WORKDIR}/build"
> >  do_configure[cleandirs] = "${B}"
> >
> > -# Disable ccmake since we don't depend on ncurses  CMAKE_EXTRACONF =
> > "\
> >  -DCMAKE_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \
> > --DBUILD_CursesDialog=0 \
> > +-DBUILD_CursesDialog=1 \
> >  -DCMAKE_USE_SYSTEM_LIBRARIES=1 \
> >  -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \
> >  -DCMAKE_USE_SYSTEM_LIBRARY_LIBARCHIVE=0 \
> > ---
> > 2.20.1
> > --
> > ___
> > 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
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 2/9] docbook-xml: use xmlcatalog class

2019-04-03 Thread Ross Burton
Instead of shipping a static catalog and patching it for native builds, use
libxml2-native to generate a catalog with the correct paths.

Use the xmlcatalog class to register this catalog automatically.

Signed-off-by: Ross Burton 
---
 .../docbook-xml/docbook-xml-dtd4/docbook-xml.xml   | 68 --
 .../docbook-xml/docbook-xml-dtd4_4.5.bb| 25 
 2 files changed, 12 insertions(+), 81 deletions(-)
 delete mode 100644 
meta/recipes-devtools/docbook-xml/docbook-xml-dtd4/docbook-xml.xml

diff --git a/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4/docbook-xml.xml 
b/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4/docbook-xml.xml
deleted file mode 100644
index b71f559ef53..000
--- a/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4/docbook-xml.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-
-http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd";>
-
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  http://docbook.org/xml/4.4/docbookx.dtd"; 
catalog="file:///usr/share/xml/docbook/schema/dtd/4.4/catalog.xml"/>
-  http://docbook.org/xml/4.1/docbookx.dtd"; 
catalog="file:///usr/share/xml/docbook/schema/dtd/catalog.xml"/>
-  
-  
-  http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"; 
catalog="file:///usr/share/xml/docbook/schema/dtd/4.3/catalog.xml"/>
-  http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"; 
catalog="file:///usr/share/xml/docbook/schema/dtd/4.5/catalog.xml"/>
-  
-  
-  
-  
-  http://docbook.org/xml/4.1.2/docbookx.dtd"; 
catalog="file:///usr/share/xml/docbook/schema/dtd/4.1.2/catalog.xml"/>
-  
-  
-  http://docbook.org/xml/4.5/docbookx.dtd"; 
catalog="file:///usr/share/xml/docbook/schema/dtd/4.5/catalog.xml"/>
-  
-  
-  
-  
-  http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"; 
catalog="file:///usr/share/xml/docbook/schema/dtd/4.1.2/catalog.xml"/>
-  
-  
-  
-  
-  http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"; 
catalog="file:///usr/share/xml/docbook/schema/dtd/4.2/catalog.xml"/>
-  http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd"; 
catalog="file:///usr/share/xml/docbook/schema/dtd/4.0/catalog.xml"/>
-  http://docbook.org/xml/4.2/docbookx.dtd"; 
catalog="file:///usr/share/xml/docbook/schema/dtd/4.2/catalog.xml"/>
-  
-  
-  
-  http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"; 
catalog="file:///usr/share/xml/docbook/schema/dtd/4.4/catalog.xml"/>
-  
-  
-  http://docbook.org/xml/4.3/docbookx.dtd"; 
catalog="file:///usr/share/xml/docbook/schema/dtd/4.3/catalog.xml"/>
-  
-  
-  
-  
-  
-  http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd"; 
catalog="file:///usr/share/xml/docbook/schema/dtd/catalog.xml"/>
-
diff --git a/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb 
b/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb
index da62b77a602..4b6a28e34c3 100644
--- a/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb
+++ b/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb
@@ -8,13 +8,14 @@ HOMEPAGE = "http://www.docbook.org/xml/";
 LICENSE = "OASIS"
 LIC_FILES_CHKSUM = 
"file://${WORKDIR}/LICENSE-OASIS;md5=c608985dd5f7f215e669e7639a0b1d2e"
 
+DEPENDS = "libxml2-native"
+
 # Note: the upstream sources are not distributed with a license file.
 # LICENSE-OASIS is included as a "patch" to workaround this. When
 # upgrading this recipe, please verify whether this is still needed.
 SRC_URI = 
"http://snapshot.debian.org/archive/debian/20160728T043443Z/pool/main/d/docbook-xml/docbook-xml_${PV}.orig.tar.gz
 \
file://LICENSE-OASIS \
file://docbook-xml-update-catalog.xml.patch \
-   file://docbook-xml.xml \
 "
 
 SRC_URI[md5sum] = "487b4d44e15cffb1f4048af23f98208e"
@@ -22,7 +23,7 @@ SRC_URI[sha256sum] = 
"b0f8edcf697f5318e63dd98c9a931f3fee167af0805ba441db372e0f17
 
 UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/d/docbook-xml/"
 
-S="${WORKDIR}/docbook-xml-4.5.c31424"
+S = "${WORKDIR}/docbook-xml-4.5.c31424"
 
 inherit allarch
 BBCLASSEXTEND = "native"
@@ -36,20 +37,18 @@ do_compile (){
 }
 
 do_install () {
-# Refer debian https://packages.debian.org/sid/all/docbook-xml/filelist
+install -d ${D}${sysconfdir}/xml/
+xmlcatalog --create --noout ${D}${sysconfdir}/xml/docbook-xml.xml
+
 for DTDVERSION in 4.0 4.1.2 4.2 4.3 4.4 4.5; do
-install -d -m 755 ${D}${datadir}/xml/docbook/schema/dtd/${DTDVERSION}
-cp -v -R docbook-${DTDVERSION}/* 
${D}${datadir}/xml/docbook/schema/dtd/${DTDVERSION}
+DEST=${datadir}/xml/docbook/schema/dtd/$DTDVERSION
+install -d -m 755 ${D}$DEST
+cp -v -R docbook-$DTDVERSION/* ${D}$DEST
+xmlcatalog --verbose --noout --add nextCatalog unused 
file://$DEST/catalog.xml ${D}${sysconfdir}/xml/docbook-xml.xml
 done
-
-install -d ${D}${sysconfdir}/xml/
-install -m 755  ${WORKDIR}/docbook-xml.xml 
${D}${sysconfdir}/xml/docbook-xml.xml
 }
 
-do_install_append_class-native () {
-   # Ensure that the catalog file s

[OE-core] [PATCH 1/9] xmlcatalog: new class to update the XML catalogue

2019-04-03 Thread Ross Burton
This is a new class to handle recipes that need to add/remove entries in the XML
Catalog(ue)[1].  In the future it will handle updating the catalogue on the
target, but the immediate requirement is during the build so currently this only
works with native recipes.

Note that as this is a new class and target use hasn't been implemented yet, it
is possible that the behaviour of this class will change.

[1] https://en.wikipedia.org/wiki/XML_catalog

Signed-off-by: Ross Burton 
---
 meta/classes/xmlcatalog.bbclass | 22 ++
 1 file changed, 22 insertions(+)
 create mode 100644 meta/classes/xmlcatalog.bbclass

diff --git a/meta/classes/xmlcatalog.bbclass b/meta/classes/xmlcatalog.bbclass
new file mode 100644
index 000..dc63a0beb4d
--- /dev/null
+++ b/meta/classes/xmlcatalog.bbclass
@@ -0,0 +1,22 @@
+XMLCATALOGS ?= ""
+
+DEPENDS_append_class-native = " libxml2-native"
+SYSROOT_PREPROCESS_FUNCS_append = " xmlcatalog_sstate_postinst"
+
+xmlcatalog_complete() {
+   ROOTCATALOG="${STAGING_ETCDIR_NATIVE}/xml/catalog"
+   if [ ! -f \$ROOTCATALOG ]; then
+   xmlcatalog --noout --create \$ROOTCATALOG
+   fi
+   for CATALOG in ${XMLCATALOGS}; do
+   xmlcatalog --noout --add nextCatalog unused file://\$CATALOG 
\$ROOTCATALOG
+   done
+}
+
+xmlcatalog_sstate_postinst() {
+   mkdir -p ${SYSROOT_DESTDIR}${bindir}
+   dest=${SYSROOT_DESTDIR}${bindir}/postinst-${PN}-xmlcatalog
+   echo '#!/bin/sh' > $dest
+   echo "${xmlcatalog_complete}" >> $dest
+   chmod 0755 $dest
+}
-- 
2.11.0

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


[OE-core] [PATCH 3/9] docbook-xsl: neaten documentation

2019-04-03 Thread Ross Burton
Tidy up the install task and don't version the directory under ${docdir}.

Signed-off-by: Ross Burton 
---
 .../recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb | 7 ++-
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git 
a/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb 
b/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb
index 07d32ce9795..036fc15dc9a 100644
--- a/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb
+++ b/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb
@@ -42,14 +42,11 @@ do_install () {
 
ln -s VERSION 
${D}/${datadir}/xml/docbook/xsl-stylesheets-${PV}/VERSION.xsl
 
-   install -v -m644 -D README \
-   ${D}${datadir}/doc/docbook-xsl-${PV}/README.txt
-   install -v -m644RELEASE-NOTES* NEWS* \
-   ${D}${datadir}/doc/docbook-xsl-${PV}
+   install -d ${D}${docdir}/${BPN}
+   install -v -m644 README RELEASE-NOTES* NEWS* ${D}${docdir}/${BPN}
 
install -d ${D}${sysconfdir}/xml/
install -m 755  ${WORKDIR}/docbook-xsl.xml 
${D}${sysconfdir}/xml/docbook-xsl.xml
-
 }
 
 do_install_append_class-native () {
-- 
2.11.0

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


[OE-core] [PATCH 4/9] docbook-xsl: use xmlcatalog

2019-04-03 Thread Ross Burton
There is no need to ship a static catalog that we have to patch, as upstream
comes with a catalog fragment.

Use the xmlcatalog class to register this catalog.

Signed-off-by: Ross Burton 
---
 .../docbook-xsl-stylesheets/docbook-xsl.xml |  6 --
 .../docbook-xml/docbook-xsl-stylesheets_1.79.1.bb   | 21 +++--
 2 files changed, 7 insertions(+), 20 deletions(-)
 delete mode 100644 
meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets/docbook-xsl.xml

diff --git 
a/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets/docbook-xsl.xml 
b/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets/docbook-xsl.xml
deleted file mode 100644
index c60555ae149..000
--- a/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets/docbook-xsl.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd";>
-
-http://docbook.sourceforge.net/release/xsl/"; 
catalog="file:///usr/share/xml/docbook/xsl-stylesheets/catalog.xml"/>
-http://docbook.sourceforge.net/release/xsl/"; 
catalog="file:///usr/share/xml/docbook/xsl-stylesheets/catalog.xml"/>
-
diff --git 
a/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb 
b/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb
index 036fc15dc9a..ff38e874b3e 100644
--- a/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb
+++ b/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb
@@ -4,7 +4,6 @@ LICENSE = "XSL"
 LIC_FILES_CHKSUM = "file://COPYING;md5=6beadd98f9c54ab0c387e14211ee4d0e"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/docbook/docbook-xsl-${PV}.tar.bz2 \
-   file://docbook-xsl.xml \
file://docbook-xsl-stylesheets-no-bashism-in-docbook-xsl-up.patch \
 "
 
@@ -15,10 +14,11 @@ UPSTREAM_CHECK_URI = 
"http://sourceforge.net/projects/docbook/files/docbook-xsl/
 # Reject versions ending in .0 as those are release candidates
 UPSTREAM_CHECK_REGEX = "/docbook-xsl/(?P(\d+[\.\-_]*)+(?!\.0)\.\d+)/"
 
+DEPENDS = "libxml2-native"
+
 S = "${WORKDIR}/docbook-xsl-${PV}"
 
-inherit allarch
-BBCLASSEXTEND = "native"
+inherit allarch xmlcatalog
 
 do_configure (){
:
@@ -29,8 +29,6 @@ do_compile (){
 }
 
 do_install () {
-   # Refer to 
http://www.linuxfromscratch.org/blfs/view/stable/pst/docbook-xsl.html
-   # for details.
install -v -m755 -d ${D}${datadir}/xml/docbook/xsl-stylesheets-${PV}
ln -s xsl-stylesheets-${PV} ${D}${datadir}/xml/docbook/xsl-stylesheets
 
@@ -44,17 +42,12 @@ do_install () {
 
install -d ${D}${docdir}/${BPN}
install -v -m644 README RELEASE-NOTES* NEWS* ${D}${docdir}/${BPN}
-
-   install -d ${D}${sysconfdir}/xml/
-   install -m 755  ${WORKDIR}/docbook-xsl.xml 
${D}${sysconfdir}/xml/docbook-xsl.xml
-}
-
-do_install_append_class-native () {
-   # Ensure that the catalog file sgml-docbook.cat is properly
-   # updated when the package is installed from sstate cache.
-   sed -i -e "s|file://.*/usr/share/xml|file://${datadir}/xml|g" 
${D}${sysconfdir}/xml/docbook-xsl.xml
 }
 
 RDEPENDS_${PN} += "perl"
 FILES_${PN} = "${datadir}/xml/* ${sysconfdir}/xml/docbook-xsl.xml"
 FILES_${PN}-doc = "${datadir}/doc/*"
+
+XMLCATALOGS = "${datadir}/xml/docbook/xsl-stylesheets-${PV}/catalog.xml"
+
+BBCLASSEXTEND = "native"
-- 
2.11.0

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


[OE-core] [PATCH] core-image-sato-sdk-ptest: Fix free space issues causing test failures

2019-04-03 Thread Richard Purdie
Some tests such as strace-ptest require more than the current 500MB of free
space. Increase the amount available, staying under the 4GB limit. We have more
flexibility now since we shrank kernel-devsrc and the comments are out of date
due to that.

This should improve the strace-ptest results and the util-linux ones since
those sort after strace and also hit the space issues as strace-ptest didn't
clean up after itself when failing.

Signed-off-by: Richard Purdie 
---
 meta/recipes-sato/images/core-image-sato-sdk-ptest.bb | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb 
b/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb
index 7e3152b4a11..1027ec03be0 100644
--- a/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb
+++ b/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb
@@ -4,11 +4,12 @@ DESCRIPTION += "Also includes ptest packages."
 
 IMAGE_FEATURES += "ptest-pkgs"
 
-# This image is sufficiently large (~3GB) that it can't actually fit in a live
+# This image is sufficiently large (~1.8GB) that we need to be careful that it 
fits in a live
 # image (which has a 4GB limit), so nullify the overhead factor (1.3x out of 
the
-# box) and explicitly add just 500MB.
+# box) and explicitly add just 1500MB.
+# strace-ptest in particular needs more than 500MB
 IMAGE_OVERHEAD_FACTOR = "1.0"
-IMAGE_ROOTFS_EXTRA_SPACE = "524288"
+IMAGE_ROOTFS_EXTRA_SPACE = "1524288"
 
 # ptests need more memory than standard to avoid the OOM killer
 QB_MEM = "-m 1024"
-- 
2.20.1

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


[OE-core] [PATCH 7/9] xmlto: remove XML catalog

2019-04-03 Thread Ross Burton
Now that docbook-xml and docbook-xsl use the xmlcatalog class, xmlto can stop
shipping a hand-coded catalogue.

It still needs to keep the wrapper so that the sysroot catalog is used instead
of /etc/xml/catalog.  The wrapper is native-specific so mark it as such.

Note that this does effectively break xmlto on the target as the xmlcatalog
class doesn't write a catalog for the target yet, but I'm hoping that nobody
actually uses it on target.

Signed-off-by: Ross Burton 
---
 meta/recipes-devtools/xmlto/files/catalog.xml | 19 ---
 meta/recipes-devtools/xmlto/xmlto_0.0.28.bb   |  7 ++-
 2 files changed, 2 insertions(+), 24 deletions(-)
 delete mode 100644 meta/recipes-devtools/xmlto/files/catalog.xml

diff --git a/meta/recipes-devtools/xmlto/files/catalog.xml 
b/meta/recipes-devtools/xmlto/files/catalog.xml
deleted file mode 100644
index 6b8833d871b..000
--- a/meta/recipes-devtools/xmlto/files/catalog.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd";>
-
-http://docbook.org/xml/"; 
catalog="./docbook-xml.xml"/>
-
-
-
-
-
-
-
-
-
-
-http://www.oasis-open.org/docbook/xml/"; 
catalog="./docbook-xml.xml"/>
-
-http://docbook.sourceforge.net/release/xsl/"; 
catalog="./docbook-xsl.xml"/>
-http://docbook.sourceforge.net/release/xsl/"; 
catalog="./docbook-xsl.xml"/>
-
diff --git a/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb 
b/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb
index 6216d7782be..06dc002083d 100644
--- a/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb
+++ b/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb
@@ -7,7 +7,6 @@ LIC_FILES_CHKSUM = 
"file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
 
 SRC_URI = "https://releases.pagure.org/xmlto/xmlto-${PV}.tar.gz \
file://configure.in-drop-the-test-of-xmllint-and-xsltproc.patch \
-   file://catalog.xml \
 "
 SRC_URI[md5sum] = "a1fefad9d83499a15576768f60f847c6"
 SRC_URI[sha256sum] = 
"2f986b7c9a0e9ac6728147668e776d405465284e13c74d4146c9cbc51fd8aad3"
@@ -32,10 +31,8 @@ BBCLASSEXTEND = "native"
 
 EXTRA_OECONF_append = " BASH=/bin/bash GCP=/bin/cp XMLLINT=xmllint 
XSLTPROC=xsltproc"
 
-do_install_append() {
-install -d ${D}${sysconfdir}/xml/
-install -m 755  ${WORKDIR}/catalog.xml ${D}${sysconfdir}/xml/catalog.xml
-create_wrapper ${D}/${bindir}/xmlto 
XML_CATALOG_FILES=${sysconfdir}/xml/catalog.xml
+do_install_append_class-native() {
+create_wrapper ${D}${bindir}/xmlto 
XML_CATALOG_FILES=${sysconfdir}/xml/catalog
 }
 
 do_populate_sysroot[rdeptask] = "do_populate_sysroot"
-- 
2.11.0

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


[OE-core] [PATCH 9/9] gtk+: update for new catalog path

2019-04-03 Thread Ross Burton
The XML catalogue is now at the canonical path, ${sysconfdir}/xml/catalog.

Signed-off-by: Ross Burton 
---
 meta/recipes-gnome/gtk+/gtk+.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-gnome/gtk+/gtk+.inc b/meta/recipes-gnome/gtk+/gtk+.inc
index 14ed8d812ca..d6d14a79d5a 100644
--- a/meta/recipes-gnome/gtk+/gtk+.inc
+++ b/meta/recipes-gnome/gtk+/gtk+.inc
@@ -26,7 +26,7 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 
'directfb x11', d)}"
 PACKAGECONFIG[x11] = "--with-x=yes 
--with-gdktarget=x11,--with-x=no,${X11DEPENDS}"
 # without --with-gdktarget=directfb it will check for cairo-xlib which isn't 
available without X11 DISTRO_FEATURE
 PACKAGECONFIG[directfb] = "--with-gdktarget=directfb,,directfb"
-PACKAGECONFIG[manpages] = "--enable-man 
--with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog.xml, --disable-man, 
libxslt-native xmlto-native"
+PACKAGECONFIG[manpages] = "--enable-man 
--with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog, --disable-man, 
libxslt-native xmlto-native"
 
 inherit autotools gtk-doc pkgconfig update-alternatives gtk-immodules-cache 
gobject-introspection manpages
 
-- 
2.11.0

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


[OE-core] [PATCH 6/9] asciidoc: use correct XML catalog path

2019-04-03 Thread Ross Burton
Now that docbook-xml and docbook-xsl are writing catalog files, tell
xmllint/xsltproc where the catalog is.

Signed-off-by: Ross Burton 
---
 meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb 
b/meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb
index f684f12dc72..751bf0f19f7 100644
--- a/meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb
+++ b/meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb
@@ -19,7 +19,7 @@ S = "${WORKDIR}/git"
 
 # Tell xmllint where to find the DocBook XML catalogue, because right now it
 # opens /etc/xml/catalog on the host. Depends on auto-catalogs.patch
-export SGML_CATALOG_FILES="file://${STAGING_ETCDIR_NATIVE}/xml/docbook-xml.xml 
file://${STAGING_ETCDIR_NATIVE}/xml/docbook-xsl.xml"
+export SGML_CATALOG_FILES="file://${STAGING_ETCDIR_NATIVE}/xml/catalog"
 
 # Not using automake
 inherit autotools-brokensep
-- 
2.11.0

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


[OE-core] [PATCH 5/9] libxslt: update for new catalog path

2019-04-03 Thread Ross Burton
The XML catalogue is now at the canonical path, ${sysconfdir}/xml/catalog.

Signed-off-by: Ross Burton 
---
 meta/recipes-support/libxslt/libxslt_1.1.33.bb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-support/libxslt/libxslt_1.1.33.bb 
b/meta/recipes-support/libxslt/libxslt_1.1.33.bb
index fd442d44f72..28d404ca779 100644
--- a/meta/recipes-support/libxslt/libxslt_1.1.33.bb
+++ b/meta/recipes-support/libxslt/libxslt_1.1.33.bb
@@ -36,9 +36,9 @@ RPROVIDES_${PN}-bin += "${PN}-utils"
 RCONFLICTS_${PN}-bin += "${PN}-utils"
 RREPLACES_${PN}-bin += "${PN}-utils"
 
-
+# This is only needed until libxml can load the relocated catalog itself
 do_install_append_class-native () {
-create_wrapper ${D}/${bindir}/xsltproc 
XML_CATALOG_FILES=${sysconfdir}/xml/catalog.xml
+create_wrapper ${D}/${bindir}/xsltproc 
XML_CATALOG_FILES=${sysconfdir}/xml/catalog
 }
 
 FILES_${PN} += "${libdir}/libxslt-plugins"
-- 
2.11.0

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


[OE-core] [PATCH 8/9] xmlto: clean up RDEPENDS

2019-04-03 Thread Ross Burton
Because of differences in how RDEPENDS works for native/target, add libxml2 and
libxslt to RDEPENDS (so that native dependencies work), but also add
libxml2-utils (for xmllint) and libxslt-bin (for xsltproc) to target RDEPENDS.

Signed-off-by: Ross Burton 
---
 meta/recipes-devtools/xmlto/xmlto_0.0.28.bb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb 
b/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb
index 06dc002083d..b17c11f5464 100644
--- a/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb
+++ b/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb
@@ -12,16 +12,16 @@ SRC_URI[md5sum] = "a1fefad9d83499a15576768f60f847c6"
 SRC_URI[sha256sum] = 
"2f986b7c9a0e9ac6728147668e776d405465284e13c74d4146c9cbc51fd8aad3"
 
 inherit autotools
-RDEPENDS_class-native = "libxslt-native"
 
-# xmlto needs getopt/xmllint/xsltproc/bash/tail at runtime
 RDEPENDS_${PN} = "docbook-xml-dtd4 \
   docbook-xsl-stylesheets \
   util-linux \
   libxml2 \
+  libxslt \
   bash \
 "
 RDEPENDS_${PN}_append_class-target = " \
+  libxml2-utils \
   libxslt-bin \
   coreutils \
 "
-- 
2.11.0

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


Re: [OE-core] [PATCH] support CONFIG_MODULE_COMPRESS=y

2019-04-03 Thread Jens Rehsack


> Am 03.04.2019 um 15:58 schrieb Richard Purdie 
> :
> 
> On Wed, 2019-04-03 at 15:18 +0200, Jens Rehsack wrote:
>> In case, kernel config enables compressed modules, support of
>> splitting via split_kernel_module_packages won't find any module.
>> So, first expand module pattern regex to recognize compressed
>> modules and then objcopy on temporary extacted to extract module
>> information.
>> 
>> Signed-off-by: Jens Rehsack 
>> ---
>> meta/classes/kernel-module-split.bbclass | 36 +-
>> --
>> 1 file changed, 26 insertions(+), 10 deletions(-)
> 
> There is a lot of whitespace noise in this, could you clean that up and
> resend please?


It's because of s were replaced with spaces - which is reasonable when 
python code is mixed in.
Sure that you want keep the tab's?

Cheers
--
Jens Rehsack - rehs...@gmail.com



signature.asc
Description: Message signed with OpenPGP
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] support CONFIG_MODULE_COMPRESS=y

2019-04-03 Thread richard . purdie
On Wed, 2019-04-03 at 19:05 +0200, Jens Rehsack wrote:
> 
> 
> > Am 03.04.2019 um 15:58 schrieb Richard Purdie <
> > richard.pur...@linuxfoundation.org>:
> > 
> > On Wed, 2019-04-03 at 15:18 +0200, Jens Rehsack wrote:
> > > In case, kernel config enables compressed modules, support of
> > > splitting via split_kernel_module_packages won't find any module.
> > > So, first expand module pattern regex to recognize compressed
> > > modules and then objcopy on temporary extacted to extract module
> > > information.
> > > 
> > > Signed-off-by: Jens Rehsack 
> > > ---
> > > meta/classes/kernel-module-split.bbclass | 36 +
> > > -
> > > --
> > > 1 file changed, 26 insertions(+), 10 deletions(-)
> > 
> > There is a lot of whitespace noise in this, could you clean that up
> > and
> > resend please?
> 
> It's because of s were replaced with spaces - which is
> reasonable when python code is mixed in.
> Sure that you want keep the tab's?

Rightly or wrongly, the style convention for OE-Core is tabs in shell,
spaces in python (I'd prefer not to open that can of worms again right
now).

Whitespace changes need to be in a separate patch to code changes
regardless.

Cheers,

Richard

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


Re: [OE-core] [PATCH 2/2] kernel-fitimage.bbclass: Introduce a way to provide external dtb

2019-04-03 Thread Philip Balister
I appreciate the nagging about testing, but I just did an update and
realized these patches never made it into master so I could request they
move into thud.

Philip

On 02/21/2019 03:37 AM, Richard Purdie wrote:
> On Thu, 2019-02-21 at 03:53 +, Manjukumar Harthikote Matha wrote:
>> From: Richard Purdie [mailto:richard.pur...@linuxfoundation.org]
>>> On Tue, 2019-02-19 at 19:34 +, Manjukumar Harthikote Matha
>>>
> PREFERRED_PROVIDER_virtual/dtb = "devicetree"
>

 Yes, I should have added this in the commit message. I will
 update it
 and re-send V2
>>>
>>> What may also help a lot here would be some tests. This is
>>> currently a blackhole in
>>> the tests :(
>>>
>> Are there examples of having tests only for bbclass in OE-Core? 
> 
> There are. See meta/lib/oeqa/selftest/cases/wic.py
> 
> I appreciate wic is a tool, not a class but the examples there should
> help. You can trigger them with oe-selftest -r wic.
> 
> Another example which is a bbclass is selftest/cases/archiver.py which
> does use a class inherit.
> 
>> We need a recipe or create-one to inherit this class and probably add
>> that as a testcase. 
>> I am not sure how to proceed, any example would help to implement the
>> same
> 
> See above, they show how to add small config fragments. If you do need
> a full recipe, then the meta-selftest layer of OE-Core should be able
> to help too.
> 
> If you have any other questions or run into issues please do ask!
> 
> Cheers,
> 
> Richard
> 
> 
> 
> 
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 0/6] Correct and improve the ARM tunings

2019-04-03 Thread Andre McCurdy
On Tue, Apr 2, 2019 at 11:23 PM Adrian Bunk  wrote:
> On Tue, Apr 02, 2019 at 09:26:46PM +0100, Richard Purdie wrote:
> >...
> > "armv4t" is defined in the arm tune files to mean "add -march=armv4t"
> > which is the convention used throughout all the tune files.
> >...
>
> Unfortunately this is not true.
>
> OE has both armv7a and armv7at tunes.
>
> There is no armv7a without Thumb support,
> so no -march=armv7-at exists in gcc.
>
> Both armv7a and armv7at tunes pass the same march to gcc,
> but [1] is not true:
>   Default to using the Thumb-2 instruction set for armv7a and above.
>
> The hardware supports Thumb-2 in any case, the actual difference between
> the armv7a and armv7at OE tunes is whether OE tells the compiler to
> generate ARM or Thumb-2 code.
>
> OE has both armv6 and armv6t tunes.
>
> There is no armv6 without Thumb support
> so no -march=armv6t exists in gcc.
>
> Some v6 support only Thumb-1 and some v6 support also Thumb-2,
> so what gcc does have is an -march=armv6t2.
> But OE lacks tunes for that.
>
> For matching the gcc options it would be correct to remove all
> armv6t and armv7at tunes that have no coresponding gcc options,
> and add armv6t2 tunes.

Aligning the tuning options exposed via the machine config files to
those supported by gcc seems like a worthy goal... but would be a big
upheaval at this point.

Note that the problem isn't specific to ARM. There are similar issues
for x86, but there we seem happy to provide a very minimal abstraction
with no attempt to track gcc. e.g. "corei7" hasn't been a documented
-march option since gcc 4.8 and we (somewhat arbitrarily) map it to
-march=nehalem to hide that fact from end users.

So the high level question seems to be: should DEFAULTTUNE even
attempt to provide a full featured mapping to the options provided by
gcc? Are we happy to expose a limited subset without a 1:1 mapping for
the options we do expose (current ARM approach) or is it better for
DEFAULTTUNE to hide away all the complexity of the options provided by
gcc (current x86 approach).

> And that's only for the legacy 32bit platforms.
>
> armv8 already has 21 feature modifiers in gcc 9,
> and while not all 2^21 or 3^21[2] combinations are
> valid the old tune approach won't scale for that.
>
> > Cheers,
> >
> > Richard
>
> cu
> Adrian
>
> [1] 
> https://www.yoctoproject.org/docs/2.6/ref-manual/ref-manual.html#migration-2.6-miscellaneous-changes
> [2] enable/disable/default
>
> --
>
>"Is there not promise of rain?" Ling Tan asked suddenly out
> of the darkness. There had been need of rain for many days.
>"Only a promise," Lao Er said.
>Pearl S. Buck - Dragon Seed
>
> --
> ___
> 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/6] Correct and improve the ARM tunings

2019-04-03 Thread Adrian Bunk
On Wed, Apr 03, 2019 at 12:29:29PM -0700, Andre McCurdy wrote:
> On Tue, Apr 2, 2019 at 11:23 PM Adrian Bunk  wrote:
> > On Tue, Apr 02, 2019 at 09:26:46PM +0100, Richard Purdie wrote:
> > >...
> > > "armv4t" is defined in the arm tune files to mean "add -march=armv4t"
> > > which is the convention used throughout all the tune files.
> > >...
> >
> > Unfortunately this is not true.
> >
> > OE has both armv7a and armv7at tunes.
> >
> > There is no armv7a without Thumb support,
> > so no -march=armv7-at exists in gcc.
> >
> > Both armv7a and armv7at tunes pass the same march to gcc,
> > but [1] is not true:
> >   Default to using the Thumb-2 instruction set for armv7a and above.
> >
> > The hardware supports Thumb-2 in any case, the actual difference between
> > the armv7a and armv7at OE tunes is whether OE tells the compiler to
> > generate ARM or Thumb-2 code.
> >
> > OE has both armv6 and armv6t tunes.
> >
> > There is no armv6 without Thumb support
> > so no -march=armv6t exists in gcc.
> >
> > Some v6 support only Thumb-1 and some v6 support also Thumb-2,
> > so what gcc does have is an -march=armv6t2.
> > But OE lacks tunes for that.
> >
> > For matching the gcc options it would be correct to remove all
> > armv6t and armv7at tunes that have no coresponding gcc options,
> > and add armv6t2 tunes.
> 
> Aligning the tuning options exposed via the machine config files to
> those supported by gcc seems like a worthy goal... but would be a big
> upheaval at this point.
> 
> Note that the problem isn't specific to ARM. There are similar issues
> for x86, but there we seem happy to provide a very minimal abstraction
> with no attempt to track gcc. e.g. "corei7" hasn't been a documented
> -march option since gcc 4.8 and we (somewhat arbitrarily) map it to
> -march=nehalem to hide that fact from end users.
> 
> So the high level question seems to be: should DEFAULTTUNE even
> attempt to provide a full featured mapping to the options provided by
> gcc? Are we happy to expose a limited subset without a 1:1 mapping for
> the options we do expose (current ARM approach) or is it better for
> DEFAULTTUNE to hide away all the complexity of the options provided by
> gcc (current x86 approach).

The current 32bit ARM[1] approach seems to be an attempt
of a 1:1 mapping.

For ARMv8 it is already obvious that DEFAULTTUNE is not long-term
maintainable, and duplicating all the gcc rules regarding feature
flags[2] also sounds like a pointless exercise.

What are actually the benefits of DEFAULTTUNE with all the tune files,
compared to just let the user provide a string that is passed to -march?

cu
Adrian

[1] ARM <= v7, not the differing 32bit ABI of ARMv8
[2] example:
'fp16fml'
 Enable FP16 fmla extension.  This also enables FP16 extensions and
 floating-point instructions.  This option is enabled by default for
 '-march=armv8.4-a'.  Use of this option with architectures prior to
 Armv8.2-A is not supported.


-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed

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


Re: [OE-core] [PATCH 0/6] Correct and improve the ARM tunings

2019-04-03 Thread Andre McCurdy
On Wed, Apr 3, 2019 at 1:24 PM Adrian Bunk  wrote:
> On Wed, Apr 03, 2019 at 12:29:29PM -0700, Andre McCurdy wrote:
> > On Tue, Apr 2, 2019 at 11:23 PM Adrian Bunk  wrote:
> > > On Tue, Apr 02, 2019 at 09:26:46PM +0100, Richard Purdie wrote:
> > > >...
> > > > "armv4t" is defined in the arm tune files to mean "add -march=armv4t"
> > > > which is the convention used throughout all the tune files.
> > > >...
> > >
> > > Unfortunately this is not true.
> > >
> > > OE has both armv7a and armv7at tunes.
> > >
> > > There is no armv7a without Thumb support,
> > > so no -march=armv7-at exists in gcc.
> > >
> > > Both armv7a and armv7at tunes pass the same march to gcc,
> > > but [1] is not true:
> > >   Default to using the Thumb-2 instruction set for armv7a and above.
> > >
> > > The hardware supports Thumb-2 in any case, the actual difference between
> > > the armv7a and armv7at OE tunes is whether OE tells the compiler to
> > > generate ARM or Thumb-2 code.
> > >
> > > OE has both armv6 and armv6t tunes.
> > >
> > > There is no armv6 without Thumb support
> > > so no -march=armv6t exists in gcc.
> > >
> > > Some v6 support only Thumb-1 and some v6 support also Thumb-2,
> > > so what gcc does have is an -march=armv6t2.
> > > But OE lacks tunes for that.
> > >
> > > For matching the gcc options it would be correct to remove all
> > > armv6t and armv7at tunes that have no coresponding gcc options,
> > > and add armv6t2 tunes.
> >
> > Aligning the tuning options exposed via the machine config files to
> > those supported by gcc seems like a worthy goal... but would be a big
> > upheaval at this point.
> >
> > Note that the problem isn't specific to ARM. There are similar issues
> > for x86, but there we seem happy to provide a very minimal abstraction
> > with no attempt to track gcc. e.g. "corei7" hasn't been a documented
> > -march option since gcc 4.8 and we (somewhat arbitrarily) map it to
> > -march=nehalem to hide that fact from end users.
> >
> > So the high level question seems to be: should DEFAULTTUNE even
> > attempt to provide a full featured mapping to the options provided by
> > gcc? Are we happy to expose a limited subset without a 1:1 mapping for
> > the options we do expose (current ARM approach) or is it better for
> > DEFAULTTUNE to hide away all the complexity of the options provided by
> > gcc (current x86 approach).
>
> The current 32bit ARM[1] approach seems to be an attempt
> of a 1:1 mapping.
>
> For ARMv8 it is already obvious that DEFAULTTUNE is not long-term
> maintainable, and duplicating all the gcc rules regarding feature
> flags[2] also sounds like a pointless exercise.
>
> What are actually the benefits of DEFAULTTUNE with all the tune files,
> compared to just let the user provide a string that is passed to -march?

Restricting the user to a certain set of DEFAULTTUNE options means
there will always be a valid mapping from DEFAULTTUNE to
PACKAGE_EXTRA_ARCHS.

If we let the user pass an arbitrary string to -march then we lose the
ability to determine that (for example) it's safe for a
"armv7athf-vfpv3" machine to pull from a "armv7athf-vfpv3d16" package
feed.

Whether or not anyone in the real world actually maintains a generic
package feed and pulls from it from multiple machine specific builds
(verses setting up separate package feeds for each DEFAULTTUNE they
care about) would be an interesting question...

> cu
> Adrian
>
> [1] ARM <= v7, not the differing 32bit ABI of ARMv8
> [2] example:
> 'fp16fml'
>  Enable FP16 fmla extension.  This also enables FP16 extensions and
>  floating-point instructions.  This option is enabled by default for
>  '-march=armv8.4-a'.  Use of this option with architectures prior to
>  Armv8.2-A is not supported.
>
>
> --
>
>"Is there not promise of rain?" Ling Tan asked suddenly out
> of the darkness. There had been need of rain for many days.
>"Only a promise," Lao Er said.
>Pearl S. Buck - Dragon Seed
>
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [yocto] [oe] Git commit process question.

2019-04-03 Thread Paul Eggleton
On Thursday, 4 April 2019 5:46:04 AM NZDT Khem Raj wrote:
> On Wed, Apr 3, 2019 at 7:41 AM Tom Rini  wrote:
> >
> > On Wed, Apr 03, 2019 at 11:30:39AM +0100, Burton, Ross wrote:
> > > On Tue, 2 Apr 2019 at 20:46, Tom Rini  wrote:
> > > > > The kernel does not have "upgrade foo to the latest upstream
> > > > > version" commits.
> > > > >
> > > > > With the Automatic Upgrade Helper this is a semi-automatic task, and
> > > > > most of the time there is no specific motivation other than
> > > > > upgrading
> > > > > to the latest upstream version.
> > > >
> > > > But since that's just filling in a template the body can also be a
> > > > template perhaps with useful AUH data (run at ... by ... ?) ?
> > >
> > > Apart from making the commit message longer what does this achieve?
> > > The commit already has a timestamp and author.
> >
> > It's an etiquette thing.  Subject+Sign-off+Empty body is bad form.  AUH
> > updates are a form of "trivial update" that every project has.  "Update
> > $X from version $Y to $Z" is what a human would normally put.  It's
> > weird looking at git log of nothing but subject+signed-off-by.  I'm not
> > going to object further on this point, but I don't get it.
> 
> if the content of subject is being repeated in body then I would
> prefer an empty body
> redundant information in commits should be avoided since it can create
> impression that body does not have
> useful information and skip reading it. We should strive to make commits
> concise and useful.

There is often (I won't say always, but often) something useful you can put in 
the commit message. If it's a recipe upgrade, you could put a pointer to the 
upstream changelog in it, for example. As the person doing the upgrade if your 
prior review of that changelog or other upstream release documentation 
indicated any backwards-compatibility issues or CVEs fixed then those really 
ought to be mentioned as well; if you're feeling especially generous you might 
mention highlights of any new functionality. (I have a proposal that might 
help us automate part of that which I've not yet fully fleshed out, hopefully 
one day soon I will get around to it.)

The issue of empty commit messages is something I've complained about in the 
past, and not just about recipe upgrades. If I - as someone who is relatively 
familiar with OE - have to actually read beyond the shortlog / commit message 
to understand the basics of why a change has been made, then it's likely that 
the commit message wasn't good enough. Unlike other issues, once a commit goes 
in the message is set in stone within the git history, so if you are working 
on a change, *please* take a minute or two to document it adequately in the 
commit message so that others looking back can understand it.

Thanks,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre


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


Re: [OE-core] [yocto] [oe] Git commit process question.

2019-04-03 Thread Khem Raj
On Wed, Apr 3, 2019 at 4:07 PM Paul Eggleton
 wrote:
>
> On Thursday, 4 April 2019 5:46:04 AM NZDT Khem Raj wrote:
> > On Wed, Apr 3, 2019 at 7:41 AM Tom Rini  wrote:
> > >
> > > On Wed, Apr 03, 2019 at 11:30:39AM +0100, Burton, Ross wrote:
> > > > On Tue, 2 Apr 2019 at 20:46, Tom Rini  wrote:
> > > > > > The kernel does not have "upgrade foo to the latest upstream
> > > > > > version" commits.
> > > > > >
> > > > > > With the Automatic Upgrade Helper this is a semi-automatic task, and
> > > > > > most of the time there is no specific motivation other than
> > > > > > upgrading
> > > > > > to the latest upstream version.
> > > > >
> > > > > But since that's just filling in a template the body can also be a
> > > > > template perhaps with useful AUH data (run at ... by ... ?) ?
> > > >
> > > > Apart from making the commit message longer what does this achieve?
> > > > The commit already has a timestamp and author.
> > >
> > > It's an etiquette thing.  Subject+Sign-off+Empty body is bad form.  AUH
> > > updates are a form of "trivial update" that every project has.  "Update
> > > $X from version $Y to $Z" is what a human would normally put.  It's
> > > weird looking at git log of nothing but subject+signed-off-by.  I'm not
> > > going to object further on this point, but I don't get it.
> >
> > if the content of subject is being repeated in body then I would
> > prefer an empty body
> > redundant information in commits should be avoided since it can create
> > impression that body does not have
> > useful information and skip reading it. We should strive to make commits
> > concise and useful.
>
> There is often (I won't say always, but often) something useful you can put in
> the commit message. If it's a recipe upgrade, you could put a pointer to the
> upstream changelog in it, for example. As the person doing the upgrade if your
> prior review of that changelog or other upstream release documentation
> indicated any backwards-compatibility issues or CVEs fixed then those really
> ought to be mentioned as well; if you're feeling especially generous you might
> mention highlights of any new functionality. (I have a proposal that might
> help us automate part of that which I've not yet fully fleshed out, hopefully
> one day soon I will get around to it.)
>
> The issue of empty commit messages is something I've complained about in the
> past, and not just about recipe upgrades. If I - as someone who is relatively
> familiar with OE - have to actually read beyond the shortlog / commit message
> to understand the basics of why a change has been made, then it's likely that
> the commit message wasn't good enough. Unlike other issues, once a commit goes
> in the message is set in stone within the git history, so if you are working
> on a change, *please* take a minute or two to document it adequately in the
> commit message so that others looking back can understand it.
>

Definitely, and I agree that we should put relevant information in
commits, usually
the information about side effects if any, links to changelog etc. are
useful too
however, we should not enforce a behavior which could result in
redundancy as explained

> Thanks,
> Paul
>
> --
>
> Paul Eggleton
> Intel Open Source Technology Centre
>
>
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] cogl: fix compile error with -Werror=maybe-uninitialized

2019-04-03 Thread Changqing Li


On 4/3/19 5:58 PM, Adrian Bunk wrote:

On Wed, Apr 03, 2019 at 10:29:08AM +0800, Changqing Li wrote:

On 4/2/19 7:31 PM, Adrian Bunk wrote:

On Tue, Apr 02, 2019 at 05:08:33PM +0800, changqing...@windriver.com wrote:

From: Changqing Li 

fix below compile error with -Werror=maybe-uninitialized

| ../../cogl-1.22.2/cogl/driver/gl/gles/cogl-driver-gles.c:217:17: error: 
'gltype' may be used uninitialized in this function 
[-Werror=maybe-uninitialized]
|  *out_gltype = gltype;
|  ^~~~
| ../../cogl-1.22.2/cogl/driver/gl/gles/cogl-driver-gles.c:213:22: error: 
'glintformat' may be used uninitialized in this function 
[-Werror=maybe-uninitialized]
|  *out_glintformat = glintformat;
|  ~^
...

Looking at the code, is this a failure that only happens with DEBUG_FLAGS?

Yes, only happen with DEBUG_FLAGS

+--- a/cogl/driver/gl/gles/cogl-driver-gles.c
 b/cogl/driver/gl/gles/cogl-driver-gles.c
+@@ -74,9 +74,9 @@ _cogl_driver_pixel_format_to_gl (CoglContext *context,
+  GLenum *out_gltype)
+ {
+   CoglPixelFormat required_format;
+-  GLenum glintformat;
++  GLenum glintformat = 0;
+   GLenum glformat = 0;
+-  GLenum gltype;
++  GLenum gltype = 0;
...

Assigning random values to variables is a bug,
they do not even seem to be valid values for these variables.

According to code logic,  glformat and glintformat will assigned
simultaneously and usually with same value,

But glformat has an assert later to ensure the 0 doesn't leak anywhere.


and 0 mean invalid pixel format.

For pixel format 0 means COGL_PIXEL_FORMAT_ANY.

For glintformat I don't know what would happen if 0 is used.


[snip]

     case COGL_PIXEL_FORMAT_DEPTH_24_STENCIL_8:
   glintformat = GL_DEPTH_STENCIL;
   glformat = GL_DEPTH_STENCIL;
   gltype = GL_UNSIGNED_INT_24_8;
   break;

and for gtype, there also should be no problem according to the code logic.

According to the current code.

If some future change breaks the code, it would pass invalid data at
runtime instead of giving a compile warning.


and the fix is just for eliminate the error when DEBUG_FLAGS is enabled.

Looking at the code, does passing --enable-maintainer-flags=no
to configure work around this gcc bug


Hi, Adrian

Thanks for your detailed comments. And the future change wrong is 
reasonable, but according to


current code,  seems it can assert from g_assert_not_reached or g_assert 
when glformat/glintformat is not assigned new value.


[snip]

    case xxx

   glformat=xxx

           glintformat=xxx

    case COGL_PIXEL_FORMAT_ANY:
    case COGL_PIXEL_FORMAT_YUV:
  g_assert_not_reached ();
  break;
    }

  /* All of the pixel formats are handled above so if this hits then
 we've been given an invalid pixel format */
  g_assert (glformat != 0);


And also upstream have use same way to fix under 
cogl/driver/gl/gl/cogl-driver-gl.c


https://gitlab.gnome.org/GNOME/cogl/commit/ca5226513eb64bceb38ca01994799c4e7cd9f5fa

so I think we can fix same way under this 
cogl/driver/gl/gles/cogl-driver-gles.c




cu
Adrian


--
BRs

Sandy(Li Changqing)

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


Re: [OE-core] [PATCH] core-image-sato-sdk-ptest: Fix free space issues causing test failures

2019-04-03 Thread akuster808



On 4/3/19 10:04 AM, Richard Purdie wrote:
> Some tests such as strace-ptest require more than the current 500MB of free
> space. Increase the amount available, staying under the 4GB limit. We have 
> more
> flexibility now since we shrank kernel-devsrc and the comments are out of date
> due to that.
Won't this be more of a common issue for any image that pulls in the
same stuff is is not named sato?

- armin
> This should improve the strace-ptest results and the util-linux ones since
> those sort after strace and also hit the space issues as strace-ptest didn't
> clean up after itself when failing.
>
> Signed-off-by: Richard Purdie 
> ---
>  meta/recipes-sato/images/core-image-sato-sdk-ptest.bb | 7 ---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb 
> b/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb
> index 7e3152b4a11..1027ec03be0 100644
> --- a/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb
> +++ b/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb
> @@ -4,11 +4,12 @@ DESCRIPTION += "Also includes ptest packages."
>  
>  IMAGE_FEATURES += "ptest-pkgs"
>  
> -# This image is sufficiently large (~3GB) that it can't actually fit in a 
> live
> +# This image is sufficiently large (~1.8GB) that we need to be careful that 
> it fits in a live
>  # image (which has a 4GB limit), so nullify the overhead factor (1.3x out of 
> the
> -# box) and explicitly add just 500MB.
> +# box) and explicitly add just 1500MB.
> +# strace-ptest in particular needs more than 500MB
>  IMAGE_OVERHEAD_FACTOR = "1.0"
> -IMAGE_ROOTFS_EXTRA_SPACE = "524288"
> +IMAGE_ROOTFS_EXTRA_SPACE = "1524288"
>  
>  # ptests need more memory than standard to avoid the OOM killer
>  QB_MEM = "-m 1024"

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


Re: [OE-core] [PATCH 2/2] kernel-fitimage.bbclass: Introduce a way to provide external dtb

2019-04-03 Thread akuster808


On 4/3/19 10:35 AM, Philip Balister wrote:
> I appreciate the nagging about testing, but I just did an update and
> realized these patches never made it into master so I could request they
> move into thud.
Thud needs testing too, its not just a master thing.

It needs to be in warrior first ; )

Either send me the master/warrior commit ids or send a patch with the
proper subject so its clear to me. 
But this looks like a new feature or am I misunderstanding?

- armin
>
> Philip
>
> On 02/21/2019 03:37 AM, Richard Purdie wrote:
>> On Thu, 2019-02-21 at 03:53 +, Manjukumar Harthikote Matha wrote:
>>> From: Richard Purdie [mailto:richard.pur...@linuxfoundation.org]
 On Tue, 2019-02-19 at 19:34 +, Manjukumar Harthikote Matha

>> PREFERRED_PROVIDER_virtual/dtb = "devicetree"
>>
> Yes, I should have added this in the commit message. I will
> update it
> and re-send V2
 What may also help a lot here would be some tests. This is
 currently a blackhole in
 the tests :(

>>> Are there examples of having tests only for bbclass in OE-Core? 
>> There are. See meta/lib/oeqa/selftest/cases/wic.py
>>
>> I appreciate wic is a tool, not a class but the examples there should
>> help. You can trigger them with oe-selftest -r wic.
>>
>> Another example which is a bbclass is selftest/cases/archiver.py which
>> does use a class inherit.
>>
>>> We need a recipe or create-one to inherit this class and probably add
>>> that as a testcase. 
>>> I am not sure how to proceed, any example would help to implement the
>>> same
>> See above, they show how to add small config fragments. If you do need
>> a full recipe, then the meta-selftest layer of OE-Core should be able
>> to help too.
>>
>> If you have any other questions or run into issues please do ask!
>>
>> Cheers,
>>
>> Richard
>>
>>
>>
>>

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


[OE-core] [PATCH 1/3] resulttool/resultutils: Enable add extra configurations to results

2019-04-03 Thread Yeoh Ee Peng
Current resultutils library always add "TESTSERIES" configuration
to results. Enhance this to allow control of adding "TESTSERIES"
configuration as well as allow adding extra configurations
when needed.

Signed-off-by: Yeoh Ee Peng 
---
 scripts/lib/resulttool/resultutils.py | 19 ---
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/scripts/lib/resulttool/resultutils.py 
b/scripts/lib/resulttool/resultutils.py
index 153f2b8..bfbd381 100644
--- a/scripts/lib/resulttool/resultutils.py
+++ b/scripts/lib/resulttool/resultutils.py
@@ -39,10 +39,12 @@ store_map = {
 "manual": ['TEST_TYPE', 'TEST_MODULE', 'MACHINE', 'IMAGE_BASENAME']
 }
 
+extra_configs = {'TESTSERIES': ''}
+
 #
 # Load the json file and append the results data into the provided results dict
 #
-def append_resultsdata(results, f, configmap=store_map):
+def append_resultsdata(results, f, configmap=store_map, configs=extra_configs):
 if type(f) is str:
 with open(f, "r") as filedata:
 data = json.load(filedata)
@@ -51,12 +53,15 @@ def append_resultsdata(results, f, configmap=store_map):
 for res in data:
 if "configuration" not in data[res] or "result" not in data[res]:
 raise ValueError("Test results data without configuration or 
result section?")
-if "TESTSERIES" not in data[res]["configuration"]:
-data[res]["configuration"]["TESTSERIES"] = 
os.path.basename(os.path.dirname(f))
+for config in configs:
+if config == "TESTSERIES" and "TESTSERIES" not in 
data[res]["configuration"]:
+data[res]["configuration"]["TESTSERIES"] = 
os.path.basename(os.path.dirname(f))
+continue
+if config not in data[res]["configuration"]:
+data[res]["configuration"][config] = configs[config]
 testtype = data[res]["configuration"].get("TEST_TYPE")
 if testtype not in configmap:
 raise ValueError("Unknown test type %s" % testtype)
-configvars = configmap[testtype]
 testpath = "/".join(data[res]["configuration"].get(i) for i in 
configmap[testtype])
 if testpath not in results:
 results[testpath] = {}
@@ -72,16 +77,16 @@ def append_resultsdata(results, f, configmap=store_map):
 # Walk a directory and find/load results data
 # or load directly from a file
 #
-def load_resultsdata(source, configmap=store_map):
+def load_resultsdata(source, configmap=store_map, configs=extra_configs):
 results = {}
 if os.path.isfile(source):
-append_resultsdata(results, source, configmap)
+append_resultsdata(results, source, configmap, configs)
 return results
 for root, dirs, files in os.walk(source):
 for name in files:
 f = os.path.join(root, name)
 if name == "testresults.json":
-append_resultsdata(results, f, configmap)
+append_resultsdata(results, f, configmap, configs)
 return results
 
 def filter_resultsdata(results, resultid):
-- 
2.7.4

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


[OE-core] [PATCH v03] resulttool/merge: enhance merge and control testseries

2019-04-03 Thread Yeoh Ee Peng
v01:
Enable merging results where both base and target are directory. 

v02:
Follow suggestion from RP to reused the existing resultutils code base where it 
will merge results to flat file. 
Refactor resultutils code base to enable merging results where both base and 
target are directory. 
Add control for creation of testseries configuration. 

v03:
Follow suggestion from RP to breakdown the patches to ease reviewing. 
Enable resultutils library to control the adding of "TESTSERIES"
configuration as well as allow adding extra configurations when needed.
Enable store to add "EXECUTED_BY" configuration to track who executed 
each results file. 
Enable merge to control the adding of "TESTSERIES" configuration 
as well as allow adding "EXECUTED_BY" configuration when needed.

Yeoh Ee Peng (3):
  resulttool/resultutils: Enable add extra configurations to results
  resulttool/store: Enable add EXECUTED_BY config to results
  resulttool/merge: Enable control TESTSERIES and extra configurations

 scripts/lib/resulttool/merge.py   | 20 ++--
 scripts/lib/resulttool/resultutils.py | 19 ---
 scripts/lib/resulttool/store.py   |  7 ++-
 3 files changed, 32 insertions(+), 14 deletions(-)

-- 
2.7.4

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


[OE-core] [PATCH 2/3] resulttool/store: Enable add EXECUTED_BY config to results

2019-04-03 Thread Yeoh Ee Peng
Current results stored does not have information needed to trace who
executed the tests. Enable store to add EXECUTED_BY configuration
to results file in order to track who executed the tests.

Signed-off-by: Yeoh Ee Peng 
---
 scripts/lib/resulttool/store.py | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/scripts/lib/resulttool/store.py b/scripts/lib/resulttool/store.py
index 5e33716..7e89692 100644
--- a/scripts/lib/resulttool/store.py
+++ b/scripts/lib/resulttool/store.py
@@ -27,13 +27,16 @@ import oeqa.utils.gitarchive as gitarchive
 def store(args, logger):
 tempdir = tempfile.mkdtemp(prefix='testresults.')
 try:
+configs = resultutils.extra_configs.copy()
+if args.executed_by:
+configs['EXECUTED_BY'] = args.executed_by
 results = {}
 logger.info('Reading files from %s' % args.source)
 for root, dirs,  files in os.walk(args.source):
 for name in files:
 f = os.path.join(root, name)
 if name == "testresults.json":
-resultutils.append_resultsdata(results, f)
+resultutils.append_resultsdata(results, f, configs=configs)
 elif args.all:
 dst = f.replace(args.source, tempdir + "/")
 os.makedirs(os.path.dirname(dst), exist_ok=True)
@@ -96,4 +99,6 @@ def register_commands(subparsers):
   help='include all files, not just 
testresults.json files')
 parser_build.add_argument('-e', '--allow-empty', action='store_true',
   help='don\'t error if no results to store are 
found')
+parser_build.add_argument('-x', '--executed-by', default='',
+  help='add executed-by configuration to each 
result file')
 
-- 
2.7.4

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


[OE-core] [PATCH 3/3] resulttool/merge: Enable control TESTSERIES and extra configurations

2019-04-03 Thread Yeoh Ee Peng
Current QA team need to merge test result files from multiple sources.
Adding TESTSERIES configuration too early will have negative
implication to report and regression. Enable control to add TESTSERIES
when needed. Also enable adding EXECUTED_BY configuration when
needed.

Signed-off-by: Yeoh Ee Peng 
---
 scripts/lib/resulttool/merge.py | 20 ++--
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git a/scripts/lib/resulttool/merge.py b/scripts/lib/resulttool/merge.py
index 3e4b7a3..d40a72d 100644
--- a/scripts/lib/resulttool/merge.py
+++ b/scripts/lib/resulttool/merge.py
@@ -17,16 +17,21 @@ import json
 import resulttool.resultutils as resultutils
 
 def merge(args, logger):
+configs = {}
+if not args.not_add_testseries:
+configs = resultutils.extra_configs.copy()
+if args.executed_by:
+configs['EXECUTED_BY'] = args.executed_by
 if os.path.isdir(args.target_results):
-results = resultutils.load_resultsdata(args.target_results, 
configmap=resultutils.store_map)
-resultutils.append_resultsdata(results, args.base_results, 
configmap=resultutils.store_map)
+results = resultutils.load_resultsdata(args.target_results, 
configmap=resultutils.store_map, configs=configs)
+resultutils.append_resultsdata(results, args.base_results, 
configmap=resultutils.store_map, configs=configs)
 resultutils.save_resultsdata(results, args.target_results)
 else:
-results = resultutils.load_resultsdata(args.base_results, 
configmap=resultutils.flatten_map)
+results = resultutils.load_resultsdata(args.base_results, 
configmap=resultutils.flatten_map, configs=configs)
 if os.path.exists(args.target_results):
-resultutils.append_resultsdata(results, args.target_results, 
configmap=resultutils.flatten_map)
+resultutils.append_resultsdata(results, args.target_results, 
configmap=resultutils.flatten_map, configs=configs)
 resultutils.save_resultsdata(results, 
os.path.dirname(args.target_results), fn=os.path.basename(args.target_results))
-
+logger.info('Merged results to %s' % os.path.dirname(args.target_results))
 return 0
 
 def register_commands(subparsers):
@@ -39,4 +44,7 @@ def register_commands(subparsers):
   help='the results file/directory to import')
 parser_build.add_argument('target_results',
   help='the target file or directory to merge the 
base_results with')
-
+parser_build.add_argument('-t', '--not-add-testseries', 
action='store_true',
+  help='do not add testseries configuration to 
results')
+parser_build.add_argument('-x', '--executed-by', default='',
+  help='add executed-by configuration to each 
result file')
-- 
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/3] cmake-native: Enable ccmake by default and depend on ncurses

2019-04-03 Thread Nathan Rossi
On Thu, 4 Apr 2019 at 03:02, Khem Raj  wrote:
>
> On Wed, Apr 3, 2019 at 2:26 AM Bach, Pascal  wrote:
> >
> > >
> > > Enable the building of the curses based ui for cmake. This depends on
> > > ncurses.
> >
> > I think this is acceptable. It might also be useful for people wanting to 
> > use ccmake inside an SDK.

Just to be clear, this change only affects cmake-native, the recipe
for target/nativesdk is unchanged. Although interestingly the cmake
(target/nativesdk) recipe already depends on ncurses (despite
disabling ccmake).

> >
>
> Adding dependencies do serialize builds and might have penalty on
> build time, better is to turn this into a packageconfig
> option and keep it disabled by default.

I can rework this patch to make it a PACKAGECONFIG option. However the
reason for enabling ccmake by default is due to the addition of the
ccmake bbclass in this series, which relies on having ccmake available
in the native sysroot. Having to override PACKAGECONFIG to use the
ccmake class seemed broken (since it is not particularly a distro
config).

I could not find a good example of this sort of requirement for
configuration for any other bbclass except for maybe
gobject-introspection (which relies on qemu-native configured
correctly to have linux-user for the target).

Another approach I considered to have this working without requiring
the user to setup PACKAGECONFIG would be to have a "ccmake-native"
recipe which built the ccmake binary. But this seemed like it would be
extra maintenance burden compared to this patch which has minimal
build time overhead.

Regards,
Nathan

>
> > > Signed-off-by: Nathan Rossi 
> > > ---
> > > This patch suggests enabling this in the cmake-native recipe, however this
> > > might be undesirable for bootstrapping reasons. Whilst ccmake is not used
> > > normally the added dependency on ncurses is likely required for other 
> > > parts
> > > of the build so impact on build ordering and time should be relatively
> > > minimal.
> > >
> > > Changes in v2:
> > > - None
> > > ---
> > >  meta/recipes-devtools/cmake/cmake-native_3.14.0.bb | 5 ++---
> > >  1 file changed, 2 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/meta/recipes-devtools/cmake/cmake-native_3.14.0.bb
> > > b/meta/recipes-devtools/cmake/cmake-native_3.14.0.bb
> > > index fedcf3d4bd..b2952ee5f5 100644
> > > --- a/meta/recipes-devtools/cmake/cmake-native_3.14.0.bb
> > > +++ b/meta/recipes-devtools/cmake/cmake-native_3.14.0.bb
> > > @@ -1,7 +1,7 @@
> > >  require cmake.inc
> > >  inherit native
> > >
> > > -DEPENDS += "bzip2-replacement-native expat-native xz-native zlib-native
> > > curl-native"
> > > +DEPENDS += "bzip2-replacement-native expat-native xz-native zlib-native
> > > curl-native ncurses-native"
> > >
> > >  SRC_URI += "file://OEToolchainConfig.cmake \
> > >  file://environment.d-cmake.sh \ @@ -13,10 +13,9 @@ SRC_URI +=
> > > "file://OEToolchainConfig.cmake \  B = "${WORKDIR}/build"
> > >  do_configure[cleandirs] = "${B}"
> > >
> > > -# Disable ccmake since we don't depend on ncurses  CMAKE_EXTRACONF =
> > > "\
> > >  -DCMAKE_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \
> > > --DBUILD_CursesDialog=0 \
> > > +-DBUILD_CursesDialog=1 \
> > >  -DCMAKE_USE_SYSTEM_LIBRARIES=1 \
> > >  -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \
> > >  -DCMAKE_USE_SYSTEM_LIBRARY_LIBARCHIVE=0 \
> > > ---
> > > 2.20.1
> > > --
> > > ___
> > > 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
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] sysstat: Fixed the compiling error when configured with '--enable-install-cron'

2019-04-03 Thread Haiqing Bai
Remove the handling of enable/disable sysstat.service self-start in Makefile.in.
The code will trigger below error when cross compiling with
'--enable-install-cron':
| if [ -x "/path/to/sysstat/11.7.1-r0/recipe-sysroot-native/usr/bin/systemctl" 
]; then \
|   /path/to/sysstat/11.7.1-r0/recipe-sysroot-native/usr/bin/systemctl 
enable sysstat.service; \
| fi
| Started /path/to/sysstat/11.7.1-r0/recipe-sysroot-native/usr/bin/systemctl 
enable sysstat.service
| Try to find location of sysstat.service...
| 'sysstat.service' couldn't be found; exiting with error

It's better to let user enable/disable the service with
'systemctl enable/disable sysstat.service'

Signed-off-by: Haiqing Bai 
---
 ...code-of-handling-enable-disable-self-star.patch | 55 ++
 meta/recipes-extended/sysstat/sysstat_11.7.1.bb|  3 +-
 2 files changed, 57 insertions(+), 1 deletion(-)
 create mode 100644 
meta/recipes-extended/sysstat/sysstat/0001-Remove-the-code-of-handling-enable-disable-self-star.patch

diff --git 
a/meta/recipes-extended/sysstat/sysstat/0001-Remove-the-code-of-handling-enable-disable-self-star.patch
 
b/meta/recipes-extended/sysstat/sysstat/0001-Remove-the-code-of-handling-enable-disable-self-star.patch
new file mode 100644
index 000..1d099c9
--- /dev/null
+++ 
b/meta/recipes-extended/sysstat/sysstat/0001-Remove-the-code-of-handling-enable-disable-self-star.patch
@@ -0,0 +1,55 @@
+From 85813d1648b03ba0497635c45e90d7edf4dc204c Mon Sep 17 00:00:00 2001
+From: Haiqing Bai 
+Date: Fri, 29 Mar 2019 11:00:09 +0800
+Subject: [PATCH] Remove the code of handling enable/disable self-start service
+ in Makefile.in
+
+Remove the handling of enable/disable sysstat.service self-start in 
Makefile.in.
+The code will trigger below error when cross compiling with
+'--enable-install-cron':
+| if [ -x "/path/to/sysstat/11.7.1-r0/recipe-sysroot-native/usr/bin/systemctl" 
]; then \
+|   /path/to/sysstat/11.7.1-r0/recipe-sysroot-native/usr/bin/systemctl 
enable sysstat.service; \
+| fi
+| Started /path/to/sysstat/11.7.1-r0/recipe-sysroot-native/usr/bin/systemctl 
enable sysstat.service
+| Try to find location of sysstat.service...
+| 'sysstat.service' couldn't be found; exiting with error
+
+It's better for user to enable/disable the service with
+'systemctl enable/disable sysstat.service'
+
+Upstream-Status: Inappropriate [ embedded specific ]
+
+Signed-off-by: Haiqing Bai 
+---
+ Makefile.in | 8 
+ 1 file changed, 8 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index edaea3f..2186155 100644
+--- a/Makefile.in
 b/Makefile.in
+@@ -454,11 +454,6 @@ endif
+   fi \
+   fi \
+   fi
+-ifeq ($(COPY_ONLY),n)
+-  if [ -x "$(SYSTEMCTL)" ]; then \
+-  $(SYSTEMCTL) enable sysstat.service; \
+-  fi
+-endif
+ 
+ uninstall_man:
+ ifeq ($(INSTALL_DOC),y)
+@@ -541,9 +536,6 @@ ifeq ($(COPY_ONLY),n)
+   @echo "USER'S CRONTAB SAVED IN CURRENT DIRECTORY (USING .old 
SUFFIX)." ; \
+   -su $(CRON_OWNER) -c "crontab -r" ; \
+   fi
+-  if [ -x $(SYSTEMCTL) ]; then \
+-  $(SYSTEMCTL) disable sysstat.service; \
+-  fi
+ endif
+   if [ -n "$(SYSTEMD_UNIT_DIR)" -a -d $(DESTDIR)$(SYSTEMD_UNIT_DIR) ]; 
then \
+   rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/sysstat.service; \
+-- 
+1.9.1
+
diff --git a/meta/recipes-extended/sysstat/sysstat_11.7.1.bb 
b/meta/recipes-extended/sysstat/sysstat_11.7.1.bb
index 86738e7..26be619 100644
--- a/meta/recipes-extended/sysstat/sysstat_11.7.1.bb
+++ b/meta/recipes-extended/sysstat/sysstat_11.7.1.bb
@@ -2,7 +2,8 @@ require sysstat.inc
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb"
 
-SRC_URI += "file://0001-Include-needed-headers-explicitly.patch"
+SRC_URI += "file://0001-Include-needed-headers-explicitly.patch \
+   file://0001-Remove-the-code-of-handling-enable-disable-self-star.patch"
 
 SRC_URI[md5sum] = "bdcda7c9048c7c22fb1f30f75285d13d"
 SRC_URI[sha256sum] = 
"303a595b1af0330b183a0f1febfccf89f183b9575ae0562b91fdb876f3ef1feb"
-- 
1.9.1

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


Re: [OE-core] [PATCH v2 1/3] cmake-native: Enable ccmake by default and depend on ncurses

2019-04-03 Thread Khem Raj
On Wed, Apr 3, 2019 at 8:28 PM Nathan Rossi  wrote:
>
> On Thu, 4 Apr 2019 at 03:02, Khem Raj  wrote:
> >
> > On Wed, Apr 3, 2019 at 2:26 AM Bach, Pascal  wrote:
> > >
> > > >
> > > > Enable the building of the curses based ui for cmake. This depends on
> > > > ncurses.
> > >
> > > I think this is acceptable. It might also be useful for people wanting to 
> > > use ccmake inside an SDK.
>
> Just to be clear, this change only affects cmake-native, the recipe
> for target/nativesdk is unchanged. Although interestingly the cmake
> (target/nativesdk) recipe already depends on ncurses (despite
> disabling ccmake).
>
> > >
> >
> > Adding dependencies do serialize builds and might have penalty on
> > build time, better is to turn this into a packageconfig
> > option and keep it disabled by default.
>
> I can rework this patch to make it a PACKAGECONFIG option. However the
> reason for enabling ccmake by default is due to the addition of the
> ccmake bbclass in this series, which relies on having ccmake available
> in the native sysroot. Having to override PACKAGECONFIG to use the
> ccmake class seemed broken (since it is not particularly a distro
> config).
>
> I could not find a good example of this sort of requirement for
> configuration for any other bbclass except for maybe
> gobject-introspection (which relies on qemu-native configured
> correctly to have linux-user for the target).
>
> Another approach I considered to have this working without requiring
> the user to setup PACKAGECONFIG would be to have a "ccmake-native"
> recipe which built the ccmake binary. But this seemed like it would be
> extra maintenance burden compared to this patch which has minimal
> build time overhead.
>

this seems fine, if the number of recipes needing this bbclass are far less than
one the needing cmake bbclass.

> Regards,
> Nathan
>
> >
> > > > Signed-off-by: Nathan Rossi 
> > > > ---
> > > > This patch suggests enabling this in the cmake-native recipe, however 
> > > > this
> > > > might be undesirable for bootstrapping reasons. Whilst ccmake is not 
> > > > used
> > > > normally the added dependency on ncurses is likely required for other 
> > > > parts
> > > > of the build so impact on build ordering and time should be relatively
> > > > minimal.
> > > >
> > > > Changes in v2:
> > > > - None
> > > > ---
> > > >  meta/recipes-devtools/cmake/cmake-native_3.14.0.bb | 5 ++---
> > > >  1 file changed, 2 insertions(+), 3 deletions(-)
> > > >
> > > > diff --git a/meta/recipes-devtools/cmake/cmake-native_3.14.0.bb
> > > > b/meta/recipes-devtools/cmake/cmake-native_3.14.0.bb
> > > > index fedcf3d4bd..b2952ee5f5 100644
> > > > --- a/meta/recipes-devtools/cmake/cmake-native_3.14.0.bb
> > > > +++ b/meta/recipes-devtools/cmake/cmake-native_3.14.0.bb
> > > > @@ -1,7 +1,7 @@
> > > >  require cmake.inc
> > > >  inherit native
> > > >
> > > > -DEPENDS += "bzip2-replacement-native expat-native xz-native zlib-native
> > > > curl-native"
> > > > +DEPENDS += "bzip2-replacement-native expat-native xz-native zlib-native
> > > > curl-native ncurses-native"
> > > >
> > > >  SRC_URI += "file://OEToolchainConfig.cmake \
> > > >  file://environment.d-cmake.sh \ @@ -13,10 +13,9 @@ SRC_URI 
> > > > +=
> > > > "file://OEToolchainConfig.cmake \  B = "${WORKDIR}/build"
> > > >  do_configure[cleandirs] = "${B}"
> > > >
> > > > -# Disable ccmake since we don't depend on ncurses  CMAKE_EXTRACONF =
> > > > "\
> > > >  -DCMAKE_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \
> > > > --DBUILD_CursesDialog=0 \
> > > > +-DBUILD_CursesDialog=1 \
> > > >  -DCMAKE_USE_SYSTEM_LIBRARIES=1 \
> > > >  -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \
> > > >  -DCMAKE_USE_SYSTEM_LIBRARY_LIBARCHIVE=0 \
> > > > ---
> > > > 2.20.1
> > > > --
> > > > ___
> > > > 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
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH v2 1/3] cmake-native: Enable ccmake by default and depend on ncurses

2019-04-03 Thread Nathan Rossi
On Thu, 4 Apr 2019 at 13:48, Khem Raj  wrote:
>
> On Wed, Apr 3, 2019 at 8:28 PM Nathan Rossi  wrote:
> >
> > On Thu, 4 Apr 2019 at 03:02, Khem Raj  wrote:
> > >
> > > On Wed, Apr 3, 2019 at 2:26 AM Bach, Pascal  
> > > wrote:
> > > >
> > > > >
> > > > > Enable the building of the curses based ui for cmake. This depends on
> > > > > ncurses.
> > > >
> > > > I think this is acceptable. It might also be useful for people wanting 
> > > > to use ccmake inside an SDK.
> >
> > Just to be clear, this change only affects cmake-native, the recipe
> > for target/nativesdk is unchanged. Although interestingly the cmake
> > (target/nativesdk) recipe already depends on ncurses (despite
> > disabling ccmake).
> >
> > > >
> > >
> > > Adding dependencies do serialize builds and might have penalty on
> > > build time, better is to turn this into a packageconfig
> > > option and keep it disabled by default.
> >
> > I can rework this patch to make it a PACKAGECONFIG option. However the
> > reason for enabling ccmake by default is due to the addition of the
> > ccmake bbclass in this series, which relies on having ccmake available
> > in the native sysroot. Having to override PACKAGECONFIG to use the
> > ccmake class seemed broken (since it is not particularly a distro
> > config).
> >
> > I could not find a good example of this sort of requirement for
> > configuration for any other bbclass except for maybe
> > gobject-introspection (which relies on qemu-native configured
> > correctly to have linux-user for the target).
> >
> > Another approach I considered to have this working without requiring
> > the user to setup PACKAGECONFIG would be to have a "ccmake-native"
> > recipe which built the ccmake binary. But this seemed like it would be
> > extra maintenance burden compared to this patch which has minimal
> > build time overhead.
> >
>
> this seems fine, if the number of recipes needing this bbclass are far less 
> than
> one the needing cmake bbclass.

Just to clarify, are you suggesting that making a ccmake-native recipe
would be fine? Or that requiring the PACKAGECONFIG setup would be
acceptable/preferred?

Thanks,
Nathan

>
> > Regards,
> > Nathan
> >
> > >
> > > > > Signed-off-by: Nathan Rossi 
> > > > > ---
> > > > > This patch suggests enabling this in the cmake-native recipe, however 
> > > > > this
> > > > > might be undesirable for bootstrapping reasons. Whilst ccmake is not 
> > > > > used
> > > > > normally the added dependency on ncurses is likely required for other 
> > > > > parts
> > > > > of the build so impact on build ordering and time should be relatively
> > > > > minimal.
> > > > >
> > > > > Changes in v2:
> > > > > - None
> > > > > ---
> > > > >  meta/recipes-devtools/cmake/cmake-native_3.14.0.bb | 5 ++---
> > > > >  1 file changed, 2 insertions(+), 3 deletions(-)
> > > > >
> > > > > diff --git a/meta/recipes-devtools/cmake/cmake-native_3.14.0.bb
> > > > > b/meta/recipes-devtools/cmake/cmake-native_3.14.0.bb
> > > > > index fedcf3d4bd..b2952ee5f5 100644
> > > > > --- a/meta/recipes-devtools/cmake/cmake-native_3.14.0.bb
> > > > > +++ b/meta/recipes-devtools/cmake/cmake-native_3.14.0.bb
> > > > > @@ -1,7 +1,7 @@
> > > > >  require cmake.inc
> > > > >  inherit native
> > > > >
> > > > > -DEPENDS += "bzip2-replacement-native expat-native xz-native 
> > > > > zlib-native
> > > > > curl-native"
> > > > > +DEPENDS += "bzip2-replacement-native expat-native xz-native 
> > > > > zlib-native
> > > > > curl-native ncurses-native"
> > > > >
> > > > >  SRC_URI += "file://OEToolchainConfig.cmake \
> > > > >  file://environment.d-cmake.sh \ @@ -13,10 +13,9 @@ 
> > > > > SRC_URI +=
> > > > > "file://OEToolchainConfig.cmake \  B = "${WORKDIR}/build"
> > > > >  do_configure[cleandirs] = "${B}"
> > > > >
> > > > > -# Disable ccmake since we don't depend on ncurses  CMAKE_EXTRACONF =
> > > > > "\
> > > > >  -DCMAKE_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \
> > > > > --DBUILD_CursesDialog=0 \
> > > > > +-DBUILD_CursesDialog=1 \
> > > > >  -DCMAKE_USE_SYSTEM_LIBRARIES=1 \
> > > > >  -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \
> > > > >  -DCMAKE_USE_SYSTEM_LIBRARY_LIBARCHIVE=0 \
> > > > > ---
> > > > > 2.20.1
> > > > > --
> > > > > ___
> > > > > 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
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] libgcc: Create linux-musleabihf and linux-gnueabihf symlinks

2019-04-03 Thread Khem Raj
When we have hard-float ABI enabled, certain tools e.g. llvm/clang
expects the hf version of tuples for crt files from libgcc, therefore
create a symlink to help the cause.

This makes clang work with hard-float defaults on target

Signed-off-by: Khem Raj 
---
 meta/recipes-devtools/gcc/libgcc.inc | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/meta/recipes-devtools/gcc/libgcc.inc 
b/meta/recipes-devtools/gcc/libgcc.inc
index e4e0c48007..e008d14f36 100644
--- a/meta/recipes-devtools/gcc/libgcc.inc
+++ b/meta/recipes-devtools/gcc/libgcc.inc
@@ -11,6 +11,13 @@ do_install_append_class-target () {
esac
ln -s ${TARGET_SYS} 
${D}${libdir}/${TARGET_ARCH}${TARGET_VENDOR}-$extra_target_os
fi
+   if [ -n "${@ bb.utils.contains('TUNE_CCARGS_MFLOAT', 'hard', 'hf', '', 
d)}" ]; then
+   case "${TARGET_OS}" in
+   "linux-musleabi") extra_target_os="linux-musleabihf";;
+   "linux-gnueabi") extra_target_os="linux-gnueabihf";;
+   esac
+   ln -s ${TARGET_SYS} 
${D}${libdir}/${TARGET_ARCH}${TARGET_VENDOR}-$extra_target_os
+   fi
 }
 
 PACKAGES = "\
-- 
2.21.0

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


[OE-core] [PATCH] asciidoc: disable xmllint check

2019-04-03 Thread mingli.yu
From: Mingli Yu 

asciidoc-native build with below error when
there is no xmllint program located on build
host:
| python3 a2x.py -f manpage doc/asciidoc.1.txt
| a2x: ERROR: "xmllint" --nonet --noout --valid 
"/build/tmp/work/x86_64-linux/asciidoc-native/8.6.9+py3-gitAUTOINC+618f6e6f6b-r0/git/doc/asciidoc.1.xml"
 returned non-zero exit status 4
|
| Makefile:110: recipe for target 'doc/asciidoc.1' failed

Considering it's only used to check the xml format
of the doc file as doc/asciidoc.1.txt, so disable
xmllint check to fix the above issue.

Signed-off-by: Mingli Yu 
---
 meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb   |  4 ++-
 .../0001-Makefile.in-disable-xmllint-check.patch   | 38 ++
 2 files changed, 41 insertions(+), 1 deletion(-)
 create mode 100644 
meta/recipes-extended/asciidoc/files/0001-Makefile.in-disable-xmllint-check.patch

diff --git a/meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb 
b/meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb
index d0d1517..7e00b34 100644
--- a/meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb
+++ b/meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb
@@ -8,7 +8,9 @@ LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
 file://COPYRIGHT;md5=029ad5428ba5efa20176b396222d4069"
 
-SRC_URI = "git://github.com/asciidoc/asciidoc-py3;protocol=https"
+SRC_URI = "git://github.com/asciidoc/asciidoc-py3;protocol=https \
+   file://0001-Makefile.in-disable-xmllint-check.patch \
+"
 SRCREV = "618f6e6f6b558ed1e5f2588cd60a5a6b4f881ca0"
 PV .= "+py3-git${SRCPV}"
 
diff --git 
a/meta/recipes-extended/asciidoc/files/0001-Makefile.in-disable-xmllint-check.patch
 
b/meta/recipes-extended/asciidoc/files/0001-Makefile.in-disable-xmllint-check.patch
new file mode 100644
index 000..4c0dd6d
--- /dev/null
+++ 
b/meta/recipes-extended/asciidoc/files/0001-Makefile.in-disable-xmllint-check.patch
@@ -0,0 +1,38 @@
+From 242e58f16c129f5983d6b32d493619cc4f87703e Mon Sep 17 00:00:00 2001
+From: Mingli Yu 
+Date: Thu, 4 Apr 2019 13:38:10 +0800
+Subject: [PATCH] Makefile.in: disable xmllint check
+
+asciidoc-native build with below error when
+there is no xmllint program located on build
+host:
+| python3 a2x.py -f manpage doc/asciidoc.1.txt
+| a2x: ERROR: "xmllint" --nonet --noout --valid 
"/build/tmp/work/x86_64-linux/asciidoc-native/8.6.9+py3-gitAUTOINC+618f6e6f6b-r0/git/doc/asciidoc.1.xml"
 returned non-zero exit status 4
+|
+| Makefile:110: recipe for target 'doc/asciidoc.1' failed
+
+So disable xmllint check to fix the above issue.
+
+Upstream-Status: Inappropriate [oe build specific]
+
+Signed-off-by: Mingli Yu 
+---
+ Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index ffba3b5..fb95fab 100644
+--- a/Makefile.in
 b/Makefile.in
+@@ -107,7 +107,7 @@ $(DATATARGETS): % : %dir
+   $(INSTALL_DATA) $($@) $(DESTDIR)/$($<)/
+ 
+ $(manp): %.1 : %.1.txt
+-  python3 a2x.py -f manpage $<
++  python3 a2x.py -L -f manpage $<
+ 
+ docs:
+   $(INSTALL) -d $(DESTDIR)/$(docdir)
+-- 
+2.7.4
+
-- 
2.7.4

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


Re: [OE-core] [thud][PATCH] ghostscript: Fix CVE-2019-3835 and CVE-2019-3838

2019-04-03 Thread Ovidiu Panait

On 03.04.2019 16:34, Burton, Ross wrote:


Have all of these been resolved in master?

Ross


No, these have not been resolved in master. Ghostscript version on 
master is 9.26 and the fixes come from 9.27, which hasn't been released yet.


I only sent them for thud since I remember that on master is preferred 
to upgrade to a newer version when it's available instead of backporting 
fixes.


Ovidiu



On Wed, 3 Apr 2019 at 13:39, Ovidiu Panait  wrote:

It was found that the superexec operator was available in the internal
dictionary in ghostscript before 9.27. A specially crafted PostScript
file could use this flaw in order to, for example, have access to the
file system outside of the constrains imposed by -dSAFER.

It was found that the forceput operator could be extracted from the
DefineResource method in ghostscript before 9.27. A specially crafted
PostScript file could use this flaw in order to, for example, have
access to the file system outside of the constrains imposed by -dSAFER.

References:
https://nvd.nist.gov/vuln/detail/CVE-2019-3835
https://nvd.nist.gov/vuln/detail/CVE-2019-3838

Upstream patches:
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=779664d
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e8acf6d
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2055917
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d683d1e
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ed9fcd9
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a82601e

Signed-off-by: Ovidiu Panait 
---
  .../ghostscript/CVE-2019-3835-0001.patch  |  99 ++
  .../ghostscript/CVE-2019-3835-0002.patch  |  71 +
  .../ghostscript/CVE-2019-3835-0003.patch  | 295 ++
  .../ghostscript/CVE-2019-3835-0004.patch  | 167 ++
  .../ghostscript/CVE-2019-3838-0001.patch  |  34 ++
  .../ghostscript/CVE-2019-3838-0002.patch  |  30 ++
  .../ghostscript/ghostscript_9.26.bb   |   6 +
  7 files changed, 702 insertions(+)
  create mode 100644 
meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0001.patch
  create mode 100644 
meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0002.patch
  create mode 100644 
meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0003.patch
  create mode 100644 
meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0004.patch
  create mode 100644 
meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3838-0001.patch
  create mode 100644 
meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3838-0002.patch

diff --git 
a/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0001.patch 
b/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0001.patch
new file mode 100644
index 00..30ce04a7b1
--- /dev/null
+++ b/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0001.patch
@@ -0,0 +1,99 @@
+From ad3ad6b389653722507e588c5cb34d8731e49e89 Mon Sep 17 00:00:00 2001
+From: Chris Liddell 
+Date: Mon, 26 Nov 2018 18:01:25 +
+Subject: [PATCH] Have gs_cet.ps run from gs_init.ps
+
+Previously gs_cet.ps was run on the command line, to set up the interpreter
+state so our output more closely matches the example output for the QL CET
+tests.
+
+Allow a -dCETMODE command line switch, which will cause gs_init.ps to run the
+file directly.
+
+This works better for gpdl as it means the changes are made in the intial
+interpreter state, rather than after initialisation is complete.
+
+This also means adding a definition of the default procedure for black
+generation and under color removal (rather it being defined in-line in
+.setdefaultbgucr
+
+Also, add a check so gs_cet.ps only runs once - if we try to run it a second
+time, we'll just skip over the file, flushing through to the end.
+
+CVE: CVE-2019-3835
+Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
+
+Signed-off-by: Ovidiu Panait 
+---
+ Resource/Init/gs_cet.ps  | 11 ++-
+ Resource/Init/gs_init.ps | 13 -
+ 2 files changed, 22 insertions(+), 2 deletions(-)
+
+diff --git a/Resource/Init/gs_cet.ps b/Resource/Init/gs_cet.ps
+index d3e1686..75534bb 100644
+--- a/Resource/Init/gs_cet.ps
 b/Resource/Init/gs_cet.ps
+@@ -1,6 +1,11 @@
+ %!PS
+ % Set defaults for Ghostscript to match Adobe CPSI behaviour for CET
+
++systemdict /product get (PhotoPRINT SE 5.0v2) readonly eq
++{
++  (%END GS_CET) .skipeof
++} if
++
+ % do this in the server level so it is persistent across jobs
+ //true 0 startjob not {
+   (*** Warning: CET startup is not in server default) = flush
+@@ -25,7 +30,9 @@ currentglobal //true setglobal
+
+ /UNROLLFORMS true def
+
+-{ } bind dup
++(%.defaultbgrucrproc) cvn { } bind def
++
++(%.defaultbgrucrproc) cvn load dup
+ setblackgeneration
+ setundercolorremoval
+ 0 array cvx readonly dup dup dup setcolortransfer
+@@ -109,3 +116,5 @@ userdict /.smoothness currentsmoothness put
+ % end of slightly nasty hack to give consistent cluster results
+
+ //false