Re: [OE-core] [PATCH 4/9] ovmf: deploy firmware in image directory

2017-01-09 Thread Patrick Ohly
On Mon, 2017-01-09 at 19:50 -0800, Ricardo Neri wrote:
> On Wed, 2017-01-04 at 11:01 +0100, Patrick Ohly wrote:
> > On Wed, 2016-12-28 at 13:38 -0800, Ricardo Neri wrote:
> > > >  do_install_class-target() {
> > > > -OVMF_DIR_SUFFIX="X64"
> > > > -if [ "${TARGET_ARCH}" != "x86_64" ] ; then
> > > > -OVMF_DIR_SUFFIX="Ia32" # Note the different capitalization
> > > > -fi
> > > > +# Traditional location.
> > > >  install -d ${D}${datadir}/ovmf
> > > > +install -m 0755 ${WORKDIR}/ovmf/OVMF.fd 
> > > > ${D}${datadir}/ovmf/bios.bin
> > > 
> > > Now that I think about it. Installing here does not sever any purpose.
> > > Thus, I think this can be removed by perhaps doing do_install[noexec] =
> > > "1"
> > 
> > I was trying not to break traditional usage patterns. If we keep the
> > "bios" runqemu parameters, then we should also keep the bios.bin file.
> 
> I think OVMF is not a traditional recipe. There are two use cases to
> ponder. 1) a Yocto Project disk image wants to include OVMF along with
> qemu to run a VM from the YP image. 2) we want to run a YP image in a
> host system. I am not sure if someone is interested in 1) and I think
> your use case and LUV's is 2). I think that putting things in the deploy
> directory makes more sense because, as you said, these images will be
> written to. I reckon the the "bios" parameters in runqemu should look
> there. This is not a must for this patchset but something nice to have.

Okay, so let's remove that "traditional location" already in this patch
set. I still want to keep the "bios" parameters in runqemu (because they
might have some other uses), but for OVMF, the only supported approach
will be via the "ovmf" parameters and the deploy directory.

-- 
Best Regards, Patrick Ohly

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



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


Re: [OE-core] [PATCH 8/9] runqemu: support UEFI with OVMF firmware

2017-01-09 Thread Patrick Ohly
On Mon, 2017-01-09 at 19:50 -0800, Ricardo Neri wrote:
> On Wed, 2017-01-04 at 10:43 +0100, Patrick Ohly wrote:
> > To
> > test that supporting separate code and variables also works, I've
> > implemented that locally so that ovmf.fd ovmf_secboot.fd, ovmf_code.fd,
> > ovmf_secboot_code.fd and ovmf_vars.fd get deployed and runqemu supports
> > more than one "ovmf" parameter - this worked nicely. Full change below.
> 
> ... Now that you have took the time to prototype the solution, we could
> put it to use.
> 
> > 
> > Now that I've implemented it, I wonder whether it would be worth
> > submitting that as part of rev2 of this patch series. Any opinions?
> > 
> > diff --git a/meta/recipes-core/ovmf/ovmf_git.bb 
> > b/meta/recipes-core/ovmf/ovmf_git.bb
> > index ef61b16..391274b 100644
> > --- a/meta/recipes-core/ovmf/ovmf_git.bb
> > +++ b/meta/recipes-core/ovmf/ovmf_git.bb
> > @@ -125,6 +125,8 @@ do_compile_class-target() {
> >  rm -rf ${S}/Build/Ovmf$OVMF_DIR_SUFFIX
> >  ${S}/OvmfPkg/build.sh $PARALLEL_JOBS -a $OVMF_ARCH -b RELEASE -t 
> > ${FIXED_GCCVER}
> >  ln ${build_dir}/FV/OVMF.fd ${WORKDIR}/ovmf/OVMF.fd
> > +ln ${build_dir}/FV/OVMF_CODE.fd ${WORKDIR}/ovmf/OVMF.code.fd
> > +ln ${build_dir}/FV/OVMF_VARS.fd ${WORKDIR}/ovmf/OVMF.vars.fd
> >  
> >  # See CryptoPkg/Library/OpensslLib/Patch-HOWTO.txt and
> >  # https://src.fedoraproject.org/cgit/rpms/edk2.git/tree/ for
> > @@ -137,6 +139,7 @@ do_compile_class-target() {
> >  ( cd ${S}/CryptoPkg/Library/OpensslLib/ && ./Install.sh )
> >  ${S}/OvmfPkg/build.sh $PARALLEL_JOBS -a $OVMF_ARCH -b RELEASE -t 
> > ${FIXED_GCCVER} ${OVMF_SECURE_BOOT_FLAGS}
> >  ln ${build_dir}/FV/OVMF.fd ${WORKDIR}/ovmf/OVMF.secboot.fd
> > +ln ${build_dir}/FV/OVMF_CODE.fd ${WORKDIR}/ovmf/OVMF.code.secboot.fd
> >  for i in Shell.efi EnrollDefaultKeys.efi; do
> >  ln ${build_dir}/${OVMF_ARCH}/$i ${WORKDIR}/ovmf/$i
> >  done
> > @@ -170,8 +173,9 @@ do_deploy() {
> >  }
> >  do_deploy_class-target() {
> >  # For use with "runqemu ovmf".
> > -qemu-img convert -f raw -O qcow2 ${WORKDIR}/ovmf/OVMF.fd 
> > ${DEPLOYDIR}/ovmf.qcow2
> > -qemu-img convert -f raw -O qcow2 ${WORKDIR}/ovmf/OVMF.secboot.fd 
> > ${DEPLOYDIR}/ovmf.secboot.qcow2
> > +for i in OVMF OVMF.secboot OVMF.code OVMF.vars OVMF.code.secboot; do
> > +qemu-img convert -f raw -O qcow2 ${WORKDIR}/ovmf/$i.fd 
> > ${DEPLOYDIR}/`echo $i | tr A-Z a-z`.qcow2
> 
> Will this preserve any previous OVMF_vars.fd that might exist in the
> directory.

No, it will overwrite ovmf.vars.qcow2 and any variables stored in that
get lost. That is consistent with rebuilding the disk image: a user who
wants to have a "persistent" virtual machine must copy the relevant file
and then use the full file paths. In this case, that means invoking
runqemu with the file path to the copy of ovmf.vars.qcow2 instead of
just "ovmf.vars".

> >  if self.ovmf_bios:
> > -print('OVMF: [%s]' % self.ovmf_bios)
> > +print('OVMF: %s' % self.ovmf_bios)
> 
> Is there a reason to remove the brackets here?

self.ovmf_bios is a list, so formatting it as string will add the
brackets. I found that more readable than the (from a semantic point of
view more correct) double brackets: [['.../ovmf.code.qcow2',
'.../ovmf.vars.qcow2']]

> > +for ovmf in self.ovmf_bios:
> > +format = ovmf.rsplit('.', 1)[-1]
> > +self.qemu_opt += ' -drive if=pflash,format=%s,file=%s' % 
> > (format, ovmf)
> >  if self.ovmf_bios:
> > -format = self.ovmf_bios.rsplit('.', 1)[-1]
> > -self.qemu_opt += ' -drive if=pflash,format=%s,file=%s' % 
> > (format, self.ovmf_bios)
> >  # OVMF only supports normal VGA, i.e. we need to override a 
> > -vga vmware
> >  # that gets added for example for normal qemux86.
> >  self.qemu_opt += ' -vga std'
> > 
> > 
> I think this solution looks good as having separate file does not pose
> an extra hassle in the user: the recipe builds all that is needed and
> runqemu takes all that it needs.

But not automatically. "runqemu ovmf" would expand "ovmf" to
tmp/deploy/images/.../ovmf.qcow2 and thus use the combined file while
"runqemu ovmf.code ovmf.vars" tells runqemu that it is supposed to use
two flash drives, one with the code and one with the variables.


>  If in the future people shows an
> interest in having unified images, maybe that can be added as another
> PACKAGECONFIG?

As the unified code+vars is slightly easier to use, I'd prefer to keep
it around and just offer both. That's not such a big deal in terms of
performance and disk usage.


-- 
Best Regards, Patrick Ohly

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



-- 
___

Re: [OE-core] [PATCH 4/9] ovmf: deploy firmware in image directory

2017-01-09 Thread Ricardo Neri
On Wed, 2017-01-04 at 11:01 +0100, Patrick Ohly wrote:
> On Wed, 2016-12-28 at 13:38 -0800, Ricardo Neri wrote:
> > >  do_install_class-target() {
> > > -OVMF_DIR_SUFFIX="X64"
> > > -if [ "${TARGET_ARCH}" != "x86_64" ] ; then
> > > -OVMF_DIR_SUFFIX="Ia32" # Note the different capitalization
> > > -fi
> > > +# Traditional location.
> > >  install -d ${D}${datadir}/ovmf
> > > +install -m 0755 ${WORKDIR}/ovmf/OVMF.fd ${D}${datadir}/ovmf/bios.bin
> > 
> > Now that I think about it. Installing here does not sever any purpose.
> > Thus, I think this can be removed by perhaps doing do_install[noexec] =
> > "1"
> 
> I was trying not to break traditional usage patterns. If we keep the
> "bios" runqemu parameters, then we should also keep the bios.bin file.

I think OVMF is not a traditional recipe. There are two use cases to
ponder. 1) a Yocto Project disk image wants to include OVMF along with
qemu to run a VM from the YP image. 2) we want to run a YP image in a
host system. I am not sure if someone is interested in 1) and I think
your use case and LUV's is 2). I think that putting things in the deploy
directory makes more sense because, as you said, these images will be
written to. I reckon the the "bios" parameters in runqemu should look
there. This is not a must for this patchset but something nice to have.

Thanks and BR,
Ricardo

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


Re: [OE-core] [PATCH 6/9] ovmf_git.bb: enable Secure Boot

2017-01-09 Thread Ricardo Neri
On Wed, 2017-01-04 at 11:10 +0100, Patrick Ohly wrote:
> On Wed, 2016-12-28 at 14:54 -0800, Ricardo Neri wrote:
> > On Wed, 2016-12-21 at 14:11 +0100, Patrick Ohly wrote:
> > > The recipe now compiles OVMF twice, once without Secure Boot, once
> > > with. This is the same approach as in
> > > https://src.fedoraproject.org/cgit/rpms/edk2.git/tree/edk2.spec
> > 
> > Besides the fact that Fedora does it, is there a particular reason to
> > build twice?
> 
> The ${build_dir}/FV/OVMF.fd file changes depending on the configuration.
> There's only one such file after a build.
> 
> >  On my side, I am able to build with secure boot with a
> > single build. Also, the Ubuntu documentation does not mention that two
> > builds are needed [1].
> 
> Can you build with and without secure boot in a single build? I wasn't
> sure how to achieve that, so I just copied what Fedora does.

Oh I see, I didn't understand in your commit message that you intend to
keep the secure boot and the non-secure boot images. Then it makes sense
to build twice.
> 
> > Also, I think it would be nice if we could choose between to not have
> > secure boot at all for OVMF. Maybe this could be achieved by having a
> > common ovmf.inc and two ovmf_git.bb and ovmf_sb_git.bb with the
> > different the specific things to support secure boot or not. Maybe all
> > that is needed in the secure boot recipe are the extra variables for
> > OpenSSL and a prepend to do_compile_class-target with the OpenSSL
> > patching. Something to ponder.
> 
> I think I would prefer to have a single recipe with a PACKAGECONFIG for
> secure boot. Having different recipes doesn't scale when adding more
> such options. If you agree, then I'll add that.

Yes, I agree that a PACKAGECONFIG makes more sense.
> 
> > > +( cd ${S}/CryptoPkg/Library/OpensslLib/ && ./Install.sh )
> > > +${S}/OvmfPkg/build.sh $PARALLEL_JOBS -a $OVMF_ARCH -b RELEASE -t 
> > > ${FIXED_GCCVER} ${OVMF_SECURE_BOOT_FLAGS}
> > > +ln ${build_dir}/FV/OVMF.fd ${WORKDIR}/ovmf/OVMF.secboot.fd
> > 
> > At this point both ${WORKDIR}/ovmf/OVMF.secboot.fd and
> > ${WORKDIR}/ovmf/OVMF.fd will be linked to the same OVMF.fd with secure
> > boot support. Maybe this could be fixed by copying the files rather than
> > creating a symbolic link.
> 
> This is intentionally a hardlink, not a symbolic link, exactly because
> of the problem you mentioned ;-)

Oh, a hardlink. I see now. Thanks for clarifying.
> 


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


Re: [OE-core] [PATCH 8/9] runqemu: support UEFI with OVMF firmware

2017-01-09 Thread Ricardo Neri
On Wed, 2017-01-04 at 10:43 +0100, Patrick Ohly wrote:
> On Wed, 2016-12-28 at 15:33 -0800, Ricardo Neri wrote:
> > On Wed, 2016-12-21 at 14:11 +0100, Patrick Ohly wrote:
> > > +# File name of a OVMF BIOS file, to be added with -drive
> > > if=pflash.
> > > +# Found in the same places as the rootfs, with or without one
> > > of
> > > +# these suffices: qcow2, bin.
> > > +# Setting one also adds "-vga std" because that is all that
> > > +# OVMF supports.
> > > +self.ovmf_bios = ''
> > 
> > runqemu has the options biosdir and biosfilename. Although the log for
> > these options was lost when the script was migrated to python,
> 
> You probably mean this:
> http://git.openembedded.org/openembedded-core/commit/?id=d302f5683dd736ac4cd4b601a046d22000d41e68
> http://git.openembedded.org/openembedded-core/commit/?id=29c9e6f44541b7f8731e21e9d1a0adca9da28e37
> 
> >  the
> > motivation of adding these options was to use OVMF. It uses the -L and
> > -bios options of qemu. To my knowledge, the only custom bios at the
> > moment is OVMF. Thus, you would ponder either removing or tweaking these
> > options with your approach; which makes more sense to me.
> 
> I have no personal opinion about the usefulness of the "biosdir" and
> "biosfilename" options. Just looking at what they do, they might have
> value also when not using OVMF (for example, the "VGA BIOS" that is
> mentioned in the first commit). But if no-one is actually using these
> options, then they should indeed be removed to simplify runqemu.
> 
> The problem just is to determine whether they are used :-/ As I don't
> know, I'd prefer to keep them for now and remove them separately.

This makes sense.
> 
> Regarding the approach that I proposed for the "ovmf" file(s): what's
> your opinion about that? I was a bit worried that too much "magic" is
> involved here (special keyword that expands to files and sets -vga), but
> it is convenient and quite naturally supports additional use cases
> (explicitly selecting files at non-standard locations, separate code and
> variable files).
> 
> Regarding that last argument: in the current patch series, only the
> combined ovmf.fd gets deployed and I argued that this is sufficient. 

It would be certainly enough for me :) as in most of my use cases I
always test brand new images without any variables in it. Also, you
kindly included facilitiesto lockdown the image. I can't speak for other
people but this is more than enough for me. If you pursue this path,
perhaps you can include a big warning in the recipe saying that people
will lose their variables if they rebuild OVMF. On the other hand...

> To
> test that supporting separate code and variables also works, I've
> implemented that locally so that ovmf.fd ovmf_secboot.fd, ovmf_code.fd,
> ovmf_secboot_code.fd and ovmf_vars.fd get deployed and runqemu supports
> more than one "ovmf" parameter - this worked nicely. Full change below.

... Now that you have took the time to prototype the solution, we could
put it to use.

> 
> Now that I've implemented it, I wonder whether it would be worth
> submitting that as part of rev2 of this patch series. Any opinions?
> 
> diff --git a/meta/recipes-core/ovmf/ovmf_git.bb 
> b/meta/recipes-core/ovmf/ovmf_git.bb
> index ef61b16..391274b 100644
> --- a/meta/recipes-core/ovmf/ovmf_git.bb
> +++ b/meta/recipes-core/ovmf/ovmf_git.bb
> @@ -125,6 +125,8 @@ do_compile_class-target() {
>  rm -rf ${S}/Build/Ovmf$OVMF_DIR_SUFFIX
>  ${S}/OvmfPkg/build.sh $PARALLEL_JOBS -a $OVMF_ARCH -b RELEASE -t 
> ${FIXED_GCCVER}
>  ln ${build_dir}/FV/OVMF.fd ${WORKDIR}/ovmf/OVMF.fd
> +ln ${build_dir}/FV/OVMF_CODE.fd ${WORKDIR}/ovmf/OVMF.code.fd
> +ln ${build_dir}/FV/OVMF_VARS.fd ${WORKDIR}/ovmf/OVMF.vars.fd
>  
>  # See CryptoPkg/Library/OpensslLib/Patch-HOWTO.txt and
>  # https://src.fedoraproject.org/cgit/rpms/edk2.git/tree/ for
> @@ -137,6 +139,7 @@ do_compile_class-target() {
>  ( cd ${S}/CryptoPkg/Library/OpensslLib/ && ./Install.sh )
>  ${S}/OvmfPkg/build.sh $PARALLEL_JOBS -a $OVMF_ARCH -b RELEASE -t 
> ${FIXED_GCCVER} ${OVMF_SECURE_BOOT_FLAGS}
>  ln ${build_dir}/FV/OVMF.fd ${WORKDIR}/ovmf/OVMF.secboot.fd
> +ln ${build_dir}/FV/OVMF_CODE.fd ${WORKDIR}/ovmf/OVMF.code.secboot.fd
>  for i in Shell.efi EnrollDefaultKeys.efi; do
>  ln ${build_dir}/${OVMF_ARCH}/$i ${WORKDIR}/ovmf/$i
>  done
> @@ -170,8 +173,9 @@ do_deploy() {
>  }
>  do_deploy_class-target() {
>  # For use with "runqemu ovmf".
> -qemu-img convert -f raw -O qcow2 ${WORKDIR}/ovmf/OVMF.fd 
> ${DEPLOYDIR}/ovmf.qcow2
> -qemu-img convert -f raw -O qcow2 ${WORKDIR}/ovmf/OVMF.secboot.fd 
> ${DEPLOYDIR}/ovmf.secboot.qcow2
> +for i in OVMF OVMF.secboot OVMF.code OVMF.vars OVMF.code.secboot; do
> +qemu-img convert -f raw -O qcow2 ${WORKDIR}/ovmf/$i.fd 
> ${DEPLOYDIR}/`echo $i | tr A-Z a-z`.qcow2

Will this preserve any previous OVMF_vars.fd that might exist in the
directory.

Re: [OE-core] [PATCH 2/2] selftest/buildoptions.py: do not hardcode 'tmp' for TMPDIR

2017-01-09 Thread ChenQi

On 01/09/2017 06:35 PM, Burton, Ross wrote:


On 9 January 2017 at 07:09, Chen Qi > wrote:


-pkgs_path = g.glob(str(self.builddir) +
"/tmp/deploy/sources/allarch*/xcurs*")
+tmp_dir = get_bb_var('TMPDIR')
+pkgs_path = g.glob(str(tmp_dir) +
"/deploy/sources/allarch*/xcurs*")


I think you meant DEPLOY_DIR_SRC :)

Ross



Thanks.

I've sent out a new patchset. The title is "[PATCH 0/2] selftest: fix 
path assumption".


And the remote branch is also changed to:

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


Best Regards,

Chen Qi

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


[OE-core] [PATCH 1/2] selftest/bbtests.py: fix path assumption for LICENSE_DIRECTORY

2017-01-09 Thread Chen Qi
Fix path assumption for LICENSE_DIRECTORY, otherwise, the test case
may fail even if the functionality it tests works well.

Signed-off-by: Chen Qi 
---
 meta/lib/oeqa/selftest/bbtests.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/meta/lib/oeqa/selftest/bbtests.py 
b/meta/lib/oeqa/selftest/bbtests.py
index 08cc401..c4e50cb 100644
--- a/meta/lib/oeqa/selftest/bbtests.py
+++ b/meta/lib/oeqa/selftest/bbtests.py
@@ -235,8 +235,9 @@ INHERIT_remove = \"report-error\"
 self.addCleanup(ftools.remove_from_file, conf ,data)
 result = bitbake('readline', ignore_status=True)
 self.assertEqual(result.status, 0, "Bitbake failed, exit code %s, 
output %s" % (result.status, result.output))
-self.assertFalse(os.path.isfile(os.path.join(self.builddir, 
'tmp/deploy/licenses/readline/generic_GPLv3')))
-self.assertTrue(os.path.isfile(os.path.join(self.builddir, 
'tmp/deploy/licenses/readline/generic_GPLv2')))
+lic_dir = get_bb_var('LICENSE_DIRECTORY')
+self.assertFalse(os.path.isfile(os.path.join(lic_dir, 
'readline/generic_GPLv3')))
+self.assertTrue(os.path.isfile(os.path.join(lic_dir, 
'readline/generic_GPLv2')))
 
 @testcase(1422)
 def test_setscene_only(self):
-- 
1.9.1

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


[OE-core] [PATCH 2/2] selftest/buildoptions.py: fix path assumption for DEPLOY_DIR_SRC

2017-01-09 Thread Chen Qi
Fix path assumption for DEPLOY_DIR_SRC, otherwise, the testcase may fail
even if the functionality works well.

Signed-off-by: Chen Qi 
---
 meta/lib/oeqa/selftest/buildoptions.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/meta/lib/oeqa/selftest/buildoptions.py 
b/meta/lib/oeqa/selftest/buildoptions.py
index 25d14f7..95fd2f0 100644
--- a/meta/lib/oeqa/selftest/buildoptions.py
+++ b/meta/lib/oeqa/selftest/buildoptions.py
@@ -197,7 +197,8 @@ class ArchiverTest(oeSelfTest):
 self.write_config("INHERIT += \"archiver\"\nARCHIVER_MODE[src] = 
\"original\"\nARCHIVER_MODE[srpm] = \"1\"")
 res = bitbake("xcursor-transparent-theme", ignore_status=True)
 self.assertEqual(res.status, 0, "\nCouldn't build 
xcursortransparenttheme.\nbitbake output %s" % res.output)
-pkgs_path = g.glob(str(self.builddir) + 
"/tmp/deploy/sources/allarch*/xcurs*")
+deploy_dir_src = get_bb_var('DEPLOY_DIR_SRC')
+pkgs_path = g.glob(str(deploy_dir_src) + "/allarch*/xcurs*")
 src_file_glob = str(pkgs_path[0]) + "/xcursor*.src.rpm"
 tar_file_glob = str(pkgs_path[0]) + "/xcursor*.tar.gz"
-self.assertTrue((g.glob(src_file_glob) and g.glob(tar_file_glob)), 
"Couldn't find .src.rpm and .tar.gz files under 
tmp/deploy/sources/allarch*/xcursor*")
+self.assertTrue((g.glob(src_file_glob) and g.glob(tar_file_glob)), 
"Couldn't find .src.rpm and .tar.gz files under %s/allarch*/xcursor*" % 
deploy_dir_src)
-- 
1.9.1

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


[OE-core] [PATCH 0/2] selftest: fix path assumption

2017-01-09 Thread Chen Qi
The following changes since commit 840e221ea7c35177fda37af618c4727fa7754789:

  bitbake: event: Replace slightly elderly bbmake references! (2017-01-09 
13:39:13 +)

are available in the git repository at:

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

Chen Qi (2):
  selftest/bbtests.py: fix path assumption for LICENSE_DIRECTORY
  selftest/buildoptions.py: fix path assumption for DEPLOY_DIR_SRC

 meta/lib/oeqa/selftest/bbtests.py  | 5 +++--
 meta/lib/oeqa/selftest/buildoptions.py | 5 +++--
 2 files changed, 6 insertions(+), 4 deletions(-)

-- 
1.9.1

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


[OE-core] [PATCH V2] iproute2 4.7->4.9

2017-01-09 Thread Zheng Ruoqin
Upgrade iproute2 from 4.7 to 4.9

Signed-off-by: Zheng Ruoqin 
---
 .../iproute2/iproute2/iproute2-4.3.0-musl.patch|  85 -
 .../iproute2/iproute2/iproute2-4.9.0-musl.patch| 131 +
 .../{iproute2_4.7.0.bb => iproute2_4.9.0.bb}   |   7 +-
 3 files changed, 135 insertions(+), 88 deletions(-)
 delete mode 100644 
meta/recipes-connectivity/iproute2/iproute2/iproute2-4.3.0-musl.patch
 create mode 100644 
meta/recipes-connectivity/iproute2/iproute2/iproute2-4.9.0-musl.patch
 rename meta/recipes-connectivity/iproute2/{iproute2_4.7.0.bb => 
iproute2_4.9.0.bb} (61%)

diff --git 
a/meta/recipes-connectivity/iproute2/iproute2/iproute2-4.3.0-musl.patch 
b/meta/recipes-connectivity/iproute2/iproute2/iproute2-4.3.0-musl.patch
deleted file mode 100644
index 8c078f6..000
--- a/meta/recipes-connectivity/iproute2/iproute2/iproute2-4.3.0-musl.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-Subject: [PATCH] Avoid in6_addr redefinition
-
-Due to both  and  being included, the
-in6_addr is being redefined: once from the C library headers and once
-from the kernel headers. This causes some build failures with for
-example the musl C library.
-
-In order to fix this, use just the C library header .
-Original patch taken from
-http://git.alpinelinux.org/cgit/aports/tree/main/iproute2/musl-fixes.patch.
-
-(Refreshed the patch for 4.6 release)
-
-Upstream-Status: Pending
-
-Signed-off-by: Thomas Petazzoni 
-Signed-off-by: Maxin B. John 
-
-diff -Naur iproute2-4.6.0-orig/include/libiptc/ipt_kernel_headers.h 
iproute2-4.6.0/include/libiptc/ipt_kernel_headers.h
 iproute2-4.6.0-orig/include/libiptc/ipt_kernel_headers.h   2016-05-23 
12:03:23.821826910 +0300
-+++ iproute2-4.6.0/include/libiptc/ipt_kernel_headers.h2016-05-23 
12:04:23.714078154 +0300
-@@ -6,7 +6,6 @@
- #include 
- 
- #include 
--#include 
- #include 
- #include 
- #include 
-diff -Naur iproute2-4.6.0-orig/include/linux/if_bridge.h 
iproute2-4.6.0/include/linux/if_bridge.h
 iproute2-4.6.0-orig/include/linux/if_bridge.h  2016-05-23 
12:03:23.821826910 +0300
-+++ iproute2-4.6.0/include/linux/if_bridge.h   2016-05-23 12:04:23.716078129 
+0300
-@@ -15,7 +15,6 @@
- 
- #include 
- #include 
--#include 
- 
- #define SYSFS_BRIDGE_ATTR "bridge"
- #define SYSFS_BRIDGE_FDB  "brforward"
-diff -Naur iproute2-4.6.0-orig/include/linux/netfilter.h 
iproute2-4.6.0/include/linux/netfilter.h
 iproute2-4.6.0-orig/include/linux/netfilter.h  2016-05-23 
12:03:23.821826910 +0300
-+++ iproute2-4.6.0/include/linux/netfilter.h   2016-05-23 12:04:23.717078117 
+0300
-@@ -4,8 +4,6 @@
- #include 
- 
- #include 
--#include 
--#include 
- 
- /* Responses from hook functions. */
- #define NF_DROP 0
-diff -Naur iproute2-4.6.0-orig/include/linux/netfilter_ipv4/ip_tables.h 
iproute2-4.6.0/include/linux/netfilter_ipv4/ip_tables.h
 iproute2-4.6.0-orig/include/linux/netfilter_ipv4/ip_tables.h   
2016-05-18 21:56:02.0 +0300
-+++ iproute2-4.6.0/include/linux/netfilter_ipv4/ip_tables.h2016-05-23 
12:09:22.888337961 +0300
-@@ -17,7 +17,6 @@
- 
- #include 
- 
--#include 
- #include 
- 
- #include 
-diff -Naur iproute2-4.6.0-orig/include/linux/xfrm.h 
iproute2-4.6.0/include/linux/xfrm.h
 iproute2-4.6.0-orig/include/linux/xfrm.h   2016-05-23 12:03:23.821826910 
+0300
-+++ iproute2-4.6.0/include/linux/xfrm.h2016-05-23 12:04:23.718078104 
+0300
-@@ -1,7 +1,6 @@
- #ifndef _LINUX_XFRM_H
- #define _LINUX_XFRM_H
- 
--#include 
- #include 
- 
- /* All of the structures in this file may not change size as they are
-diff -Naur iproute2-4.6.0-orig/include/utils.h iproute2-4.6.0/include/utils.h
 iproute2-4.6.0-orig/include/utils.h2016-05-23 12:03:23.821826910 
+0300
-+++ iproute2-4.6.0/include/utils.h 2016-05-23 12:04:23.718078104 +0300
-@@ -1,6 +1,7 @@
- #ifndef __UTILS_H__
- #define __UTILS_H__ 1
- 
-+#include   /* MAXPATHLEN */
- #include 
- #include 
- #include 
diff --git 
a/meta/recipes-connectivity/iproute2/iproute2/iproute2-4.9.0-musl.patch 
b/meta/recipes-connectivity/iproute2/iproute2/iproute2-4.9.0-musl.patch
new file mode 100644
index 000..737a90c
--- /dev/null
+++ b/meta/recipes-connectivity/iproute2/iproute2/iproute2-4.9.0-musl.patch
@@ -0,0 +1,131 @@
+Subject: [PATCH] Avoid in6_addr redefinition
+
+Due to both  and  being included, the 
+in6_addr is being redefined: once from the C library headers and once
+from the kernel headers. This causes some build failures with for 
+example the musl C library.
+
+In order to fix this, use just the C library header .
+Original patch taken from
+http://git.alpinelinux.org/cgit/aports/tree/main/iproute2/musl-fixes.patch.
+
+(Refreshed the patch for 4.9 release)
+
+Upstream-Status: Pending
+
+Signed-off-by: Thomas Petazzoni 
+Signed-off-by: Maxin B. John 
+Signed-off-by: Zheng Ruoqin 

[OE-core] [PATCH] canned-wks: remove mpc8315e-rdb.wks

2017-01-09 Thread Ed Bartosh
This file has been moved to meta-yocto-bsp/wic/

Signed-off-by: Ed Bartosh 
---
 scripts/lib/wic/canned-wks/mpc8315e-rdb.wks | 6 --
 1 file changed, 6 deletions(-)
 delete mode 100644 scripts/lib/wic/canned-wks/mpc8315e-rdb.wks

diff --git a/scripts/lib/wic/canned-wks/mpc8315e-rdb.wks 
b/scripts/lib/wic/canned-wks/mpc8315e-rdb.wks
deleted file mode 100644
index af587b2..000
--- a/scripts/lib/wic/canned-wks/mpc8315e-rdb.wks
+++ /dev/null
@@ -1,6 +0,0 @@
-# short-description: Create SD card image with a boot partition
-# long-description: Creates a partitioned SD card image. Boot files
-# are located in the first partition.
-
-part /boot --source bootimg-partition --ondisk sdb --fstype=ext3 --label boot
-part / --source rootfs --ondisk sdb --fstype=ext3 --label root
-- 
2.1.4

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


[OE-core] OpenEmbedded Developers Meeting in Portland before ELC

2017-01-09 Thread Philip Balister
As we do around each Embedded Linux Conference, OpenEmbedded will host a
developer meeting to discuss the state of OpenEmbedded and what efforts
we should focus on over the next six months or so.

All developers and users are welcome to attend. We like to hear feedback
from a variety of people over what works, doesn't work, and is useful to
people using OpenEmbedded for all sort of applications.

The meeting will be held Monday, Feb 20 at a location we can almost
announce. Based on prior years, the meeting will run from 9AM to 5PM.

If you are going to attend add your name to:

http://openembedded.org/wiki/OEDAM_2017

Also, go ahead and add ideas for the agenda. We'll organize them better
just before the actual meeting.

See you all in Portland,

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


[OE-core] [PATCH] Provide additional OECORE_EXTRA_SYSROOT variable

2017-01-09 Thread Andreas Cord-Landwehr
When compiling against a Yocto generated SDK and using an install folder
outside of the SDK's folder, CMake must be configure by using the
respective CMAKE_FIND_ROOT_PATH. This CMake cache variable is set
in the toolchain file and hence can only be configured via environment
variables; unless one wants to modify a project's CMake files.

This patch adds an additional environment variable OECORE_EXTRA_SYSROOT
to specify such an additional sysroot location that can optionally
be used when building against a Yocto SDK using this toolchain file.

Signed-off-by: Andreas Cord-Landwehr 
---
 meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake 
b/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake
index 6518408c70..1927e0bdb4 100644
--- a/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake
+++ b/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake
@@ -4,7 +4,10 @@ set( CMAKE_CXX_FLAGS $ENV{CXXFLAGS}  CACHE STRING "" FORCE )
 set( CMAKE ASM_FLAGS ${CMAKE_C_FLAGS} CACHE STRING "" FORCE )
 set( CMAKE_LDFLAGS_FLAGS ${CMAKE_CXX_FLAGS} CACHE STRING "" FORCE )
 
-set( CMAKE_FIND_ROOT_PATH $ENV{OECORE_TARGET_SYSROOT} 
$ENV{OECORE_NATIVE_SYSROOT} )
+# Re-root CMake search tree to sysroot locations given by environment 
variables OECORE_TARGET_SYSROOT and
+# OECORE_NATIVE_SYSROOT. For additional locations, e.g. a cross-building 
install directory, use
+# the OECORE_EXTRA_SYSROOT variable.
+set( CMAKE_FIND_ROOT_PATH $ENV{OECORE_TARGET_SYSROOT} 
$ENV{OECORE_NATIVE_SYSROOT} $ENV{OECORE_EXTRA_SYSROOT} )
 set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
 set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
 set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
-- 
2.11.0

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


Re: [OE-core] [PATCH 09/16] boost: drop flags bits, fix for x32

2017-01-09 Thread Khem Raj
it will be interesting to know some performance changes due to this patch if any

On Thu, Jan 5, 2017 at 12:31 PM, Christopher Larson  wrote:
>
> On Thu, Jan 5, 2017 at 1:29 PM, Burton, Ross  wrote:
>>
>> On 5 January 2017 at 19:46, Christopher Larson  wrote:
>>>
>>> +Upstream-Status: Pending
>>
>>
>> I think Inappropriate is more fitting here, but you're brave for daring to
>> look into bjam. :)
>
>
> That’s a good point, I’ll fix it on the branch. Thanks!
> --
> Christopher Larson
> kergoth at gmail dot com
> Founder - BitBake, OpenEmbedded, OpenZaurus
> Senior Software Engineer, Mentor Graphics
>
> --
> ___
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 1/3] gcc-source.inc: cleanly disable do_rm_work

2017-01-09 Thread Khem Raj
On Fri, Jan 6, 2017 at 1:55 AM, Patrick Ohly  wrote:
> Using "deltask" assumes that do_rm_work has been added already, which
> won't be the case anymore in the upcoming improved rm_work.bbclass,
> because then an anonymous python method will add do_rm_work.
>
> Setting RM_WORK_EXCLUDE works with the current and upcoming
> rm_work.bbclass and is the API that is meant to be used for excluding
> recipes from cleaning, so use that.
> ---
>  meta/recipes-devtools/gcc/gcc-source.inc | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/recipes-devtools/gcc/gcc-source.inc 
> b/meta/recipes-devtools/gcc/gcc-source.inc
> index 49bde92..0d0edb5 100644
> --- a/meta/recipes-devtools/gcc/gcc-source.inc
> +++ b/meta/recipes-devtools/gcc/gcc-source.inc
> @@ -3,7 +3,7 @@ deltask do_compile
>  deltask do_install
>  deltask do_populate_sysroot
>  deltask do_populate_lic
> -deltask do_rm_work
> +RM_WORK_EXCLUDE += "${PN}"

seems ok

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


Re: [OE-core] enabling gccgo( not gc )

2017-01-09 Thread Khem Raj
On Fri, Jan 6, 2017 at 10:49 AM, Kiran Pradeep  wrote:
> Hi,
>
> I uses recipes for gcc 4.9.1 and need to enable support for gccgo compiler.
> To layers/oe-core/meta/recipes-devtools/gcc/gcc-configure-common.inc, I
> added
> LANGUAGES ?= "c,go,c++${FORTRAN}${JAVA}"
>
> That helps me build the gccgo compiler. The resulting toolchain contains
> cross compilers for c and c++. But gccgo is *not* shipped as part of
> resulting toolchain.  I also get a warning as below
>
> WARNING: QA Issue: gcc: Files/directories were installed but not shipped
> /usr/lib/gcc/gcc/i586-unknown-linux/4.9.1/go1 [installed-vs-shipped]
>

This needs to be added to some package

> There is a patch for enabling gccgo in
> http://lists.openembedded.org/pipermail/openembedded-core/2013-May/078606.html.
> But that is mentioned not to support gcc 4.8 and got ignored for reasons
> unknown. How to enable cross compiled gccgo( *not* gc compiler ) in
> toolchain ?

We dont support 4.8 anymore. Could you refresh that patch for current
master and repost ?

>
> Thanks,
> Kiran.
>
> --
> ___
> 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] Babeltrace - Backport fix to fido (as-needed.inc: add babeltrace exception)

2017-01-09 Thread Khem Raj
add the release maintainers to the request too. Armin in this case.

On Fri, Jan 6, 2017 at 1:41 PM, Jonathan Rajotte Julien
 wrote:
> Hi,
>
> Reposting to mailing list since I was not allowed without a subscription.
>
> Both Alexander Kanavin (Babeltrace recipe maintainer) and Richard Purdie
> were CC on the initial message.
>
> Original Message
> --
>
> Hi,
>
> The following commit [1] is present since Jethro but the issue is also
> present in Fido.
>
> Since the commit apply cleanly, could it be possible to backport it to Fido?
>
> Cheers
>
> [1]
> http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=3006cb260004a7bd88cfd4ea3e2cbcac600347bc
>
> --
> Jonathan R. Julien
> Efficios
>
> --
> ___
> 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] [jethro][PATCH] kernel.bbclass: use correct path in postrm's call to update-alternatives

2017-01-09 Thread ola . redell
From: Ola Redell 

The postrm script for the kernel-image package needs the same path
when calling 'update-alternatives --remove', as the one given to
'update-alternatives --install' in the postinst script. Without this
change, the postrm script fails to remove the alternative.

This applies to [jethro], [master] already has a fix for this.

Signed-off-by: Ola Redell 
---
 meta/classes/kernel.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 5e8b6cf..0db621e 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -390,7 +390,7 @@ pkg_postinst_kernel-image () {
 }
 
 pkg_postrm_kernel-image () {
-   update-alternatives --remove ${KERNEL_IMAGETYPE} 
${KERNEL_IMAGETYPE}-${KERNEL_VERSION} || true
+   update-alternatives --remove ${KERNEL_IMAGETYPE} 
/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_VERSION} || true
 }
 
 PACKAGESPLITFUNCS_prepend = "split_kernel_packages "
-- 
1.9.1

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


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

2017-01-09 Thread Martin Jansa
== Number of issues - stats ==
{| class='wikitable'
!|Date   !!colspan='3'|Failed tasks 
!!colspan='6'|Failed depencencies!!|Signatures
!!colspan='12'|QA !!Comment
|-
||  ||qemuarm   ||qemux86   ||qemux86_64
||qemuarm||max||min ||qemux86||max||min ||all   ||already-stripped  
||libdir||textrel   ||build-deps||file-rdeps
||version-going-backwards   ||host-user-contaminated
||installed-vs-shipped  ||unknown-configure-option  ||symlink-to-sysroot
||invalid-pkgconfig ||pkgname   ||  
|-
||2017-01-05||8 ||9 ||8 ||17||8 ||8 ||19||9 
||9 ||0 ||0 ||0 ||0 ||9 
||0 ||0 ||0 ||0 ||1 
||0 ||0 ||0 ||  
|}

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

== Failed tasks 2017-01-05 ==

INFO: jenkins-job.sh-1.8.12 Complete log available at 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.report.20170109_030017.log

=== common (7) ===
* 
meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_16.bb:do_configure
* 
meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.7.4.bb:do_fetch
* 
meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb:do_compile
* meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.2.bb:do_compile
* 
meta-openembedded/meta-oe/recipes-support/raptor2/raptor2_2.0.15.bb:do_populate_lic
* 
meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.2.6.bb:do_compile
* meta-qt5/recipes-qt/qt5/qtwayland_git.bb:do_configure

=== common-x86 (1) ===
* 
meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.12.bb:do_compile

=== qemuarm (1) ===
* meta-openembedded/meta-oe/recipes-benchmark/pmbw/pmbw_git.bb:do_compile

=== qemux86 (1) ===
* meta-qt5/recipes-qt/qt5/qtwebengine_git.bb:do_compile

=== qemux86_64 (0) ===

=== Number of failed tasks (25) ===
{| class=wikitable
|-
|| qemuarm  || 8 || 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.world.qemuarm.20170105_075445.log/
 || http://errors.yoctoproject.org/Errors/Build/27947/
|-
|| qemux86  || 9 || 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.world.qemux86.20170105_075445.log/
 || http://errors.yoctoproject.org/Errors/Build/27948/
|-
|| qemux86_64   || 8 || 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.world.qemux86-64.20170105_102120.log/
 || http://errors.yoctoproject.org/Errors/Build/27959/
|}

=== PNBLACKLISTs (115) ===

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



=== Failed dependencies for qemuarm (17) ===

Complete log: 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.dependencies.qemuarm.20170105_101359.log/
Found differences: 
Found errors: 
* ERROR: 17 issues were found in these recipes: kodi lftp opencv pmbw 
qtwayland raptor2 xdebug xf86-video-glamo

=== Recipes failing with maximal dependencies for qemuarm (8) ===
* kodi -- 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.dependencies.qemuarm.20170105_101359.log//2_max/failed/kodi.log
* lftp -- 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.dependencies.qemuarm.20170105_101359.log//2_max/failed/lftp.log
* opencv -- 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.dependencies.qemuarm.20170105_101359.log//2_max/failed/opencv.log
* pmbw -- 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.dependencies.qemuarm.20170105_101359.log//2_max/failed/pmbw.log
* qtwayland -- 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.dependencies.qemuarm.20170105_101359.log//2_max/failed/qtwayland.log
* raptor2 -- 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.dependencies.qemuarm.20170105_101359.log//2_max/failed/raptor2.log
* xdebug -- 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.dependencies.qemuarm.20170105_101359.log//2_max/failed/xdebug.log
* xf86-video-glamo -- 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.dependencies.qemuarm.20170105_101359.log//2_max/failed/xf86-video-glamo.log

=== Recipes failing with minimal dependencies for qemuarm (8) ===
* kodi -- 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.dependencies.qemuarm.20170105_101359.log//3_min/failed/kodi.log
* lftp -- 

Re: [OE-core] [PATCH 2/3] rm_work_and_downloads.bbclass: more aggressively minimize disk usage

2017-01-09 Thread Randy Witt
On Mon, Jan 9, 2017 at 2:25 AM, Patrick Ohly  wrote:

>
> >
> > In principle I agree. Okay, let's separate the two.
>
> I hit one snag when starting to do that: the implementation of download
> removal depends on do_rm_work from rm_work.bbclass for hooking into the
> build of a recipe at the right place.
>
> I can't think of an easy way of avoiding that without duplicating the
> complex logic from rm_work.bbclass, which itself is currently about to
> change, so I'd prefer to keep rm_work_and_downloads.bbclass as proposed.
>

Sounds good to me. If it turns out someone would like them separate in the
future, we can schedule the time to do it then.
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] recipes-test: exclude recipes from world target

2017-01-09 Thread leonardo . sandoval . gonzalez
From: Leonardo Sandoval 

These recipes should be excluded from target 'world' because these are
just intended to be used internally by oe-selftest (devtool, recipetool, etc.)

Signed-off-by: Leonardo Sandoval 
---
 meta-selftest/recipes-test/aspell/aspell_0.0.0.1.bb | 2 ++
 meta-selftest/recipes-test/devtool/devtool-test-localonly.bb| 1 +
 meta-selftest/recipes-test/devtool/devtool-test-patch-gz.bb | 1 +
 meta-selftest/recipes-test/devtool/devtool-test-subdir.bb   | 2 ++
 meta-selftest/recipes-test/devtool/devtool-upgrade-test1_1.5.3.bb   | 2 ++
 meta-selftest/recipes-test/devtool/devtool-upgrade-test2_git.bb | 2 ++
 meta-selftest/recipes-test/recipetool/selftest-recipetool-appendfile.bb | 2 ++
 7 files changed, 12 insertions(+)

diff --git a/meta-selftest/recipes-test/aspell/aspell_0.0.0.1.bb 
b/meta-selftest/recipes-test/aspell/aspell_0.0.0.1.bb
index 20a0ab7..073cf56 100644
--- a/meta-selftest/recipes-test/aspell/aspell_0.0.0.1.bb
+++ b/meta-selftest/recipes-test/aspell/aspell_0.0.0.1.bb
@@ -14,6 +14,8 @@ SRC_URI = "${GNU_MIRROR}/aspell/aspell-${PV}.tar.gz"
 SRC_URI[md5sum] = "e66a9c9af6a60dc46134fdacf6ce97d7"
 SRC_URI[sha256sum] = 
"f52583a83a63633701c5f71db3dc40aab87b7f76b29723aeb27941eff42df6e1"
 
+EXCLUDE_FROM_WORLD = "1"
+
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses"
 
diff --git a/meta-selftest/recipes-test/devtool/devtool-test-localonly.bb 
b/meta-selftest/recipes-test/devtool/devtool-test-localonly.bb
index 28ff49e..3f7123c 100644
--- a/meta-selftest/recipes-test/devtool/devtool-test-localonly.bb
+++ b/meta-selftest/recipes-test/devtool/devtool-test-localonly.bb
@@ -4,3 +4,4 @@ INHIBIT_DEFAULT_DEPS = "1"
 SRC_URI = "file://file1 \
file://file2"
 
+EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-selftest/recipes-test/devtool/devtool-test-patch-gz.bb 
b/meta-selftest/recipes-test/devtool/devtool-test-patch-gz.bb
index 719a5f1..e45ee9f 100644
--- a/meta-selftest/recipes-test/devtool/devtool-test-patch-gz.bb
+++ b/meta-selftest/recipes-test/devtool/devtool-test-patch-gz.bb
@@ -14,3 +14,4 @@ SRC_URI[sha256sum] = 
"67c2fc94a7ecedbaae0d1837e82e93d1d98f4a6d759828860e552119af
 
 inherit autotools pkgconfig
 
+EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-selftest/recipes-test/devtool/devtool-test-subdir.bb 
b/meta-selftest/recipes-test/devtool/devtool-test-subdir.bb
index 1a163f8..3f69565 100644
--- a/meta-selftest/recipes-test/devtool/devtool-test-subdir.bb
+++ b/meta-selftest/recipes-test/devtool/devtool-test-subdir.bb
@@ -5,3 +5,5 @@ SRC_URI = "file://devtool-test-subdir.tar.gz \
file://testfile;subdir=${BPN}"
 
 S = "${WORKDIR}/${BPN}"
+
+EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-selftest/recipes-test/devtool/devtool-upgrade-test1_1.5.3.bb 
b/meta-selftest/recipes-test/devtool/devtool-upgrade-test1_1.5.3.bb
index e93b0d5..4049be2 100644
--- a/meta-selftest/recipes-test/devtool/devtool-upgrade-test1_1.5.3.bb
+++ b/meta-selftest/recipes-test/devtool/devtool-upgrade-test1_1.5.3.bb
@@ -12,5 +12,7 @@ PR = "r5"
 
 S = "${WORKDIR}/pv-${PV}"
 
+EXCLUDE_FROM_WORLD = "1"
+
 inherit autotools
 
diff --git a/meta-selftest/recipes-test/devtool/devtool-upgrade-test2_git.bb 
b/meta-selftest/recipes-test/devtool/devtool-upgrade-test2_git.bb
index 9bfce0a..450636e 100644
--- a/meta-selftest/recipes-test/devtool/devtool-upgrade-test2_git.bb
+++ b/meta-selftest/recipes-test/devtool/devtool-upgrade-test2_git.bb
@@ -15,4 +15,6 @@ SRC_URI = "git://git.yoctoproject.org/dbus-wait"
 
 S = "${WORKDIR}/git"
 
+EXCLUDE_FROM_WORLD = "1"
+
 inherit autotools pkgconfig
diff --git 
a/meta-selftest/recipes-test/recipetool/selftest-recipetool-appendfile.bb 
b/meta-selftest/recipes-test/recipetool/selftest-recipetool-appendfile.bb
index 7d0a040..7375c47 100644
--- a/meta-selftest/recipes-test/recipetool/selftest-recipetool-appendfile.bb
+++ b/meta-selftest/recipes-test/recipetool/selftest-recipetool-appendfile.bb
@@ -15,6 +15,8 @@ SRC_URI = "file://installscript.sh \
file://selftest-replaceme-inst-todir-globfile \
file://selftest-replaceme-inst-func"
 
+EXCLUDE_FROM_WORLD = "1"
+
 install_extrafunc() {
install -m 0644 ${WORKDIR}/selftest-replaceme-inst-func 
${D}${datadir}/selftest-replaceme-inst-func
 }
-- 
2.1.4

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


[OE-core] [PATCH V3 4/4] selftest: sstatetests: skip glibc-initial tests and use a more generic image

2017-01-09 Thread leonardo . sandoval . gonzalez
From: Leonardo Sandoval 

There are mainly two changes: 1) Some distros uses non-glibc so skip
those tests requiring glibc-initial as target 2) instead of using 
core-image-sato,
use a more generic image (core-image-minimal) for hash tests.

Signed-off-by: Leonardo Sandoval 
---
 meta/lib/oeqa/selftest/sstate.py  |  1 +
 meta/lib/oeqa/selftest/sstatetests.py | 36 ---
 2 files changed, 26 insertions(+), 11 deletions(-)

diff --git a/meta/lib/oeqa/selftest/sstate.py b/meta/lib/oeqa/selftest/sstate.py
index d27a45c..742f4d0 100644
--- a/meta/lib/oeqa/selftest/sstate.py
+++ b/meta/lib/oeqa/selftest/sstate.py
@@ -16,6 +16,7 @@ class SStateBase(oeSelfTest):
 self.sstate_path = get_bb_var('SSTATE_DIR')
 self.hostdistro = get_bb_var('NATIVELSBSTRING')
 self.distro_specific_sstate = os.path.join(self.sstate_path, 
self.hostdistro)
+self.tclibc = get_bb_var('TCLIBC')
 
 # Creates a special sstate configuration with the option to add sstate 
mirrors
 def config_sstate(self, temp_sstate_location=False, add_local_mirrors=[]):
diff --git a/meta/lib/oeqa/selftest/sstatetests.py 
b/meta/lib/oeqa/selftest/sstatetests.py
index 6642539..2f2b942 100644
--- a/meta/lib/oeqa/selftest/sstatetests.py
+++ b/meta/lib/oeqa/selftest/sstatetests.py
@@ -51,12 +51,15 @@ class SStateTests(SStateBase):
 
 @testcase(976)
 def test_sstate_creation_distro_nonspecific_pass(self):
-self.run_test_sstate_creation(['glibc-initial'], 
distro_specific=False, distro_nonspecific=True, temp_sstate_location=True)
+# glibc-initial is intended only for the glibc C library
+if self.tclibc == 'glibc':
+self.run_test_sstate_creation(['glibc-initial'], 
distro_specific=False, distro_nonspecific=True, temp_sstate_location=True)
 
 @testcase(1375)
 def test_sstate_creation_distro_nonspecific_fail(self):
-self.run_test_sstate_creation(['glibc-initial'], distro_specific=True, 
distro_nonspecific=False, temp_sstate_location=True, should_pass=False)
-
+# glibc-initial is intended only for the glibc C library
+if self.tclibc == 'glibc':
+self.run_test_sstate_creation(['glibc-initial'], 
distro_specific=True, distro_nonspecific=False, temp_sstate_location=True, 
should_pass=False)
 
 # Test the sstate files deletion part of the do_cleansstate task
 def run_test_cleansstate_task(self, targets, distro_specific=True, 
distro_nonspecific=True, temp_sstate_location=True):
@@ -78,16 +81,26 @@ class SStateTests(SStateBase):
 @testcase(977)
 def test_cleansstate_task_distro_specific_nonspecific(self):
 targetarch = get_bb_var('TUNE_ARCH')
-self.run_test_cleansstate_task(['binutils-cross-' + targetarch, 
'binutils-native', 'glibc-initial'], distro_specific=True, 
distro_nonspecific=True, temp_sstate_location=True)
+targets = ['binutils-cross-'+ targetarch, 'binutils-native']
+# glibc-initial is intended only for the glibc C library
+if self.tclibc == 'glibc':
+targets.append('glibc-initial')
+self.run_test_cleansstate_task(targets, distro_specific=True, 
distro_nonspecific=True, temp_sstate_location=True)
 
 @testcase(1376)
 def test_cleansstate_task_distro_nonspecific(self):
-self.run_test_cleansstate_task(['glibc-initial'], 
distro_specific=False, distro_nonspecific=True, temp_sstate_location=True)
+# glibc-initial is intended only for the glibc C library
+if self.tclibc == 'glibc':
+self.run_test_cleansstate_task(['glibc-initial'], 
distro_specific=False, distro_nonspecific=True, temp_sstate_location=True)
 
 @testcase(1377)
 def test_cleansstate_task_distro_specific(self):
 targetarch = get_bb_var('TUNE_ARCH')
-self.run_test_cleansstate_task(['binutils-cross-'+ targetarch, 
'binutils-native', 'glibc-initial'], distro_specific=True, 
distro_nonspecific=False, temp_sstate_location=True)
+targets = ['binutils-cross-'+ targetarch, 'binutils-native']
+# glibc-initial is intended only for the glibc C library
+if self.tclibc == 'glibc':
+targets.append('glibc-initial')
+self.run_test_cleansstate_task(targets, distro_specific=True, 
distro_nonspecific=False, temp_sstate_location=True)
 
 
 # Test rebuilding of distro-specific sstate files
@@ -240,7 +253,7 @@ SDKMACHINE = "x86_64"
 PACKAGE_CLASSES = "package_rpm package_ipk package_deb"
 """)
 self.track_for_cleanup(topdir + "/tmp-sstatesamehash")
-bitbake("core-image-sato -S none")
+bitbake("core-image-minimal -S none")
 self.write_config("""
 MACHINE = "qemux86"
 TMPDIR = "${TOPDIR}/tmp-sstatesamehash2"
@@ -250,16 +263,17 @@ SDKMACHINE = "i686"
 PACKAGE_CLASSES = "package_rpm package_ipk package_deb"
 """)
 self.track_for_cleanup(topdir + 

[OE-core] [PATCH V3 2/4] selftest: imagefeatures: skip tests based on distro features and supported fstypes

2017-01-09 Thread leonardo . sandoval . gonzalez
From: Leonardo Sandoval 

Some images (clutter and weston) requires certain distros features to be 
present,
so check presence before proceeding. Some distros does not support the ext4* 
fstypes
(poky-tiny only supports cpio.gz) so skip the test if this is the case.

Signed-off-by: Leonardo Sandoval 
---
 meta/lib/oeqa/selftest/imagefeatures.py | 11 +++
 1 file changed, 11 insertions(+)

diff --git a/meta/lib/oeqa/selftest/imagefeatures.py 
b/meta/lib/oeqa/selftest/imagefeatures.py
index d015c49..5d50c69 100644
--- a/meta/lib/oeqa/selftest/imagefeatures.py
+++ b/meta/lib/oeqa/selftest/imagefeatures.py
@@ -77,6 +77,9 @@ class ImageFeatures(oeSelfTest):
 AutomatedBy: Daniel Istrate 
 """
 
+if 'opengl' not in get_bb_var('DISTRO_FEATURES'):
+self.skipTest('opengl not present on DISTRO_FEATURES so 
core-image-clutter cannot be built')
+
 # Build a core-image-clutter
 bitbake('core-image-clutter')
 
@@ -91,6 +94,10 @@ class ImageFeatures(oeSelfTest):
 AutomatedBy: Daniel Istrate 
 """
 
+distro_features = get_bb_var('DISTRO_FEATURES')
+if not ('opengl' in distro_features and 'wayland' in distro_features):
+self.skipTest('neither opengl nor wayland present on 
DISTRO_FEATURES so core-image-weston cannot be built')
+
 features = 'DISTRO_FEATURES_append = " wayland"\n'
 features += 'CORE_IMAGE_EXTRA_INSTALL += "wayland weston"'
 self.write_config(features)
@@ -110,6 +117,10 @@ class ImageFeatures(oeSelfTest):
 features = 'IMAGE_FSTYPES += " ext4 ext4.bmap"'
 self.write_config(features)
 
+image_fstypes = get_bb_var('IMAGE_FSTYPES')
+if 'ext4 ext4.bmap' not in image_fstypes:
+self.skipTest('Current distro does not allow "ext4 ext4.bmap" 
filesystem type. Supported: %s' % image_fstypes)
+
 image_name = 'core-image-minimal'
 bitbake(image_name)
 
-- 
2.1.4

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


[OE-core] [PATCH V3 3/4] selftest: runtime-test: skip image-install test for poky-tiny

2017-01-09 Thread leonardo . sandoval . gonzalez
From: Leonardo Sandoval 

poky-tiny cannot build full-cmdline image, so skip this test in this case.

Signed-off-by: Leonardo Sandoval 
---
 meta/lib/oeqa/selftest/runtime-test.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/lib/oeqa/selftest/runtime-test.py 
b/meta/lib/oeqa/selftest/runtime-test.py
index 20caa97..c0e283f 100644
--- a/meta/lib/oeqa/selftest/runtime-test.py
+++ b/meta/lib/oeqa/selftest/runtime-test.py
@@ -95,6 +95,8 @@ class TestImage(oeSelfTest):
 Product: oe-core
 Author: Mariano Lopez 
 """
+if self.distro == 'poky-tiny':
+self.skipTest('core-image-full-cmdline not buildable for 
poky-tiny')
 
 features = 'INHERIT += "testimage"\n'
 features += 'TEST_SUITES = "ping ssh selftest"\n'
-- 
2.1.4

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


[OE-core] [PATCH V3 1/4] selftest: devtool: use distro agnostic recipes for devtool checks

2017-01-09 Thread leonardo . sandoval . gonzalez
From: Leonardo Sandoval 

The recipes being replaced are not compatible with all distros, so
use mraa and virtual/make for some checks.

Signed-off-by: Leonardo Sandoval 
---
 meta/lib/oeqa/selftest/devtool.py | 19 +--
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/meta/lib/oeqa/selftest/devtool.py 
b/meta/lib/oeqa/selftest/devtool.py
index 19c5ccf..bbdd8c6 100644
--- a/meta/lib/oeqa/selftest/devtool.py
+++ b/meta/lib/oeqa/selftest/devtool.py
@@ -340,12 +340,11 @@ class DevtoolTests(DevtoolBase):
 
 @testcase(1161)
 def test_devtool_add_fetch_git(self):
-# Fetch source
 tempdir = tempfile.mkdtemp(prefix='devtoolqa')
 self.track_for_cleanup(tempdir)
-url = 'git://git.yoctoproject.org/libmatchbox'
-checkrev = '462f0652055d89c648ddd54fd7b03f175c2c6973'
-testrecipe = 'libmatchbox2'
+url = 'gitsm://git.yoctoproject.org/mraa'
+checkrev = 'ae127b19a50aa54255e4330ccfdd9a5d058e581d'
+testrecipe = 'mraa'
 srcdir = os.path.join(tempdir, testrecipe)
 # Test devtool add
 self.track_for_cleanup(self.workspacedir)
@@ -353,7 +352,7 @@ class DevtoolTests(DevtoolBase):
 self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
 result = runCmd('devtool add %s %s -a -f %s' % (testrecipe, srcdir, 
url))
 self.assertTrue(os.path.exists(os.path.join(self.workspacedir, 'conf', 
'layer.conf')), 'Workspace directory not created: %s' % result.output)
-self.assertTrue(os.path.isfile(os.path.join(srcdir, 'configure.ac')), 
'Unable to find configure.ac in source directory')
+self.assertTrue(os.path.isfile(os.path.join(srcdir, 'imraa', 
'imraa.c')), 'Unable to find configure.ac in source directory')
 # Test devtool status
 result = runCmd('devtool status')
 self.assertIn(testrecipe, result.output)
@@ -363,7 +362,7 @@ class DevtoolTests(DevtoolBase):
 self.assertIn('_git.bb', recipefile, 'Recipe file incorrectly named')
 checkvars = {}
 checkvars['S'] = '${WORKDIR}/git'
-checkvars['PV'] = '1.12+git${SRCPV}'
+checkvars['PV'] = '1.0+git${SRCPV}'
 checkvars['SRC_URI'] = url
 checkvars['SRCREV'] = '${AUTOREV}'
 self._test_recipe_contents(recipefile, checkvars, [])
@@ -372,7 +371,7 @@ class DevtoolTests(DevtoolBase):
 shutil.rmtree(srcdir)
 url_rev = '%s;rev=%s' % (url, checkrev)
 result = runCmd('devtool add %s %s -f "%s" -V 1.5' % (testrecipe, 
srcdir, url_rev))
-self.assertTrue(os.path.isfile(os.path.join(srcdir, 'configure.ac')), 
'Unable to find configure.ac in source directory')
+self.assertTrue(os.path.isfile(os.path.join(srcdir, 'imraa', 
'imraa.c')), 'Unable to find imraa/imraa.c in source directory')
 # Test devtool status
 result = runCmd('devtool status')
 self.assertIn(testrecipe, result.output)
@@ -590,8 +589,8 @@ class DevtoolTests(DevtoolBase):
 @testcase(1378)
 def test_devtool_modify_virtual(self):
 # Try modifying a virtual recipe
-virtrecipe = 'virtual/libx11'
-realrecipe = 'libx11'
+virtrecipe = 'virtual/make'
+realrecipe = 'make'
 tempdir = tempfile.mkdtemp(prefix='devtoolqa')
 self.track_for_cleanup(tempdir)
 self.track_for_cleanup(self.workspacedir)
@@ -1025,7 +1024,7 @@ class DevtoolTests(DevtoolBase):
 tempdir = tempfile.mkdtemp(prefix='devtoolqa')
 # Try devtool extract
 self.track_for_cleanup(tempdir)
-result = runCmd('devtool extract virtual/libx11 %s' % tempdir)
+result = runCmd('devtool extract virtual/make %s' % tempdir)
 self.assertTrue(os.path.exists(os.path.join(tempdir, 'Makefile.am')), 
'Extracted source could not be found')
 # devtool extract shouldn't create the workspace
 self.assertFalse(os.path.exists(self.workspacedir))
-- 
2.1.4

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


[OE-core] [PATCH V3 0/4] Skip selftests depending on distro and its features

2017-01-09 Thread leonardo . sandoval . gonzalez
From: Leonardo Sandoval 

Originally, the selftests were defined for the 'poky' distro. However, there
are more supported distros, including nodistro, poky-lsb and poky-tiny.
These series takes into consideration the distro name and its features
to skip certain tests.

[YOCTO #8525]

The following changes since commit e016eb10b075e280b4e78a04e47b59a173386421:

  bitbake: bb/cooker: BBCooker stops notifier at shutdown (2017-01-06 00:01:07 
+)

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib lsandov1/oe-selftest-distro-agnostic
  
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=lsandov1/oe-selftest-distro-agnostic

Leonardo Sandoval (4):
  selftest: devtool: use distro agnostic recipes for devtool checks
  selftest: imagefeatures: skip tests based on distro features and
supported fstypes
  selftest: runtime-test: skip image-install test for poky-tiny
  selftest: sstatetests: skip glibc-initial tests and use a more generic
image

 meta/lib/oeqa/selftest/devtool.py   | 19 +
 meta/lib/oeqa/selftest/imagefeatures.py | 11 ++
 meta/lib/oeqa/selftest/runtime-test.py  |  2 ++
 meta/lib/oeqa/selftest/sstate.py|  1 +
 meta/lib/oeqa/selftest/sstatetests.py   | 36 +++--
 5 files changed, 48 insertions(+), 21 deletions(-)

-- 
2.1.4

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


Re: [OE-core] [PATCH v3] kernel-module-split: Append KERNEL_VERSION string to kernel module name

2017-01-09 Thread Bruce Ashfield
On Mon, Jan 9, 2017 at 4:54 AM,  wrote:

> From: Ola Redell 
>
> The KERNEL_VERSION string is added to kernel module package names in order
> to
> make the kernel modules for different kernel versions distinct packages
> instead
> of different versions of the same package. With this change, when a new
> kernel
> is installed together with its kernel modules (e.g. by upgrade of the
> packages
> kernel and kernel-modules) using some package manager such as apt-get or
> rpm,
> the kernel modules for the older kernel will not be removed. This enables a
> fall back to the older kernel if the new one fails.
>


The functionality you describe is a good thing, but I have a few questions
to make
sure I understand the change, and confirm that existing functionality isn't
broken ..
and that the internals of the package management do the right thing (I'm
not an
expert on those internals .. so bear with me).

With this change, do you know if RDEPENDS="kernel-module-foo" still works ?
or
does it now have to be RDEPENDS="kernel-module-foo-" ?

On a similar thought, "smart install kernel-module-foo" would also work ?
or does it
now require a version ?

Bruce


>
> Signed-off-by: Ola Redell 
> ---
>  meta/classes/kernel-module-split.bbclass | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/classes/kernel-module-split.bbclass
> b/meta/classes/kernel-module-split.bbclass
> index efe1b42..13cff51 100644
> --- a/meta/classes/kernel-module-split.bbclass
> +++ b/meta/classes/kernel-module-split.bbclass
> @@ -122,7 +122,7 @@ python split_kernel_module_packages () {
>  module_regex = '^(.*)\.k?o$'
>
>  module_pattern_prefix = d.getVar('KERNEL_MODULE_PACKAGE_PREFIX')
> -module_pattern = module_pattern_prefix + 'kernel-module-%s'
> +module_pattern = module_pattern_prefix + 'kernel-module-%s-' +
> d.getVar("KERNEL_VERSION", True)
>
>  postinst = d.getVar('pkg_postinst_modules')
>  postrm = d.getVar('pkg_postrm_modules')
> --
> 1.9.1
>
> --
> ___
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>



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


Re: [OE-core] bug with dpkg-native and sstate-cache mirrors

2017-01-09 Thread Anders Oleson
Bump. Can anyone comment on this? Does this sound like a bug? Right forum?

On Tue, Dec 20, 2016 at 7:45 PM, Anders Oleson  wrote:
> Should I open a bug report for this?
> Does this make sense and does it sound like a problem?
> Are you interested in a patch or fixes? I see some activity with dpkg,
> so I know there's a maintainer out there?
>
> On Fri, Dec 16, 2016 at 11:31 AM, Anders Oleson  wrote:
>> I originally posted this here:
>> https://lists.yoctoproject.org/pipermail/yocto/2016-December/033542.html.
>> Apologies, I did not know to report OE core issues here.
>>
>> Also, following Jussi's advice I started reading the submission
>> guidelines and I posted the patch to dpkg itself to their list to see
>> if it was something that could be upstreamed. Led to a good discussion
>> here: https://lists.debian.org/debian-dpkg/2016/12/msg00013.html.
>> While this was an expedient way to fix my problem, it probably isn't
>> the best way forward as a real change to dpkg. They have offered to
>> look at submissions to fix what I think is the true root cause - the
>> non-override-able, hard-coded CONFIGDIR.
>>
>> Problem description:
>> 1. user "joe" clones the build repo, ex. poky from Yocto and builds
>> everything, ex. core-system-minimal completely clean build from
>> scratch. The local.conf is set to use package_deb for our system.
>> 2. "joe" is the build master and then publishes the resultant
>> "sstate-cache" in a shared directory to be used as a mirror for the
>> other users. Makes the sstate-cache-mirror directory read-only, etc.
>> 3. "joe" deletes the build directory creates a new one and tests the
>> build in a new directory which works fine and runs quickly using the
>> sstate-cache-mirror.
>> 3. user "bob" clones a similar revision and builds using the
>> SSTATE_MIRROR pointing at the mirror.
>> 4. During "do_rootfs" dpkg (dpkg-native) fails with the message:
>> dpkg: error: error opening configuration directory
>> '/home/net/joe/work/sysgen-mrp/build/tmp/sysroots/x86_64-linux/etc/dpkg/dpkg.cfg.d':
>> Permission denied
>> E: Sub-process dpkg returned an error code (2)
>>
>> What happened is that in dpkg-native, the CONFIGDIR is compiled in and
>> hard-coded to the failing path. dpkg does not currently have a way to
>> override this at runtime in the same way as --instdir and --admindir.
>> So dpkg is still looking for config files user "joes" directory which
>> may:
>> - have wrong permissions
>> - be missing or parent dirs missing
>> - contain malicious garbage because "joe" wants to screw with "bob" :)
>> - any/all of the above (we had a combination)
>>
>> Normally /etc/dpkg/dpkg.d is empty for the native sysroot, so our
>> quick fix was to modify dpkg to just ignore ANY error reading that
>> directory and pretend it was empty (which for Yocto builds it was
>> anyway). This was preferable to removing the whole package from the
>> SSTATE_MIRROR to force rebuilds in each work directory. See the patch
>> I posted to the Yocto list linked above. Debian dpkg developers don't
>> want to remove those checks and that seems advisable.
>>
>> So that leaves two options that I can see (is there an easier/better fix?):
>> - we can carry a patch to dpkg-native similar to what I posted. For
>> Yocto/OE it probably is good enough, at least if we limit it to
>> dpkg-native
>> - add something like a --configdir command line switch to dpkg so that
>> we can point it toward the proper sysroot rather than use the compiled
>> in default
>>
>> I'd actually prefer the second option because, for one thing, it would
>> eliminate the baked in paths that contain user names, etc. I'd suggest
>> that if we pass in --configdir we should configure/compile dpkg-native
>> with the default paths pointing to neutral, constant, invalid paths to
>> avoid leaking build specific information into sstate and to catch
>> errors.
>>
>> Does this sound like I'm on the right track or like something that
>> could be included? I'd like to fix this so that it doesn't sneak up on
>> someone else.
>>
>> I'm willing to take a hack at it and test it in the scenario where
>> this bit us. It would involve steps:
>> 1. develop a patch to dpkg to add the option
>> 2. develop a patch for OE to change the configure for dpkg-native
>> 3. a patch for OE to pass --configdir to dpkg in all the right places.
>> I could use help to insure I find them all.
>>
>> Thanks,
>>
>> Anders
>>
>> error log below:
>> --
>> ERROR: system-image-1.0-r0 do_rootfs: Unable to install packages.
>> Command 
>> '/home/local/MrProductName/mrp-system/build/tmp/sysroots/x86_64-linux/usr/bin/apt-get
>>  install --force-yes --allow-unauthenticated bash run-postinsts
>> packagegroup-core-eclipse-debug mrp-ofp dosfstools apt e2fsprogs dpkg
>> packagegroup-core-boot' returned 100:
>> Reading package lists...
>> Building dependency tree...
>> The following extra packages will be installed:
>>   base-files base-passwd 

[OE-core] [PATCH v3 2/2] oe-selftest: devtool: Add test for externalsrc buildclean

2017-01-09 Thread Ola x Nilsson
Test both for S == B and S != B.

Signed-off-by: Ola x Nilsson 
---
 meta/lib/oeqa/selftest/devtool.py | 46 +++
 1 file changed, 46 insertions(+)

diff --git a/meta/lib/oeqa/selftest/devtool.py 
b/meta/lib/oeqa/selftest/devtool.py
index 2512c69..abe6090 100644
--- a/meta/lib/oeqa/selftest/devtool.py
+++ b/meta/lib/oeqa/selftest/devtool.py
@@ -491,6 +491,52 @@ class DevtoolTests(DevtoolBase):
 self.assertNotIn('mdadm', result.output)
 self.assertFalse(list_stamps(), 'Stamp files exist for recipe mdadm 
that should have been cleaned')
 
+def test_devtool_buildclean(self):
+def assertFile(path, *paths):
+f = os.path.join(path, *paths)
+self.assertTrue(os.path.exists(f), "%r does not exist" % f)
+def assertNoFile(path, *paths):
+f = os.path.join(path, *paths)
+self.assertFalse(os.path.exists(os.path.join(f)), "%r exists" % f)
+
+# Clean up anything in the workdir/sysroot/sstate cache
+bitbake('mdadm m4 -c cleansstate')
+# Try modifying a recipe
+tempdir_mdadm = tempfile.mkdtemp(prefix='devtoolqa')
+tempdir_m4 = tempfile.mkdtemp(prefix='devtoolqa')
+builddir_m4 = tempfile.mkdtemp(prefix='devtoolqa')
+self.track_for_cleanup(tempdir_mdadm)
+self.track_for_cleanup(tempdir_m4)
+#self.track_for_cleanup(builddir_m4)
+self.track_for_cleanup(self.workspacedir)
+self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
+self.add_command_to_tearDown('bitbake -c clean mdadm m4')
+self.write_recipeinc('m4', 'EXTERNALSRC_BUILD = "%s"\ndo_clean() 
{\n\t:\n}\n' % builddir_m4)
+try:
+runCmd('devtool modify mdadm -x %s' % tempdir_mdadm)
+runCmd('devtool modify m4 -x %s' % tempdir_m4)
+assertNoFile(tempdir_mdadm, 'mdadm')
+assertNoFile(builddir_m4, 'src/m4')
+result = bitbake('m4 -e')
+result = bitbake('mdadm m4 -c compile')
+self.assertEqual(result.status, 0)
+assertFile(tempdir_mdadm, 'mdadm')
+assertFile(builddir_m4, 'src/m4')
+# Check that buildclean task exists and does call make clean
+bitbake('mdadm m4 -c buildclean')
+assertNoFile(tempdir_mdadm, 'mdadm')
+assertNoFile(builddir_m4, 'src/m4')
+bitbake('mdadm m4 -c compile')
+assertFile(tempdir_mdadm, 'mdadm')
+assertFile(builddir_m4, 'src/m4')
+bitbake('mdadm m4 -c clean')
+# Check that buildclean task is run before clean for B == S
+assertNoFile(tempdir_mdadm, 'mdadm')
+# Check that buildclean task is not run before clean for B != S
+assertFile(builddir_m4, 'src/m4')
+finally:
+self.delete_recipeinc('m4')
+
 @testcase(1166)
 def test_devtool_modify_invalid(self):
 # Try modifying some recipes
-- 
2.1.4

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


[OE-core] [PATCH v3 1/2] externalsrc.bbclass: Add task buildclean

2017-01-09 Thread Ola x Nilsson
The buildclean task should call the package build system clean
command, just implemented for Make for now.

This is meant for recipes where S == B, but can be useful as a
standalone task for other recipes too.

When S == B, set it to run before do_clean which will do what most
developers expect when calling bitbake -c clean.  For S != B, do not
add it before clean as it is not needed and may take some time.

Signed-off-by: Ola x Nilsson 
---
 meta/classes/externalsrc.bbclass | 19 ++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/meta/classes/externalsrc.bbclass b/meta/classes/externalsrc.bbclass
index 6ec46a6..bdf23ec 100644
--- a/meta/classes/externalsrc.bbclass
+++ b/meta/classes/externalsrc.bbclass
@@ -4,7 +4,7 @@
 # Copyright (C) 2009 Chris Larson 
 # Released under the MIT license (see COPYING.MIT for the terms)
 #
-# externalsrc.bbclass enables use of an existing source tree, usually external 
to 
+# externalsrc.bbclass enables use of an existing source tree, usually external 
to
 # the build system to build a piece of software rather than the usual 
fetch/unpack/patch
 # process.
 #
@@ -108,6 +108,10 @@ python () {
 # We don't want the workdir to go away
 d.appendVar('RM_WORK_EXCLUDE', ' ' + d.getVar('PN'))
 
+bb.build.addtask('do_buildclean',
+ 'do_clean' if d.getVar('S') == d.getVar('B') else 
None,
+ None, d)
+
 # If B=S the same builddir is used even for different architectures.
 # Thus, use a shared CONFIGURESTAMPFILE and STAMP directory so that
 # change of do_configure task hash is correctly detected and stamps are
@@ -143,6 +147,17 @@ python externalsrc_compile_prefunc() {
 bb.plain('NOTE: %s: compiling from external source tree %s' % 
(d.getVar('PN'), d.getVar('EXTERNALSRC')))
 }
 
+do_buildclean[dirs] = "${S} ${B}"
+do_buildclean[nostamp] = "1"
+do_buildclean[doc] = "Call 'make clean' or equivalent in ${B}"
+externalsrc_do_buildclean() {
+   if [ -e Makefile -o -e makefile -o -e GNUmakefile ]; then
+   oe_runmake clean || die "make failed"
+   else
+   bbnote "nothing to do - no makefile found"
+   fi
+}
+
 def srctree_hash_files(d, srcdir=None):
 import shutil
 import subprocess
@@ -189,3 +204,5 @@ def srctree_configure_hash_files(d):
 if f in search_files:
 out_items.append('%s:True' % os.path.join(root, f))
 return ' '.join(out_items)
+
+EXPORT_FUNCTIONS do_buildclean
-- 
2.1.4

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


[OE-core] [PATCH v2 2/2] oe-selftest: devtool: Add test for externalsrc buildclean

2017-01-09 Thread Ola x Nilsson
Signed-off-by: Ola x Nilsson 
---
 meta/lib/oeqa/selftest/devtool.py | 46 +++
 1 file changed, 46 insertions(+)

diff --git a/meta/lib/oeqa/selftest/devtool.py 
b/meta/lib/oeqa/selftest/devtool.py
index 19c5ccf..c37d194 100644
--- a/meta/lib/oeqa/selftest/devtool.py
+++ b/meta/lib/oeqa/selftest/devtool.py
@@ -469,6 +469,52 @@ class DevtoolTests(DevtoolBase):
 matches = glob.glob(stampprefix + '*')
 self.assertFalse(matches, 'Stamp files exist for recipe mdadm that 
should have been cleaned')
 
+def test_devtool_buildclean(self):
+def assertFile(path, *paths):
+f = os.path.join(path, *paths)
+self.assertTrue(os.path.exists(f), "%r does not exist" % f)
+def assertNoFile(path, *paths):
+f = os.path.join(path, *paths)
+self.assertFalse(os.path.exists(os.path.join(f)), "%r exists" % f)
+
+# Clean up anything in the workdir/sysroot/sstate cache
+bitbake('mdadm m4 -c cleansstate')
+# Try modifying a recipe
+tempdir_mdadm = tempfile.mkdtemp(prefix='devtoolqa')
+tempdir_m4 = tempfile.mkdtemp(prefix='devtoolqa')
+builddir_m4 = tempfile.mkdtemp(prefix='devtoolqa')
+self.track_for_cleanup(tempdir_mdadm)
+self.track_for_cleanup(tempdir_m4)
+#self.track_for_cleanup(builddir_m4)
+self.track_for_cleanup(self.workspacedir)
+self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
+self.add_command_to_tearDown('bitbake -c clean mdadm m4')
+self.write_recipeinc('m4', 'EXTERNALSRC_BUILD = "%s"\ndo_clean() 
{\n\t:\n}\n' % builddir_m4)
+try:
+runCmd('devtool modify mdadm -x %s' % tempdir_mdadm)
+runCmd('devtool modify m4 -x %s' % tempdir_m4)
+assertNoFile(tempdir_mdadm, 'mdadm')
+assertNoFile(builddir_m4, 'src/m4')
+result = bitbake('m4 -e')
+result = bitbake('mdadm m4 -c compile')
+self.assertEqual(result.status, 0)
+assertFile(tempdir_mdadm, 'mdadm')
+assertFile(builddir_m4, 'src/m4')
+# Check that buildclean task exists and does call make clean
+bitbake('mdadm m4 -c buildclean')
+assertNoFile(tempdir_mdadm, 'mdadm')
+assertNoFile(builddir_m4, 'src/m4')
+bitbake('mdadm m4 -c compile')
+assertFile(tempdir_mdadm, 'mdadm')
+assertFile(builddir_m4, 'src/m4')
+bitbake('mdadm m4 -c clean')
+# Check that buildclean task is run before clean for B == S
+assertNoFile(tempdir_mdadm, 'mdadm')
+# Check that buildclean task is not run before clean for B != S
+assertFile(builddir_m4, 'src/m4')
+finally:
+self.delete_recipeinc('m4')
+
 @testcase(1166)
 def test_devtool_modify_invalid(self):
 # Try modifying some recipes
-- 
2.1.4

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


[OE-core] [PATCH v2 1/2] externalsrc.bbclass: Add task buildclean

2017-01-09 Thread Ola x Nilsson
The buildclean task should call the package build system clean
command, just implemented for Make for now.

This is meant for recipes where S == B, but can be useful as a
standalone task for other recipes too.

When S == B, set it to run before do_clean which will do what most
developers expect when calling bitbake -c clean.  For S != B, do not
add it before clean as it is not needed and may take some time.

Signed-off-by: Ola x Nilsson 
---
 meta/classes/externalsrc.bbclass | 17 +
 1 file changed, 17 insertions(+)

diff --git a/meta/classes/externalsrc.bbclass b/meta/classes/externalsrc.bbclass
index e115a47..8acd10d 100644
--- a/meta/classes/externalsrc.bbclass
+++ b/meta/classes/externalsrc.bbclass
@@ -108,6 +108,10 @@ python () {
 # We don't want the workdir to go away
 d.appendVar('RM_WORK_EXCLUDE', ' ' + d.getVar('PN'))
 
+bb.build.addtask('do_buildclean',
+ 'do_clean' if d.getVar('S') == d.getVar('B') else 
None,
+ None, d)
+
 # If B=S the same builddir is used even for different architectures.
 # Thus, use a shared CONFIGURESTAMPFILE and STAMP directory so that
 # change of do_configure task hash is correctly detected and stamps are
@@ -142,6 +146,17 @@ python externalsrc_compile_prefunc() {
 bb.plain('NOTE: %s: compiling from external source tree %s' % 
(d.getVar('PN'), d.getVar('EXTERNALSRC')))
 }
 
+do_buildclean[dirs] = "${S} ${B}"
+do_buildclean[nostamp] = "1"
+do_buildclean[doc] = "Call 'make clean' or equivalent in ${B}"
+externalsrc_do_buildclean() {
+   if [ -e Makefile -o -e makefile -o -e GNUmakefile ]; then
+   oe_runmake clean || die "make failed"
+   else
+   bbnote "nothing to do - no makefile found"
+   fi
+}
+
 def srctree_hash_files(d):
 import shutil
 import subprocess
@@ -188,3 +203,5 @@ def srctree_configure_hash_files(d):
 if f in search_files:
 out_items.append('%s:True' % os.path.join(root, f))
 return ' '.join(out_items)
+
+EXPORT_FUNCTIONS do_buildclean
-- 
2.1.4

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


[OE-core] [PATCH] flex: upgrade to 2.6.2

2017-01-09 Thread Ross Burton
Patches dropped as they are merged upstream:
- CVE-2016-6354.patch
- 0002-avoid-c-comments-in-c-code-fails-with-gcc-6.patch
- do_not_create_pdf_doc.patch

Apply a patch from github to simplify cross-compilation and not need a
flex-native to bootstrap.

Signed-off-by: Ross Burton 
---
 ...oid-c-comments-in-c-code-fails-with-gcc-6.patch |  64 --
 .../recipes-devtools/flex/flex/CVE-2016-6354.patch |  59 --
 meta/recipes-devtools/flex/flex/crosscompile.patch | 214 +
 .../flex/flex/do_not_create_pdf_doc.patch  |  17 --
 .../flex/{flex_2.6.0.bb => flex_2.6.2.bb}  |  11 +-
 5 files changed, 219 insertions(+), 146 deletions(-)
 delete mode 100644 
meta/recipes-devtools/flex/flex/0002-avoid-c-comments-in-c-code-fails-with-gcc-6.patch
 delete mode 100644 meta/recipes-devtools/flex/flex/CVE-2016-6354.patch
 create mode 100644 meta/recipes-devtools/flex/flex/crosscompile.patch
 delete mode 100644 meta/recipes-devtools/flex/flex/do_not_create_pdf_doc.patch
 rename meta/recipes-devtools/flex/{flex_2.6.0.bb => flex_2.6.2.bb} (84%)

diff --git 
a/meta/recipes-devtools/flex/flex/0002-avoid-c-comments-in-c-code-fails-with-gcc-6.patch
 
b/meta/recipes-devtools/flex/flex/0002-avoid-c-comments-in-c-code-fails-with-gcc-6.patch
deleted file mode 100644
index 438ca5f..000
--- 
a/meta/recipes-devtools/flex/flex/0002-avoid-c-comments-in-c-code-fails-with-gcc-6.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 7072befe1397af4eb01c3ff7edf99f0cd5076089 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= 
-Date: Tue, 30 Aug 2016 14:25:32 +0200
-Subject: [PATCH] avoid c++ comments in c-code - fails with gcc-6
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-fixes:
-
-| error: C++ style comments are not allowed in ISO C90
-| num_to_alloc = 1; // After all that talk, this was set to 1 anyways...
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller 

- src/flex.skl | 2 +-
- src/scan.c   | 2 +-
- src/skel.c   | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/flex.skl b/src/flex.skl
-index 73a0b9e..ed71627 100644
 a/src/flex.skl
-+++ b/src/flex.skl
-@@ -2350,7 +2350,7 @@ void yyFlexLexer::yyensure_buffer_stack(void)
-* scanner will even need a stack. We use 2 instead of 1 to 
avoid an
-* immediate realloc on the next call.
-  */
--  num_to_alloc = 1; // After all that talk, this was set to 1 
anyways...
-+  num_to_alloc = 1; /* After all that talk, this was set to 1 
anyways... */
-   YY_G(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-   (num_to_alloc * 
sizeof(struct yy_buffer_state*)
-   
M4_YY_CALL_LAST_ARG);
-diff --git a/src/scan.c b/src/scan.c
-index b55df2d..f1dce75 100644
 a/src/scan.c
-+++ b/src/scan.c
-@@ -4672,7 +4672,7 @@ static void yyensure_buffer_stack (void)
-* scanner will even need a stack. We use 2 instead of 1 to 
avoid an
-* immediate realloc on the next call.
-  */
--  num_to_alloc = 1; // After all that talk, this was set to 1 
anyways...
-+  num_to_alloc = 1; /* After all that talk, this was set to 1 
anyways...*/
-   (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-   (num_to_alloc * 
sizeof(struct yy_buffer_state*)
-   );
-diff --git a/src/skel.c b/src/skel.c
-index ef657d3..26cc889 100644
 a/src/skel.c
-+++ b/src/skel.c
-@@ -2561,7 +2561,7 @@ const char *skel[] = {
-   "* scanner will even need a stack. We use 2 instead of 1 to 
avoid an",
-   "* immediate realloc on the next call.",
-   " */",
--  "   num_to_alloc = 1; // After all that talk, this was set to 1 
anyways...",
-+  "   num_to_alloc = 1; /* After all that talk, this was set to 1 
anyways... */",
-   "   YY_G(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc",
-   "   (num_to_alloc * 
sizeof(struct yy_buffer_state*)",
-   "   
M4_YY_CALL_LAST_ARG);",
--- 
-2.5.5
-
diff --git a/meta/recipes-devtools/flex/flex/CVE-2016-6354.patch 
b/meta/recipes-devtools/flex/flex/CVE-2016-6354.patch
deleted file mode 100644
index 216ac7a..000
--- a/meta/recipes-devtools/flex/flex/CVE-2016-6354.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 3939eccdff598f47e5b37b05d58bf1b44d3796e7 Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen 
-Date: Fri, 7 Oct 2016 14:15:38 +0300
-Subject: [PATCH] Prevent buffer overflow in yy_get_next_buffer
-
-This is upstream 

[OE-core] Yocto Project Status WW02

2017-01-09 Thread Jolley, Stephen K
Current Dev Position: YP 2.3 M2 -> M3

Next Deadline: YP 2.3 M2 by Jan 23, 2017


SWAT team rotation: Joshua -> Armin

https://wiki.yoctoproject.org/wiki/Yocto_Build_Failure_Swat_Team


Key Status/Updates:

*The M1 issues proved tricky to debug and potentially meant there were 
widespread problems however once we understood the specifics, we decided the 
rc1 M1 build could be released as built since the issues were primarily limited 
to the QA systems with specific host dependencies installed. There are patches 
in master to address the problems.

*M1 delivers some key improvements in multiconfig builds and tinfoil2 
which should make memory resident bitbake more usable.

*The patch backlog is being worked through but we continue to struggle 
trying to deal with the amount of breakage introduced by submitted patches. 
We're working on speeding up the turnaround time of tests like oe-selftest but 
this takes time.

*We should have a build of the 2.2.1 release imminently which would go 
into QA when built.

*M2 will be upon us sooner than we realize (two weeks!) and there are 
some key changes such as recipe specific sysroots and the oeqa framework rework 
pending with some potential for disruption. Wider testing of these patchsets as 
they're published would be appreciated. There remains a fundamental design 
issue with recipe specific sysroots which we've not been able to figure out a 
workaround for as yet.


Proposed upcoming dot releases:

YP 2.2.1 Release by Jan. 20, 2017

YP 2.1.3 Release by May. 19, 2017


Key YP 2.3 Dates:

YP 2.3 M2 Cutoff is Jan. 23, 2017

YP 2.3 M2 Release is Feb. 3, 2017

YP 2.3 M3 Cutoff is Feb 27, 2017

YP 2.3 M3 Release is Mar. 10, 2017

YP 2.3 M4 Cutoff is April 3, 2017

YP 2.3 M4 Release is April 28, 2017


Tracking Metrics:

WDD 2632 (last week 2594)

(https://wiki.yoctoproject.org/charts/combo.html)


Key Status Links for YP:

https://wiki.yoctoproject.org/wiki/Yocto_Project_v2.3_Status

https://wiki.yoctoproject.org/wiki/Yocto_2.3_Schedule

https://wiki.yoctoproject.org/wiki/Yocto_2.3_Features


[If anyone has suggestions for other information you'd like to see on this 
weekly status update, let us know!]

Thanks,

Stephen K. Jolley
Yocto Project Program Manager
INTEL, MS JF1-255, 2111 N.E. 25th Avenue, Hillsboro, OR 97124
*   Work Telephone:(503) 712-0534
*Cell:   (208) 244-4460
* Email:stephen.k.jol...@intel.com

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


Re: [OE-core] [PATCH 4/7] flex: upgrade to 2.6.2

2017-01-09 Thread Burton, Ross
On 9 January 2017 at 01:53, ChenQi  wrote:

> I'm not sure if I understand it correctly. stage1flex has to be in sysroot
> to be used safely. Otherwise, if rm_work is enabled, things are removed.
> And for stage1flex to be in sysroot, it has to be installed.
>
> This reminded me that there was work upstream over the holiday to fix the
cross-compile problem and they asked for my testing.  It appears to work so
I'll submit an update myself shortly which incorporates that.

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


Re: [OE-core] [PATCH] zlib: update SRC_URI to fix fetching

2017-01-09 Thread Alexander Kanavin

On 01/05/2017 06:34 PM, Joshua Lock wrote:

Upstream have removed the file from zlib.net as a new version has
been released, switch to fetching from the official sourceforge
mirror.

[YOCTO #10879]


If a new version has been released, you should also update to that 
version. Also, does upstream version check (-c checkpkg) still work with 
the new SRC_URI?


Alex

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


[OE-core] [PATCH 00/74] Consolidated pull

2017-01-09 Thread Ross Burton
Hi,

Consolidated pull for merging.  Mostly green on the AB (on SHA 5525aca0fae9),
the nightly-musl failure was caused by the new kernel headers interacting badly
with musl and connman so these have both been removed and will be fixed shortly.

Ross

The following changes since commit dbb247cac5fbf7b037e4955f9793828451723924:

  bitbake: cookerdata: Convert multiconfig to use BB_CURRENT_MC (2016-12-22 
12:36:40 +)

are available in the git repository at:

  ssh://g...@git.yoctoproject.org/poky-contrib ross/mut

for you to fetch changes up to a00c4aba8c6ce880889dcbb7540fc94010a4ed2f:

  selftest/devtool: update test to work with new mtd-utils (2017-01-09 10:54:46 
+)


Alejandro Hernandez (4):
  gummiboot: Remove/change gummiboot references with systemd-boot
  gummiboot: Remove old gummiboot recipe, related class and wks file
  gummiboot: Remove gummiboot tests
  wic: Remove gummiboot test

André Draszik (1):
  module.bbclass: allow to override location of Module.symvers

Aníbal Limón (1):
  bitbake: bb/cooker: BBCooker stops notifier at shutdown

Chen Qi (1):
  opkg-utils: warn if update-alternatives finds priority conflict

Christopher Larson (22):
  waffle: add opengl to REQUIRED_DISTRO_FEATURES
  piglit: add opengl to REQUIRED_DISTRO_FEATURES
  libglu: add opengl to REQUIRED_DISTRO_FEATURES
  eglinfo-x11: add opengl to REQUIRED_DISTRO_FEATURES
  packagegroup-self-hosted: add opengl to REQUIRED_DISTRO_FEATURES
  packagegroup-core-lsb: add opengl to REQUIRED_DISTRO_FEATURES
  valgrind: skip for linux-gnux32
  packagegroup-core-tools-profile: exclude valgrind for x32
  grub-efi: ignore arch mismatch for x32
  lttng-tools: fix for x32
  gnu-efi: build 64-bit for x32
  gnu-efi: ignore arch mismatch for x32
  ltp: fix build for x32
  boost: drop flags bits, fix for x32
  gstreamer1.0-libav: disable asm for x32
  ffmpeg: disable asm for x32
  x264: for x32, disable asm and pass -mx32
  nss: fix for x32
  libunwind: apply a patch to fix x32
  gnome-desktop3: fix for x32
  webkitgtk: patch & disable JIT for x32
  webkitgtk: add missing python-native dep

David Vincent (2):
  classes: Fix alternatives and rc.d ordering
  nss: Fix postinstall script

Denys Dmytriyenko (2):
  linux-dtb: strip DTB extension properly in postinst/postrm
  attr/ea-acl: pass --disable-gettext when USE_NLS=no

Ed Bartosh (3):
  populate_sdk_ext: fix working with uninative sstate
  populate_sdk_ext: whitelist do_package tasks
  mpc8315e-rdb.conf: produce wic images for MPC8315

Haiqing Bai (1):
  nettle: Modify configure script to get consistent build.

He Zhe (2):
  qemu: Fix pci-assign
  kexec-tools: Update to 2.0.14

Huang Qiyu (1):
  file: 5.28 -> 5.29

Jianxun Zhang (1):
  lib/oe.sstatesig: make locked sig file consistent

Jochen Jaegers (1):
  toaster: prevent use of unset variable BUILDSTATS_BASE

Joshua Lock (1):
  zlib: update SRC_URI to fix fetching

Jussi Kukkonen (2):
  ppp: Partly remove patch that doesn't make sense any more
  ppp: Add patch to fix build with musl and 4.9 headers

Kai Kang (1):
  useradd-example: exclude from world

Khem Raj (3):
  gstreamer: Upgrade to 1.10.2
  opkg-utils: Do not use --ignore-fail-on-non-empty with rmdir
  gcc6: Upgrade to 6.3.0

Maxin B. John (2):
  sqlite3: upgrade to 3.15.2
  ifupdown: upgrade to 0.8.16

Mike Crowe (1):
  mtd-utils: Upgrade to 2.0.0

Ola x Nilsson (3):
  externalsrc: Set STAMPCLEAN to match STAMP
  externalsrc: Add optional srcdir arg to srctree_hash_files
  oe-selftest: devtool: Reverting a change should trigger rebuild

Oleksandr Kravchuk (1):
  curl: upgrade to 7.52.1

Patrick Ohly (2):
  runqemu: let command line parameters override defaults
  rootfs-postcommands.bbclass: sort passwd entries

Paul Eggleton (7):
  lib/oe/path: add warning comment about oe.path.remove() with wildcarded 
filenames
  classes/package_rpm: handle square brackets in filenames
  classes/sstate: handle filenames containing square brackets
  classes/sstate: fix file conflict message
  classes/buildstats: don't expand variable pointing to SystemStats
  oe-selftest: fix behaviour if oe-selftest.log is a dangling symlink
  meta: use require instead of include when file should exist

Richard Purdie (2):
  oe-selftest: Improve BUILDDIR environment handling
  bitbake: prserv/serv: Tweak stdout manipulation to be stream safe

Robert Yang (4):
  debianutils: 4.8 -> 4.8.1
  quilt: 0.64 -> 0.65
  guile: 2.0.12 -> 2.0.13
  hdparm: 9.48 -> 9.50

Ross Burton (3):
  populate_sdk: don't force target debug packages into SDK
  cairo: set license for cairo-doc
  selftest/devtool: update test to work with new mtd-utils

 bitbake/lib/bb/cooker.py  

[OE-core] [PATCH] linux-firmware: remove alternatives for brcmfmac-stdio.bin

2017-01-09 Thread Ross Burton
These alternatives are only used to provide an unversioned brcmfmac-sdio.bin,
which was required by kernels prior to 3.13.  As these alternatives all have the
same priority there's no determinism in which one is selected, and current
kernels (since January 2014) use the appropriately versioned firmware names.

Signed-off-by: Ross Burton 
---
 .../linux-firmware/linux-firmware_git.bb   | 24 +-
 1 file changed, 1 insertion(+), 23 deletions(-)

diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb 
b/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
index 1d881d7..4fedcfb 100644
--- a/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
+++ b/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
@@ -186,7 +186,7 @@ SRC_URI[iwlwifi-19.sha256sum] = 
"2034470df64d323b827c4f2d4d0d55be2846b7360179b55
 
 S = "${WORKDIR}/git"
 
-inherit allarch update-alternatives
+inherit allarch
 
 CLEANBROKEN = "1"
 
@@ -413,10 +413,6 @@ FILES_${PN}-vt6656 = " \
 RDEPENDS_${PN}-vt6656 = "${PN}-vt6656-license"
 
 # For broadcom
-#
-# WARNING: The ALTERNATIVE_* variables are not using ${PN} because of
-# a bug in bitbake; when this is fixed and bitbake learns how to proper
-# pass variable flags with expansion we can rework this patch.
 
 LICENSE_${PN}-bcm4329 = "Firmware-broadcom_bcm43xx"
 LICENSE_${PN}-bcm4330 = "Firmware-broadcom_bcm43xx"
@@ -452,24 +448,6 @@ FILES_${PN}-bcm4354 = " \
   /lib/firmware/brcm/brcmfmac4354-sdio.bin \
 "
 
-ALTERNATIVE_LINK_NAME[brcmfmac-sdio.bin] = 
"/lib/firmware/brcm/brcmfmac-sdio.bin"
-
-ALTERNATIVE_linux-firmware-bcm4334 = "brcmfmac-sdio.bin"
-ALTERNATIVE_TARGET_linux-firmware-bcm4334[brcmfmac-sdio.bin] = 
"/lib/firmware/brcm/brcmfmac4334-sdio.bin"
-ALTERNATIVE_linux-firmware-bcm43340 = "brcmfmac-sdio.bin"
-ALTERNATIVE_TARGET_linux-firmware-bcm43340[brcmfmac-sdio.bin] = 
"/lib/firmware/brcm/brcmfmac43340-sdio.bin"
-ALTERNATIVE_linux_firmware-bcm4354 = "brcmfmac-sdio.bin"
-ALTERNATIVE_TARGET_linux-firmware-bcm4354[brcmfmac-sdio.bin] = 
"/lib/firmware/brcm/brcmfmac4354-sdio.bin"
-ALTERNATIVE_linux-firmware-bcm4329 = "brcmfmac-sdio.bin"
-ALTERNATIVE_TARGET_linux-firmware-bcm4329[brcmfmac-sdio.bin] = 
"/lib/firmware/brcm/brcmfmac4329-sdio.bin"
-ALTERNATIVE_linux-firmware-bcm4330 = "brcmfmac-sdio.bin"
-ALTERNATIVE_TARGET_linux-firmware-bcm4330[brcmfmac-sdio.bin] = 
"/lib/firmware/brcm/brcmfmac4330-sdio.bin"
-ALTERNATIVE_linux-firmware-bcm4339 = "brcmfmac-sdio.bin"
-ALTERNATIVE_TARGET_linux-firmware-bcm4339[brcmfmac-sdio.bin] = 
"/lib/firmware/brcm/brcmfmac4339-sdio.bin"
-ALTERNATIVE_PRIORITY_linux-firmware-bcm4339[brcmfmac-sdio.bin] = "20"
-ALTERNATIVE_linux-firmware-bcm43430 = "brcmfmac-sdio.bin"
-ALTERNATIVE_TARGET_linux-firmware-bcm43430[brcmfmac-sdio.bin] = 
"/lib/firmware/brcm/brcmfmac43430-sdio.bin"
-
 RDEPENDS_${PN}-bcm4329 += "${PN}-broadcom-license"
 RDEPENDS_${PN}-bcm4330 += "${PN}-broadcom-license"
 RDEPENDS_${PN}-bcm4334 += "${PN}-broadcom-license"
-- 
2.8.1

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


Re: [OE-core] [PATCH v4] wic/isoimage-isohybrid: remove do_stage_partition()

2017-01-09 Thread Ed Bartosh
Hi Ioan-Adrian,

Thank you for the patch!

It looks good to me.
+1

On Sat, Jan 07, 2017 at 08:03:01PM +0200, Ioan-Adrian Ratiu wrote:
> The purpouse of this function was to check dependencies for building a
> hybrid iso and build them using bitbake if not found. Calling bitbake in
> this context means this wic plugin itself cannot be instrumented inside
> bitbake recipes which is undesirable, the benefits of this are clear:
> there is no need to maintain outside scripts to generate an iso using wic
> and the isohybrid building logic can be further abstracted away into an
> isohybrid.bbclass in the future which can be easily inherited or something
> similar.
> 
> So remove the function and add all dependencies to NATIVE_RECIPES so that
> wic can print useful errors when they're not built.
> 
> To automate building the isohybrid image dependencies, add the following
> somewhere in your image build inheritence hierarcy (or maybe create a
> bbclass in the future to do these sort of things automatically):
> 
> DEPENDS += "syslinux syslinux-native cdrtools-native e2fsprogs-native \
> parted-native dosfstools-native mtools-native grub-efi-native"
> 
> Signed-off-by: Ioan-Adrian Ratiu 
> ---
>  .../lib/wic/plugins/source/isoimage-isohybrid.py   | 49 
> --
>  scripts/lib/wic/utils/oe/misc.py   |  4 ++
>  2 files changed, 4 insertions(+), 49 deletions(-)
> 
> diff --git a/scripts/lib/wic/plugins/source/isoimage-isohybrid.py 
> b/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
> index 3858fd439b..15fd858d22 100644
> --- a/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
> +++ b/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
> @@ -194,55 +194,6 @@ class IsoImagePlugin(SourcePlugin):
>  return initrd
>  
>  @classmethod
> -def do_stage_partition(cls, part, source_params, creator, cr_workdir,
> -   oe_builddir, bootimg_dir, kernel_dir,
> -   native_sysroot):
> -"""
> -Special content staging called before do_prepare_partition().
> -It cheks if all necessary tools are available, if not
> -tries to instal them.
> -"""
> -# Make sure parted is available in native sysroot
> -if not os.path.isfile("%s/usr/sbin/parted" % native_sysroot):
> -msger.info("Building parted-native...\n")
> -exec_cmd("bitbake parted-native")
> -
> -# Make sure mkfs.ext2/3/4 is available in native sysroot
> -if not os.path.isfile("%s/sbin/mkfs.ext2" % native_sysroot):
> -msger.info("Building e2fsprogs-native...\n")
> -exec_cmd("bitbake e2fsprogs-native")
> -
> -# Make sure syslinux is available in sysroot and in native sysroot
> -syslinux_dir = get_bitbake_var("STAGING_DATADIR")
> -if not syslinux_dir:
> -msger.error("Couldn't find STAGING_DATADIR, exiting.\n")
> -if not os.path.exists("%s/syslinux" % syslinux_dir):
> -msger.info("Building syslinux...\n")
> -exec_cmd("bitbake syslinux")
> -if not os.path.exists("%s/syslinux" % syslinux_dir):
> -msger.error("Please build syslinux first\n")
> -
> -# Make sure syslinux is available in native sysroot
> -if not os.path.exists("%s/usr/bin/syslinux" % native_sysroot):
> -msger.info("Building syslinux-native...\n")
> -exec_cmd("bitbake syslinux-native")
> -
> -#Make sure mkisofs is available in native sysroot
> -if not os.path.isfile("%s/usr/bin/mkisofs" % native_sysroot):
> -msger.info("Building cdrtools-native...\n")
> -exec_cmd("bitbake cdrtools-native")
> -
> -# Make sure mkfs.vfat is available in native sysroot
> -if not os.path.isfile("%s/sbin/mkfs.vfat" % native_sysroot):
> -msger.info("Building dosfstools-native...\n")
> -exec_cmd("bitbake dosfstools-native")
> -
> -# Make sure mtools is available in native sysroot
> -if not os.path.isfile("%s/usr/bin/mcopy" % native_sysroot):
> -msger.info("Building mtools-native...\n")
> -exec_cmd("bitbake mtools-native")
> -
> -@classmethod
>  def do_configure_partition(cls, part, source_params, creator, cr_workdir,
> oe_builddir, bootimg_dir, kernel_dir,
> native_sysroot):
> diff --git a/scripts/lib/wic/utils/oe/misc.py 
> b/scripts/lib/wic/utils/oe/misc.py
> index fe188c9d26..489393a24e 100644
> --- a/scripts/lib/wic/utils/oe/misc.py
> +++ b/scripts/lib/wic/utils/oe/misc.py
> @@ -35,8 +35,11 @@ from wic.utils import runner
>  
>  # executable -> recipe pairs for exec_native_cmd
>  NATIVE_RECIPES = {"bmaptool": "bmap-tools",
> +  "grub-mkimage": "grub-efi",
> +  "isohybrid": "syslinux",
>"mcopy": "mtools",
>

Re: [OE-core] [PATCH 2/2] selftest/buildoptions.py: do not hardcode 'tmp' for TMPDIR

2017-01-09 Thread Burton, Ross
On 9 January 2017 at 07:09, Chen Qi  wrote:

> -pkgs_path = g.glob(str(self.builddir) +
> "/tmp/deploy/sources/allarch*/xcurs*")
> +tmp_dir = get_bb_var('TMPDIR')
> +pkgs_path = g.glob(str(tmp_dir) + "/deploy/sources/allarch*/
> xcurs*")
>

I think you meant DEPLOY_DIR_SRC :)

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


Re: [OE-core] [PATCH 1/2] selftest/bbtests.py: do not hardcode 'tmp' for TMPDIR

2017-01-09 Thread Burton, Ross
On 9 January 2017 at 07:09, Chen Qi  wrote:

> +tmp_dir = get_bb_var('TMPDIR')
> +self.assertFalse(os.path.isfile(os.path.join(tmp_dir,
> 'deploy/licenses/readline/generic_GPLv3')))
> +self.assertTrue(os.path.isfile(os.path.join(tmp_dir,
> 'deploy/licenses/readline/generic_GPLv2')))
>

If we're going to remove path assumptions, then LICENSE_DIRECTORY is
$DEPLOY_DIR/licenses.

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


Re: [OE-core] [PATCH 2/3] rm_work_and_downloads.bbclass: more aggressively minimize disk usage

2017-01-09 Thread Patrick Ohly
On Sat, 2017-01-07 at 09:09 +0100, Patrick Ohly wrote:
> On Fri, 2017-01-06 at 13:29 -0800, Randy Witt wrote:
> 
> 
> > There are times that the work directories help with the debugging of
> > build failures. The logs aren't always enough. So a person might want
> > to do something like remove the downloads, but preserve the actual
> > work, especially in the case of failures.
> > 
> > 
> > I'll admit it is a fabricated scenario, but in general I'm against one
> > knob requiring the turning of another knob.
> 
> In principle I agree. Okay, let's separate the two.

I hit one snag when starting to do that: the implementation of download
removal depends on do_rm_work from rm_work.bbclass for hooking into the
build of a recipe at the right place.

I can't think of an easy way of avoiding that without duplicating the
complex logic from rm_work.bbclass, which itself is currently about to
change, so I'd prefer to keep rm_work_and_downloads.bbclass as proposed.

-- 
Best Regards, Patrick Ohly

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



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


Re: [OE-core] [PATCH] iproute2 4.7.0 -> 4.9.0

2017-01-09 Thread Burton, Ross
On 9 January 2017 at 01:23, Zheng, Ruoqin 
wrote:

> I just refer to previous “iproute2-4.3.0-musl.patch” patch to produce this
> patch, So should I write Upstream-Status tag as same as last patch or merge
> iproute2-4.9.0-musl.patch to iproute2-4.3.0-musl.patch ?
>
>
I'd squash it into the existing patch as they both do the same thing, then
you'll inherit the Pending upstream-status. Though submitting the patch
upstream would be much appreciated so we don't have to maintain this.

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


[OE-core] [PATCH V2 1/1] rootfs-postcommands.bbclass: sort passwd entries

2017-01-09 Thread Patrick Ohly
The /etc passwd files in a rootfs consist of the default entries from
base-passwd plus anything that gets added via package installation,
EXTRA_USERS_PARAMS and/or system sysusers.

The execution order of preinst scripts is not perfectly deterministic,
or at least unrelated changes caused it to change in a
non-deterministic way, resulting in irrelevant changes in the order of
passwd entries.

useradd-staticids.bbclass ensures that the numeric IDs don't change,
but re-ordering can still occur, which is bad for reproducible builds
and file-based update mechanisms like swupd which work best if changes
are as minimal as possible.

To achieve that, the files get sorted in a post-processing command,
enabled by default. Sorting is based primarily on the numeric IDs, so
for example, the "root" user continues to be listed first. "nobody"
now is at the end, which wasn't the case before.

The order of the entries should not matter, but in obscure cases where
it does (like having multiple entries for the same numeric ID) this
behavior can be disabled by setting SORT_PASSWD_POSTPROCESS_COMMAND to
an empty string.

Fixes: YOCTO #10520

Signed-off-by: Patrick Ohly 
---

Notes:
Changes since V1:
 * switched to sorting by numeric ID
 * try harder to run after other postprocess commands which add
   users and groups (content is deterministic but not fully sorted
   otherwise)

 meta/classes/rootfs-postcommands.bbclass | 22 
 meta/lib/rootfspostcommands.py   | 44 
 2 files changed, 66 insertions(+)
 create mode 100644 meta/lib/rootfspostcommands.py

diff --git a/meta/classes/rootfs-postcommands.bbclass 
b/meta/classes/rootfs-postcommands.bbclass
index 8d48a2d..53a4fda 100644
--- a/meta/classes/rootfs-postcommands.bbclass
+++ b/meta/classes/rootfs-postcommands.bbclass
@@ -30,6 +30,23 @@ ROOTFS_POSTPROCESS_COMMAND += 'empty_var_volatile;'
 SSH_DISABLE_DNS_LOOKUP ?= " ssh_disable_dns_lookup ; "
 ROOTFS_POSTPROCESS_COMMAND_append_qemuall = "${SSH_DISABLE_DNS_LOOKUP}"
 
+# Sort the user and group entries in /etc by ID in order to make the content
+# deterministic. Package installs are not deterministic, causing the ordering
+# of entries to change between builds. In case that this isn't desired,
+# the command can be overridden.
+#
+# Note that useradd-staticids.bbclass has to be used to ensure that
+# the numeric IDs of dynamically created entries remain stable.
+#
+# We want this to run as late as possible, in particular after
+# systemd_sysusers_create and set_user_group. Using _append is not
+# enough for that, set_user_group is added that way and would end
+# up running after us.
+SORT_PASSWD_POSTPROCESS_COMMAND ??= " sort_passwd; "
+python () {
+d.appendVar('ROOTFS_POSTPROCESS_COMMAND', 
'${SORT_PASSWD_POSTPROCESS_COMMAND}')
+}
+
 systemd_create_users () {
for conffile in ${IMAGE_ROOTFS}/usr/lib/sysusers.d/systemd.conf 
${IMAGE_ROOTFS}/usr/lib/sysusers.d/systemd-remote.conf; do
[ -e $conffile ] || continue
@@ -146,6 +163,11 @@ ssh_disable_dns_lookup () {
fi
 }
 
+python sort_passwd () {
+import rootfspostcommands
+rootfspostcommands.sort_passwd(d.expand('${IMAGE_ROOTFS}${sysconfdir}'))
+}
+
 #
 # Enable postinst logging if debug-tweaks is enabled
 #
diff --git a/meta/lib/rootfspostcommands.py b/meta/lib/rootfspostcommands.py
new file mode 100644
index 000..6a9b8b4
--- /dev/null
+++ b/meta/lib/rootfspostcommands.py
@@ -0,0 +1,44 @@
+import os
+
+def sort_file(filename, mapping):
+"""
+Sorts a passwd or group file based on the numeric ID in the third column.
+If a mapping is given, the name from the first column is mapped via that
+dictionary instead (necessary for /etc/shadow and /etc/gshadow). If not,
+a new mapping is created on the fly and returned.
+"""
+new_mapping = {}
+with open(filename, 'rb+') as f:
+lines = f.readlines()
+# No explicit error checking for the sake of simplicity. /etc
+# files are assumed to be well-formed, causing exceptions if
+# not.
+for line in lines:
+entries = line.split(b':')
+name = entries[0]
+if mapping is None:
+id = int(entries[2])
+else:
+id = mapping[name]
+new_mapping[name] = id
+# Sort by numeric id first, with entire line as secondary key
+# (just in case that there is more than one entry for the same id).
+lines.sort(key=lambda line: (new_mapping[line.split(b':')[0]], line))
+# We overwrite the entire file, i.e. no truncate() necessary.
+f.seek(0)
+f.write(b''.join(lines))
+return new_mapping
+
+def sort_passwd(sysconfdir):
+"""
+Sorts passwd and group files in a rootfs /etc directory by ID.
+"""
+for suffix in '', '-':
+for main, shadow in (('passwd', 'shadow'),
+ 

[OE-core] [PATCH v3] kernel-module-split: Append KERNEL_VERSION string to kernel module name

2017-01-09 Thread ola . redell
From: Ola Redell 

The KERNEL_VERSION string is added to kernel module package names in order to
make the kernel modules for different kernel versions distinct packages instead
of different versions of the same package. With this change, when a new kernel
is installed together with its kernel modules (e.g. by upgrade of the packages
kernel and kernel-modules) using some package manager such as apt-get or rpm,
the kernel modules for the older kernel will not be removed. This enables a
fall back to the older kernel if the new one fails.

Signed-off-by: Ola Redell 
---
 meta/classes/kernel-module-split.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/classes/kernel-module-split.bbclass 
b/meta/classes/kernel-module-split.bbclass
index efe1b42..13cff51 100644
--- a/meta/classes/kernel-module-split.bbclass
+++ b/meta/classes/kernel-module-split.bbclass
@@ -122,7 +122,7 @@ python split_kernel_module_packages () {
 module_regex = '^(.*)\.k?o$'
 
 module_pattern_prefix = d.getVar('KERNEL_MODULE_PACKAGE_PREFIX')
-module_pattern = module_pattern_prefix + 'kernel-module-%s'
+module_pattern = module_pattern_prefix + 'kernel-module-%s-' + 
d.getVar("KERNEL_VERSION", True)
 
 postinst = d.getVar('pkg_postinst_modules')
 postrm = d.getVar('pkg_postrm_modules')
-- 
1.9.1

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


Re: [OE-core] could OE maybe point out when a recipe has upper case letters in it?

2017-01-09 Thread André Draszik
On Fri, 2017-01-06 at 08:34 -0500, Robert P. J. Day wrote:
>   in a fit of silliness, i created some packagegroup recipes and,
> without thinking, had the string "OE" as part of the recipe file name,
> and was baffled when i kept getting errors that trying to add that
> packagegroup to my image was failing due to an "empty" package.
> 
>   it was doubly mystifying since i had been using wind river linux
> where the packagegroup names contained the string "WRL" and that
> worked just fine. changing the "OE" to "oe" appears to have solved the
> problem.
> 
>   thoughts? why "WRL" worked with wind river linux, and "OE" failed
> with a poky build? i don't plan on making that mistake again.

I think this depends on the package format used - AFAIR rpm allows capital
letters in package names, whereas ipk and deb don't.

Cheers,
A.

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


Re: [OE-core] [PATCH 4/7] flex: upgrade to 2.6.2

2017-01-09 Thread ChenQi

On 01/06/2017 10:59 PM, Burton, Ross wrote:


On 26 December 2016 at 08:10, Chen Qi > wrote:


+  cp ${B}/src/stage1flex ${D}/${bindir}


Can this not just use the flex from flex-native directly instead of 
having to install the stage1flex?


Ross



Hi Ross,

I just found that nativesdk-flex also needs the following patch to 
compile correctly.


0001-use-stage1flex-from-flex-native-to-fix-cross-compili.patch

I've fixed the problem and updated the remote branch.

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


Best Regards,
Chen Qi

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


Re: [OE-core] [PATCH] glib-2.0: add configure option to control dbus related checking

2017-01-09 Thread Jussi Kukkonen
On 9 January 2017 at 04:54, Haiqing Bai  wrote:

> Fixed the issue that checking dbus modules is not controlled by switch
> '--enable-dbus/--disable-dbus" which causes the inconsistent building
> output by the package building sequence of glib-2.0 and dbus.
> Also add PACKAGECONFIG line to automatically get the right configure
> option.
>

Since the PACKAGECONFIG is not set by default does this mean our test
images used to get gdbus tests in ptests (even if by accident) but would
not have them with this patch?

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


Re: [OE-core] [PATCH] kexec: ARM: fix align issue of add_buffer_phys_virt() for LPAE kernel.

2017-01-09 Thread Bai, Haiqing
ok,  I have sent the new patch for 2.0.14. Thanks

From: Burton, Ross [mailto:ross.bur...@intel.com]
Sent: 2017年1月6日 22:32
To: Bai, Haiqing
Cc: OE-core
Subject: Re: [OE-core] [PATCH] kexec: ARM: fix align issue of 
add_buffer_phys_virt() for LPAE kernel.

Can you rebase and resent the patch please then?

Cheers,
Ross

On 6 January 2017 at 02:40, Bai, Haiqing (Wind River) 
> wrote:
Hi, Ross:

  I clone the branch (poky-contrib:ross/mut) and did’t find the fix in 
2.0.14,  so this fix is still required.  Thanks

B,R
Haiqing Bai
From: Burton, Ross [mailto:ross.bur...@intel.com]
Sent: 2017年1月4日 22:32
To: Bai, Haiqing
Cc: OE-core
Subject: Re: [OE-core] [PATCH] kexec: ARM: fix align issue of 
add_buffer_phys_virt() for LPAE kernel.

An upgrade to 2.0.14 was recently posted on the list (and is now in 
poky-contrib:ross/mut), can you verify that this patch is still required with 
that release and rebase?

Ross

On 3 January 2017 at 09:05, Haiqing Bai 
> wrote:
If LPAE is enabled, 3 level page table is used and the 'SECTION_SIZE'
is (1<<21), so add_buffer_phys_virt() should align to (1 << 21).

Signed-off-by: Haiqing Bai 
>
---
 ...-ARM-fix-add_buffer_phys_virt-align-issue.patch | 52 ++
 meta/recipes-kernel/kexec/kexec-tools_2.0.12.bb  
  |  1 +
 2 files changed, 53 insertions(+)
 create mode 100644 
meta/recipes-kernel/kexec/kexec-tools/kexec-ARM-fix-add_buffer_phys_virt-align-issue.patch

diff --git 
a/meta/recipes-kernel/kexec/kexec-tools/kexec-ARM-fix-add_buffer_phys_virt-align-issue.patch
 
b/meta/recipes-kernel/kexec/kexec-tools/kexec-ARM-fix-add_buffer_phys_virt-align-issue.patch
new file mode 100644
index 000..7d1f95e
--- /dev/null
+++ 
b/meta/recipes-kernel/kexec/kexec-tools/kexec-ARM-fix-add_buffer_phys_virt-align-issue.patch
@@ -0,0 +1,52 @@
+From 380019f68e19ac863cf32dc7ff6784e8fe1d751f Mon Sep 17 00:00:00 2001
+From: Haiqing Bai >
+Date: Mon, 19 Dec 2016 14:52:02 +0800
+Subject: [PATCH] kexec: ARM: Fix add_buffer_phys_virt() align issue.
+
+When "CONFIG_ARM_LPAE" is enabled,3 level page table
+is used by MMU, the "SECTION_SIZE" is defined with
+(1 << 21), but 'add_buffer_phys_virt()' hardcode this
+to (1 << 20).
+
+Upstream-Status: Pending
+
+Suggested-By:fredrik.markst...@gmail.com
+Signed-off-by: Haiqing Bai 
>
+---
+ kexec/arch/arm/crashdump-arm.c | 5 -
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/kexec/arch/arm/crashdump-arm.c b/kexec/arch/arm/crashdump-arm.c
+index 38a1401..e41b7fb 100644
+--- a/kexec/arch/arm/crashdump-arm.c
 b/kexec/arch/arm/crashdump-arm.c
+@@ -271,6 +271,7 @@ int load_crashdump_segments(struct kexec_info *info, char 
*mod_cmdline)
+   void *buf;
+   int err;
+   int last_ranges;
++  unsigned short align_bit_shift = 20;
+
+   /*
+* First fetch all the memory (RAM) ranges that we are going to pass to
+@@ -295,6 +296,7 @@ int load_crashdump_segments(struct kexec_info *info, char 
*mod_cmdline)
+
+   /* for support LPAE enabled kernel*/
+   elf_info.class = ELFCLASS64;
++  align_bit_shift = 21;
+
+   err = crash_create_elf64_headers(info, _info,
+usablemem_rgns.ranges,
+@@ -315,8 +317,9 @@ int load_crashdump_segments(struct kexec_info *info, char 
*mod_cmdline)
+* 1MB) so that available memory passed in kernel command line will be
+* aligned to 1MB. This is because kernel create_mapping() wants memory
+* regions to be aligned to SECTION_SIZE.
++ * The SECTION_SIZE of LPAE kernel is '1UL << 21' defined in 
pgtable-3level.h
+*/
+-  elfcorehdr = add_buffer_phys_virt(info, buf, bufsz, bufsz, 1 << 20,
++  elfcorehdr = add_buffer_phys_virt(info, buf, bufsz, bufsz, 1 << 
align_bit_shift,
+ crash_reserved_mem.start,
+ crash_reserved_mem.end, -1, 0);
+
+--
+1.9.1
+
diff --git 
a/meta/recipes-kernel/kexec/kexec-tools_2.0.12.bb 
b/meta/recipes-kernel/kexec/kexec-tools_2.0.12.bb
index 59376c8..3e38923 100644
--- 
a/meta/recipes-kernel/kexec/kexec-tools_2.0.12.bb
+++ 
b/meta/recipes-kernel/kexec/kexec-tools_2.0.12.bb
@@ -8,6 +8,7 @@ SRC_URI += " \
 
file://0002-powerpc-change-the-memory-size-limit.patch
 \
 
file://0001-purgatory-Pass-r-directly-to-linker.patch
 \
 
file://0001-vmcore-dmesg-Define-_GNU_SOURCE.patch
 \
+

[OE-core] [PATCH] kexec: ARM: fix align issue of add_buffer_phys_virt() for LPAE kernel

2017-01-09 Thread Haiqing Bai
If LPAE is enabled, 3 level page table is used and the 'SECTION_SIZE'
is (1<<21), so add_buffer_phys_virt() should align to (1 << 21).

Signed-off-by: Haiqing Bai 
---
 ...-ARM-Fix-add_buffer_phys_virt-align-issue.patch | 52 ++
 meta/recipes-kernel/kexec/kexec-tools_2.0.14.bb|  1 +
 2 files changed, 53 insertions(+)
 create mode 100644 
meta/recipes-kernel/kexec/kexec-tools/0010-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch

diff --git 
a/meta/recipes-kernel/kexec/kexec-tools/0010-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch
 
b/meta/recipes-kernel/kexec/kexec-tools/0010-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch
new file mode 100644
index 000..6c6c66d
--- /dev/null
+++ 
b/meta/recipes-kernel/kexec/kexec-tools/0010-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch
@@ -0,0 +1,52 @@
+From 78e497fb69950665e639cfab8f4fb50cc404a1eb Mon Sep 17 00:00:00 2001
+From: Haiqing Bai 
+Date: Mon, 9 Jan 2017 15:26:29 +0800
+Subject: [PATCH] kexec: ARM: Fix add_buffer_phys_virt() align issue
+
+When "CONFIG_ARM_LPAE" is enabled,3 level page table
+is used by MMU, the "SECTION_SIZE" is defined with
+(1 << 21), but 'add_buffer_phys_virt()' hardcode this
+to (1 << 20).
+
+Upstream-Status: Pending
+
+Suggested-By:fredrik.markst...@gmail.com
+Signed-off-by: Haiqing Bai 
+---
+ kexec/arch/arm/crashdump-arm.c | 5 -
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/kexec/arch/arm/crashdump-arm.c b/kexec/arch/arm/crashdump-arm.c
+index 245c21a..12139c3 100644
+--- a/kexec/arch/arm/crashdump-arm.c
 b/kexec/arch/arm/crashdump-arm.c
+@@ -240,6 +240,7 @@ int load_crashdump_segments(struct kexec_info *info, char 
*mod_cmdline)
+   void *buf;
+   int err;
+   int last_ranges;
++  unsigned short align_bit_shift = 20;
+ 
+   /*
+* First fetch all the memory (RAM) ranges that we are going to pass to
+@@ -281,6 +282,7 @@ int load_crashdump_segments(struct kexec_info *info, char 
*mod_cmdline)
+ 
+   /* for support LPAE enabled kernel*/
+   elf_info.class = ELFCLASS64;
++  align_bit_shift = 21;
+ 
+   err = crash_create_elf64_headers(info, _info,
+usablemem_rgns.ranges,
+@@ -302,8 +304,9 @@ int load_crashdump_segments(struct kexec_info *info, char 
*mod_cmdline)
+* 1MB) so that available memory passed in kernel command line will be
+* aligned to 1MB. This is because kernel create_mapping() wants memory
+* regions to be aligned to SECTION_SIZE.
++   * The SECTION_SIZE of LPAE kernel is '1UL << 21' defined in 
pgtable-3level.h
+*/
+-  elfcorehdr = add_buffer_phys_virt(info, buf, bufsz, bufsz, 1 << 20,
++  elfcorehdr = add_buffer_phys_virt(info, buf, bufsz, bufsz, 1 << 
align_bit_shift,
+ crash_kernel_mem.start,
+ crash_kernel_mem.end, -1, 0);
+ 
+-- 
+1.9.1
+
diff --git a/meta/recipes-kernel/kexec/kexec-tools_2.0.14.bb 
b/meta/recipes-kernel/kexec/kexec-tools_2.0.14.bb
index 899b391..af32320 100644
--- a/meta/recipes-kernel/kexec/kexec-tools_2.0.14.bb
+++ b/meta/recipes-kernel/kexec/kexec-tools_2.0.14.bb
@@ -15,6 +15,7 @@ SRC_URI += 
"${KERNELORG_MIRROR}/linux/utils/kernel/kexec/kexec-tools-${PV}.tar.g
 file://0007-arm64-kdump-set-up-other-segments.patch \
 
file://0008-arm64-kdump-add-DT-properties-to-crash-dump-kernel-s.patch \
 file://0009-arm64-kdump-Add-support-for-binary-image-files.patch \
+file://0010-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch \
  "
 
 SRC_URI[md5sum] = "b2b2c5e6b29d467d6e99d587fb6b7cf5"
-- 
1.9.1

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