Compare commits

...

387 Commits

Author SHA1 Message Date
Ross Burton
415b72ffcb dnf: remove systemd units in nativesdk builds
If the DISTRO_FEATURES contain systemd then the systemd class won't delete the
units for us. Until the class is fixed to do this automatically, delete them
explicitly.

(From OE-Core rev: d68a86d87aa017dd0fecb0f626d22711efefcd3f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-28 10:34:37 +01:00
Patrick Ohly
c76abc379e oeqa: allow persistent image writes in runqemu()
By default, QemuRunner avoids modifying the image files that it boots
into by enabling the qemu snapshot mode. However, some tests may want
to test changes that must persists across reboots, so this mode
should be optional.

This can be combined by copying the image file to a temporary location
first and then booting with that copy. It's also useful when testing
with additional drives attached to a virtual machine.

QemuTinyRunner doesn't use the snapshot parameter and therefore ignores
the new parameter.

Long term, a better way of passing these various configuration
parameters should be used, and perhaps QemuRunner and QemuTinyRunner
can be merged into one again to avoid code duplication. But for now
the patch follows the exiting style.

Also beware that QemuTarget.start() now acts in two different modes
(with or without explicit launch command), and depending on that mode
parameters like discard_writes must be ignored, i.e. not get passed to
launch().

(From OE-Core rev: 969d079a33a57f5a8f7af86d7bab04d35ab07584)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-28 10:34:37 +01:00
Patrick Ohly
9a94208600 oeqa: allow customizing image used by runqemu()
runqemu() takes all parameters for the virtual machine from the
variables of the given recipe. By allowing the caller to provide a
hash with variables that get applied locally, the caller gets more
control.

Here's the intended usage:

   <prepare internal-image in self.resultdir>
   overrides = {
        'DEPLOY_DIR_IMAGE': self.resultdir,
        'IMAGE_LINK_NAME': 'internal-image-%s' % self.image_arch,
   }
   with runqemu('refkit-installer-image', ssh=False,
                 overrides=overrides) as qemu:
       ....

This can be used to replace the image completely with something else
or to copy it before allowing runqemu() to write into it.

(From OE-Core rev: 4c6ba32abd6b9de33f4b8a0b87e8a56432ed7825)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-28 10:34:37 +01:00
Patrick Ohly
41b67f1176 oeqa: allow extending qemuparams="..."
Sometimes it is useful to reconfigure the qemu virtual machine
directly. runqemu has the "qemuparams" parameter for that, and the
underlying start() methods also supported modifying that via their
"params" parameter. Only the runqemu() wrapper function lacked
a way to specify additional parameters.

One potential usage is to attach additional disks.

(From OE-Core rev: b2a1cf09ea65ed6f561886b1b4241f9adf3e5709)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-28 10:34:36 +01:00
Andre McCurdy
9a3f10590b bitbake.conf: sort HOSTTOOLS and remove duplicates
Cleanup only, no functional changes.

(From OE-Core rev: 23dd96a3a175cecde258dc6d8263fbe7b308b58e)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-28 08:54:49 +01:00
Leonardo Sandoval
e6adeac7aa recipes-kernel: Skip kernel version check on kernel templates
Currently, SRCREV is set to AUTOREV, causing mismatch between PV and the kernel
version shown in the makefile (see below to see the bitbake log). The solution
is to skip this check, suggesting to remove it once SRCREV is locked.

ERROR: linux-yocto-4.10+gitAUTOINC+01f18cba44_53be19cad6-r0.1 do_kernel_version_sanity_check: Package Version (4.10+gitAUTOINC+01f18cba44_53be19cad6) does not match of kernel being built (4.10.5). Please update the PV variable to match the kernel source or set KERNEL_VERSION_SANITY_SKIP="1" in your recipe.
ERROR: linux-yocto-4.10+gitAUTOINC+01f18cba44_53be19cad6-r0.1 do_kernel_version_sanity_check: Function failed: do_kernel_version_sanity_check (log file is located at /home/lsandov1/poky2/build/tmp/work/myqemu-poky-linux/linux-yocto/4.10+gitAUTOINC+01f18cba44_53be19cad6-r0.1/temp/log.do_kernel_version_sanity_check.26904)
ERROR: Logfile of failure stored in: /home/lsandov1/poky2/build/tmp/work/myqemu-poky-linux/linux-yocto/4.10+gitAUTOINC+01f18cba44_53be19cad6-r0.1/temp/log.do_kernel_version_sanity_check.26904
ERROR: Task (/home/lsandov1/poky2/meta/recipes-kernel/linux/linux-yocto_4.10.bb:do_kernel_version_sanity_check) failed with exit code '1

[YOCTO #11064]

(From meta-yocto rev: 79bfd911f826c6c7e26827bb200dd69e6f567b17)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-28 08:52:14 +01:00
Patrick Ohly
759fcd204f oeqa: QEMU_USE_KVM can list machines
Previously, QEMU_USE_KVM=True enabled the use of kvm only when "x86"
was in the MACHINE name. That is too limiting, because for example
intel-corei7-64 can also use kvm but it wasn't possible to enable that
without changing OE-core.

That traditional usage is still supported. In addition, QEMU_USE_KVM
can be set to a list of space-separated MACHINE names for which kvm is
to be enabled.

(From OE-Core rev: d5421dd00b9cf785fa77e77c6c739e8bd8822fa3)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-28 08:43:13 +01:00
Patrick Ohly
7f6b1cd2c1 oeqa: tolerate interrupted select() while waiting for qemu
Sometimes, the OEQA utility code aborts with:

   ...
   File ".../meta/lib/oeqa/utils/qemurunner.py", line 131, in start
     return self.launch(launch_cmd, qemuparams=qemuparams, get_ip=get_ip, extra_bootparams=extra_bootparams)
   File ".../meta/lib/oeqa/utils/qemurunner.py", line 259, in launch
     sread, swrite, serror = select.select(socklist, [], [], 5)
  InterruptedError: [Errno 4] Interrupted system call

strace shows that this is because of a SIGWINCH:

   Connection from 127.0.0.1:52668
   select(21, [20], [], [], {5, 0})        = ? ERESTARTNOHAND (To be restarted if no handler)
   --- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL} ---

This is related to some special conditions:
 * whether qemu opens a graphical console window (enabled in Poky by default)
 * where that window gets opened
 * whether the window manager changes the size of the shell window (mine
   is a tiling window manager and reorders and resizes windows automatically)

Ignoring the interrupted system calls avoids the problem. Code elsewhere (for example,
run() in ssh.py) already does the same thing.

(From OE-Core rev: 44fe106baf5fd5aebe26c5f28004e2b18d839b7c)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-28 08:43:13 +01:00
Alexander Kanavin
8c1c392ca3 dnf: move the entire dnf/rpm4 stack to Python 3
[YOCTO #11180]

(From OE-Core rev: bedcdc4cf921b70a8cfb16c6684668d0ac9e1942)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-28 08:43:13 +01:00
Alexander Kanavin
3d29214b20 python3: do not hardcode "lib" into site-packages search path
This was not working in multilib or x32 setups and amazingly, was not
noticed until now.

The actual modification is in Lib/site.py, the rest is just devtool moving things around in the patch.

(From OE-Core rev: f60d261b682f1526fb7a754c425300954ef85042)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-28 08:43:13 +01:00
Stephano Cetola
b907e25fd9 insane.bbclass: error if file-rdeps not met
Missing runtime dependencies should result in an error rather than a
warning. Indeed, if RPM is listed in PACKAGE_CLASSES, it will throw
an error rather than install packages with missing dependencies. This
functionality should be consistent across package types. This patch
ensures that an error will be thrown.

[YOCTO #10949]

(From OE-Core rev: 90bc7bfa1b27cd5ea2480463f7631f179a296b10)

Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-28 08:43:13 +01:00
Stephano Cetola
243693be54 devtool: open kconfig fragment in binary mode
When devtool writes to the kconfig fragment, it writes the output of
the diff command returned from pipe.communicate(). This function
returns binary objects. We should open the kconfig fragment file in
binary mode if we expect to write binary objects to it.

[YOCTO #11171]

(From OE-Core rev: 72bec63ab0e78753fb6ed1794d11beef9485c014)

Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-28 08:43:12 +01:00
Lauren Post
020e35cfd9 eudev: restore userspace firmware loading support
This sycncs eudev with systemd. This is required for old kernels to
work and does same backport as did in:

,----
| commit 31163abc7bedd477c1aad10e6d1f47dbee194513
| Author: Jonathan Liu <net147@gmail.com>
| Date:   Thu Mar 19 15:38:32 2015 +1100
|
|     systemd: restore userspace firmware loading support
|
|     This changes the minimum required Linux version from 3.7 back to 3.0.
|
|     [YOCTO #7409]
|
|     Signed-off-by: Jonathan Liu <net147@gmail.com>
|     Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
`----

(From OE-Core rev: d6b139ef1b52ee4842f8706c1b8b950cc50a3d54)

Signed-off-by: Lauren Post <lauren.post@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-28 08:43:12 +01:00
Mariano Lopez
c711caae83 oeqa/core/loader.py: Do not import underscore modules by default
Underscore modules are meant to be run only when manually added to the test
suite, so far another mechanisms are in place to make this happen with
runtime, sdk, and esdk (mostly in test* bbclasses).

This will add such functionality in the core framework so other specific
frameworks can take use this without adding something else.

[YOCTO #10980]

(From OE-Core rev: 2c6eac774768aa610a8b3784483b9e90fb629c2d)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-28 08:43:12 +01:00
Diana Thayer
71e48a3617 bitbake: main: Improve -v and -D option documentation
Expanded and clarify documentation for the -v, --verbose and -D, --debug
options.

[YOCTO #9962]

(Bitbake rev: 921592026c69287cdb40ffd90944d5944f28e2c3)

Signed-off-by: Diana Thayer <garbados@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 20:23:19 +01:00
Paul Eggleton
542eb4731c bitbake: tinfoil: enable client-side logger handling by default
If you had a script that uses tinfoil and it failed to connect to the
BitBake server, you did't see any of the expected messages - this was
because client-side logging wasn't being handled at all. Since you'll
almost always want this when using tinfoil, have it use the new
bb.msg.logger_create() function to enable client-side logging by
default.

Relates to [YOCTO #11185].

(Bitbake rev: 824e73e0f3eaa96b4d84da7e31f9a17ce5c5d7ee)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 20:23:19 +01:00
Paul Eggleton
614cbeddc8 bitbake: lib/bb/msg: introduce logger_create() function
We use this code to set up a logger with colour in a number of different
places, so create one function that does this and make some of bitbake's
utility scripts use it.

(Bitbake rev: b1ba7d1cc8ec33e2d081230287abd07f52136097)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 20:23:19 +01:00
Paul Eggleton
f41740ee8e bitbake: fetch2/git: prevent recursion on getting latest revision
We call git ls-remote to get the latest revision from a git repository,
however by calling runfetchcmd() we can end up recursively running
git ls-remote a number of times with OE e.g. if ${SRCPV} is in PV, ${PV}
is in WORKDIR, and ${WORKDIR} is in PATH (as a result of recipe-specific
sysroots), our call to runfetchcmd() exports PATH so _lsremote() will
get called again - with the end result that we run git ls-remote 30
times in quick succession (!). Prevent that from happening by using a
guard variable and returning a dummy value if it's called recursively.

Fixes [YOCTO #11185].

(Bitbake rev: ff1ccd1db5d70b3fc9ad0d3e8f3d7b804c22bf36)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 20:23:19 +01:00
Joshua Lock
58a02e73d0 oeqa/selftest: don't use cleanall in selftests
* devtool: oeqa.selftest.devtool.DevtoolTests is taking 4 or more hours on the
  autobuilder because the cleanall call deletes the tarball of the kernel
  source, forcing a large clone which is especially long on an NFS mount.

  The cleanall invocation isn't really required here and switching to clean
  instead should avoid hours of re-cloning the same repository each time we
  run oe-selftest on the autobuilder.
* buildoptions: We only need to ensure the first image isn't an incremental
  image, clean will suffice here.
* runtime-test: no need to clean up the artefacts generated during the test,
  let's leave that to a higher level process rather than using the cleanall
  hammer.

(From OE-Core rev: 9c948d3de08f158387e08a17cdc0cedc7d26bb54)

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 20:22:51 +01:00
David Vincent
8fdbf9fcf2 ifupdown: Fix initscript
ifupdown does not provide an initscript so this recipe should not
inherit update-rc.d class. Instead, we rely on init-ifupdown recipe to
startup networking.

(From OE-Core rev: 4e6bf6ea766a0d47f96b3c4682d4f7e81a5763e7)

Signed-off-by: David Vincent <freesilicon@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 20:22:51 +01:00
Robert Yang
94ffc8e017 rpm: change PROVIDES rpm-build to RPROVIDES
The rpm 5 has a rpm-build package, so here should use RPROVIDES rather
than PROVIDES to keep compatibility.

(From OE-Core rev: de2ee88f9cc0fc8d6d92ac2a79364e79a99ae98e)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 20:22:50 +01:00
Otavio Salvador
fd8d814027 mesa: Add Etnaviv and i.MX Gallium backend PACKAGECONFIG options
The MESA 17.0 has Etnaviv and i.MX support. Expose them in
PACKAGECONFIG for use.

(From OE-Core rev: b77c0355e272e9e7a7ab625eef27a8717225b132)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 20:22:50 +01:00
Otavio Salvador
633564b017 mesa: Update to 17.0.2
This is a bugfix only release.

,----
| Bug fixes
|
| Bug 68504 - 9.2-rc1 workaround for clover build failure on ppc/altivec: cannot convert 'bool' to '__vector(4) __bool int' in return
| Bug 97988 - [radeonsi] playing back videos with VDPAU exhibits deinterlacing/anti-aliasing issues not visible with VA-API
| Bug 99484 - Crusader Kings 2 - Loading bars, siege bars, morale bars, etc. do not render correctly
| Bug 99715 - Don't print: "Note: Buggy applications may crash, if they do please report to vendor"
| Bug 100049 - "ralloc: Make sure ralloc() allocations match malloc()'s alignment." causes seg fault in 32bit build
`----

(From OE-Core rev: 7559db30e161851ea944763ee4c1adb17ef6a797)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 20:22:50 +01:00
Robert P. J. Day
f5187871ce classes: Replace "if test" file tests with POSIX file tests
In entire meta/classes/ directory, replace shell tests of the form
"if test -? ..." with POSIX tests of the form "if [ -? ...

(From OE-Core rev: 78928016f4cf38cf6751cb089200bf950d07ae93)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 11:08:34 +01:00
Ed Bartosh
871363251a wic: fix generation of partition UUID
Partition UUID for msdos partitioning is based on a 4 bytes long
system identifier. Wic uses random number to generate system
identifier. For the numbers starting with 0 partition uuid is
shorter, which makes wic images non-bootable as kernel expects
8 charactest in PARTUUID parameter.

Padded system identifier with '0' when generating partition UUID
to make it always 8 characters long. This should fix the boot
issue.

(From OE-Core rev: bdaba95af2b2c9174311374436f184d2a927f6f1)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 11:08:34 +01:00
Robert P. J. Day
6b210e74b7 autotools.bbclass: Replace "grep ... >/dev/null" with "grep -q"
For aesthetic style reasons, use "grep -q" instead of ">/dev/null".

(From OE-Core rev: 39a7bfde92211b3546ff0a8e6a3e549714996b28)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 11:08:34 +01:00
Leonardo Sandoval
7ddcbc5eca scripts/contrib: scripts that updates kernel templates
Updating the kernel templates (those use by the yocto-bsp script) is a mechanical
process (and prone to errors) which consists of copying latest kernel template then
applying string replacements from old to new kernel version. This script collects
these commands allowing quick updates in the future.

(From meta-yocto rev: 450313d9d8bb1e728ed5a7208decd30f50633be1)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:24 +01:00
Leonardo Sandoval
6ce9cc464a scripts/lib/bsp/substrate: kernel templates for 4.10
New set of templates that target the 4.10 kernel version.

[YOCTO #11174]

(From meta-yocto rev: 8a11b0cc2a1bfaab25200c251b301c812141ba58)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:24 +01:00
Kai Kang
794f9c9777 mdadm: update criteria to build with corosync
mdadm only works with corosync 2.x which provides header file corosync/cmap.h.
If build mdadm with corosync 1.x, it fails with:

| member.c:12:27: fatal error: corosync/cmap.h: No such file or directory
|  #include <corosync/cmap.h>
|                            ^

Build with corosync only header file corosync/cmap.h exists.

Ref:
https://github.com/neilbrown/mdadm/blob/master/mdadm.h#L63

(From OE-Core rev: b2a785f19fe25d244179b8672c846925da6d455a)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:07 +01:00
Robert Yang
4ca286d45c scripts/wic: fix typo
roofs -> rootfs

(From OE-Core rev: 131629ca6238ea0596f5dd11d659ce2ca63067a4)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:07 +01:00
Robert Yang
c8fd68adc0 runtime-test.py: fix typo
roofs -> rootfs.

(From OE-Core rev: 73b386c16b2388b5b351305bf1855c444d53481e)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:07 +01:00
Enrico Jorns
a2d1d525f0 image_types: perform fsck on created ext image
When performing a file system check, the image created with mkfs will
trigger Pass 3A ('Optimizing directories') which turns the file system
into state "changed" (EXT2_FLAG_CHANGED).

This will let fsck request a reboot by setting the return code flag "2".

The result of this is that each ext-image built with oe-core will
trigger a reboot during the first time an fsck is triggered.

A common case where this might occur is when fsck detects having
a future superblock write time. This always happens when booting a
newly created ext4 rootfs with a target that does not have a recent time
set.

This patch moves the initial fsck run that performs the optimization
from the target to the host system and thus prevents the target from
performing an avoidable reboot.

(From OE-Core rev: a93d005934192402d7cceb36016b25b7d0c65547)

Signed-off-by: Enrico Jorns <ejo@pengutronix.de>
Signed-off-by: Ulrich Ölmann <uol@pengutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:07 +01:00
Markus Lehtonen
430394da97 oeqa.buildperf: limit the length of error output
Limit the length of error logs to 40 lines. We don't need to
show/archive thousands of lines of bitbake logs if an error occurs.

(From OE-Core rev: 3f1996cb016713295edf35edc32dd5e84888a5c7)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:07 +01:00
Markus Lehtonen
68190b5115 oeqa.utils.commands: limit runCmd exception output
Make it possible to limit the length of output lines shown in runCmd
exceptions. E.g when running bitbake we easily get thousands of lines of
log output, where only the last few (tens) are interesting or relevant
when an error occurs.

(From OE-Core rev: 403dd205828002d6ef4e8b474aedb6082289e22f)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:07 +01:00
Markus Lehtonen
5e3eaf7c57 build-perf-test-wrapper.sh: store buildstats under git-notes
In order to dramatically reduce the data footprint of the result
branches. This makes cloning/pulling result repositories a lot faster.
Buildstats can still be accessed, when needed by doing
git fetch refs/notes/buildstats/*:refs/notes/buildstats/*

[YOCTO #10582]

(From OE-Core rev: 5b52bbf09bb2fbec9d2d54f3c3c46c74a09fbfd0)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:06 +01:00
Markus Lehtonen
746b6fbe68 scripts/oe-git-archive: implement --notes
Option for adding git-notes to the commit.

[YOCTO #10582]

(From OE-Core rev: 0ef7c143262a441c38235ea71832ca7714ce4a35)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:06 +01:00
Markus Lehtonen
e10d1ea082 scripts/oe-git-archive: implement --exclude
May be used for excluding certain files from the commit.

[YOCTO #10582]

(From OE-Core rev: fd125cf694bebefbe9a98fd1bb199d6ca472dad5)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:06 +01:00
Markus Lehtonen
60f32a00dc scripts/oe-git-archive: fix pushing
Git arguments were badly laid out.

(From OE-Core rev: cea9c1380891a85f686cb3b5cb42b6166f38e8d5)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:06 +01:00
Markus Lehtonen
f4b5419787 oe-build-perf-test: sum rusage in buildstats
Instead of separate rusage and child rusage values, only store their sum
value in buildstats. This is a big reduction in data footprint without
really losing any interesting data.

Also, utilize OrderedDict to order data more logically.

[YOCTO #10582]

(From OE-Core rev: 70c41bb721c00ed2abbb88d273eebc3a8bb01f5d)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:06 +01:00
Markus Lehtonen
7132f54041 oe-build-perf-test: pack all buildstat in one file
Write out all buildstats into one big json file, instead of using
multiple per-measurement files. Individual buildstats will be indexed
using "<test_name>.<measurement_name>" as the key. Also, changes the
per-testcase working directories into temporary directories that will be
removed after test execution as there are no more per-testcase data files
to store permanently.

[YOCTO #10582]

(From OE-Core rev: a7f2e8915db379021f3409ca640de5d3b054a830)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:06 +01:00
Maxin B. John
867c2dcbd7 valgrind: correct the comparison logic in vg_regtest
do_diffs in the vg_regtest script compares the actual test output
against the expected test output and returns 0 if it matches.

Previous upgrade modified the return value of do_diffs() and that
resulted in ptest failures.

[YOCTO #8471]

(From OE-Core rev: fa5f7b5090468da0ed1e30160e68362c97350c47)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:06 +01:00
Maxin B. John
d2278fe7b3 valgrind: vg_regtest.in: fix perl script
@PERL@ in vg_regtest.in causes recipe specific sysroot based perl to
be present in the vg_regtest script, making it unusable in the target.

Use /usr/bin/perl instead of @PERL@ to fix it.

(From OE-Core rev: 7a0caa23965185ac8268ae1da2f61fc7ca6de682)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:06 +01:00
Ross Burton
85293a044f boost: various cleanups
Re-order some assignments to be logically arranged.

Remove the set -ex statements as they serve no purpose.

Pass --debug-configuration to see what configuration steps boost is taking.

(From OE-Core rev: 2dc4796f02ecdc99ee3c51c668e8d9090e68a655)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:06 +01:00
Ross Burton
814e960d37 boost: port boost-python to Python 3
As Python 3 is the default Python version, change Boost to build against Python
3 instead of Python 2 if enabled.  It's not simple to support both, so this
means that support for building boost-python against Python 2 has been removed.

This involves backporting a number of patches upstream to fix Python 3 support,
and telling Boost precisely where to find the Python headers and libraries so
that it doesn't try to invoke the host Python to determine these values.

[ YOCTO #11104 ]

(From OE-Core rev: 0f5418eb0ce12811b16d2e3c28c28140a509f685)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:06 +01:00
Armin Kuster
d51913264f tzdata: update to 2017b
(From OE-Core rev: 07aee884efee75568b4a7b7d6bbfe3255ed65ef5)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:06 +01:00
Armin Kuster
33f311b00a tzcode: update to 2017b
Briefly: Haiti has resumed DST.

  Changes to past and future time stamps

    Haiti resumed observance of DST in 2017.  (Thanks to Steffen Thorsen.)

  Changes to past time stamps

    Liberia changed from -004430 to +00 on 1972-01-07, not 1972-05-01.

    Use "MMT" to abbreviate Liberia's time zone before 1972, as "-004430"
    is one byte over the POSIX limit.  (Problem reported by Derick Rethans.)

(From OE-Core rev: 70ff7cfa8a7ffb537da19aeca026032bab55a00d)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:06 +01:00
Robert Yang
c085688a5b targetcontrol.py: use logger.info to replace of bb.note
The bb.note prints multiple same lines when invoke this class again, but
if we set mainlogger.propagate = False, nothing would be printed,
according to logging's document:

https://docs.python.org/3/library/logging.html
Note
If you attach a handler to a logger and one or more of its ancestors, it
may emit the same record multiple times. In general, you should not need
to attach a handler to more than one logger - if you just attach it to
the appropriate logger which is highest in the logger hierarchy, then it
will see all events logged by all descendant loggers, provided that
their propagate setting is left set to True. A common scenario is to
attach handlers only to the root logger, and to let propagation take
care of the rest.

We may need avoid using bb.note or bb.warn in oeqa since it attaches
multiple log handlers which may cause confusions

This patch only sets "mainlogger.propagate = False" in
selftest/runqemu.py and use logger.info to replace bb.note in
targetcontrol.py to minimize the impact.

[YOCTO #10249]

(From OE-Core rev: b139790422bc8e0d80bad063bb78bc1632731bc1)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:06 +01:00
Robert Yang
b6f5a8ab6b selftest/runqemu.py: add it to test runqemu
Usage:
$ oe-selftest -r runqemu

Current test cases:
$ runqemu nographic qemux86-64
$ runqemu nographic qemux86-64 ext4
$ runqemu nographic qemux86-64 iso
$ runqemu nographic core-image-minimal
$ runqemu nographic core-image-minimal vmdk
$ runqemu nographic core-image-minimal vdi
$ runqemu nographic tmp/deploy/images/qemux86-64
$ runqemu nographic tmp/deploy/images/qemux86-64 hddimg
$ runqemu nographic qemux86-64 slirp
$ runqemu nographic qemux86-64 slirp qcow2
$ runqemu nographic tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.qemuboot.conf
$ runqemu nographic tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4

Need more later:
- Test initramfs
- Test nfs
- Test when set DEPLOY_DIR_IMAGE and OECORE_NATIVE_SYSROOT
- And others which similate runqemu runs on SDK and eSDK.

[YOCTO #10249]

(From OE-Core rev: e7073cb4786411bb71645e7d7cbc1c510910c4cc)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:06 +01:00
Chen Qi
a5a1d4f431 qemurunner.py: fix handling of runqemuparams
The launch() doesn't need runqemuparams, we need handle it in start().

(From OE-Core rev: 16400f2b8bffc4cae0263bb597522071299b46ca)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:06 +01:00
Robert Yang
b742fd023e oeqa/targetcontrol.py: modify it to test runqemu
Modify the following files to test runqemu:
    targetcontrol.py
    utils/commands.py
    utils/qemurunner.py

We need simulate how "runqemu" works in command line, so when test
"runqemu", the targetcontrol.py, utils/commands.py and
utils/qemurunner.py don't have to find the rootfs or set env vars.

[YOCTO #10249]

(From OE-Core rev: 9305d816bdf8837ea3a407091cb7f24a9a3ae8dc)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:06 +01:00
Patrick Ohly
58e6e7c204 qemurunner: configurable timeout for run_serial()
Some commands might need to run longer than the default timeout of
five seconds. If that occurred, run_serial() returned with a status
code of zero (sic!) and no other indication of what went wrong.

Now the timeout is configurable (with five still the default) and
an explicit warning ("<<< run_serial(): command timed out after 5 seconds without output >>>")
gets appended at the end of the data returned to the caller.

While at it, the logic for checking for the timeout was updated a bit
because both implementations could overshoot the timeout when entering
select() right before the final deadline.

(From OE-Core rev: accf0362f964cc9d6330b6e52e83d748d890521f)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:06 +01:00
Trevor Woerner
1e3f04f86a xserver-nodm-init: option to remove cursor
Add a PACKAGECONFIG option to allow the user to disable the mouse
cursor/pointer in the X server. This might be useful where a
touchscreen is used.

(From OE-Core rev: 680940250c9a1c7b43229c5e4f4fed5cc3e31033)

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:06 +01:00
Scott Rifenbark
d9f2938921 kernel-dev: Reorganized Kernel Metadata Location and Syntax sections
It seems that the two sections "Kernel Metadata Location" and
"Kernel Metadata Syntax" were flipped regarding their order of
apperance in the kernel-dev manual.  I belive that syntax should
be first and then followed by a discussion on the location.  I
have swapped these section's ordering in the manual.

(From yocto-docs rev: 167b088f459c7128bdc1abddd0b948be8f3bf5fe)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:44:03 +00:00
Scott Rifenbark
3f06074a0d kernel-dev: Corrected linking format for two variables.
Convention is to avoid using hyperlinks for variables that appear
in <literallayout>/</literallalyout> coded blocks.  I removed the
links for the KERNEL_FEATURES and LINUX_KERNEL_TYPE variables,
which appeared in a literal block and put the links into the
context of the description.

(From yocto-docs rev: 3384f67e4b9f15e8f96297ceb2aafc63a5994d22)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:44:03 +00:00
Scott Rifenbark
17e46eff4a dev-manual: Added cross-reference note into the BSP Guide.
The section in the dev-manual that introduces BSP Layers for the
first time was missing a general link to reference into the BSP
Guide to help the user understand BSP Layer structure.  I added
a note.

(From yocto-docs rev: c515e30a551e96e11091c3850f7eed1b034abdad)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:44:03 +00:00
Scott Rifenbark
b3e2ecaae2 documentation: Added support for "pyro" name and May release date.
poky.ent - changed the "tbd" and "TBD" strings to "pyro" and
           "Pyro", respectively.

Manual Head Files - Updated the manual history table with the
           May release month.

(From yocto-docs rev: 076226d2986d0cf69685121e4342f50c1603fc7b)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:44:03 +00:00
Scott Rifenbark
c94501d5ae ref-manual: Updated note about included failed license check
Fixes [YOCTO #10898]

It is hard to get the exact start and end for included license text
during a LIC_FILES_CHKSUM operation.  I updated the notes indicating
that the QA message returned upon failure includes the attempted
license text.  The user can better adjust his LIC_FILES_CHKSUM
statement to then dig out the proper text.

(From yocto-docs rev: 1db04334703f35f1cab933c345fb1db43fd0af79)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:44:03 +00:00
Scott Rifenbark
f574b9f074 dev-manual, ref-manual: Added support for WKS_FILE_DEPENDS variable.
Fixes [YOCTO #11017]

There is no current way to specify or list plug-in dependencies
when building a Wic image.  The variable WKS_FILE_DEPENDS was introduced
to allow the user to use this in the recipe building the image.
I added a description and example of the variable to the ref-manual
variable glossary.  I also cross-referenced the variable in the
"Plug-ins" section of the dev-manual to point to the variable for
more information.

(From yocto-docs rev: 5a1072499ab80f74ffec6af2cc0b2f1987843a25)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:44:02 +00:00
Scott Rifenbark
70872b9468 dev-manual: Fixed formatting error for arguments.
(From yocto-docs rev: 53153191b83007763d41d9aa8356d88bce88a3d0)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:44:02 +00:00
Scott Rifenbark
6273f91c6a dev-manual: Fixed grammar error - article agreement.
(From yocto-docs rev: 39a7810c668936586455bf8a0331371a27d2dd7e)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:44:02 +00:00
Scott Rifenbark
478c7c3043 ref-manual: Added information about pre-installed dependencies
Fixes [YOCTO #10350]

A situation exists where a user deploys a new application using
devtool target-deploy and the new application has runtime dependencies
that are not already on the target.  When this situation exists, the
application misbehaves if it calls a missing function.  I added the
explanation of this situation to the section that describes the
devtool deploy-target command.  Also, put a pointer in the section
on devtool add for cross-reference purposes.

(From yocto-docs rev: 694151e397ff40871b3ec8700c39d32a15814535)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:44:02 +00:00
Scott Rifenbark
2ad42e587a dev-manual: Add explanation for signing RPM packages and using signed packages
Fixes [YOCTO #11048]

No documentation existed for telling the user how to create signed
RPM packages or for how to use signed package feeds.  I have created
a new section on the topic to describe both scenarios.

(From yocto-docs rev: cbdde75f06b1fc190b8e4f7f93f302dc238e3e7f)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:44:02 +00:00
Scott Rifenbark
4c1432bd0b ref-manual: Added new "Release Process" chapter
Fixes [YOCTO #10888]

The YP documentation was missing information on how the major
and minor (point) release process works.  I added a new chapter
in front of the "Maintenance" chapter that details the naming
schemes, cadence, and maintenance for YP releases.

(From yocto-docs rev: b486f871e1fb8a6f763510ed385f459fe215fa27)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:44:02 +00:00
Scott Rifenbark
5413e9b210 poky.ent: Added python3-pip and python3-pexpect to all distros
Fixes [YOCTO #10854]

The distros for Fedora, OpenSUSE and CentOS needed these.

(From yocto-docs rev: a83dcca50681d589fbcc924de4845e62de053810)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:44:02 +00:00
Scott Rifenbark
0c8dede10d poky.ent, yocto-project-qs: Added "xz" and "which" to Essential packages
Fixes [YOCTO #10855]

In order for BitBake to run, we needed to add two more packages to
the essential host packages: "xz" and "which".  I have added these
to the poky.ent file variables for each host and did the formatting
so that the manuals render properly.

(From yocto-docs rev: 1bfbdcb58e31ca6e978d6dcccd6d58fbd68dbf2b)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:44:02 +00:00
Scott Rifenbark
e6ed5a6804 ref-manual: Added five "COPYLEFT*" variables to the glossary.
Fixes [YOCTO #11021]

The "Maintaining Open Source License Compliance During Your
Product's Lifecycle" section in the dev manual covers use of
archiver.bbclass, but is missing mention of the filtering
options (e.g COPYLEFT_LICENSE_INCLUDE, COPYLEFT_LICENSE_EXCLUDE
and COPYLEFT_RECIPE_TYPES).  I added descriptions for these
three.  During the write-up, Paul noticed a couple other variables
missing: COPYLEFT_PN_INCLUDE and COPYLEFT_PN_EXCLUDE.  I also
added descriptions for these two variables.

(From yocto-docs rev: 450311037ea3048d30057c0b9d294efd33db2d3c)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:44:02 +00:00
Ed Bartosh
cc970c23a7 wic: use kernel_dir to find systemd-efi bootloader
Fixed test failure caused by using bootimg_dir path
instead of kernel_dir to find systemd-efi bootloader:
FAIL: test_systemd_bootdisk (oeqa.selftest.wic.Wic)
...
FileNotFoundError: [Errno 2] No such file or directory:
'tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/recipe-sysroot/usr/share'

(From OE-Core rev: 552bd782d9ffe275b8fc7d7cb0b9aaceb51888c3)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:43:33 +00:00
Richard Purdie
faf70253ba staging: Remove uninstalled dependencies from sysroots
Currently, if something is added to a sysroot, its hash remains unchanged,
and it continues to be buildable, it doesn't get removed from the sysroot.

This patch handles the case where something is removed from DEPENDS or
[depends].

It does introduce its own issue where something could get removed even
though some other task in parallel may have the same requirement. This
case should be extrememly rare and fixing the more common DEPENDS removal
is likely the bigger win though.

(From OE-Core rev: 06227bc5e533841ab12cde84a6ed6f8b8ddeb5cb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:43:33 +00:00
Richard Purdie
ce9cbae874 staging: Update extend_recipe_sysroot vardepsexclude after code changes
Changed were made to the code but not reflected in vardepsexclude, fix this.

(From OE-Core rev: e59dc6985e22e7ac30b6afa81d448fbc372f5dab)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:43:33 +00:00
Richard Purdie
3d3194a68f staging: Drop BB_SETSCENE_VERIFY_FUNCTION2
The original description for this was:
"""
Since we clean out do_populate_sysroot if do_configure runs, don't
allow do_populate_sysroot_setscene functions if we're going to
run do_configure.
"""

With RSS, we don't need to clean do_populate_sysroot any more. Since
we no longer do that, this function also has no purpose any longer
and can also be removed.

(From OE-Core rev: 637c6d17b4a812379cbab64d340660092e046965)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:43:33 +00:00
Richard Purdie
6e74b4e031 staging: Drop do_configure clean prefunc
With recipe specific sysroots its now pointless to do this, may as well
save the cpu cycles.

(From OE-Core rev: b70c8e91e6c4240e95e8b22bcc36525a5a0703f9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:43:32 +00:00
Richard Purdie
d74efb6aa9 staging: Drop BB_SETSCENE_VERIFY_FUNCTION since it was replaced
BB_SETSCENE_VERIFY_FUNCTION2 replaced BB_SETSCENE_VERIFY_FUNCTION
and due to our minimum bitbake requirements there is no point in
retaining the older version any more.

(From OE-Core rev: f08d6ccda5db9fdc81d53370aea1f599718897da)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:43:32 +00:00
Amarnath Valluri
cc32ccc2fb musl: Fix issues in relative symlink creation
Make use of lnr/ln -r while creating relative symlinks than guessing the
relalive path.

(From OE-Core rev: 8205b92631bc1dcb3419c709ef5a98b2b3cd9d70)

Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:43:32 +00:00
Amarnath Valluri
80c3ce22bd base-files: Replace hardcoded root paths with appropriate bitbake variables
/bin, /sbin, /lib are replaced with ${base_bindir}, ${base_sbindir} and
${base_libdir}.

(From OE-Core rev: 9b490e61938e06fda881b2213565c4de1f740f98)

Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:43:32 +00:00
Chen Qi
11b81e3fba runqemu-gen-tapdevs: fix file path in example
Fix the path in example so that '/usr/bin/tunctl' could be found under
this path.

(From OE-Core rev: d1b8e1460b25018ac8f65d3647bc736f3393ed3e)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:43:32 +00:00
Khem Raj
c6344d3b6a libvorbis: Contain gcc specific compiler flags using configure option
(From OE-Core rev: b6cdbf50e5c26c406e4ddecd66202ff7324f5468)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:43:32 +00:00
Khem Raj
e0630bb3dc db: Fix atomic function namespace clash with clang builtins
Rename local function to avoid conflicts with compiler intrinsics

(From OE-Core rev: fcfbbae9fdda539665a1e8bfe292f917bd5a1927)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:43:32 +00:00
Andre McCurdy
ce109ff89c native.bbclass: clear MACHINE_FEATURES
Try to avoid native recipes accidentally being dependent on
MACHINE_FEATURES. This simple change doesn't prevent MACHINE_FEATURES
set via MACHINE_FEATURES_BACKFILL sneaking through, but it's better
than nothing.

(From OE-Core rev: 96c20c9df714cdf3f0e9461ec566c4f5d3bdb5f1)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:43:32 +00:00
Trevor Woerner
2180349f75 core-image.bbclass: update available IMAGE_FEATURES
Update the list of available IMAGE_FEATURES with the sub-features of
'debug-tweaks' and add 'splash'.

(From OE-Core rev: 1e46220bb3901476266846447ff40533c9bffa1d)

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:43:32 +00:00
Amarnath Valluri
bb8889ad0e firmware: use ${nonarch_base_libdir} for firmware installation.
Replace hardcoded '/lib' in kernel firmware installation path with
${nonarch_base_libdir}.

(From OE-Core rev: 616c9ae8e73c9b69c8ff23c64ac4c2ace1a45af0)

Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:43:32 +00:00
Alexander Kanavin
da1d23a6d0 expect: resolve string formatting issues
[YOCTO #9542]

(From OE-Core rev: b5fd2874cfe199703e7a5d12fa708e12ff0a2ad1)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:43:32 +00:00
Martin Jansa
fcbad38193 package_manager.py: respect OPKGLIBDIR
* respect it for incremental rootfs generation
* add lists_dir option to opkg.conf
* also fix setting info_dir and status_file when they use default value, the
  problem is that self.opkg_dir is already prefixed with rootfs directory,
  comparing it with /var/lib/opkg always returned false and the options were
  appended to config file unnecessary
* with opkg 0.3.4 we can use VARDIR prefix added in:
  commit d2a8e23dc669adc398f4bb8bcfcabfcf925708f7
  Author: Florin Gherendi <floring2502@gmail.com>
  Date:   Mon Dec 19 12:25:38 2016 +0200
  libopkg: make the /var and /etc directories configurable at compile time.

(From OE-Core rev: b14c11d062872c3dcf95e03b61017005dea5b754)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:43:32 +00:00
Martin Jansa
da8369b670 rootfs.py: Respect OPKGLIBDIR variable
* when OPKGLIBDIR doesn't have the default /var/lib value it will
  silently fail to copy package database from normal rootfs to debugfs
  rootfs and then when trying to install *-dbg complimentary packages
  it won't install anything, because installed_pkgs.txt file generated
  from debugfs is empty

(From OE-Core rev: bebdb056c8bd0efc056f07b275a154e5d5a3aa2b)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:43:32 +00:00
Nathan Rossi
3f46689cf1 uninative-tarball: glibc-gconv-{utf-16, cp1252} for binutils windres
The windres binutils binary which is used for Windows resource files
requires utf-16 and cp1252 encoding support in order to correctly
generate resource files with strings. As such when using uninative to
build mingw resources for a nativesdk target the windres binary is
executed on the native host, thus using the uninative libc and gconv
modules.

(From OE-Core rev: 778fb2342da55e202cfb7af04bbf120c1b68620a)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:43:32 +00:00
Peter Kjellerstedt
9fe7a69535 bitbake: bitbake-diffsigs: Add debug support
Currently shows the name of the signature files that were found when
--task is used.

(Bitbake rev: 751b06c25d22eea8240f9429cb49874082245e52)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-23 13:19:50 +00:00
Peter Kjellerstedt
ea7faf7a05 bitbake: bitbake-dumpsig: Add debug support
Currently shows the name of the signature file that was found when
--task is used.

(Bitbake rev: 84533c6dbd175a51f4dd59735161adfd10056888)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-23 13:19:49 +00:00
Peter Kjellerstedt
82982d3d97 bitbake: bitbake-dumpsig: Allow recipe and task to be specified
Use --task <recipe> <task> to dump the signature info for a given
recipe and task. This is similar to the --task option of
bitbake-diffsigs.

(Bitbake rev: bdc4356c7afc542b67b78e4e5225b813d7668ecd)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-23 13:19:49 +00:00
Patrick Ohly
99069699f1 bitbake: cooker.py: use correct multiconfig prefix in dependency graph
The dependency graph in the bb.event.DepTreeGenerated and the
corresponding pn-buildlist and task-depends.dot from "bitbake -g"
contained entries like multiconfig:qemuarm.gcc (dot as last separator)
instead of the correct multiconfig:qemuarm:gcc (colon as separator).

(Bitbake rev: cccd1578d84f041cd0c2dcddb91f317c69af70de)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-23 13:19:49 +00:00
Alexander Kanavin
fecf58b2a5 rpm: add a "rpm-build" PROVIDES
rpm 5.x was packaging build tools separately, so we need to unbreak
things that relied on that.

[YOCTO #11167]

(From OE-Core rev: 3b5ac72bdf76ac8ff98dc3c882a4edc77c6e2c33)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-23 13:19:49 +00:00
Alexander Kanavin
4581e2c3e6 sign_rpm.bbclass: do not set/use RPM_GPG_PUBKEY
This is entirely unnecessary (we can ask the signer backend to export the
key to a file when needed), and was causing confusing selftest failures
due to the variable being set from two different places.

[YOCTO #11191]

(From OE-Core rev: 74ea979044368dc28c24325e7e77471b70aa8fe8)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-23 13:19:49 +00:00
Alexander Kanavin
0a435c7e6a oeqa: use WORKDIR/oe-testimage-repo to look for RPM packages
Using RPM deploy dir was causing errors when pre-built images were
used with these steps:
https://wiki.yoctoproject.org/wiki/Quality_Assurance_yocto_project

[YOCTO #11173]

(From OE-Core rev: f633abed51ed19522340b1d923ffc12ed7e291d6)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-23 13:19:49 +00:00
Ed Bartosh
a247553bb3 oe-selftest: add test_rawcopy_plugin test case
This test case builds wic image using rawcopy plugin
running wic directly.

[YOCTO #10618]

(From OE-Core rev: acbeaa37554f3546b036ff8ef9aebfe00f2537c6)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-23 13:19:49 +00:00
Ed Bartosh
32c59203ce selftest: pylinted wic test suite.
Fixed long lines, indentation and one unused variable.

(From OE-Core rev: a6dbe6e1630067164881c8d7efb44cb650cd043c)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-23 13:19:49 +00:00
Ed Bartosh
d2e0209866 oe-selftest: test wic rawcopy plugin
Added test_rawcopy_plugin_qemu test case and wks template.

This test builds ext4 rootfs image, copies it to the root
partition of the wic image using rawcopy plugin and
boots wic image in qemu.

[YOCTO #10618]

(From OE-Core rev: db1f511228e26aaeeff452427637942747bbf42b)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-23 13:19:49 +00:00
Ed Bartosh
fa10b24950 wic: improve getting syslinux path
Used wic-tools STAGING_DATADIR if syslinux can't be found
in default bootimg_dir.

(From OE-Core rev: 79a935cfc86ffce6f4b4f328b90337de36ba6dbb)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-23 13:19:49 +00:00
Ed Bartosh
5c04e37140 wic: remove empty plugin methods
Removed do_install_disk and do_configure_partition methods from
bootimage-partition, fsimage and rawcopy plugins as they're empy
and not used.

[YOCTO #10618]

(From OE-Core rev: d58c8ef2836418056f776a9586e0bb0d33afb788)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-23 13:19:49 +00:00
Ed Bartosh
3ea735d390 wic: use STAGING_DATADIR as a default for bootimg_dir
Default value for bootimg_dir was not set in main wic script
unlike the rest of artifacts: kernel_dir, roofts_dir and
native_sysroot. Set it to the value of STAGING_DATADIR for
consistency and to avoid confusion of wic plugin developers.

(From OE-Core rev: afc486b6316f1118c8dcc74a5e217bb217dd1f85)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-23 13:19:49 +00:00
Ed Bartosh
b78c564cca wic: fix bug in sparse_copy
sparse_copy creates output file that is smaller than input
file when input file ends with unmapped blocks.

Used truncate(<input file size>) when output file is created
to ensure the size of output file will always be equal to
the size of input file.

(From OE-Core rev: 567186f995302a095a771baede4ff5034d1d1862)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-23 13:19:49 +00:00
Ed Bartosh
627952a234 wic: use kernel_dir instead of bootimg_dir
bootimg_dir is usually set to the value of STAGING_DATADIR and
kernel_dir - to the value of DEPLOY_DIR_IMAGE, so usage of
kernel_dir is more logical in bootimg-efi, bootimg-partition and
rawcopy plugins.

Replaced usage of bootimg_dir to kernel_dir in 3 above mentioned
plugins that use DEPLOY_DIR_IMAGE as a default artifact location.

(From OE-Core rev: 48a5d67d7cafdeac821e6f35bea380521ef017d5)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-23 13:19:49 +00:00
Ed Bartosh
ce627abf86 wic: don't set creator.bootimg_dir in plugins
Changing bootimg_dir in plugins is a dangerous hack as this
value comes from wic command line and can be used by multiple
plugins.

(From OE-Core rev: 2457ea5338f7309316b474562b4723e8cb09286d)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-23 13:19:49 +00:00
Ed Bartosh
d38d526991 wic: remove rootfs_pcbios_ext plugin
Removed broken unused plugin.

(From OE-Core rev: 6d162118a2567ccbcdbc2a9ca14a8c358fa1a055)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-23 13:19:49 +00:00
Robert P. J. Day
49c2df5652 meta-yocto-bsp: Remove superfluous OVERRIDES in machine conf files
In machine configuration files, there is no need to use OVERRIDES that
match the precise machine being defined, so remove them for clarity
and consistency from these lines in those respective files:

  PREFERRED_VERSION_linux-yocto_genericx86-64 ?= "4.10%"
  PREFERRED_VERSION_linux-yocto_genericx86 ?= "4.10%"
  UBOOT_MACHINE_mpc8315e-rdb = "MPC8315ERDB_config"

(From meta-yocto rev: 035d4e7763171068d2b4df0622b6cc0fc1cf4b32)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:23 +00:00
Armin Kuster
1ff2ece700 maintainers list: add self to libpcre2 as maintainer
(From meta-yocto rev: f011bc3caa0734a90d41e96aac302d1a3dc04c51)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:23 +00:00
Saul Wold
00abe678bf genericx86-common: Update .inc file's PREFERRED_VERSION
Since the genericx86*.conf file directly set PREFERRED_VERSION remove it
from here to avoid confusion.

(From meta-yocto rev: 2383d50b084cafdf04f7bd15ea732cd98982625b)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:23 +00:00
Richard Purdie
70f18264ce bitbake: data/cooker: Sort output data shown by -e
Displaying the environment data in a sorted manner makes it easier
to compare data between different setups and means you can know
where to find specific entries.

(Bitbake rev: baa417e44b009149eb1dfb07d5a488740b6e68ef)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:23 +00:00
Christopher Larson
f4a9248975 bitbake: fetch/git: fix FetchError reference
FetchError isn't defined, use bb.fetch2.FetchError in this context.

(Bitbake rev: 945fa980e027753df2c21d84eb63dcaddb2caaee)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:23 +00:00
Christopher Larson
754e98c72e bitbake: fetch/git: drop pointless os.path.join, workdir=
The touch of .done explicitly specifies the path, so there's no need for
workdir=, and "os.path.join('.')" is identical to just '.'.

(Bitbake rev: 955cbfdaa2400d15ec428b65848e6835c9f44860)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:23 +00:00
Christopher Larson
5ee3bae3bb bitbake: fetch/git: kill pointless quotes around single % args
(Bitbake rev: 4aebf12153369364eae2e6e773e2a921e9c91f72)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:23 +00:00
Christopher Larson
b079a2da36 bitbake: fetch/git: use enumerate for ud.names
list.index() isn't a particularly efficient operation, so keep track of our
position via enumerate() instead, which is more pythonic as well.

(Bitbake rev: dec6e90a4d27ee335e9c78aeebd277098fec94d1)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:23 +00:00
Juro Bystricky
9a6f636679 bitbake: data.py: sort exported variables
Various run.do_xxx files export dozens of variables.
Presently they are in random order. Among other things,
this makes it difficult to compare two files for relevant changes.
This patch ensures they are enumerated/printed in a sorted
(alphabetical) order.

(Bitbake rev: 27b501d1400d1942b5ba9f35218ca7aacd9bfefe)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:23 +00:00
Joshua Lock
ad1d65ca32 bitbake: lib/bb/tests/codeparser: update expand syntax in comment
bb.data.expand(x, d) is deprecated API

(Bitbake rev: 71185c19205a77d0511fc00baf95a5433e7106d6)

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:23 +00:00
Patrick Ohly
9b6b47c09d bitbake: taskdata.py: include more information in error message about broken task depends
This is what was reported when variable expansion in the 'depends'
varflag of a task was broken:

   ERROR: Error for .../refkit-image-common.bb, dependency ${@ does not contain exactly one ':' character.
    Task 'depends' should be specified in the form 'packagename:task'

It's not clear which task had this broken 'depends' and while one can
guess that variable expansion failed, the full expression isn't
printed either.

This is more useful:

   ERROR: Error for .../refkit-image-common.bb:do_stage_swupd_inputs[depends], dependency ${@ in '      virtual/fakeroot-native:do_populate_sysroot     ${@ ' '.join(['bundle-refkit-image-common-%s:do_swupd_list_bundle' % x for x in '${SWUPD_BUNDLES}'.split()]) } ' does not contain exactly one ':' character.
    Task 'depends' should be specified in the form 'packagename:task'

The 'depends' part gets repeated intentionally, to ensure that it doesn't get overlooked.

(Bitbake rev: eeeed7693710e4a78fec639b8050d8efe4ea3c33)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:22 +00:00
Paul Eggleton
1485a5517a bitbake: bitbake-layers: fix layerindex-fetch for Python 3
The data we read from an HTTPConnection comes in the form of bytes, but
we need it as a string, so in Python 3 we need to decode it (missed in
the Python 3 migration).

(Bitbake rev: 7e6a3cd1472e1a1c8304b46611e1676914a68b59)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:22 +00:00
Paul Eggleton
5b1807021e bitbake: data_smart: implement missing remote datastore operations
Enable the following operations from a remote datastore to affect the
other end:

* setVarFlag()
* delVar()
* delVarFlag()
* renameVar()

In practice I don't expect these to be used much, but they should be
present so that the implementation is at least reasonably filled out
and that the tests pass.

Also add tests for the interface, mostly by subclassing the existing
local test classes so that they are using a remote datastore. (These
don't actually test remote usage via tinfoil, just that the
datastore's interface can be used.)

(Bitbake rev: 282dc0719d22a39df746eea762ebe05c66aa8f8a)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:22 +00:00
Paul Eggleton
99414bdb1c bitbake: tinfoil: fix override handling in remote datastores
There was a huge gap in the remote datastore code introduced in the
tinfoil2 rework - we weren't handling overrides at all, since these are
stored separately from the actual data in the DataSmart object. Thus,
when a datastore actually represents a remote datastore we need to go
back to that remote datastore to get the override data as well, so
introduce code to do that.

To avoid a second round-trip I had to modify the _findVar() function to
return the override data as well. This will increase the overhead a
little when that data is superfluous, but without making the function
even uglier I don't think there's a way to avoid that.

(Bitbake rev: 4f9d6f060ed247fb6fa2f45668a892a1788d3f91)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:22 +00:00
Richard Purdie
0cb6f85335 sstate: Ensure installation directory is empty before execution
When you enable the systemd DISTRO_FEATURE, opkg-native contains systemd units
which have a relocation fixme list. When systemd isn't in DISTRO_FEATURES, there
are no fixmes required. Unfortunately as sstate isn't cleaning up its installation
directory before use, if you install the systemd version, then install the
non-systemd version from sstate, it would leave behind the fixme file from the
systemd version and breakage results as it would try and fixup files which don't
exist.

The solution is to ensure the unpack/install directory is clean before use. It
does raise other questions about opkg-native, systemd and DISTRO_FEATURES but there
is an underlying sstate issue here too which would cause missing file failures.

(From OE-Core rev: d1d55041e38b12d40f896834b56475ea19a6047f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:22 +00:00
Richard Purdie
52d7d2c06b oeqa/selftest/devtool: Enable missing cleanup
Not sure why this cleanup is disabled but it clearly should be running
so enable it.

(From OE-Core rev: 83867079182d8b9e981935da2b254947a89097bb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:22 +00:00
Richard Purdie
c0a2268ae8 externalsrc: Use git add -A for compatibility with all git versions
I've been debugging a selftest failure on Centos7. The problem turns out
to be the elderly git version (1.8.3.1) on those systems. It means that
the system doesn't correctly checksum changed files in the source tree,
which in turn means do_compile fails to run and this leads to the following
selftest failure:

======================================================================
FAIL [141.373s]: test_devtool_buildclean (oeqa.selftest.devtool.DevtoolTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/selftest/devtool.py", line 530, in test_devtool_buildclean
    assertFile(tempdir_mdadm, 'mdadm')
  File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/selftest/devtool.py", line 497, in assertFile
    self.assertTrue(os.path.exists(f), "%r does not exist" % f)
AssertionError: False is not true : '/tmp/devtoolqag88s39z8/mdadm' does not exist

The solution is to use -A on the git add commandline which matches the behaviour
in git 2.0+ versions and resolves the problem.

(From OE-Core rev: 964e8b8cae4b28e21ade12b5effb494e459b1f0f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:22 +00:00
Maciej Borzecki
19090446da wic: selftest: add tests for --fixed-size partition flags
wic has a new flag for setting a fixed parition size --fixed-size. Add
tests that verify if partition is indeed sized properly and that errors
are signaled when there is not enough space to fit partition data.

(From OE-Core rev: 84c2184546779ece3eb23c5628e4c9d177568043)

Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:22 +00:00
Maciej Borzecki
17fe3eb453 wic: selftest: do not assume bzImage kernel image
Instead of assuming that bzImage is available, query bitbake enviroment
for KERNEL_IMAGETYPE.

(From OE-Core rev: d3e1d25a06dd4cb3ec80ea63352de24e50552481)

Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:22 +00:00
Maciej Borzecki
00ed0d4aec wic: selftest: avoid COMPATIBLE_HOST issues
Wic tests will unconditionally attempt to build images that may require
dependencies that are incompatible with current target.

Resolve this by consulting HOST_ARCH first (which defaults to TARGET_ARCH)
before proceeding to build images that may be incompatible.

A convenience decorator only_for_arch() can be used to skip test cases for
specific architectures.

(From OE-Core rev: ff46125082f08eb93cc549bbe1d79c3b8f9cba64)

Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:22 +00:00
Maciej Borzecki
4453c21d68 selftest: wic: replace directdisk with wictestdisk where possible
Use wictestdisk instead of directdisk thus allowing more tests to be run on
non-x86 compatible machines.

(From OE-Core rev: 071785b01cdaa0d35808fa0b7308162cfebf54f1)

Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:22 +00:00
Maciej Borzecki
74c65b7528 selftest: wictestdisk: machine agnostic WKS for use with selftest
Add a kickstart for an image that is not limited to use on x86 compatible
machines. This allows us to run more wic tests on non-x86 architectures.

(From OE-Core rev: c722569a8b136ffbbe4d2723bbc50fc3ae5aed42)

Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:22 +00:00
Aníbal Limón
f57eac5dc9 scripts/yocto-compat-layer.py: Handle layer dependencies when test
If some layer depends on other tries to find layer dependency, if the
layer dependency isn't found avoid to test the layer and notice the
user.

(From OE-Core rev: 1e7cf9bb71521f1632dd2e6b01fe7fcc95732983)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:22 +00:00
Aníbal Limón
4703aa2b3b scripts/yocto-compat-layer.py: Add option to disable layer autodiscovery
Sometimes there is a need to only analyze the layer specified by the
command line, the new option -n will disable autodiscovery of layers
and only will try to test specified layers.

(From OE-Core rev: f2f6f0c938226802163698ef14a8a9103da362a0)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:22 +00:00
Aníbal Limón
995cb88233 scripts/lib/compatlayer: Remove require of meta- in layer dir name
The layers isn't required to have a dirctory name start with meta-
so remove the validation.

(From OE-Core rev: 576c6486f547b1d7422cdd12f688aef74ee632ae)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:22 +00:00
Mikko Rapeli
c52fe3a77a buildhistory.bbclass: add layer name to source recipe data
It is useful to know which layer provided a given recipe and its
binary packages.

Many projects combine a number of layers and some of them
also provide same recipe names in which case bitbake
can prioritize between them. buildhistory can record
the decision by saving the layer from where the recipe
was taken from.

Also, if a project is split to sub projects which maintain
recipes in different meta layers, then meta layer specific
summaries of e.g. disk usage can be calculated if
source recipes meta layer name is recorded for example in
buildhistory.

If source layer is not in build history, then layer providing
the recipe can be exported from build environment using
'bitbake-layers show-recipes', but it takes a long time to execute
since all recipes are parsed again and requires full source tree
with correct build configuration.

This patch exports the name of layer as configured in BBFILE_COLLECTIONS
append of its layer.conf. 'bitbake-layers show-recipes' exports the
meta layers directory path name. For several open source layers
these are different, e.g. meta-openembedded/meta-perl/conf/layer.conf
is perl-layer, poky/meta/conf/layer.conf is core,
poky/meta-skeleton/conf/layer.conf is skeleton etc.

(From OE-Core rev: d8e59d1f840e4282859ad14397d1c06516b8eb11)

Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:22 +00:00
Patrick Ohly
11aa390288 ovmf: fix toolchain selection
For the native tools, a static patch inserted gcc/g++/ld/ar while later
adding BUILD_LDFLAGS and BUILD_CFLAGS with sed. Now it's all done with sed,
which has the advantage that it uses the actual compile variables. However,
in practice those are the same.

More importantly, picking the build tools for the target was
broken. ovmf-native tried to insert TARGET_PREFIX into the tools
definition file, but that variable is empty in a native recipe. As a
result, "gcc" was used instead of "${HOST_PREFIX}gcc", leading to an
undesirable dependency on the host compiler and potentially
(probably?!) causing some of the build issues that were seen for ovmf.

The new approach is to override the tool selection in ovmf-native so
that the HOST_PREFIX env variable is used, which then gets exported
during do_compile for the target.

While at it, Python code that gets appened to do_patch only to call
shell functions gets replaced with the do_patch[postfuncs] mechanism.

Incremental builds now always use the tools definition from the
current ovmf-native; previously, only the initial build copied the
template file.

Probably the entire split into ovmf-native and ovmf could be
removed. This merely hasn't been attempted yet.

(From OE-Core rev: 23a12d87a6e82f80f4ccc1a01c707faa89ff7abd)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:22 +00:00
Khem Raj
853a154850 libcomps: Fix/optimize building with clang
(From OE-Core rev: aa30853693a8b6092e1ea9785d64267858454d17)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:22 +00:00
Aníbal Limón
6786f662cd scripts/compatlayer: Add exclude of meta-world-pkgdata on get_signatures
The meta-world-pkgdata recipe can be modified when a layer is added
may be can add recipes to world target, so exclude by default.

[YOCTO #11162]

(From OE-Core rev: cde30d70b04eb66bff66a351ddf733022e98ddab)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:22 +00:00
Aníbal Limón
07dd071bf6 scripts/yocto-compat-layer.py: Make output log argument optional
Only create a log file when --output-log option is specified, since
logger is dumping to stdout by default is better to let the user
decide if a log needs to be created.

[YOCTO #11160]

(From OE-Core rev: f91ccdeb8b0b3e4063ed2bf22215a25f8902cbd9)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:22 +00:00
Aníbal Limón
1e3ef54408 scripts/yocto-compat-layer.py: Dump log to stdout instead of stderr
The common unix tools uses stdout as standard for log output, by default
python logging uses stderr if not stream is specified.

[YOCTO #11160]

(From OE-Core rev: 95ad04f7daed17bde5be5fc264f6c731fecfdfa9)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:21 +00:00
Aníbal Limón
15e65f5f07 scriptutils: Add support for specify stream on logger_create
It is a good idea to let the script to choose what stream wants
to dump the logging output.

[YOCTO #11160]

(From OE-Core rev: 60c9b06f4085f6bddb6aa397a38bfc2ceb10f964)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:21 +00:00
Khem Raj
c8e8e50bc3 go-native: Install bootstrap binaries with 1.4 suffix
Currently, bin/go and bin/gofmt collide between go-native
and go-bootstrap-native packages, these are scripts anyway
which call the go compiler proper from right install, in
this case create go1.4 and gofmt1.4 names for these scripts
to avoid namespace collision

(From OE-Core rev: c46faa132d39d3dc235a019d9abf6e46f74e3bae)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:21 +00:00
Khem Raj
63bdd90acc acpitests: Point Makefile CC to use OE synthesized CC
Default CC is same as used here, there is no need to
duplicate it, as a plus it helps in compiling acpitests with
non-gcc cross compilers

(From OE-Core rev: e23601390833fe93d58ca61a7158458dfdbd6fac)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:21 +00:00
Khem Raj
231fae32d3 openssl: Fix build with clang
(From OE-Core rev: c8da8cec9007f77396f873f1cd56fc78bf83b19a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:21 +00:00
Ross Burton
b799e4a033 oeqa/selftest: remove test_sanity_unsafe_binary_references
This test was attempting to exercise a broken test, for some reason this broke
with patches under review but investigation revealed that the test itself is
broken.  The test has been removed, so there's no need to test it.

(From OE-Core rev: 4f5f552cd6601ba244ef4efc782616bc477e1340)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:21 +00:00
Ross Burton
3a1e31d714 insane: remove broken unsafe-references-in-binaries test
This test aims to detect binaries in /bin which link to libraries in /usr/lib,
for the case where the user has /usr on a separate filesystem to /.

However it doesn't scan both image/ and the sysroot, so if a binary in /bin
links to a library in /usr/lib that was built by the same recipe then it will
error out.

This test isn't enabled by default, and because of this serious bug I suspect
nobody else is enabling it either.  As /usr being on a separate partition to /
is a very rare configuration these days I think we should delete the test: if
someone cares sufficiently they should write a test that actually works.

(From OE-Core rev: a6af5bbf3dad6f0951c67a0aae13ef86a8906893)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:21 +00:00
Peter Kjellerstedt
fc3ae0cb2a package.bbclass: Add PRIVATE_LIBS to list of package specific variables
Changes to PRIVATE_LIBS should change the sstate checksum. To make
that happen, it needs to be listed in the list of package specific
variables, therefore add it.

(From OE-Core rev: 1a6555dfd17e180b81dec407095787d8a72a9edd)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:21 +00:00
Peter Kjellerstedt
7c73e9b336 gpgme: Avoid requiring a host C++ compiler with C++11 support
Building the C++ bindings for native requires a host C++ compiler with
C++11 support. Since these bindings are currently not needed, we can
disable them and thus avoid increasing the requirement for the host C++
compiler.

(From OE-Core rev: 052547561f3b2c13d357da87061716c6eb968fb9)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:21 +00:00
Patrick Ohly
ff73130718 image-buildinfo.bbclass: configurable location for build file
In a stateless image, /etc is not a good place for the "build"
file. By definining the location with a variable it becomes possible
to have the file created elsewhere on a per-image basis. The default
is the same as before.

(From OE-Core rev: 6750ea8160edccb156cb2ab68548adfc1c789895)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:21 +00:00
Daniel Schultz
898de507d3 wic: partition.py: Add fsck to avoid corrupt EXT file systems
This patch avoids the creation of a corrupt EXT file system.

Since there are no checks if a EXT file system was successfully created,
this should add to prevent possible system failures.

(From OE-Core rev: 95ac3d0637cad7e12f246b8bd64ab64348df0483)

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:21 +00:00
Daniel Schultz
f38c551e6e e2fsprogs: Fix wrong error code after optimization
fsck.ext will return an error code of 1 if a file systems was checked
and successfully repaired. Even when an optimization was performed it
will return this error code.

This patch will change the error code to 0 if only optimizations had
changed the file systems.

The reason for this patch is a question I asked at the ext4 ML:
http://www.spinics.net/lists/linux-ext4/msg55700.html

Backport from git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
    Based on commit bf9f3b6d5b10d19218b4ed904c12b22e36ec57dd

(From OE-Core rev: 8341ee45d721cf07b19d50c249bb3a77ef1bf100)

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:21 +00:00
brian avery
ab34d08772 gen-lockedsig-cache: catch os.link error
We do a hard link to speed up sdk creation but if your sstate-cache is
across a file system boundary, this tries and fails. This patch catches
that error and does a copy instead.

(From OE-Core rev: fb9fdd7a74917cdcab039aa3a9a9944b18246fea)

Signed-off-by: brian avery <brian.avery@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:21 +00:00
Jose Lamego
4ad1148e68 python-3.3-multilib.patch: Fixes getpath on multilib configurations
When using multilib configurations either on arm/arm64 and x86/x86-64
python3 failed to execute due to a failure when looking for its
platform independent and dependent libraries.

This patch fixes this issue by assigning lib_python to the appropriate
macro.

[YOCTO #10812]

(From OE-Core rev: 9e99897f17d9c62ca5da208751d6560fc98927b6)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Jose Lamego <jose.a.lamego@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:21 +00:00
Paul Eggleton
995b02b00c devtool: tidy up handling of parse failures
Since the tinfoil2 refactoring, if an error occurred during parsing, we
were showing a traceback and not correctly exiting (since we weren't
calling shutdown()). Fix both of these issues.

(From OE-Core rev: 18304036e1b513fd12c049dbf549ba75c503ed84)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:21 +00:00
Paul Eggleton
258f98a27c oe-selftest: tinfoil: add tests for recently enabled datastore operations
A recent patch to bitbake fixes these datastore operations so that they
actually affect the server end, so we should test that they work.

(For full disclosure, some of these tests would probably pass without
those fixes, since the operation would be done on the client side
instead - but we are at least exercising the code paths.)

(From OE-Core rev: 4eb3c705b9cadccacdb191ae89f5242a00f397f3)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:21 +00:00
brian avery
af994bfcfd bitbake.conf: remove vi from HOSTTOOLS list
Having changes the sdk test to cpio from cvs, we no longer require an
editor to be present. This patch removes vi from the list of required
tools.

(From OE-Core rev: cca2ccb6d77a433e9d7c535344c4fc1e04589bc0)

Signed-off-by: brian avery <brian.avery@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:21 +00:00
brian avery
c0970e0af9 meta/lib/oeqa: change sdk test from cvs to cpio
We currently fetch,configure,build, and install cvs as our test for the
sdk.  cvs unfortunately, requires a default editor in order to run.  The
change in 94790a8254 that checks to see if you have something like vi
installed is fragile since you may have a different default editor. This
patch switches from using cvs as a test to using cpio. cpio also uses
autotools so the functionality tested is equivalent.

(From OE-Core rev: 233d36b0382a8b2e430c3377e50885d1a0c3ba21)

Signed-off-by: brian avery <brian.avery@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:21 +00:00
Patrick Ohly
3c8d045d79 rm_work.bbclass: re-enable recursive do_rm_work_all
When rewriting the do_rm_work injection, do_rm_work_all had been
removed because it seemed obsolete, as do_build now always triggers
do_rm_work.

However, do_build does not get triggered for all recipes and thus
do_rm_work was not called for recipes that got built only
partially. For example, zlib depends indirectly on
zlib-native:do_populate_sysroot.  Because of that dependency,
zlib-native got compiled, but do_rm_work was never called for it.

Re-introducing do_rm_work_all fixes that by making do_build depend on
do_rm_work_all, which then recursively depends on do_rm_work of all
dependencies. This has the unintended side-effect that do_rm_work then
also triggers additional work (like do_populate_lic) that normally
doesn't need to be done for a build. This seems like the lesser evil,
compared to an incomplete cleanup because it mostly enables the
lighter tasks after do_populate_sysroot.

The real solution would be to have two kinds of relationships: a weak
ordering relationship ("if A and B are enabled, A must run before B,
but B can also run without A") and hard dependencies ("B cannot run
unless A has run before").

(From OE-Core rev: b3de5d5795767a4b8c331fa5040166e7e410eeec)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:21 +00:00
Patrick Ohly
e4b5771409 image_types_wic.bbclass: tighten dependency to help do_rm_work_all
Depending on wic-tools:do_build pulls a lot of additional, indirect
dependencies into the image sysroot during do_image_wic as soon as
rm_work.bbclass is active, because then we have
do_build->do_rm_work_all->[all dependencies]. One of those
dependencies is libgcc-initial, which clashes with libgcc itself,
leading to errors in extend_recipe_sysroot like this:

   Exception: FileExistsError: [Errno 17] File exists: '.../tmp/sysroots-components/corei7-64/glibc-initial/usr/include/fstab.h' -> '.../tmp/work/intel_corei7_64-poky-linux/core-image-minimal/1.0-r0/recipe-sysroot/usr/include/fstab.h'

As the image recipe only needs the sysroot of wic-tools and does not
need to wait for the build of wic-tools to finish, depending on
do_populate_sysroot is the better choice and happens to avoid
the problem above.

(From OE-Core rev: a678f54e710e46b3cf674ffa41d6432b22effbdf)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:21 +00:00
Florian Wickert
1ec405ef5d kernel-fitimage: dtb sections named by their filenames and one config section for each dtb
Before this, dtb sections were named by their position index in KERNEL_DEVICETREE. Also there was only one item in the config section, so only the first dtb was seen by the bootloader.
This patch adds a config section for each dtb named by the dtb filename. This is what bootloaders usually know about the machine they run on.

(From OE-Core rev: cd2ed7f80b555add07795cc0cbaee866e6c193a3)

Signed-off-by: Florian Wickert <fw@javox-solutions.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:21 +00:00
Khem Raj
938d077ca5 ltp: Fix __sighandler_t for mips
mips definition of kernel_sigaction was added later
and the patch did not apply to mips part which ended
in ltp failing to compile on mips parts

In file included from rt_sigaction01.c:42:0:
../../../../include/lapi/rt_sigaction.h:39:2: error: unknown type name '__sighandler_t'
  __sighandler_t k_sa_handler;
  ^~~~~~~~~~~~~~

(From OE-Core rev: 74f4dcfd447fb528ab230e67e3f7ab37e8f93898)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:20 +00:00
Amarnath Valluri
87c2bef1b9 lsb: Make use of appropriate bitbake variables.
Using of bitbake environment variables in-place of hardcoded strings makes this
recipe portable to all environments.

(From OE-Core rev: 61135e4134b7e0b42b57a87a9a30c32002cb1067)

Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:20 +00:00
Amarnath Valluri
63b62e5d80 mdadm: Avoid using hardocded sbin path
Use appropriate bitbake variable inplace of hardcoded sbin path in Makefile

(From OE-Core rev: 9e01148176341916b1fcfebe46d70b75b42777d5)

Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:20 +00:00
Amarnath Valluri
4ef916ba24 lttng-modules: Replace '/lib' with ${nonarch_base_libdir}
Do not assume '/lib' for kernel modules location, instead use
${nonarch_base_libdir}. When 'usrmerge' is enabled, kernel modules are not
located in /lib/modules, but /usr/lib/modules.

(From OE-Core rev: d0f99c7f264fb99e7a940e9b02d27a418bafad27)

Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:20 +00:00
Amarnath Valluri
89c41301f0 net-tools: Place package content as per bitbake environment.
net-tools Makefile was hardcoded sbin, bin installation paths to /bin and /sbin
respectively.  This change moves the installed files to appropriate location as
per configured bitbake environment.

This might be solved much better way by patching Makefile, but that causing
build issues, as net-tools recipe is using pre-generated config.{h/status}.

(From OE-Core rev: 8be0740f8cc8d909a8983b499f200b99261124c4)

Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:20 +00:00
Amarnath Valluri
d582e406ba mktemp: Move installed files only when needed
Move binary(ies) only when ${base_bindir} != ${bindir}.

When usrmerge is enabled they both can point to same location.

(From OE-Core rev: 3a571f24b183ba0bb0795b9df2b2c9bad331d715)

Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:20 +00:00
Amarnath Valluri
8c13f318ae firmware: use ${nonarch_base_libdir} for firmware installation.
Replace hardcoded '/lib' in kernel firmware installation path with
${nonarch_base_libdir}.

(From OE-Core rev: eebf0028f5cb30468fe5cd273a01b004a3936e21)

Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:20 +00:00
Amarnath Valluri
0decf1cc1c kernel: use ${nonarch_base_libdir} for kernel modules installation.
Replace hardcoded '/lib' in kernel modules installation path with
${nonarch_base_libdir}, which is meant exactly for this.

(From OE-Core rev: 22f5ba7154fcbe826d0a3283740903312b2aab46)

Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:20 +00:00
Amarnath Valluri
6a2e06e5d4 util-linux,shadow: Make 'nologin' alternative command
Both shadow and util-linux packages provides 'nologin' binary in ${base_sbindir}
and ${sbindir} respectively, this leads to conflict when 'usrmerge' feature is
enabled, where ${sbindir} == ${base_sbindir}. Hance, handle this to alternative
system to resolve the conflict.

(From OE-Core rev: 07d6d0fb4dc689008bb0022d7d2ecc890c9159e5)

Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:20 +00:00
Amarnath Valluri
f808bce13f util-linux: Make sure '${base_bindir}/reset' is part of util-linux-reset package.
update-alternative.bbclass might rename the 'reset' binary when LINK_NAME ==
TARGET, This is true (${base_bindir} == ${bindir}) in 'usrmerge' distros.
Hence, suffix with * to properly package the renamed binary.

(From OE-Core rev: ebf5cc1a6fecb0761fd88e113fac785b49bc1a45)

Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:20 +00:00
Amarnath Valluri
b45a6993e9 systemd: Do not add libnss_* to systemd package
libnss_* files should be part of corresponding sub-packages, the split happens
by do_package_split(). By adding ${libdir}/libnss_* to FILES_${PN}, those files
end up in the systemd package when ${libdir} == ${base_libdir}.

(From OE-Core rev: 46046880e42ae924548eb5c0ec53f9448f6f932e)

Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:20 +00:00
Amarnath Valluri
b350ef0cea attr/acl: Do not create broken static library link when not needed
Stop creating the static library archive(liba(ttr|cl).a) when --disable-static
configure option used.

(From OE-Core rev: 2c84649139059b810f28babe9d8d82035fde19ee)

Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:20 +00:00
Jussi Kukkonen
ac8db9b30d util-linux: Fix packaging with "usrmerge"
Make sure fsck.cramfs is packaged before fsck so the latter
does not steal the fsck.cramfs binary when building with usrmerge.

(From OE-Core rev: 333e959448c2bc0d2c472e0b7d1dab606ab723e6)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:20 +00:00
Jussi Kukkonen
fada531cb2 glibc: Ensure ldconfig is packaged into glibc
If base_bindir=bindir, /usr/sbin/ldconfig gets packaged into glibc-utils instead
of glibc: Switch PACKAGES order to prevent this.

(From OE-Core rev: 2794b1cc12af051db404d46aea4db4c74e8e1fe3)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:20 +00:00
Kristian Amlie
76d182c757 wic/partionedfs: Avoid reserving space for non-existing ext. partition
We don't need the gap that the extended partition occupies if we
already know that we have less than five partitions. Saves up to one
full alignment of space.

(From OE-Core rev: 485315dc170e29962a8848db38db73abafd0586e)

Signed-off-by: Kristian Amlie <kristian.amlie@mender.io>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:20 +00:00
Peter Kjellerstedt
b2cd8759b1 useradd-staticids.bbclass: Always fail/warn for missing IDs
Previously, with USERADD_ERROR_DYNAMIC set to error/warn, if a static
UID/GID was specified in the recipe, then no error/warning would be
issued even if no ID was specified in the passwd/groups files.

(From OE-Core rev: 8e4b4e28a7c3a9dbd6b9298bea5d2c1328b3f24a)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:20 +00:00
Peter Kjellerstedt
6b5502566f useradd-staticids.bbclass: Support recipes specifying static IDs
If this bbclass is used and a recipe specifies a static ID for a
user/group as part of the USERADD_PARAM_${PN} or GROUPADD_PARAM_${PN},
the build would fail with and error like this if there was no
corresponding ID in the passwd/group files specified via
USERADD_UID_TABLES/USERADD_GID_TABLES:

  ERROR: meta-oe/recipes-support/postgresql/postgresql_9.4.11.bb:
  meta-oe/recipes-support/postgresql/postgresql_9.4.11.bb inherits
  useradd but doesn't set USERADD_PARAM, GROUPADD_PARAM or
  GROUPMEMS_PARAM for package postgresql

(From OE-Core rev: e744fac05fc5cc19cabc59c1e79ff4c1b3ee396d)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:20 +00:00
Anders Darander
b1f10b18ea classes/npm: allow installation of devDependencies
Often, eg when using angular2, there's a need to install also
the devDependencies.

The default is to keep the old behaviour, to not install
devDependencies.

(From OE-Core rev: 9377d16751aeff0a913e754d711bca6e4e4d9df1)

Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:20 +00:00
Anders Darander
6fa0fda116 devtool/recipetill: npm install of devDependencies
Web applications built using e.g. angular2, usually requires that the
packages in devDependencies are available.

Thus, add an option '--fetch-dev' to both devtool add and recipetool, to
add npm packages in devDependencies to DEPENDS.

(From OE-Core rev: f246f820d53b459596fde6758a09f7a0d7db7c4c)

Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:20 +00:00
Andre McCurdy
2b52d7ebc0 busybox: ignore the largefile distro feature ( always enable LFS )
(From OE-Core rev: f16723f66837a2acad3c114e4064e0ab1cb3a7a6)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:20 +00:00
Andre McCurdy
c13eb4ff7c feature-arm-thumb.inc: fix ARM_THUMB_SUFFIX for armv8
The current definition for ARM_THUMB_SUFFIX doesn't consider armv8
and will therefore cause TUNE_PKGARCH to be set incorrectly for
machines which inherit arch-armv8 and don't include aarch64 in
TUNE_FEATURES (ie when building for 32bit ARMv8).

Also fix typo in comments and improve TUNEVALID[thumb] wording.

(From OE-Core rev: 3691fd7dbe7f01ca29c14fc603c6946864af3b3c)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:19 +00:00
Jose Perez Carranza
b641052961 selftest/devtool: Add test to verify "modify virtual/kernel"
The purpose of this test case is to verify that
devtool modify works correctly when building
the kernel.

[YOCTO #10817]

(From OE-Core rev: 0fa3d331df7d5a5fbd8431febc75efe6bcc6f96b)

Signed-off-by: Jose Perez Carranza <jose.perez.carranza@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:19 +00:00
Joshua Lock
cc2744267f meta: replace uses of bb.data.expand(VARNAME, d) with d.expand(VARNAME)
bb.data.expand(x, d) is deprecated API.

[YOCTO #10678]

(From OE-Core rev: a361babe443da635aed83be46679067457fd6a58)

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:19 +00:00
Ed Bartosh
d60ede3315 bitbake.conf: add sudo to HOSTTOOLS_NONFATAL
runqemu is using sudo to configure tap networking. Without sudo
in HOSTTOOLS_NONFATAL it may cause bitbake -c testimage to fail
with this error:
    runqemu - INFO - Setting up tap interface under sudo
    /bin/sh: sudo: command not found

(From OE-Core rev: 716e0524cfbcac2eb272be1014280833b74bc5c4)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:19 +00:00
Ed Bartosh
0e4ccf1734 qemurunner: configure guest networking
Configured guest network interface through serial connection
when kernel is not run by qemu.

This should make it possible to test wic images with testimage.

[YOCTO #10833]

(From OE-Core rev: 2032d9be26b539bf867622c0090fb4696209eba9)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:19 +00:00
Ed Bartosh
62dc9d964f qemurunner: get network params from runqemu output
Parsed runqemu output to get guest network configuration
if it's not present in runqemu command line.

[YOCTO #10833]

(From OE-Core rev: d4d7ed48c1cff1351ddc2f60bcfa153c373a8ab8)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:19 +00:00
Ed Bartosh
4a57a7bc8d runqemu: output network configuration
runqemu adds network configuration parameters to the kernel
command line to configure guest networking. This works only
for the images that run with external kernel using qemu -kernel
parameter. It doesn't work for the images that use bootloader
to boot kernel as -kernel parameter is not used and network
configuration is not possible to get.

Added host and guest ip addresses and netmask of tap link
to the runqemu output. This should allow external programs
that execute runqemu to get network configuration.

[YOCTO #10833]

(From OE-Core rev: cf66a1850677548aa63a54276fa4917f40259daf)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:19 +00:00
Ed Bartosh
e7ce3c7f62 image_types: increase filesystem size for BTRFS
16777216 bytes is a minimal possible filesystem size for BTRFS.
mkfs.btrfs fails to create a filesystem if rootfs size is too small.

Increased filesystem size to make it possible for mkfs.btrfs
to create an image for small rootfs directories,
e.g. for core-image-minimal.

[YOCTO #11163]

(From OE-Core rev: 17c2b1ca8a4e2023583645840db61bbde22bf65e)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:19 +00:00
Richard Purdie
9fc3fec449 Revert "file: update SRCREV for 5.30 to fix fetch fail on missing commit"
This reverts commit adb71e06768adadda7b69c3b5e81ca3ad67237f4.

Upstream restored the original hashes.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-21 22:39:17 +00:00
Ross Burton
69d3d55ea7 binutils: disable gold on mingw
oe-core 759eed (binutils: Enable threading when gold is enabled and is not
default linker) causes linking in mingw SDKs to fail:

.../work/i686-nativesdk-mingw32-pokysdk-mingw32/binutils-cross-canadian-x86-64/2.28-r0
/recipe-sysroot-native/usr/bin/i686-pokysdk-mingw32/../../libexec/i686-pokysdk-mingw32/gcc/i686-pokysdk-mingw32/6.3.0/ld:
cannot find -lpthread

Work around this by disabling gold entirely in mingw SDKs.

(From OE-Core rev: b5a595a4be09756b88e91f3353e3b221b165ab44)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-21 22:39:17 +00:00
Jussi Kukkonen
a1eb378771 neard: Fix parallel build issue
This only started showing up now for some reason but it does seem like
a legitimate bug in Makefile.am.

(From OE-Core rev: f43290f6e302dbacf5581d1fe1c6c991dd387779)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-21 22:39:17 +00:00
brian avery
7e0985bab6 nativesdk-packagegroup-sdk-host.bb: add cmake
The Eclipse plugin uses cmake from the SDK and currently has issues
because cmake is not installed as a host tool.  This patch adds cmake as
a host tool for the sdk/esdk.

(From OE-Core rev: b1ccab95464855877558972c4523956be32dee36)

Signed-off-by: brian avery <brian.avery@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:06 +00:00
Mike Crowe
e987f62009 ccache: Disable CCACHE_HASHDIR by default
As of ccache-3.3, ccache tries to ensure that the paths in the debug
information are always correct. It does this by including the current
directory in the hash if debug output is enabled. It includes support for
detecting remapping via a single -fdebug-prefix-map argument uses the
remapped directory in the hash instead.

The DEBUG_PREFIX_MAP in bitbake.conf remaps the source directory, target
sysroot and native sysroot separately which results in multiple
-fdebug-prefix-map arguments. Although ccache passes all these arguments
through to the compiler, it only enables the special behaviour described
above if the last one matches the current directory. (See
https://github.com/ccache/ccache/issues/163 )

Even if ccache did correctly honour each of the remapping arguments, the
hashes would still be different every time ${PV} or ${PR} change because
the default DEBUG_PREFIX_MAP contains maps to paths including them.

So it seems that for ccache to be of any use with this configuration,
CCACHE_NOHASHDIR needs to be set.

(From OE-Core rev: fb7a5cdcff19bb44a25a51e20de0440c1ebcc057)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Helped-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:06 +00:00
Denys Dmytriyenko
b6971f52dc u-boot-fw-utils: reuse the same override HOSTCC patch as u-boot-mkimage
(From OE-Core rev: 2815f819c1a620949213fa952557c03f7d594ed6)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:06 +00:00
Leonardo Sandoval
0c6ab4cd2e gettext: split recipe's description
Split long recipe description into multiple lines.

(From OE-Core rev: 13cf0df0252941b9575da613488cbc141e043a8a)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:06 +00:00
Leonardo Sandoval
37785b9fdb uninative.bbclass: split long command
Single long commands are difficult to read and maintain. Split it to make
it more human-friendly.

(From OE-Core rev: c93b3b18f8daa8b419cc65b52cb5ceccfb1c142d)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:06 +00:00
Robert Yang
1accf1f221 autogen-native: config/libopts.m4
It was out of date compared to config/libopts.def, so regenerate it via
"autogen config/libopts.def" command.

(From OE-Core rev: 221403f6e73c2bea327f3df4e8b76c11e5dd8aa7)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:05 +00:00
Robert Yang
08dfb89301 oe/path.py: fix for "Argument list too long"
Issue: LIN9-1648

Fixed when len(TMPDIR) = 410:
$ bitbake core-image-sato-sdk
[snip]
Subprocess output:
/bin/sh: /bin/cp: Argument list too long

ERROR: core-image-sato-sdk-1.0-r0 do_rootfs: Function failed: do_rootfs
[snip]

This is because "copyhardlinktree(src, dst)" does "cp -afl src/* dst",
while src/* is expanded to "src/file1 src/file2, src/file3..." which
causes the "Argument list too long", use ./* as src and change cwd in
subprocess.check_output() to fix the problem.

(From OE-Core rev: a3dc93eb25fba32109edd1db6e8766074fb52e4b)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:05 +00:00
Robert P. J. Day
8c1ac497da classes: Fix "U-boot", use proper spelling of "U-Boot".
U-Boot people are amazingly pedantic in their insistence on proper
spelling of "U-Boot", so humour them.

(From OE-Core rev: f346a9bdc372ec477bafcda358f9339ff4e4c79d)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:05 +00:00
José Bollo
39858da230 shadow: 'useradd' copies root's extended attributes
The copy of extended attributes is interesting for
Smack systems because it allows to set the security
template of the user's home directories without
modifying the tools (useradd here). But the version
of useradd that copies the extended attributes doesn't
copy the extended attributes of the root. This can make
use of homes impossible! This patch corrects the issue
by copying the extended attributes of the root directory:
/home/user will get the extended attributes of /etc/skel.

The patch is submitted upstream (see
http://lists.alioth.debian.org/pipermail/pkg-shadow-commits/2017-March/003804.html)

The existing patch specific to open-embedded is updated:
  0001-useradd.c-create-parent-directories-when-necessary.patch

Also, attr are activated for native tools.
This is needed when users are created during image creation.

(From OE-Core rev: eed66e85af5ca6bbdd80cc3d5cf8453e8d8880bc)

Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:05 +00:00
Chen Qi
36f3c88970 gcc-target.inc: create symlinks for gcov and gcov-tool
Create symlinks for gcov and gcov-tool and that they can be used trivially
on target.

(From OE-Core rev: 5b5a506a6d81095c967304fe4ec38a4bc3dc1edd)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:05 +00:00
Robert P. J. Day
f420e4a071 fs-perms.txt: Two cleanup tweaks for consistency.
* Remove duplicate entry for /srv already defined earlier in file.
* Use "${localstatedir}" rather than "/var" for consistency.

(From OE-Core rev: 0cb3a4b299506b4503c5728a0f0c80db8d603e91)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:05 +00:00
Olof Johansson
8f1d763adc openssl: Disable make's -e flag without breaking ${AR}
The OpenSSL recipe tried to workaround the -e make flag (overriding
variables from the environment). And when the -e flag was dropped as
the global default, it was specifically added for OpenSSL. This is
unnecessary, as only the value of ${AR} seems to be affected, and that
can be handled correctly by OpenSSL's build system if we just let it.

(From OE-Core rev: 537a404cfbb811fcb526cdb5f2e059257de6ef13)

Signed-off-by: Olof Johansson <olof.johansson@axis.com>
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:05 +00:00
Peter Kjellerstedt
12cc4f550a toaster.bbclass: Correct parsing of installed-package-sizes.txt
The recent change in buildhistory.bbclass to use a tab in
installed-package-sizes.txt between "KiB" and the package name caused
toaster_buildhistory_dump() to fail since it parses the file and
expected a space there.

(From OE-Core rev: 7b3692f57628b33840f6dbcddbe05ae56c24b98e)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:05 +00:00
Ismo Puustinen
5c9dc408aa gcc: move cc1 binary file to package cpp.
The file /usr/libexec/gcc/.../cc1 has been installed in package gcc
instead of package cpp, because FILES statements for both packages match
the cc1 binary. Move the file to package cpp and add cpp to RDEPENDS_gcc
to fix the dependency.

Having the cc1 binary in cpp fixes errors such as: "cpp: error trying to
exec 'cc1': execvp: No such file or directory".

(From OE-Core rev: 4bf84edeb6cf4ba82a21bc7ceb1da4f59d839064)

Signed-off-by: Ismo Puustinen <ismo.puustinen@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:05 +00:00
Chen Qi
3e1b79a762 procps: fix ALTERNATIVE_PRIORITY to avoid conflict
Previously, 'pidof' utility has two providers, sysvinit and procps, and
both have the same priority 200. Fix procps to lower the priority of its
'pidof' to 150 to avoid conflict.

(From OE-Core rev: 468f9c9899016c46635c9f39eef3483303a5be81)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:05 +00:00
Martin Jansa
8c0b432d2e bitbake.conf: Add few more binaries to HOSTTOOLS_NONFATAL
* add: join nl size yes zcat

join    - netcf               - http://errors.yoctoproject.org/Errors/Details/135208/
join    - fontforge           - http://errors.yoctoproject.org/Errors/Details/135209/
nl      - dash                - http://errors.yoctoproject.org/Errors/Details/135215/
nl      - klibc               - http://errors.yoctoproject.org/Errors/Details/135198/
size    - iptraf              - http://errors.yoctoproject.org/Errors/Details/135204/
yes     - libnet-ssleay-perl  - http://errors.yoctoproject.org/Errors/Details/135197/
zcat    - scsirastools        - http://errors.yoctoproject.org/Errors/Details/135205/

(From OE-Core rev: 83dfb69b37c2465d09eb9544d487f1674b06f9c0)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:05 +00:00
Khem Raj
27ba0db9db go: Remove mips32r2 from mips
mips32r1 is only one supported for mips32

(From OE-Core rev: d39b819579c767aa7892835624540fd6509db201)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:05 +00:00
Paul Gortmaker
2102b8c9b6 file: update SRCREV for 5.30 to fix fetch fail on missing commit
Machines that cloned a while ago will have the commit, but new
deployments won't because it seems the upstream changed/rebased
and the old commit ID has been garbage-collected away.  Hence
the fetch fails to check out the named commit ID.

Both the old (gone) commit, and the "new" commit show the same
dates and commit log and point at 5.30, so hopefully this is
the right thing to do.  A git diff of the two seems to only show
a blanket uprev of CVS tags and deletion of a couple autogen'd
files, and no real source changes.

Cc: Christos Zoulas <christos@zoulas.com>
(From OE-Core rev: adb71e06768adadda7b69c3b5e81ca3ad67237f4)

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:05 +00:00
Joe Slater
602e96e2b6 build-compare: add date to PV
We want PV values to be easily ordered, so
use the latest entry in build-compare.changes which
will also match the date of SRCREV.

(From OE-Core rev: c796cd4ac39e704e0795385c9b4ec9a2d73459b5)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:05 +00:00
Khem Raj
17e7ff4be9 webkitgtk: Fix build on aarch64
Do not try to do runtime tests during cross compile
Fixes

| CMake Error at Source/cmake/OptionsCommon.cmake:73 (math):
|   math cannot parse the expression: "-1": syntax error, unexpected exp_MINUS,
|   expecting exp_OPENPARENT or exp_NUMBER (1)

(From OE-Core rev: 528006009dddd876a830e0a8f248658182a37f37)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:05 +00:00
Khem Raj
ed602b58ed musl: Update to latest
Rich Felker (11):
      fix ld-behavior-dependent crash in ppc64 ldso startup
      rework ldso handling of global symbol table for consistency
      reorder addend handling before symbol lookup in relocation code
      emulate lazy relocation as deferrable relocation
      fix free of uninitialized buffer pointer on error in regexec
      in static dl_iterate_phdr, fix use of possibly-uninitialized aux data
      fix possible fd leak, unrestored cancellation state on dns socket fail
      fix wide scanf's use of a compound literal past its lifetime
      fix one-byte overflow in legacy getpass function
      avoid loading of multiple libc versions via explicit pathname
      remove unused refcnt field for shared libraries

Szabolcs Nagy (1):
      treat STB_WEAK and STB_GNU_UNIQUE like STB_GLOBAL in find_sym

(From OE-Core rev: 2b1e9ddb10d4766cc4f8be3e55e4fc3d2810bbcb)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:05 +00:00
Khem Raj
422e94cd06 xserver-xf86-config: Remove X server module preload
This was a solution needed for musl but now musl has
got lazy loading.

(From OE-Core rev: 6ea72c6bd0aeaed694d58d68ede4de70d96b7e4b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:05 +00:00
Khem Raj
56b2f19ca1 binutils: Enable threading when gold is enabled and is not default linker
Currently we enable threaded linking feature of gold linker only
when its used as default ld. There is no need to restrict it when
its not default linker either. As long as gold is enabled, which
is the case here, we should be able to do threaded linking.

(From OE-Core rev: 759eed2b02e0a7b5c8b19d4b087d9151c009eed4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:05 +00:00
Khem Raj
12afe700f3 go: Fix packaging for target go
We need all packaging tasks when building
go for target

(From OE-Core rev: 8f504a7737d5e6be6ec61f9ce8728a2c74102a8a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:04 +00:00
Khem Raj
342a45317b mesa-gl: Drop MESA_CRYPTO from PACKAGECONFIG
with mesa 17 crypto packageconfig has been removed

(From OE-Core rev: 7df24c84999048f863428f4e442922e60ce776a5)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:04 +00:00
Khem Raj
c873d0bc1d mesa: Contain configure search for llvm
Configure has an unbridled check for llvm and
when distro provided llvm is installed on build host it
will use that from /usr/bin to poke for llvm libs
and configs. This would result in a subtle errors
however do_qa_configure catches it as a host include/lib
contamination during configure checks

ERROR: mesa-gl-2_17.0.1-r0 do_configure: This autoconf log indicates errors, it looked at host include and/or library paths while determining system capabilities.
Rerun configure task after fixing this.

This is correct because when configure detects build host provided
llvm then it add the include/lib paths to compiler cmdline which are
looking into /usr/include and /usr/lib

(From OE-Core rev: df53927b9c07bc45ce8a756217c07ce306ed5bbe)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:04 +00:00
Paul Gortmaker
52d2faad9f package_manager: fix "exlcude" vs. "exclude" typo
Which results in:

 --------------------------------
      0557:        package_exclude = self.d.getVar('PACKAGE_EXCLUDE')
  *** 0558:        exclude_pkgs = (bad_recommendations.split() if bad_recommendations else []) + (package_exlcude.split() if package_exclude else [])
      0559:
      0560:        output = self._invoke_dnf((["--skip-broken"] if attempt_only else []) +
      0561:                         (["-x", ",".join(exclude_pkgs)] if len(exclude_pkgs) > 0 else []) +
      0562:                         (["--setopt=install_weak_deps=False"] if self.d.getVar('NO_RECOMMENDATIONS') == 1 else []) +
 Exception: NameError: name 'package_exlcude' is not defined
 ERROR: cube-builder-initramfs-1.0-r0 do_rootfs: Function failed: do_rootfs
 ---------------------------------

Cc: Alexander Kanavin <alexander.kanavin@linux.intel.com>
(From OE-Core rev: cee1bdc09f4bbfedcd7cac06b48ba9d195c29e62)

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:04 +00:00
Jussi Kukkonen
f8007417ea kexec-tools: Add patches to enable format-security
Also remove the override from security_flags.inc

(From OE-Core rev: 33d084a66a371fb10e26a0a23c639c69ddd3f1e5)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:04 +00:00
Jussi Kukkonen
6dcf5c6e6e cmake: Backport fix to enable -Wformat-security
Backport build fix that removes -Wformat-security for specific tests.
Enable "-Wformat-security" for cmake in security_flags.inc.

(From OE-Core rev: b00f9c77ebd211578ba133c28abcbc5752305e25)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:04 +00:00
Paul Gortmaker
a861ee210c sysklogd: use update-alternatives for more manpages
To fix:

   file /usr/share/man/man8/syslogd.8 conflicts between attempted installs
   of inetutils-doc-1.9.4-r0.core2_64 and sysklogd-doc-1.5.1-r0.core2_64

(From OE-Core rev: d08cfe3d3de01c529dda1a60f42870dd3132c256)

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:04 +00:00
Paul Gortmaker
33162228c6 net-tools: use update-alternatives for more manpages
To fix:

  file /usr/share/man/man1/dnsdomainname.1 conflicts between attempted installs
  of inetutils-doc-1.9.4-r0.core2_64 and net-tools-doc-1.60+26-r0.core2_64

(From OE-Core rev: 412d6b31b23b30f71b8acf2ecd37463f770cd8be)

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:04 +00:00
Paul Gortmaker
c6532a199a util-linux: use update-alternatives for more manpages
To fix:

   file /usr/share/man/man1/eject.1 conflicts between attempted installs
   of util-linux-doc-2.29.1-r0.core2_64 and eject-doc-2.1.5-r1.core2_64

and

   file /usr/share/man/man1/logger.1 conflicts between attempted installs
   of util-linux-doc-2.29.1-r0.core2_64 and inetutils-doc-1.9.4-r0.core2_64

(From OE-Core rev: a65e69d006bceacb042b377f2cd0dd8a3e72ea62)

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:04 +00:00
Paul Gortmaker
4a660aa437 which: fix it so the manpage will respect alternatives
To fix:

  file /usr/share/man/man1/which.1 conflicts between attempted installs
  of debianutils-doc-4.8.1-r0.core2_64 and which-doc-2.21-r3.core2_64

(From OE-Core rev: ba304046307cd741694b25215b562d5f05c9c7a5)

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:04 +00:00
Paul Gortmaker
5686689408 gdb: don't bundle bfd.info -- leave that to binutils.
We see:

  file /usr/share/info/bfd.info conflicts between attempted installs
  of gdb-doc-7.12.1-r0.core2_64 and binutils-doc-2.28-r0.core2_64

You can't really have gdb and not binutils, so there is no need
to do alternatives here ; just clobber the one from gdb and let
the binutils one be the default.

(From OE-Core rev: 19a825a578e2e705e5502982b787cff54d021359)

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:04 +00:00
Alexander Kanavin
aa66e8782e dnf: add /usr/bin/dnf symlink that points to /usr/bin/dnf-2
All documentation refers to dnf binary as 'dnf' yet make install
does not create one - it's done by Fedora's spec file when building
the rpm. Let's replicate this behavior.

(From OE-Core rev: 456c4a8ffc9a292d7a3e036d92baf4a8f14d1f45)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:04 +00:00
Alexander Kanavin
fd04d16568 selftest/signing.py: verify that images can be created from signed packages
(From OE-Core rev: e53b93181ea1723ddeeb75c4195e9412e64721c0)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:04 +00:00
Markus Lehtonen
9a548edb0f lib/oe/package_manager: import rpm signing key to rpmdb
Import the gpg key used in rpm signing into rpmdb. This makes it
possible again to create images when rpm signing is enabled.

Also, instruct dnf to enforce signature check if rpm signing is enabled.

(From OE-Core rev: f30c1653cc5ef9daf594cbd3faad329b9fa08ab7)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:04 +00:00
Alexander Kanavin
2b77735c72 rpm: add support for remote package feeds via PACKAGE_FEED_URIS variable
I've used a previous patch (which was never merged) by
Humberto Ibarra <humberto.ibarra.lopez@intel.com> as a model
for how to do runtime testing of this feature (e.g. we need to boot
an image, run dnf on it, and check that it is indeed able to
access the remote repo over http). Here's his original commit message:

=====
Testing that feeds specified with PACKAGE_FEED_URIS var are set
correctly has two parts. First a build with this var set is required,
and then smart update needs to be issued in the running taget.

The previous is not a common selftest practice because this is a
simple test, but requires building and running a specific image,
which takes a lot of time. testimage is not a good fit either,
since the images tested there do not have the PACKAGE_FEED_URIS
var set.

For this test, the runtime-test module is being used, which is a
selftest module but runs a testimage command. The var and test
environment were set in runtime-perf.py and the actual test is
done in a new testcase added to meta-selftest layer.
=====

[YOCTO #10872]

(From OE-Core rev: 3a9e2fdef9316e24b52ce99ac355fc2b09786c72)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:04 +00:00
Peter Kjellerstedt
cb05db0d03 package.bbclass: Add SKIP_FILEDEPS to list of package specific variables
Changes to SKIP_FILEDEPS should change the sstate checksum. To make
that happen, it needs to be listed in the list of package specific
variables, therefore add it.

(From OE-Core rev: 4d9fb8414300c0adc003f2d77041713a17b49bd4)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:04 +00:00
Robert Yang
766dccf975 runqemu: only boot ramfs when specified
This can fix a problem:
IMAGE_FSTYPES += "iso"
$ bitbake core-image-minimal
$ runqemu qemux86

It may boot core-image-minimal-initramfs rather than core-image-minimal, this
is not what we want usually. This patch makes it avoid booting ramfs when there
are other choices, or when it is specified, for example, "runqemu qemux86 ramfs"

(From OE-Core rev: 614bde6774f4dfd414066bbaf75ed422943e37ab)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:04 +00:00
Kevin Hao
8e9769773f meta-yocto-bsp: bump to the latest linux stable kernel for the non-x86 BSPs
Bump to the latest stable kernel for 4.1, 4.4, 4,9 and 4.10. Also set
the default kernel to 4.10.

(From meta-yocto rev: fbb8276e16976b5188efe5a9ee9bdda1ff44d931)

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:12:07 +00:00
Richard Purdie
da577c7d37 bitbake: tests/data: Add inactive remove override test
In 2bc4d35fb32defc59cd6ed1fc87e35924c201a5c we fixed cases where an inactive
remove override was influecing the value of a variable. This adds a test
case for this issue.

(Bitbake rev: 1ff9b3c669fa187f152de7b8b57d14c2468d926c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:12:07 +00:00
Robert Yang
0079607387 runqemu: add -h and --help
Fixed:
$ runqemu -h
runqemu - INFO - Assuming MACHINE = -h
runqemu - INFO - Running MACHINE=-h bitbake -e...
[snip]
Exception: FSTYPE is NULL!

[YOCTO #10941]

(From OE-Core rev: 6b9dd7a589537b12da648be50298cf7d36461797)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:11:33 +00:00
Robert Yang
ac451ea84c runqemu: improve when no machine specified
Fixed:
$ runqemu core-image-minimal
[snip]
Exception: FSTYPE is NULL!
[snip]

Get DEPLOY_DIR_IMAGE from "bitbake -e" to make it work.

[YOCTO #10471]

(From OE-Core rev: ca551b72a020782f164703765b97156000b908d2)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:11:32 +00:00
Paul Eggleton
bbdbdcaf06 packagegroup-core-lsb: avoid rebuilding when changing layer config
It's regrettable that code in here is referring to BBFILE_COLLECTIONS,
but it is, and the result is that this packagegroup will rebuild simply
by adding or removing a layer which may be completely unrelated to
whether you've got meta-qt4 or not. Add BBFILE_COLLECTIONS to
vardepsexclude for the function to avoid this. (This was flagged up when
testing the new yocto-compat-layer script - it understandably but
undesirably reports it as a change caused by a layer).

(From OE-Core rev: 10dc69467677a4ce2a26aa670bbb9c1d7d783a0e)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:11:32 +00:00
Paul Eggleton
8aebe890fd classes/base: reformat HOSTTOOLS error
Adjust the message slightly to make it clearer, in particular mentioning
the HOSTTOOLS variable.

(From OE-Core rev: e022b27d189c1dcc7b3baea2b99dba8d724e6e2b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:11:32 +00:00
Jussi Kukkonen
ec1f1c4abe kexec-tools: Remove unused patch
The patch was removed from SRC_URI as merged upstream in 587778e24c9.

(From OE-Core rev: 818dced4e4409c112b35022b86b830b0c2a2a7da)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:11:32 +00:00
Jussi Kukkonen
cd85351240 gstreamer1.0-vaapi: Remove unused patch
This patch has seemingly never been applied in the recipe (even when
it lived in meta-intel). I don't think we should have unused patches
in the repo: If the patch is useful it could be reintroduced so that
the binaries are packaged into a separate package.

(From OE-Core rev: cd33ae2f21547354e1ef9776b2c4ebcea4eb7e99)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:11:32 +00:00
Jussi Kukkonen
209bb1bc3d gstreamer1.0-omx: Remove unused patch
The patch was only used in the ancient and recently removed git recipe.

(From OE-Core rev: 2d2d4c31d04f5f29250a307c1f3da739ab351ecd)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:11:32 +00:00
Jussi Kukkonen
f751a52a58 opkg-utils: Remove unused patches
0001-update-alternatives-warn-when-multiple-providers-hav.patch was
removed from SRC_URI without mention in commit 60c9a9704.

001-Makefile-use-defined-bindir-and-mandir-as-installati.patch was
removed from SRC_URI in d6b04e121.

Current opkg does not need either patch.

(From OE-Core rev: 789ec510495ca6eab379ec829e3013c977236966)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:11:32 +00:00
Jussi Kukkonen
f3d8addbef gcc: Remove unused patch
CVE-2016-4490 applied to gcc < 6.1.1, our version is 6.3

(From OE-Core rev: d8329861bf6f48f6e541a04062b8d1f373dfcd78)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:11:32 +00:00
Jussi Kukkonen
7f60b7c474 python-native: Remove unused patch
avoid_parallel_make_races_on_pgen.patch was removed from SRC_URI as
handled in upstream in db9508891b.

(From OE-Core rev: 7e2a5a213535bfac14f0b2e3a3b7857b7fdcaffc)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:11:32 +00:00
Jussi Kukkonen
82311dcf1f python: Remove unused patches
CVE-2016-5636.patch and avoid_parallel_make_races_on_pgen.patch were
removed from SRC_URI as handled upstream in adf4266524.

(From OE-Core rev: 53c0d1f18d4a11b0130e54466c91320acf4f5b18)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:11:32 +00:00
Jussi Kukkonen
82d817826c python3: Remove unused patches
CVE-2016-5636.patch and use_packed_importlib.patch were removed from
SRC_URI as handled in upstream in b192bc02bb.

(From OE-Core rev: 71c539483350a4b45fb5d397d29b6ebcfc863e2f)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:11:32 +00:00
Jussi Kukkonen
3d0ac9b8af xf86-input-mouse: Remove unused patch
The patch has not been used since the ancient git version was removed.

(From OE-Core rev: 292f519dad5ed9e4389f2a3ad2307c168328a038)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:11:32 +00:00
Jussi Kukkonen
f8f015b13b readline: Remove unused patch
config-dirent-symbols.patch was removed from SRC_URI as "already
applied in upstream" in 983a4986947.

(From OE-Core rev: 43e764a54458c9c6665bb7734b1fc7e7956bffdc)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:11:32 +00:00
Jussi Kukkonen
a6707eda1d qemu: Remove uuid PACKAGECONFIG
--enable-uuid no longer exists: There's a uuid implementation in
libqemuutil.

(From OE-Core rev: 9da623d569ae552b1772a3b3a06df3cbf76cd573)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:11:32 +00:00
Richard Purdie
3bbd7ae2a1 bitbake.conf: Drop pip3 from HOSTTOOLS_NONFATAL
Now that pip3-native is used by build-appliance, we should no longer
need this host tool.

(From OE-Core rev: 096f943d4b7a7cf5d4c3d45f34be5ddcd2475790)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:11:32 +00:00
Juro Bystricky
0d8ce95782 build-appliance-image: ensure pod2man present in BA
"pod2man" went missing from BA, but it is required.
This patch fixes the Toaster error:

<...>
ERROR: These tools appear to be unavailable in PATH, please install
   them in order to proceed:
       pod2man
<...>

[YOCTO#11144]

(From OE-Core rev: 562c184d52db2182eafde3cf9866606145784deb)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:11:32 +00:00
Juro Bystricky
86bf67a4a5 build-appliance-image: fix build errors
Remove any symlinks before creating new ones to avoid potential build
errors such as:

FileExistsError: [Errno 17] File exists: '../../usr/src/kernel' -> ... '

(From OE-Core rev: 376aa835dd70e646a00706272db6f5ac7f419ce7)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:11:32 +00:00
Juro Bystricky
5674a08ca5 build-appliance-image: use pip3-native
Do not rely on pip3 being installed on the host.
Use pip3-native instead.

[YOCTO#10909]
[YOCTO#11022]

(From OE-Core rev: 0c349f06b6b026e9bbd3e9a8188e3d8645fd00d9)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:11:32 +00:00
Juro Bystricky
8fc9d8e9a6 python3-pip: support native builds
Add native pip3 support.

[YOCTO#11049]
[YOCTO#11022]

(From OE-Core rev: cb2073658305b605cccc60439b62c1dc515d9a8d)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:11:32 +00:00
Juro Bystricky
68e57fa748 runqemu: independent network and rootfs setup
Presently, runqemu sets up rootfs as part of network setup.
In case there is no network desired we will end up without rootfs
as well.
This patch sets up network and rootfs independently.
It is also possible to bypass setup of rootfs if QB_ROOTFS is set to "none".

(From OE-Core rev: 006ab8c6bcfe9d065c215cab15289357cefc9259)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:11:32 +00:00
Patrick Ohly
ef0c54ab70 yocto-compat-layer: improve error handling in signature creation
When "bitbake -k -S none world" failed, the error printed by
yocto-compat-layer.py contained the stack trace multiple times and did not
contain the stderr output from bitbake, making the error hard to understand
and debug:

  INFO: ======================================================================
  INFO: ERROR: test_signatures (common.CommonCompatLayer)
  INFO: ----------------------------------------------------------------------
  INFO: Traceback (most recent call last):
    File "/fast/work/poky/scripts/lib/compatlayer/__init__.py", line 144, in get_signatures
      stderr=subprocess.PIPE)
    File "/usr/lib/python3.4/subprocess.py", line 620, in check_output
      raise CalledProcessError(retcode, process.args, output=output)
  subprocess.CalledProcessError: Command 'bitbake -k -S none world' returned non-zero exit status 1

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "/fast/work/poky/scripts/lib/compatlayer/cases/common.py", line 51, in test_signatures
      curr_sigs = get_signatures(self.td['builddir'], failsafe=True)
    File "/fast/work/poky/scripts/lib/compatlayer/__init__.py", line 149, in get_signatures
      raise RuntimeError(msg)
  RuntimeError: Traceback (most recent call last):
    File "/fast/work/poky/scripts/lib/compatlayer/__init__.py", line 144, in get_signatures
      stderr=subprocess.PIPE)
    File "/usr/lib/python3.4/subprocess.py", line 620, in check_output
      raise CalledProcessError(retcode, process.args, output=output)
  subprocess.CalledProcessError: Command 'bitbake -k -S none world' returned non-zero exit status 1

  Loading cache...done.
  Loaded 1328 entries from dependency cache.
  NOTE: Resolving any missing task queue dependencies
  NOTE: Runtime target 'zlib-qat' is unbuildable, removing...
  Missing or unbuildable dependency chain was: ['zlib-qat']
  ...
  Summary: There were 5 ERROR messages shown, returning a non-zero exit code.

The yocto-compat-layer.log was incomplete, it only had the first part
without the command output.

stderr was missing due to stderr=subprocess.PIPE.

Instead of the complicated try/except construct it's better to check
the return code ourselves and raise just a single exception. The
output (both on stderr and in the yocto-compat-layer.log) now is:

  INFO: ======================================================================
  INFO: ERROR: test_signatures (common.CommonCompatLayer)
  INFO: ----------------------------------------------------------------------
  INFO: Traceback (most recent call last):
    File "/fast/work/poky/scripts/lib/compatlayer/cases/common.py", line 51, in test_signatures
      curr_sigs = get_signatures(self.td['builddir'], failsafe=True)
    File "/fast/work/poky/scripts/lib/compatlayer/__init__.py", line 147, in get_signatures
      raise RuntimeError(msg)
  RuntimeError: Generating signatures failed. This might be due to some parse error and/or general layer incompatibilities.
  Command: bitbake -k -S none world
  Output:
  Loading cache...done.
  Loaded 1328 entries from dependency cache.
  NOTE: Resolving any missing task queue dependencies
  ERROR: Nothing PROVIDES 'qat16' (but /fast/work/meta-intel/common/recipes-extended/openssl-qat/openssl-qat_0.4.9-009.bb DEPENDS on or otherwise requires it)
  ERROR: qat16 was skipped: incompatible with machine qemux86 (not in COMPATIBLE_MACHINE)
  ...
  Missing or unbuildable dependency chain was: ['openssl-qat-dev']
  ...
  Summary: There were 5 ERROR messages shown, returning a non-zero exit code.

(From OE-Core rev: 5b9ac62ab535d2791b9713857e1016f49f53dd8d)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:11:32 +00:00
Juro Bystricky
ab2caed31a sanity.bbclass: modify check for shell
Due to the recently implemented update-alternatives for bash binary,
sanity checker may end up with a (false-positive) error such as:

Error, /bin/sh links to /bin/bash.bash, must be dash or bash

This patch modifies the test: presence of "/bash" or "/dash" in shell binary
name results in pass.

[YOCTO#11108]

(From OE-Core rev: ef51746cdd12e6b08109e9bd90a0a465c3f9f93c)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:11:32 +00:00
Richard Purdie
3fa7239679 selftest: Disable SSTATE_MIRRORS for sstate signing test
Building ed into an sstate mirror, then leaving it enabled for
oe-selftest -r signing.Signing.test_signing_sstate_archive results in:

NOTE: recipe ed-1.14.1-r0: task do_populate_lic_setscene: Started
WARNING: ed-1.14.1-r0 do_populate_lic_setscene: Failed to fetch URL file://29/sstate:ed::1.14.1:r0::3:290bbc39f3b25cc27028dafce4b5aa48_populate_lic.tgz.sig;downloadfilename=29/sstate:ed::1.14.1:r0::3:290bbc39f3b25cc27028dafce4b5aa48_populate_lic.tgz.sig, attempting MIRRORS if available
ERROR: ed-1.14.1-r0 do_populate_lic_setscene: Fetcher failure: Unable to find file file://29/sstate:ed::1.14.1:r0::3:290bbc39f3b25cc27028dafce4b5aa48_populate_lic.tgz.sig;downloadfilename=29/sstate:ed::1.14.1:r0::3:290bbc39f3b25cc27028dafce4b5aa48_populate_lic.tgz.sig anywhere. The paths that were searched were:
    /media/build1/poky/build/test-sstate
    /media/build1/poky/build/test-sstate
WARNING: ed-1.14.1-r0 do_populate_lic_setscene: Cannot verify signature on sstate package /media/build1/poky/build/test-sstate/29/sstate:ed::1.14.1:r0::3:290bbc39f3b25cc27028dafce4b5aa48_populate_lic.tgz
NOTE: recipe ed-1.14.1-r0: task do_populate_lic_setscene: Succeeded

so we need to disable SSTATE_MIRRORS for this test.

(From OE-Core rev: 2ce9962851fe58c099599679340fd87e90f426ec)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:11:31 +00:00
Mikko Ylinen
4a3d0eda4e bitbake.conf: whitelist socat as non-fatal host tool
oe-git-proxy depends on socat host tool but it's not
whitelisted and triggers a 'binary not in PATH' error.

Whitelist socat but make it a HOSTTOOLS_NONFATAL since
it's not a hard dependency.

(From OE-Core rev: 97f979ee61a06349139ccc47feaf051bdbcf0e16)

Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 17:35:08 +00:00
Andre McCurdy
812fabbd30 bitbake: runqueue: minor typo fix
(Bitbake rev: f2c151cd345788a135452f63f622a2bc0b10c2d4)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-15 17:38:33 +00:00
Maciej Borzecki
6e20b31d5d wic: selftest: account for occasional newline in debugfs file names
Debugfs output may contain a newline in file names in 'ls -p' output. Make sure
that output is correctly split into lines by matching '/\n' and newlines are
removed from file names.

Fixes the following error appearing in AB tests:

   Traceback (most recent call last):
     File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/selftest/wic.py", line 388, in test_exclude_path
       files = [line.split('/')[5] for line in res.output.split('\n')]
     File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/selftest/wic.py", line 388, in <listcomp>
       files = [line.split('/')[5] for line in res.output.split('\n')]
   IndexError: list index out of range

(From OE-Core rev: 477805b913a6c4b4b630e42f08cd9e59f1e4e254)

Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:18 +00:00
Khem Raj
49c4fb941e go: add native recipes for 1.8
(From OE-Core rev: 13a5c3dac4b5b0ccb4c5dfebf79b468acd8e1983)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:18 +00:00
Khem Raj
c46c25dcfe go: Enable on musl
Working fine for musl targets now

(From OE-Core rev: 1bab5be8133f62cdae251e66db6f472c3c37297c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:18 +00:00
Ross Burton
500a5e44a9 openssl: actually apply Use-SHA256-not-MD5-as-default-digest.patch
This patch was added to fix a CVE, but wasn't actually added to SRC_URI:

    CVE: CVE-2004-2761
    The MD5 Message-Digest Algorithm is not collision resistant,
    which makes it easier for context-dependent attackers to
    conduct spoofing attacks, as demonstrated by attacks on the
    use of MD5 in the signature algorithm of an X.509 certificate.

(From OE-Core rev: 8791800f84321b3f46772bc2d9e4f754e6213946)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:18 +00:00
Bruce Ashfield
9e404449ab linux-yocto/4.4: update to v4.4.53
Updating from v4.4.41 to v4.4.53, with the following list of changes:

   49616e715061 Linux 4.4.53
   9cee69465035 scsi: lpfc: Correct WQ creation for pagesize
   1d316060cad5 MIPS: IP22: Fix build error due to binutils 2.25 uselessnes.
   4dd29050e46e MIPS: IP22: Reformat inline assembler code to modern standards.
   15959b728d07 powerpc/xmon: Fix data-breakpoint
   afee78f03ee6 dmaengine: ipu: Make sure the interrupt routine checks all interrupts.
   79a7ff1443bd bcma: use (get|put)_device when probing/removing device driver
   5a1f03f1ee91 md linear: fix a race between linear_add() and linear_congested()
   037cd23726b3 rtc: sun6i: Switch to the external oscillator
   ee360e99dae0 rtc: sun6i: Add some locking
   a0378b5bfc27 NFSv4: fix getacl ERANGE for some ACL buffer sizes
   5d23e89065cd NFSv4: fix getacl head length estimation
   52fb4bdcea4c NFSv4: Fix memory and state leak in _nfs4_open_and_get_state
   3ee4f442e5b3 nfsd: special case truncates some more
   6030493a3422 nfsd: minor nfsd_setattr cleanup
   781e6a08381d rtlwifi: rtl8192c-common: Fix "BUG: KASAN:
   6e10c33cb87a rtlwifi: Fix alignment issues
   70a09029b7be gfs2: Add missing rcu locking for glock lookup
   44dd30e04c1f rdma_cm: fail iwarp accepts w/o connection params
   88326fe95f59 RDMA/core: Fix incorrect structure packing for booleans
   f414af249f1e Drivers: hv: util: Backup: Fix a rescind processing issue
   9b45ab285388 Drivers: hv: util: Fcopy: Fix a rescind processing issue
   abaeda7f709a Drivers: hv: util: kvp: Fix a rescind processing issue
   862d2b7d21d3 hv: init percpu_list in hv_synic_alloc()
   374907e8d116 hv: allocate synic pages for all present CPUs
   80190fcc48f6 usb: gadget: udc: fsl: Add missing complete function.
   61e9e9bcfd7b usb: host: xhci: plat: check hcc_params after add hcd
   900466a746f5 usb: musb: da8xx: Remove CPPI 3.0 quirk and methods
   89eb5ed1536e w1: ds2490: USB transfer buffers need to be DMAable
   1df66c452471 w1: don't leak refcount on slave attach failure in w1_attach_slave_device()
   20bc8a897e48 can: usb_8dev: Fix memory leak of priv->cmd_msg_buffer
   3584716db12a iio: pressure: mpl3115: do not rely on structure field ordering
   2ab6b8c7172c iio: pressure: mpl115: do not rely on structure field ordering
   e83a28c521a6 arm/arm64: KVM: Enforce unconditional flush to PoC when mapping to stage-2
   d4a8db66b946 fuse: add missing FR_FORCE
   434ed4aff140 crypto: testmgr - Pad aes_ccm_enc_tv_template vector
   7666ef1a36cc ath9k: use correct OTP register offsets for the AR9340 and AR9550
   1aeced70f77d ath9k: fix race condition in enabling/disabling IRQs
   dc7bbf895e43 ath5k: drop bogus warning on drv_set_key with unsupported cipher
   6af0acc0b69f target: Fix multi-session dynamic se_node_acl double free OOPs
   4a3c526ced41 target: Obtain se_node_acl->acl_kref during get_initiator_node_acl
   da259399e487 samples/seccomp: fix 64-bit comparison macros
   6ad4196f1952 ext4: return EROFS if device is r/o and journal replay is needed
   9a79248c083d ext4: preserve the needs_recovery flag when the journal is aborted
   6ec4583e9b03 ext4: fix inline data error paths
   9d636818dbac ext4: fix data corruption in data=journal mode
   8774c73cf696 ext4: trim allocation requests to group size
   a3068b3e8066 ext4: do not polute the extents cache while shifting extents
   3daefdae5f8b ext4: Include forgotten start block on fallocate insert range
   cd3db55c64ae loop: fix LO_FLAGS_PARTSCAN hang
   356d71df7398 block/loop: fix race between I/O and set_status
   973f40f368f7 jbd2: don't leak modified metadata buffers on an aborted journal
   c0ef1f537a97 Fix: Disable sys_membarrier when nohz_full is enabled
   ea240cfed99b sd: get disk reference in sd_check_events()
   33950b56d2c2 scsi: use 'scsi_device_from_queue()' for scsi_dh
   2dc9a859eb89 scsi: aacraid: Reorder Adapter status check
   18dbfcae65a3 scsi: storvsc: properly set residual data length on errors
   80bccab34a57 scsi: storvsc: properly handle SRB_ERROR when sense message is present
   5cdc8193ac38 scsi: storvsc: use tagged SRB requests if supported by the device
   6a284310d5dd dm stats: fix a leaked s->histogram_boundaries array
   fdea1f972158 dm cache: fix corruption seen when using cache > 2TB
   f0ae01568e0c ipc/shm: Fix shmat mmap nil-page protection
   c5c893e7c44e mm: do not access page->mapping directly on page_endio
   66f43a576879 mm: vmpressure: fix sending wrong events on underflow
   612e4679b865 mm/page_alloc: fix nodes for reclaim in fast path
   31dac0e870dd iommu/vt-d: Tylersburg isoch identity map check is done too late.
   07852563dba6 iommu/vt-d: Fix some macros that are incorrectly specified in intel-iommu
   5cc0cd0e3a5a regulator: Fix regulator_summary for deviceless consumers
   272d60bfce0e staging: rtl: fix possible NULL pointer dereference
   8c8f42c9a4a7 ALSA: hda - Fix micmute hotkey problem for a lenovo AIO machine
   cd585d3ba5c8 ALSA: hda - Add subwoofer support for Dell Inspiron 17 7000 Gaming
   003aa343724f ALSA: seq: Fix link corruption by event error handling
   70dbc00f7e11 ALSA: ctxfi: Fallback DMA mask to 32bit
   9879f9d01a3c ALSA: timer: Reject user params with too small ticks
   b9bf1f0657c5 ALSA: hda - fix Lewisburg audio issue
   1f4f37076d52 ALSA: hda/realtek - Cannot adjust speaker's volume on a Dell AIO
   6b1d7b6f54c7 ARM: dts: at91: Enable DMA on sama5d2_xplained console
   be83ed085fcd ARM: dts: at91: Enable DMA on sama5d4_xplained console
   b401418c6cc3 ARM: at91: define LPDDR types
   f3a0b2004080 media: fix dm1105.c build error
   b0bde9f6a057 uvcvideo: Fix a wrong macro
   5988e7320179 am437x-vpfe: always assign bpp variable
   ab7546e49100 MIPS: Handle microMIPS jumps in the same way as MIPS32/MIPS64 jumps
   cc387ae0898e MIPS: Calculate microMIPS ra properly when unwinding the stack
   d75d675a0552 MIPS: Fix is_jump_ins() handling of 16b microMIPS instructions
   72a0cfae59b4 MIPS: Fix get_frame_info() handling of microMIPS function size
   2998bf60d385 MIPS: Prevent unaligned accesses during stack unwinding
   0d45490221a2 MIPS: Clear ISA bit correctly in get_frame_info()
   f1be0f5814a6 MIPS: Lantiq: Keep ethernet enabled during boot
   093292b8f8f7 MIPS: OCTEON: Fix copy_from_user fault handling for large buffers
   b32e43cf3f74 MIPS: BCM47XX: Fix button inversion for Asus WL-500W
   5636da7aba4d MIPS: Fix special case in 64 bit IP checksumming.
   faf6aa4b129d samples: move mic/mpssd example code from Documentation
   dd4534d88b93 Linux 4.4.52
   c171caf7be28 kvm: vmx: ensure VMCS is current while enabling PML
   e0913cc300c7 Revert "usb: chipidea: imx: enable CI_HDRC_SET_NON_ZERO_TTHA"
   151d4c0fb55b rtlwifi: rtl_usb: Fix for URB leaking when doing ifconfig up/down
   de5634875b60 block: fix double-free in the failure path of cgwb_bdi_init()
   15696979d80f goldfish: Sanitize the broken interrupt handler
   d7f97304a485 x86/platform/goldfish: Prevent unconditional loading
   67f47e57f9ca USB: serial: ark3116: fix register-accessor error handling
   b04a2ca5c4b3 USB: serial: opticon: fix CTS retrieval at open
   06b1cf346a4d USB: serial: spcp8x5: fix modem-status handling
   22034ee5dab8 USB: serial: ftdi_sio: fix line-status over-reporting
   cfad0817222d USB: serial: ftdi_sio: fix extreme low-latency setting
   af82872b65e0 USB: serial: ftdi_sio: fix modem-status error handling
   bcea8e993772 USB: serial: cp210x: add new IDs for GE Bx50v3 boards
   1ae570ab1c06 USB: serial: mos7840: fix another NULL-deref at open
   04fae8abfaef tty: serial: msm: Fix module autoload
   49ed6307508e net: socket: fix recvmmsg not returning error from sock_error
   ce9ecb8d7f3c ip: fix IP_CHECKSUM handling
   353dd7290025 irda: Fix lockdep annotations in hashbin_delete().
   a95df078e866 dccp: fix freeing skb too early for IPV6_RECVPKTINFO
   fe41cfb48f2d packet: Do not call fanout_release from atomic contexts
   abd672deb170 packet: fix races in fanout_add()
   2b3eb43342a0 net/llc: avoid BUG_ON() in skb_orphan()
   e8330cb5ae47 blk-mq: really fix plug list flushing for nomerge queues
   f0414c1f8bb7 rtc: interface: ignore expired timers when enqueuing new timers
   a82ac399bcf2 rtlwifi: rtl_usb: Fix missing entry in USB driver's private data
   f1924ac09c96 Linux 4.4.51
   5a86b1150f6c mmc: core: fix multi-bit bus width without high-speed mode
   6f26f0ba2435 bcache: Make gc wakeup sane, remove set_task_state()
   aee7d0412f17 ntb_transport: Pick an unused queue
   c6c6851adbaf NTB: ntb_transport: fix debugfs_remove_recursive
   efa061998d22 printk: use rcuidle console tracepoint
   6787d3ecbef7 ARM: 8658/1: uaccess: fix zeroing of 64-bit get_user()
   e6394c7d1c19 futex: Move futex_init() to core_initcall
   906bb56e3a12 drm/dp/mst: fix kernel oops when turning off secondary monitor
   b32128386bf8 drm/radeon: Use mode h/vdisplay fields to hide out of bounds HW cursor
   c6cbae45a57f Input: elan_i2c - add ELAN0605 to the ACPI table
   65de8bfbbe20 Fix missing sanity check in /dev/sg
   8107096d243d scsi: don't BUG_ON() empty DMA transfers
   d7b146c69229 fuse: fix use after free issue in fuse_dev_do_read()
   385a592dc7ce siano: make it work again with CONFIG_VMAP_STACK
   f9400118b015 vfs: fix uninitialized flags in splice_to_pipe()
   c50b74d88661 Linux 4.4.50
   b9dee56027ae l2tp: do not use udp_ioctl()
   afb4feb8bfef ping: fix a null pointer dereference
   9117c897c9aa packet: round up linear to header len
   58691e5b4f27 net: introduce device min_header_len
   6f99825e7632 sit: fix a double free on error path
   a4226c7ebfb5 sctp: avoid BUG_ON on sctp_wait_for_sndbuf
   f46f344841ec mlx4: Invoke softirqs after napi_reschedule
   0db25098cb6c macvtap: read vnet_hdr_size once
   625bd9e43b3b tun: read vnet_hdr_sz once
   82e9f6b90a0e tcp: avoid infinite loop in tcp_splice_read()
   96ada0a978fa ipv6: tcp: add a missing tcp_v6_restore_cb()
   eaa3a58f4503 ip6_gre: fix ip6gre_err() invalid reads
   13c3646dac70 netlabel: out of bound access in cipso_v4_validate()
   2d9c2e011fd3 ipv4: keep skb->dst around in presence of IP options
   22449a01baa5 net: use a work queue to defer net_disable_timestamp() work
   f3ece3b38437 tcp: fix 0 divide in __tcp_select_window()
   3f5b5134ec7c ipv6: pointer math error in ip6_tnl_parse_tlv_enc_lim()
   41e07a7e01d9 ipv6: fix ip6_tnl_parse_tlv_enc_lim()
   e6c654c9c092 can: Fix kernel panic at security_sock_rcv_skb
   702c0ce9a7c7 Linux 4.4.49
   5b0465dd4ad4 drm/i915: fix use-after-free in page_flip_completed()
   a44ca389a736 ALSA: seq: Don't handle loop timeout at snd_seq_pool_done()
   e5f20a3fd6db ALSA: seq: Fix race at creating a queue
   010ada0cfcb9 xen-netfront: Delete rx_refill_timer in xennet_disconnect_backend()
   1c0da0ac217b scsi: mpt3sas: disable ASPM for MPI2 controllers
   4d6bdf7c73e7 scsi: aacraid: Fix INTx/MSI-x issue with older controllers
   52e02d6bf304 scsi: zfcp: fix use-after-free by not tracing WKA port open/close on failed send
   f2d256a2d49f netvsc: Set maximum GSO size in the right place
   b9c29d45f980 mac80211: Fix adding of mesh vendor IEs
   2f46791849be ARM: 8642/1: LPAE: catch pending imprecise abort on unmask
   04ed4a9e21f5 target: Fix COMPARE_AND_WRITE ref leak for non GOOD status
   0c863accadb0 target: Fix early transport_generic_handle_tmr abort scenario
   ee44e73832c2 target: Use correct SCSI status during EXTENDED_COPY exception
   44d03b9280ed target: Don't BUG_ON during NodeACL dynamic -> explicit conversion
   fcc038db5959 ARM: 8643/3: arm/ptrace: Preserve previous registers for short regset write
   cc187c6200f8 hns: avoid stack overflow with CONFIG_KASAN
   3b7ff5ed114f cpumask: use nr_cpumask_bits for parsing functions
   fd96835e205d Revert "x86/ioapic: Restore IO-APIC irq_chip retrigger callback"
   e72c13d93e9e selinux: fix off-by-one in setprocattr
   e871ea6bcf99 ARC: [arcompact] brown paper bag bug in unaligned access delay slot fixup
   6a1bd9063246 Linux 4.4.48
   87ebcc534d47 base/memory, hotplug: fix a kernel oops in show_valid_zones()
   374d06699537 x86/irq: Make irq activate operations symmetric
   94c0517fd0cb USB: serial: option: add device ID for HP lt2523 (Novatel E371)
   9cf89ade1afd usb: gadget: f_fs: Assorted buffer overflow checks.
   e4c1e6648298 USB: Add quirk for WORLDE easykey.25 MIDI keyboard
   b4b3442e5032 USB: serial: pl2303: add ATEN device ID
   244e7f00035d USB: serial: qcserial: add Dell DW5570 QDL
   f4f09b79a0c4 KVM: x86: do not save guest-unsupported XSAVE state
   8b51676d6cd9 HID: wacom: Fix poor prox handling in 'wacom_pl_irq'
   b3c8c31ed24c percpu-refcount: fix reference leak during percpu-atomic transition
   3a8e217851c9 mmc: sdhci: Ignore unexpected CARD_INT interrupts
   85fb980acb01 can: bcm: fix hrtimer/tasklet termination in bcm op removal
   4025ab36c81c mm, fs: check for fatal signals in do_generic_file_read()
   e86a8769579e mm/memory_hotplug.c: check start_pfn in test_pages_in_a_zone()
   920bba109299 cifs: initialize file_info_lock
   7aeb95ceb84b zswap: disable changing params if init fails
   5dadebc67586 svcrpc: fix oops in absence of krb5 module
   2b4e56fde91b NFSD: Fix a null reference case in find_or_create_lock_stateid()
   f584bb6df7a2 powerpc: Add missing error check to prom_find_boot_cpu()
   9b993e2c3df6 powerpc/eeh: Fix wrong flag passed to eeh_unfreeze_pe()
   db18e92ceb8d libata: apply MAX_SEC_1024 to all CX1-JB*-HP devices
   579a917538f1 ata: sata_mv:- Handle return value of devm_ioremap.
   d49d465d178f perf/core: Fix PERF_RECORD_MMAP2 prot/flags for anonymous memory
   72bb4b549085 crypto: arm64/aes-blk - honour iv_out requirement in CBC and CTR modes
   ae7d33f53a56 crypto: api - Clear CRYPTO_ALG_DEAD bit before registering an alg
   c4305f00852c drm/nouveau/nv1a,nv1f/disp: fix memory clock rate retrieval
   2a3797ef69c5 drm/nouveau/disp/gt215: Fix HDA ELD handling (thus, HDMI audio) on gt215
   e21a3cad35bc ext4: validate s_first_meta_bg at mount time
   62e546b2d3a0 PCI/ASPM: Handle PCI-to-PCIe bridges as roots of PCIe hierarchies
   4686ea264f1d Linux 4.4.47
   384e4bf0def9 net: dsa: Bring back device detaching in dsa_slave_suspend()
   74a7c39ec627 qmi_wwan/cdc_ether: add device ID for HP lt2523 (Novatel E371) WWAN card
   0492a033fb71 af_unix: move unix_mknod() out of bindlock
   e674c70bafe7 r8152: don't execute runtime suspend if the tx is not empty
   980b9afd9ecc bridge: netlink: call br_changelink() during br_dev_newlink()
   8f9e4ad8d7f3 tcp: initialize max window for a new fastopen socket
   8051bf2890e9 ipv6: addrconf: Avoid addrconf_disable_change() using RCU read-side lock
   8a066a87025e net: phy: bcm63xx: Utilize correct config_intr function
   6fec199362c4 net: fix harmonize_features() vs NETIF_F_HIGHDMA
   4f5e54bdd052 ax25: Fix segfault after sock connection timeout
   062b7f35ff6c ravb: do not use zero-length alignment DMA descriptor
   7d691d89eed0 openvswitch: maintain correct checksum state in conntrack actions
   b82981fb273d tcp: fix tcp_fastopen unaligned access complaints on sparc
   ec9e993f30f6 net: systemport: Decouple flow control from __bcm_sysport_tx_reclaim
   40e7c725ab0f net: ipv4: fix table id in getroute response
   2e84b8ce6fc3 net: lwtunnel: Handle lwtunnel_fill_encap failure
   290db2cd517e mlxsw: pci: Fix EQE structure definition
   811bb1b9d9ab mlxsw: switchx2: Fix memory leak at skb reallocation
   9edb2d75d81b mlxsw: spectrum: Fix memory leak at skb reallocation
   595ac452c451 r8152: fix the sw rx checksum is unavailable
   6c1ed78cb074 Linux 4.4.46
   d0721893214e mm, memcg: do not retry precharge charges
   14b97492d6e1 platform/x86: intel_mid_powerbtn: Set IRQ_ONESHOT
   d430c37db796 pinctrl: broxton: Use correct PADCFGLOCK offset
   5ddaf6804e24 s5k4ecgx: select CRC32 helper
   5288474d2f48 IB/umem: Release pid in error and ODP flow
   e114e66eec3d IB/ipoib: move back IB LL address into the hard header
   800a78f9e62b drm/i915: Don't leak edid in intel_crt_detect_ddc()
   d79e41188a1e SUNRPC: cleanup ida information when removing sunrpc module
   edef1086bf09 NFSv4.0: always send mode in SETATTR after EXCLUSIVE4
   0f64f22c0686 nfs: Don't increment lock sequence ID after NFS4ERR_MOVED
   bde741e9cc23 parisc: Don't use BITS_PER_LONG in userspace-exported swab.h header
   acb63c8b576d ARC: [arcompact] handle unaligned access delay slot corner case
   42ad7663677d ARC: udelay: fix inline assembler by adding LP_COUNT to clobber list
   bca1a95c9e20 can: ti_hecc: add missing prepare and unprepare of the clock
   63fe33a78428 can: c_can_pci: fix null-pointer-deref in c_can_start() - set device pointer
   bae49e72f951 s390/ptrace: Preserve previous registers for short regset write
   8637de3a318d RDMA/cma: Fix unknown symbol when CONFIG_IPV6 is not enabled
   d65032ab06f4 ISDN: eicon: silence misleading array-bounds warning
   d1b232c2ce53 sysctl: fix proc_doulongvec_ms_jiffies_minmax()
   f11e8bf8e99b mm/mempolicy.c: do not put mempolicy before using its nodemask
   c83ad9703e71 drm: Fix broken VT switch with video=1366x768 option
   23bc4e136bca tile/ptrace: Preserve previous registers for short regset write
   63db7c91a3c0 fbdev: color map copying bounds checking
   ef30573ef2b1 Linux 4.4.45
   8323d0555fe3 arm64: avoid returning from bad_mode
   6e65a4c698cf selftest/powerpc: Wrong PMC initialized in pmc56_overflow test
   a5291c1a9eae dmaengine: pl330: Fix runtime PM support for terminated transfers
   238623ce487f ite-cir: initialize use_demodulator before using it
   b02d7a8219bc blackfin: check devm_pinctrl_get() for errors
   a4d2fa085b9a ARM: 8613/1: Fix the uaccess crash on PB11MPCore
   baa2610c4962 ARM: ux500: fix prcmu_is_cpu_in_wfi() calculation
   68664ae14535 ARM: dts: imx6qdl-nitrogen6_max: fix sgtl5000 pinctrl init
   c55f8aaf4a19 arm64/ptrace: Reject attempts to set incomplete hardware breakpoint fields
   4c87fc7f2059 arm64/ptrace: Avoid uninitialised struct padding in fpr_set()
   03ee97d68d8b arm64/ptrace: Preserve previous registers for short regset write - 3
   d8263f1753ce arm64/ptrace: Preserve previous registers for short regset write - 2
   76e08d2966a9 arm64/ptrace: Preserve previous registers for short regset write
   41a9abb0e06b ARM: dts: da850-evm: fix read access to SPI flash
   62c3d36309d3 ceph: fix bad endianness handling in parse_reply_info_extra
   abfa5e8ae937 ARM: 8634/1: hw_breakpoint: blacklist Scorpion CPUs
   294b0aadc8c2 svcrdma: avoid duplicate dma unmapping during error recovery
   098b62b757a4 clocksource/exynos_mct: Clear interrupt when cpu is shut down
   a07563c3cf05 ubifs: Fix journal replay wrt. xattr nodes
   7ea1eb731453 qla2xxx: Fix crash due to null pointer access
   86915782ff65 x86/ioapic: Restore IO-APIC irq_chip retrigger callback
   212bab3c5b0b mtd: nand: xway: disable module support
   80aeb7bf5ca0 ieee802154: atusb: do not use the stack for buffers to make them DMA able
   8f6f508f70ff mmc: mxs-mmc: Fix additional cycles after transmission stop
   75c60df15c85 HID: corsair: fix control-transfer error handling
   0f37d20fdc70 HID: corsair: fix DMA buffers on stack
   4740d1d7d429 PCI: Enumerate switches below PCI-to-PCIe bridges
   dc4e372f9a47 fuse: clear FR_PENDING flag when moving requests out of pending queue
   6f3002c22087 svcrpc: don't leak contexts on PROC_DESTROY
   3b434ca8592a x86/PCI: Ignore _CRS on Supermicro X8DTH-i/6/iF/6F
   36672b8b99e2 tmpfs: clear S_ISGID when setting posix ACLs
   39d7c9ce35a1 ARM: dts: imx31: fix AVIC base address
   d2e4968e3c0d ARM: dts: imx31: move CCM device node to AIPS2 bus devices
   280d00a94293 ARM: dts: imx31: fix clock control module interrupts description
   2ba399c693c0 perf scripting: Avoid leaking the scripting_context variable
   aa02f29e95f3 IB/IPoIB: Remove can't use GFP_NOIO warning
   ea470497eb31 IB/mlx4: When no DMFS for IPoIB, don't allow NET_IF QPs
   f1c9169478ca IB/mlx4: Fix port query for 56Gb Ethernet links
   c7a40c48f7a5 IB/mlx4: Fix out-of-range array index in destroy qp flow
   1be54a4ec45a IB/mlx4: Set traffic class in AH
   4ffb36efe22c IB/mlx5: Wait for all async command completions to complete
   97085e2a386a ftrace/x86: Set ftrace_stub to weak to prevent gcc from using short jumps to it
   a7dd347a67c0 Linux 4.4.44
   45611fb9e0af pinctrl: sh-pfc: Do not unconditionally support PIN_CONFIG_BIAS_DISABLE
   ef6eadbf7b16 powerpc/ibmebus: Fix device reference leaks in sysfs interface
   488e7b2c5b6a powerpc/ibmebus: Fix further device reference leaks
   4d1b5086f7e2 bus: vexpress-config: fix device reference leak
   6e8210ad2585 blk-mq: Always schedule hctx->next_cpu
   ddf0c377bf82 ACPI / APEI: Fix NMI notification handling
   4af7970b3593 block: cfq_cpd_alloc() should use @gfp
   2c1dd423a567 cpufreq: powernv: Disable preemption while checking CPU throttling state
   33ebdfe913fd NFSv4.1: nfs4_fl_prepare_ds must be careful about reporting success.
   11804232d1ad NFS: Fix a performance regression in readdir
   8ff851bf2240 pNFS: Fix race in pnfs_wait_on_layoutreturn
   7aae6e3c0c52 pinctrl: meson: fix gpio request disabling other modes
   f0382c090a20 btrfs: fix error handling when run_delayed_extent_op fails
   205e997acde7 btrfs: fix locking when we put back a delayed ref that's too new
   68b97d287e28 x86/cpu: Fix bootup crashes by sanitizing the argument of the 'clearcpuid=' command-line option
   0cf23324af1c USB: serial: ch341: fix modem-control and B0 handling
   1d25a05642c8 USB: serial: ch341: fix resume after reset
   a1a0612b7dde drm/radeon: drop verde dpm quirks
   b9d6631395a1 sysctl: Drop reference added by grab_header in proc_sys_readdir
   ca81117b7432 sysrq: attach sysrq handler correctly for 32-bit kernel
   075f493a974e tty/serial: atmel_serial: BUG: stop DMA from transmitting in stop_tx
   4a6716f16517 mnt: Protect the mountpoint hashtable with mount_lock
   836fd7c9e6e6 vme: Fix wrong pointer utilization in ca91cx42_slave_get
   d5fcd719e889 xhci: fix deadlock at host remove by running watchdog correctly
   ae76af251806 i2c: fix kernel memory disclosure in dev interface
   f64b9acc368c i2c: print correct device invalid address
   085f4ebec797 Input: elants_i2c - avoid divide by 0 errors on bad touchscreen data
   214a8e98e6bc USB: serial: ch341: fix open and resume after B0
   802b4ef3b989 USB: serial: ch341: fix control-message error handling
   bc74606d8d80 USB: serial: ch341: fix open error handling
   e29f709c2f56 USB: serial: ch341: fix initial modem-control state
   3ef5bc0b385f USB: serial: kl5kusb105: fix line-state error handling
   4a1ecf37a59f nl80211: fix sched scan netlink socket owner destruction
   9d3875c0c462 KVM: x86: Introduce segmented_write_std
   3490e72ad6d0 KVM: x86: emulate FXSAVE and FXRSTOR
   d9c4c1e7c2cf KVM: x86: add asm_safe wrapper
   4fa0090249fb KVM: x86: add Align16 instruction flag
   1fc673d96f9d KVM: x86: flush pending lapic jump label updates on module unload
   3d27cd4b2527 jump_labels: API for flushing deferred jump label updates
   34a55c9d4a2d KVM: eventfd: fix NULL deref irqbypass consumer
   816307c80d4d KVM: x86: fix emulation of "MOV SS, null selector"
   1a46e6ecf896 mm/hugetlb.c: fix reservation race when freeing surplus pages
   6bbb8ff3b68e ocfs2: fix crash caused by stale lvb with fsdlm plugin
   70429b970bde mm: fix devm_memremap_pages crash, use mem_hotplug_{begin, done}
   6de62ec07d2a selftests: do not require bash for the generated test
   2deaeea23fbd selftests: do not require bash to run netsocktests testcase
   2e2679a168fe Input: i8042 - add Pegatron touchpad to noloop table
   51377793758a Input: xpad - use correct product id for x360w controllers
   d9ea51a9bea4 Linux 4.4.43
   e21901d7a5eb mm/init: fix zone boundary creation
   e3f77bb158f9 ALSA: usb-audio: Add a quirk for Plantronics BT600
   a1c81f839c6f spi: mvebu: fix baudrate calculation for armada variant
   dfd64d112a02 ARM: OMAP4+: Fix bad fallthrough for cpuidle
   04dc1be104fe ARM: zynq: Reserve correct amount of non-DMA RAM
   bed280bbc995 powerpc: Fix build warning on 32-bit PPC
   fa48a1607580 ALSA: firewire-tascam: Fix to handle error from initialization of stream data
   a2f727149ee4 HID: hid-cypress: validate length of report
   70e05a9f2f4f net: vrf: do not allow table id 0
   c177d491a948 net: ipv4: Fix multipath selection with vrf
   67b21973ecf4 gro: Disable frag0 optimization on IPv6 ext headers
   db7119eaacf4 gro: use min_t() in skb_gro_reset_offset()
   5169043e9722 gro: Enter slow-path if there is no tailroom
   0d3b9c2746d3 r8152: fix rx issue for runtime suspend
   c31a3c79928b r8152: split rtl8152_suspend function
   807cac887d95 ipv4: Do not allow MAIN to be alias for new LOCAL w/ custom rules
   0d431f94c181 igmp: Make igmp group member RFC 3376 compliant
   14e8d568f14f drop_monitor: consider inserted data in genlmsg_end
   81e7916476ca drop_monitor: add missing call to genlmsg_end
   1ff0308f33ce net/mlx5: Avoid shadowing numa_node
   18d971f84c84 net/mlx5: Check FW limitations on log_max_qp before setting it
   3f2847608cb9 net: stmmac: Fix race between stmmac_drv_probe and stmmac_open
   67bce5821c9a net, sched: fix soft lockup in tc_classify
   58d0d7a45ef8 ipv6: handle -EFAULT from skb_copy_bits
   6ac0b3810cdc net: vrf: Drop conntrack data after pass through VRF device on Tx
   1e5298d4c82b ser_gigaset: return -ENOMEM on error instead of success
   33c7b0f74c57 netvsc: reduce maximum GSO size
   49c4446a2e13 Linux 4.4.42
   adf640eaefac usb: gadget: composite: always set ep->mult to a sensible value
   f108b2de9cd0 Revert "usb: gadget: composite: always set ep->mult to a sensible value"
   6053479cbbc5 tick/broadcast: Prevent NULL pointer dereference
   af817b3fc6e5 drm/radeon: Always store CRTC relative radeon_crtc->cursor_x/y values
   9205be7fa632 cx23885-dvb: move initialization of a8293_pdata
   6b59fb520123 net: vxge: avoid unused function warnings
   8003ac65d0a5 net: ti: cpmac: Fix compiler warning due to type confusion
   becfb50c66cb cred/userns: define current_user_ns() as a function
   f5a636fd416f staging: comedi: dt282x: tidy up register bit defines
   8f251525da14 powerpc/pci/rpadlpar: Fix device reference leaks
   ccd7bd29c2e6 md: MD_RECOVERY_NEEDED is set for mddev->recovery
   1d3124821f3a crypto: arm64/aes-ce - fix for big endian
   5b21c5489206 crypto: arm64/aes-xts-ce: fix for big endian
   abca9c2d2cab crypto: arm64/sha1-ce - fix for big endian
   83f8a200af45 crypto: arm64/aes-neon - fix for big endian
   bd17e2d36615 crypto: arm64/aes-ccm-ce: fix for big endian
   bed5c78798e1 crypto: arm/aes-ce - fix for big endian
   4c575a30db8c crypto: arm64/ghash-ce - fix for big endian
   820c2ac4c9f4 crypto: arm64/sha2-ce - fix for big endian
   6119edd2d87a s390/crypto: unlock on error in prng_tdes_read()
   85baf9416b7e mmc: mmc_test: Uninitialized return value
   b0cb7f60998c PM / wakeirq: Fix dedicated wakeirq for drivers not using autosuspend
   fc44d3d05478 irqchip/bcm7038-l1: Implement irq_cpu_offline() callback
   69dc8473b750 target/iscsi: Fix double free in lio_target_tiqn_addtpg()
   e57c830c9041 scsi: mvsas: fix command_active typo
   079c4b43e1fe ASoC: samsung: i2s: Fixup last IRQ unsafe spin lock call
   83882724eb65 iommu/vt-d: Flush old iommu caches for kdump when the device gets context mapped
   91bc81b9661c iommu/vt-d: Fix pasid table size encoding
   dc78a9e1b4f8 iommu/amd: Fix the left value check of cmd buffer
   b54dcc3b68ef iommu/amd: Missing error code in amd_iommu_init_device()
   46105512474f clk: imx31: fix rewritten input argument of mx31_clocks_init()
   f371ee85268d clk: clk-wm831x: fix a logic error
   92e993abb928 hwmon: (g762) Fix overflows and crash seen when writing limit attributes
   fd504f529160 hwmon: (nct7802) Fix overflows seen when writing into limit attributes
   5e351caeaa96 hwmon: (ds620) Fix overflows seen when writing temperature limits
   fbab1832e7e8 hwmon: (amc6821) sign extension temperature
   07c05622f63d hwmon: (scpi) Fix module autoload
   9453d46a12ba cris: Only build flash rescue image if CONFIG_ETRAX_AXISFLASHMAP is selected
   8353a5deec10 ath10k: use the right length of "background"
   56ef587b77fd stable-fixup: hotplug: fix unused function warning
   acb7df233b72 usb: dwc3: ep0: explicitly call dwc3_ep0_prepare_one_trb()
   ecd4ad9ab7e9 usb: dwc3: ep0: add dwc3_ep0_prepare_one_trb()
   efcd2e082f0f usb: dwc3: gadget: always unmap EP0 requests
   7927c0314060 staging: iio: ad7606: fix improper setting of oversampling pins
   3e4302f99aed mei: bus: fix mei_cldev_enable KDoc
   e94800df8c1f USB: serial: io_ti: bind to interface after fw download
   1224bb23fe15 USB: phy: am335x-control: fix device and of_node leaks
   d36d0122ff51 ARM: dts: r8a7794: Correct hsusb parent clock
   de2cf4998a52 USB: serial: kl5kusb105: abort on open exception path
   f5531856c2c7 ALSA: usb-audio: Fix bogus error return in snd_usb_create_stream()
   d576c36a3e1f usb: musb: blackfin: add bfin_fifo_offset in bfin_ops
   e675483ee2f1 usb: hub: Move hub_port_disable() to fix warning if PM is disabled
   02ef64ac647f usb: musb: Fix trying to free already-free IRQ 4
   60dffc173220 usb: dwc3: pci: add Intel Gemini Lake PCI ID
   59185ef00b46 xhci: Fix race related to abort operation
   ce737ba8e23e xhci: Use delayed_work instead of timer for command timeout
   b07b4fa72500 usb: xhci-mem: use passed in GFP flags instead of GFP_KERNEL
   3e3f05182b39 USB: serial: mos7720: fix parallel probe
   5c83e07c3c8b USB: serial: mos7720: fix parport use-after-free on probe errors
   2f525ed5efb8 USB: serial: mos7720: fix use-after-free on probe errors
   f2e8b37a9970 USB: serial: mos7720: fix NULL-deref at open
   857757872704 USB: serial: mos7840: fix NULL-deref at open
   1b1fdc715807 USB: serial: kobil_sct: fix NULL-deref in write
   b60b91268cd0 USB: serial: cyberjack: fix NULL-deref at open
   b835f4cd6700 USB: serial: oti6858: fix NULL-deref at open
   374250ed9b26 USB: serial: io_edgeport: fix NULL-deref at open
   ad4de3d91872 USB: serial: ti_usb_3410_5052: fix NULL-deref at open
   f0bdd7e0ccb2 USB: serial: garmin_gps: fix memory leak on failed URB submit
   e3d6a0da47e6 USB: serial: iuu_phoenix: fix NULL-deref at open
   11743d704e51 USB: serial: io_ti: fix I/O after disconnect
   7ef8807cce7d USB: serial: io_ti: fix another NULL-deref at open
   33a5d0cc25f4 USB: serial: io_ti: fix NULL-deref at open
   0243498813d2 USB: serial: spcp8x5: fix NULL-deref at open
   65d107038ec6 USB: serial: keyspan_pda: verify endpoints at probe
   c6aa86222ec5 USB: serial: pl2303: fix NULL-deref at open
   4e106709060f USB: serial: quatech2: fix sleep-while-atomic in close
   7b5d7880019c USB: serial: omninet: fix NULL-derefs at open and disconnect
   d88f0f6c5ba0 usb: xhci: hold lock over xhci_abort_cmd_ring()
   f286c2513ba6 xhci: Handle command completion and timeout race
   86bb666386ee usb: host: xhci: Fix possible wild pointer when handling abort command
   3447b3772934 usb: xhci: fix return value of xhci_setup_device()
   2d1b4fcba4a7 xhci: free xhci virtual devices with leaf nodes first
   b303a108541e usb: xhci: apply XHCI_PME_STUCK_QUIRK to Intel Apollo Lake
   b4b404b99177 xhci: workaround for hosts missing CAS bit
   e224b8b7215f usb: xhci: fix possible wild pointer
   438efb640e83 usb: dwc3: core: avoid Overflow events
   96a21e702606 usb: gadget: composite: Test get_alt() presence instead of set_alt()
   bd4e78bbc93f USB: dummy-hcd: fix bug in stop_activity (handle ep0)
   7cc00abef071 USB: fix problems with duplicate endpoint addresses
   f6ff9981743c USB: gadgetfs: fix checks of wTotalLength in config descriptors
   74e36bffe645 USB: gadgetfs: fix use-after-free bug
   fe75330a27fc USB: gadgetfs: fix unbounded memory allocation bug
   10a4380ea145 usb: gadgetfs: restrict upper bound on device configuration size
   9cc601b40d76 usb: storage: unusual_uas: Add JMicron JMS56x to unusual device
   96175db0a647 usb: musb: dsps: implement clear_ep_rxintr() callback
   2a0e2a89cc41 usb: musb: core: add clear_ep_rxintr() to musb_platform_ops
   e72575d2d76e KVM: MIPS: Flush KVM entry code from icache globally
   7b95f36fc6fa KVM: x86: reset MMU on KVM_SET_VCPU_EVENTS
   9b73f43fcef4 mac80211: initialize fast-xmit 'info' later
   6e28a02f0e86 ARM: davinci: da850: don't add emac clock to lookup table twice
   bb1cacd88e07 ALSA: usb-audio: Fix irq/process data synchronization
   16b968a1ca96 ALSA: hda - Apply asus-mode8 fixup to ASUS X71SL
   b87483c27624 ALSA: hda - Fix up GPIO for ASUS ROG Ranger

(From OE-Core rev: bf00e5e265d3f878d2af36a48d597ce477bd6f4f)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:18 +00:00
Bruce Ashfield
9afb397b31 linux-yocto/4.10: update to v4.10.2
Integrating the korg -stable update, which contains the following changes:

   1e4d47787a21 Linux 4.10.2
   92d90f089848 ceph: update readpages osd request according to size of pages
   519f6fa2addb scsi: lpfc: Correct WQ creation for pagesize
   209cf1f25d0d MIPS: IP22: Fix build error due to binutils 2.25 uselessnes.
   b647284905d6 MIPS: IP22: Reformat inline assembler code to modern standards.
   84c131c8c9d0 module: fix memory leak on early load_module() failures
   cf1c6beafa75 powerpc/mm/hash: Always clear UPRT and Host Radix bits when setting up CPU
   543fd2ab74dc powerpc/mm: Add MMU_FTR_KERNEL_RO to possible feature mask
   4ffde229727e powerpc/xmon: Fix data-breakpoint
   737af93c3dce xprtrdma: Reduce required number of send SGEs
   387fb7dc3fde xprtrdma: Disable pad optimization by default
   5d53884b2c1b xprtrdma: Per-connection pad optimization
   921fe03af2b5 xprtrdma: Fix Read chunk padding
   143ac52c3ba8 dmaengine: ipu: Make sure the interrupt routine checks all interrupts.
   700c30c5179d mtd: nand: ifc: Fix location of eccstat registers for IFC V1.0
   6c12c1cec4bd bcma: use (get|put)_device when probing/removing device driver
   fe83da6961f8 md linear: fix a race between linear_add() and linear_congested()
   3c1afb4c72be rtc: sun6i: Switch to the external oscillator
   5fcdc5edafc2 rtc: sun6i: Add some locking
   c45b4fe3ca45 rtc: sun6i: Disable the build as a module
   b97cb8ece888 f2fs: Fix zoned block device support
   e8917cd860db f2fs: avoid to issue redundant discard commands
   c85fc3f1d59f f2fs: add ovp valid_blocks check for bg gc victim to fg_gc
   f213a0f926de f2fs: fix multiple f2fs_add_link() calls having same name
   88cf812869fd f2fs: fix a problem of using memory after free
   fd414a3e7d2c NFSv4: fix getacl ERANGE for some ACL buffer sizes
   ca83d7a97e36 NFSv4: fix getacl head length estimation
   81df387e03e0 Revert "NFSv4.1: Handle NFS4ERR_BADSESSION/NFS4ERR_DEADSESSION replies to OP_SEQUENCE"
   ad2ce81eeeb0 pNFS/flexfiles: If the layout is invalid, it must be updated before retrying
   7776aaacda12 NFSv4: Fix reboot recovery in copy offload
   607137e3f171 NFSv4: Fix memory and state leak in _nfs4_open_and_get_state
   982898d7f97a nfsd: special case truncates some more
   8defb389140f nfsd: minor nfsd_setattr cleanup
   11596d936ec4 VME: restore bus_remove function causing incomplete module unload
   031fad61741f rtlwifi: rtl8192c-common: Fix "BUG: KASAN:
   d0ff495de343 rtlwifi: Fix alignment issues
   28cd8db6a715 remoteproc: qcom: mdt_loader: Don't overwrite firmware object
   8e2b7672b43e gfs2: Add missing rcu locking for glock lookup
   6baafeb34b87 rdma_cm: fail iwarp accepts w/o connection params
   fc11f49a6a46 RDMA/core: Fix incorrect structure packing for booleans
   93919359467c Drivers: hv: util: Backup: Fix a rescind processing issue
   48dc52df9155 Drivers: hv: util: Fcopy: Fix a rescind processing issue
   f38bcff39862 Drivers: hv: util: kvp: Fix a rescind processing issue
   ec6f27bd19e0 Drivers: hv: vmbus: Fix a rescind handling bug
   42b0681b7fe9 Drivers: hv: vmbus: Prevent sending data on a rescinded channel
   f791a7b4a7ae hv: don't reset hv_context.tsc_page on crash
   a34da99e9468 hv: init percpu_list in hv_synic_alloc()
   aa2765857f74 hv: allocate synic pages for all present CPUs
   d03229ccf262 usb: gadget: f_hid: fix: Move IN request allocation to set_alt()
   ae1756eb2af9 usb: gadget: f_hid: Use spinlock instead of mutex
   b1d6621ad636 usb: gadget: f_hid: fix: Prevent accessing released memory
   afa9556b5fe6 usb: gadget: f_hid: fix: Free out requests
   6be8bf7cbcc2 usb: gadget: udc: fsl: Add missing complete function.
   0d95b60e8e9e usb: gadget: udc-core: Rescan pending list on driver unbind
   3afb5a0bd1f1 usb: host: xhci: plat: check hcc_params after add hcd
   8fd8890d42fc usb: dwc3: gadget: skip Set/Clear Halt when invalid
   fed46b526628 usb: musb: da8xx: Remove CPPI 3.0 quirk and methods
   53021fb71918 w1: ds2490: USB transfer buffers need to be DMAable
   1d1b1e1738ef w1: don't leak refcount on slave attach failure in w1_attach_slave_device()
   c903cc53f760 can: usb_8dev: Fix memory leak of priv->cmd_msg_buffer
   e9394d5a762d can: gs_usb: Don't use stack memory for USB transfers
   8d0db6065243 iio: pressure: mpl3115: do not rely on structure field ordering
   bab740787fd1 iio: pressure: mpl115: do not rely on structure field ordering
   615b1dc4f615 Revert "arm64: mm: set the contiguous bit for kernel mappings where appropriate"
   b6c72c4e3d93 KVM: arm/arm64: vgic: Stop injecting the MSI occurrence twice
   68b83bee9b90 arm64: fix erroneous __raw_read_system_reg() cases
   c5d1e9cc2879 arm64: dma-mapping: Fix dma_mapping_error() when bypassing SWIOTLB
   91dc54c352c4 arm/arm64: KVM: Enforce unconditional flush to PoC when mapping to stage-2
   6039863d6c97 x86/pkeys: Check against max pkey to avoid overflows
   f7e1174b9d53 fuse: add missing FR_FORCE
   f5e2e7ca6e6a crypto: vmx - Use skcipher for xts fallback
   1fd2ec10d3e1 crypto: vmx - Use skcipher for cbc fallback
   e7fa3bd29e07 crypto: api - Add crypto_requires_off helper
   ddde9085f58c crypto: xts - Propagate NEED_FALLBACK bit
   d5b190f8689c crypto: testmgr - Pad aes_ccm_enc_tv_template vector
   0c2f646b90b7 crypto: xts - Add ECB dependency
   0fd8c1cb80a1 Drivers: hv: vmbus: Raise retry/wait limits in vmbus_post_msg()
   2c849a5c6a83 PCI: altera: Fix TLP_CFG_DW0 for TLP write
   bc4c9766324a pci/hotplug/pnv-php: Disable MSI and PCI device properly
   91f5bce789d9 PCI: hv: Fix wslot_to_devfn() to fix warnings on device removal
   1306371f6cac ath9k: use correct OTP register offsets for the AR9340 and AR9550
   5bdf880b74c3 ath9k: fix race condition in enabling/disabling IRQs
   a5294659a572 ath5k: drop bogus warning on drv_set_key with unsupported cipher
   21b7618b6a79 ath10k: fix boot failure in UTF mode/testmode
   8fbc16143918 mei: remove support for broken parallel read
   8655a4538d01 samples/seccomp: fix 64-bit comparison macros
   4c30d59d397e ext4: fix fencepost in s_first_meta_bg validation
   b1062240132b ext4: return EROFS if device is r/o and journal replay is needed
   9605f3406975 ext4: preserve the needs_recovery flag when the journal is aborted
   5dda2495d85f ext4: fix inline data error paths
   c9bcbdfebb1f ext4: fix use-after-iput when fscrypt contexts are inconsistent
   c8f246b40261 ext4: fix data corruption in data=journal mode
   c4fbdc012479 ext4: trim allocation requests to group size
   011fe6ade610 ext4: do not polute the extents cache while shifting extents
   ac870011b6dc ext4: Include forgotten start block on fallocate insert range
   cdc13a3e453e loop: fix LO_FLAGS_PARTSCAN hang
   d957eb76b468 block/loop: fix race between I/O and set_status
   94cbe6f239a8 jbd2: don't leak modified metadata buffers on an aborted journal
   f4639f7eef3c Fix: Disable sys_membarrier when nohz_full is enabled
   112db4f65c53 power: reset: at91-poweroff: timely shutdown LPDDR memories
   c2990d648cf2 scsi: use 'scsi_device_from_queue()' for scsi_dh
   9acc751068e8 scsi: aacraid: Reorder Adapter status check
   154f7a1523b7 scsi: qla2xxx: Fix Regression introduced by pci_alloc_irq_vectors_affinity call.
   699abe249b0e scsi: qla2xxx: Fix response queue count for Target mode.
   cf9d91108064 scsi: qla2xxx: Cleaned up queue configuration code.
   e5fbe2328cc5 scsi: storvsc: properly set residual data length on errors
   0aeb049529f3 scsi: storvsc: properly handle SRB_ERROR when sense message is present
   99b3ba253c8b scsi: storvsc: use tagged SRB requests if supported by the device
   4517ad77e7e6 dm raid: fix data corruption on reshape request
   37ce3ec1e70b dm round robin: revert "use percpu 'repeat_count' and 'current_path'"
   72ea8179bc80 dm stats: fix a leaked s->histogram_boundaries array
   d18f5797ecf3 dm cache: fix corruption seen when using cache > 2TB
   ae74de54c982 PM / devfreq: Fix wrong trans_stat of passive devfreq device
   f1aa0ed61368 PM / devfreq: Fix available_governor sysfs
   45c01d51bb34 ima: fix ima_d_path() possible race with rename
   87d1f686d6bf ipc/shm: Fix shmat mmap nil-page protection
   7d24d588d82e sigaltstack: support SS_AUTODISARM for CONFIG_COMPAT
   97ddabf533f7 mm, vmscan: consider eligible zones in get_scan_count
   e2338022cded mm, vmscan: cleanup lru size claculations
   3b156aab44c9 mm balloon: umount balloon_mnt when removing vb device
   e560c8b23c3b mm: do not access page->mapping directly on page_endio
   67b5c7997148 mm: vmpressure: fix sending wrong events on underflow
   6fd7a425d925 mm/page_alloc: fix nodes for reclaim in fast path
   d0e2f86dff3a mm, devm_memremap_pages: hold device_hotplug lock over mem_hotplug_{begin, done}
   069634bd9e51 CIFS: Fix splice read for non-cached files
   9d654322f85e iommu/vt-d: Tylersburg isoch identity map check is done too late.
   1f8d55b2050c iommu/vt-d: Fix some macros that are incorrectly specified in intel-iommu
   b54dc49d8c4f tpm_tis: fix the error handling of init_tis()
   c15aff9ef901 tpm_tis: use default timeout value if chip reports it as zero
   992b0ac79a12 regulator: Fix regulator_summary for deviceless consumers
   2eb4d8daec86 coresight: fix kernel panic caused by invalid CPU
   91b8d5b2f2e3 coresight: STM: Balance enable/disable
   805c95a692ed staging: rtl: fix possible NULL pointer dereference
   f2bdb905fec2 staging/lustre/lnet: Fix allocation size for sv_cpt_data
   d43004bdde3f staging: greybus: loopback: fix broken udelay
   75225bc818b0 hwmon: (it87) Ensure that pwm control cache is current before updating values
   3b43f4161a5f hwmon: (it87) Do not overwrite bit 2..6 of pwm control registers
   3d2c16ca46bd ALSA: hda - Fix micmute hotkey problem for a lenovo AIO machine
   dfd8367d0c85 ALSA: hda - Add subwoofer support for Dell Inspiron 17 7000 Gaming
   80ed6047658c ALSA: seq: Fix link corruption by event error handling
   7b1c5904ad8d ALSA: ctxfi: Fallback DMA mask to 32bit
   cff10ccb6060 ALSA: timer: Reject user params with too small ticks
   a517802c5b33 ALSA: hda - fix Lewisburg audio issue
   3895ed1823d4 ALSA: hda/realtek - Cannot adjust speaker's volume on a Dell AIO
   75cf4b6b6e29 ARM: dts: at91: Enable DMA on sama5d2_xplained console
   67f1dd02b98d ARM: dts: at91: Enable DMA on sama5d4_xplained console
   55015e149d5b ARM: at91: define LPDDR types
   8e07d34fd09c spi: s3c64xx: fix inconsistency between binding and driver
   7cf6b709b641 ext4: fix deadlock between inline_data and ext4_expand_extra_isize_ea()
   c4b6ff75838f media: Properly pass through media entity types in entity enumeration
   81d5066323a8 lirc_dev: LIRC_{G,S}ET_REC_MODE do not work
   1a0fc4b1d6ae dvb-usb: don't use stack for firmware load
   aa315c9614c8 cxd2820r: fix gpio null pointer dereference
   a1403c576b0b media: fix dm1105.c build error
   0dafb0204953 uvcvideo: Fix a wrong macro
   895bff918136 am437x-vpfe: always assign bpp variable
   4dc455047ef2 mmc: sdhci-acpi: support deferred probe
   70d4818d1c89 MIPS: Handle microMIPS jumps in the same way as MIPS32/MIPS64 jumps
   6f6914d77b18 MIPS: Calculate microMIPS ra properly when unwinding the stack
   f4ab4d6fd79b MIPS: Fix is_jump_ins() handling of 16b microMIPS instructions
   6ec5e28dfb8d MIPS: Fix get_frame_info() handling of microMIPS function size
   f9bba20eaae7 MIPS: Prevent unaligned accesses during stack unwinding
   953f805442e1 MIPS: Clear ISA bit correctly in get_frame_info()
   734696a238da MIPS: Lantiq: Keep ethernet enabled during boot
   1764303e5e5a MIPS: OCTEON: Fix copy_from_user fault handling for large buffers
   f2b15d500123 MIPS: BCM47XX: Fix button inversion for Asus WL-500W
   890fb4e3c3e1 MIPS: Fix special case in 64 bit IP checksumming.
   87592def9b31 MIPS: pic32mzda: Fix linker error for pic32_get_pbclk()

(From OE-Core rev: b4fae40422f7fe0022bfe51623b6daf8222563bb)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:18 +00:00
Bruce Ashfield
6aa6f94eab linux-yocto/4.1: update to v4.1.38
Updating to the korg 4.1.38 -stable release with the following changes:

   f40b3cc69de8 Linux 4.1.38
   d8435bb5e8fb gro: Allow tunnel stacking in the case of FOU/GUE
   066b300e5be4 tunnels: Don't apply GRO to multiple layers of encapsulation.
   b11e1542feca net: ipv4: Convert IP network timestamps to be y2038 safe
   5023ae270216 ipip: Properly mark ipip GRO packets as encapsulated.
   3e3267311e3b sg_write()/bsg_write() is not fit to be called under KERNEL_DS
   363f1a90b7f3 fs: exec: apply CLOEXEC before changing dumpable task flags
   c63e64ae7665 IB/cma: Fix a race condition in iboe_addr_get_sgid()
   6242668e855c Revert "ALSA: usb-audio: Fix race at stopping the stream"
   dd5035276792 kvm: nVMX: Allow L1 to intercept software exceptions (#BP and #OF)
   6fdb4af13f9f drivers/gpu/drm/ast: Fix infinite loop if read fails
   d1b9fb84c423 target/user: Fix use-after-free of tcmu_cmds if they are expired
   bbe48c2f932e kernel/debug/debug_core.c: more properly delay for secondary CPUs
   1b51fce881b2 scsi: avoid a permanent stop of the scsi device's request queue
   f413092ea8e0 IB/multicast: Check ib_find_pkey() return value
   8c84816cedcb IPoIB: Avoid reading an uninitialized member variable
   5eba61298b74 block_dev: don't test bdev->bd_contains when it is not stable
   25e9e2367457 btrfs: limit async_work allocation and worker func duration
   ced9b7a66a35 mm/vmscan.c: set correct defer count for shrinker
   a62e45871b7b Input: drv260x - fix input device's parent assignment
   e1589b27ffb9 libceph: verify authorize reply on connect
   ed21b94ebbf4 ALSA: hiface: Fix M2Tech hiFace driver sampling rate change
   f8c36e2b98b7 s390/vmlogrdr: fix IUCV buffer allocation
   0848a2672eb3 kconfig/nconf: Fix hang when editing symbol with a long prompt
   7b53fb41d447 SUNRPC: fix refcounting problems with auth_gss messages.
   14927595fec9 ext4: return -ENOMEM instead of success
   576cfe615feb nfs_write_end(): fix handling of short copies
   77f3c11c13dd fgraph: Handle a case where a tracer ignores set_graph_notrace
   29955c9a00d5 timekeeping_Force_unsigned_clocksource_to_nanoseconds_conversion
   951f4b1f13a7 USB: serial: option: add dlink dwm-158
   0c4f2f61d68f USB: serial: option: add support for Telit LE922A PIDs 0x1040, 0x1041
   0a32f5b4f72d ALSA: usb-audio: Add QuickCam Communicate Deluxe/S7500 to volume_control_quirks
   1d53a630766e dm space map metadata: fix 'struct sm_metadata' leak on failed create
   67bcfac25cb8 arm/xen: Use alloc_percpu rather than __alloc_percpu
   d09b66f9e70b drm/radeon: add additional pci revision to dpm workaround
   e9631583d6c0 drm/radeon: Hide the HW cursor while it's out of bounds
   beeda93356ae drm/radeon: Always store CRTC relative radeon_crtc->cursor_x/y values
   7198dbbaa242 drm/radeon: Also call cursor_move_locked when the cursor size changes
   15a12fbbf365 CIFS: Fix a possible memory corruption during reconnect
   51fce08b64ec CIFS: Fix a possible memory corruption in push locks
   7f16769173df CIFS: Fix missing nls unload in smb2_reconnect()
   0ee8faf89305 USB: cdc-acm: add device id for GW Instek AFG-125
   a2080cc28041 mmc: sdhci: Fix recovery from tuning timeout
   2a1dc36fdc71 ALSA: usb-audio: Fix race at stopping the stream
   93f5b2b5d28b xfs: set AGI buffer type in xlog_recover_clear_agi_bucket
   73e7d7aef06c block: protect iterate_bdevs() against concurrent close
   a6d0744b18ae ASoC: intel: Fix crash at suspend/resume without card registration
   90604ed2f10c Btrfs: fix tree search logic when replaying directory entry deletes
   575b6eddbf73 Btrfs: fix deadlock caused by fsync when logging directory entries
   32a27da220fb powerpc/ps3: Fix system hang with GCC 5 builds
   07340eaf0743 USB: serial: kl5kusb105: fix open error path
   b4fa7414cb79 thermal: hwmon: Properly report critical temperature in sysfs
   3225aec938da md/raid5: limit request size according to implementation limits
   93da0de16c94 firmware: fix usermode helper fallback loading
   d7a1bfa59593 xen/gntdev: Use VM_MIXEDMAP instead of VM_IO to avoid NUMA balancing
   315419538d84 tpm xen: Remove bogus tpm_chip_unregister
   fee2ddaee775 f2fs: set ->owner for debugfs status file's file_operations
   f52d439916f0 ALSA: hda - fix headset-mic problem on a Dell laptop
   506d7d521174 dm crypt: mark key as invalid until properly loaded
   4a7036809383 KVM: PPC: Book3S HV: Don't lose hardware R/C bit updates in H_PROTECT
   ec05ce11c1e9 KVM: PPC: Book3S HV: Save/restore XER in checkpointed register state
   b1a758009739 ext4: add sanity checking to count_overhead()
   31eb998aa42d ext4: use more strict checks for inodes_per_block on mount
   526cfedac0b3 ext4: sanity check the block and cluster size at mount time
   c2404d06b82e usb: hub: Fix auto-remount of safely removed or ejected USB-3 devices
   2861b336b594 ssb: Fix error routine when fallback SPROM fails
   44ef406441e2 ath9k: Really fix LED polarity for some Mini PCI AR9220 MB92 cards.
   be733405b057 staging: comedi: ni_mio_common: fix M Series ni_ai_insn_read() data mask
   9d45d2e79800 ext4: fix stack memory corruption with 64k block size
   d6ddc9cf431b ext4: fix mballoc breakage with 64k block size
   b3409ef1849b loop: return proper error from loop_queue_rq()
   9e19c28455b3 crypto: caam - fix AEAD givenc descriptors
   332086b806ac regulator: stw481x-vmmc: fix ages old enable error
   9e4033f56d3d USB: UHCI: report non-PME wakeup signalling for Intel hardware
   257cb82ee6d7 PCI: Check for PME in targeted sleep state
   78ef3e710efd scsi: megaraid_sas: For SRIOV enabled firmware, ensure VF driver waits for 30secs before reset
   28a8e88f1d2f drm/gma500: Add compat ioctl
   6ec54b062038 usb: gadget: composite: correctly initialize ep->maxpacket
   33166482bf49 drm/i915: Unalias obj->phys_handle and obj->userptr
   d7633e23c7f6 drm/i915/gen9: fix the WaWmMemoryReadLatency implementation

(From OE-Core rev: b60f1f2e0a5db22b466c8c812dea1716787c0d9a)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:18 +00:00
Bruce Ashfield
802b695c53 linux-yocto/4.9/4.10: add Intel Memory Protection Extensions
This commit adds a kernel feature to have the kernel support
for Intel Memory Protection Extensions (MPX).

A quote from kernel arch/x86/Kconfig:

"MPX provides hardware features that can be used in conjuction
with compiler-instrumented code to check memory references. It
is designed to detect buffer overflow or underflow bugs."

Intel MPX is available, e.g., on Skylake and on Goldmont (e.g.,
Intel 570x).

(From OE-Core rev: 12cd5bb61de6f254d34cc070816adeacdbe39d5c)

Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:18 +00:00
Bruce Ashfield
bb3904583e linux-yocto/4.9: integrate -rt9
Paul Gortmaker made the -rt9 integration available for the 4.9
linux-yocto kernel.

This updates our SRCREVs to pull in that content.

(From OE-Core rev: 6812934630a68deca76177c55fb0b153e17d6058)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:18 +00:00
Bruce Ashfield
a67ec6f869 linux-yocto/4.10: update to v4.10.1
Integrating the korg -stable release with the following change summary:

  d23a9821d397 Linux 4.10.1
  289ab6e9b7ce xfs: clear delalloc and cache on buffered write failure
  c1f105b5dc83 rtlwifi: rtl_usb: Fix for URB leaking when doing ifconfig up/down
  dea972f381a1 block: fix double-free in the failure path of cgwb_bdi_init()
  96081d826cb3 ACPICA: Linuxize: Restore and fix Intel compiler build
  8ab75da134c1 netfilter: nf_ct_helper: warn when not applying default helper assignment
  910c3e4d118d goldfish: Sanitize the broken interrupt handler
  adf7f1350a0c x86/platform/goldfish: Prevent unconditional loading
  33b11454af5d USB: serial: console: fix uninitialised spinlock
  122b5f43f6ea USB: serial: ark3116: fix register-accessor error handling
  199d9b3e02b2 USB: serial: opticon: fix CTS retrieval at open
  ecf5c9f1e5ea USB: serial: spcp8x5: fix modem-status handling
  2a503750ae13 USB: serial: ftdi_sio: fix line-status over-reporting
  c9b8c246fa3a USB: serial: ftdi_sio: fix extreme low-latency setting
  4f53d5eaccab USB: serial: ftdi_sio: fix modem-status error handling
  b9296dd8a66a USB: serial: cp210x: add new IDs for GE Bx50v3 boards
  4f91f13d483e USB: serial: mos7840: fix another NULL-deref at open
  8e5eb8e9ad74 tty: serial: msm: Fix module autoload
  cc8937cd74f9 net: socket: fix recvmmsg not returning error from sock_error
  7e963e31ded6 ip: fix IP_CHECKSUM handling
  ccff0ed8c48c ptr_ring: fix race conditions when resizing

(From OE-Core rev: 8ec83eb8fe6993351c2427709e11df055af37529)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:18 +00:00
Bruce Ashfield
db1da3bdcb linux-yocto/4.9: bump to v4.9.13
Change summary is as follows:

  3737a5f72234 Linux 4.9.13
  d00400605597 xfs: clear delalloc and cache on buffered write failure
  57d759622aa7 rtlwifi: rtl_usb: Fix for URB leaking when doing ifconfig up/down
  1cb3de83ab74 block: fix double-free in the failure path of cgwb_bdi_init()
  62c153f346fe ACPICA: Linuxize: Restore and fix Intel compiler build
  8f9872be6db9 netfilter: nf_ct_helper: warn when not applying default helper assignment
  e6bdd8d2fffc goldfish: Sanitize the broken interrupt handler
  2709c2a1b016 x86/platform/goldfish: Prevent unconditional loading
  fef3fdf2d83c USB: serial: console: fix uninitialised spinlock
  960a38eae80a USB: serial: ark3116: fix register-accessor error handling
  a2ce74e35d5f USB: serial: opticon: fix CTS retrieval at open
  a1fc6fb5f31e USB: serial: spcp8x5: fix modem-status handling
  26805681a45d USB: serial: ftdi_sio: fix line-status over-reporting
  a1510a8c0ded USB: serial: ftdi_sio: fix extreme low-latency setting
  f3d56f7a586e USB: serial: ftdi_sio: fix modem-status error handling
  4420e0f8fddf USB: serial: cp210x: add new IDs for GE Bx50v3 boards
  308a96c857cc USB: serial: mos7840: fix another NULL-deref at open
  9ab870e7425c tty: serial: msm: Fix module autoload
  1a0e2594ef76 net: socket: fix recvmmsg not returning error from sock_error
  481aedf869fb ip: fix IP_CHECKSUM handling
  7c56012e92b5 ptr_ring: fix race conditions when resizing
  c2219da51664 irda: Fix lockdep annotations in hashbin_delete().
  f23fd87e154f vxlan: fix oops in dev_fill_metadata_dst
  171d92a9d915 dccp: fix freeing skb too early for IPV6_RECVPKTINFO
  6c854afc5399 net: neigh: Fix netevent NETEVENT_DELAY_PROBE_TIME_UPDATE notification
  9206efc8a1f7 packet: Do not call fanout_release from atomic contexts
  722737f27774 packet: fix races in fanout_add()
  e0cb28247882 net: ethernet: ti: cpsw: fix cpsw assignment in resume
  42b52783a59c net/llc: avoid BUG_ON() in skb_orphan()
  859900c24bff net/mlx5e: Disable preemption when doing TC statistics upcall
  90aa7993d5c7 kcm: fix a null pointer dereference in kcm_sendmsg()
  1409935400aa kcm: fix 0-length case for kcm_sendmsg()
  ae7d43192ff2 Linux 4.9.12
  7b0712345376 videodev2.h: go back to limited range Y'CbCr for SRGB and, ADOBERGB
  8629aed2387c bcache: Make gc wakeup sane, remove set_task_state()
  68214ad3926c ntb_transport: Pick an unused queue
  f42026015094 ntb: ntb_perf missing dmaengine_unmap_put
  43325382fc7a NTB: ntb_transport: fix debugfs_remove_recursive
  215d4d62ccfd timekeeping: Use deferred printk() in debug code
  7ee210365adf printk: use rcuidle console tracepoint
  5c3765bbc1db PCI/PME: Restore pcie_pme_driver.remove
  48a415827882 Revert "i2c: designware: detect when dynamic tar update is possible"
  17c443421458 ARM: 8658/1: uaccess: fix zeroing of 64-bit get_user()
  808de347ebd4 futex: Move futex_init() to core_initcall
  dfe8f5757ec4 drm/dp/mst: fix kernel oops when turning off secondary monitor
  7499da90c0cc drm/radeon: Use mode h/vdisplay fields to hide out of bounds HW cursor
  19d2d869d00e Input: elan_i2c - add ELAN0605 to the ACPI table
  a975e8e81e55 Fix missing sanity check in /dev/sg
  a026c97e8824 scsi: don't BUG_ON() empty DMA transfers
  920b60aa3cc2 powerpc/64: Disable use of radix under a hypervisor
  ef746a305de3 mmc: core: fix multi-bit bus width without high-speed mode
  80a0477665d0 fuse: fix uninitialized flags in pipe_buffer
  7283448f8273 fuse: fix use after free issue in fuse_dev_do_read()
  6cf921be8fb9 siano: make it work again with CONFIG_VMAP_STACK
  166a2464cdcf vfs: fix uninitialized flags in splice_to_pipe()
  eee1550b3e89 Linux 4.9.11
  724aedaa5ca6 x86/fpu/xstate: Fix xcomp_bv in XSAVES header
  0d4c19ee68c9 tcp: don't annotate mark on control socket from tcp_v6_send_response()
  0e0751cdfa46 net/mlx5: Don't unlock fte while still using it
  7c4c32a2976e tcp: fix mark propagation with fwmark_reflect enabled
  16a3fbe5239a igmp, mld: Fix memory leak in igmpv3/mld_del_delrec()
  53a76d633b86 mld: do not remove mld souce list info when set link down
  5b1bb4cbd7ec l2tp: do not use udp_ioctl()
  12758a282435 net: dsa: Do not destroy invalid network devices
  a700cf26a3be ping: fix a null pointer dereference
  82849541895f packet: round up linear to header len
  6ebde312a8ed net: introduce device min_header_len
  4cd0362114c8 sit: fix a double free on error path
  2b7f50d67f5d lwtunnel: valid encap attr check should return 0 when lwtunnel is disabled
  00eff2ebbd22 sctp: avoid BUG_ON on sctp_wait_for_sndbuf
  4400acce6881 mlx4: Invoke softirqs after napi_reschedule
  970390fd5d53 catc: Use heap buffer for memory size test
  61bf9f381c38 catc: Combine failure cleanup code in catc_probe()
  e898f6f008aa rtl8150: Use heap buffers for all register access
  878b015bcc72 pegasus: Use heap buffers for all register access
  b90cb484c068 macvtap: read vnet_hdr_size once
  26989c9d9904 tun: read vnet_hdr_sz once
  0f895f51a831 tcp: avoid infinite loop in tcp_splice_read()
  1e340bb22af3 ipv6: tcp: add a missing tcp_v6_restore_cb()
  ae1768bbbc46 ip6_gre: fix ip6gre_err() invalid reads
  66cdd4347573 netlabel: out of bound access in cipso_v4_validate()
  f5b54446630a ipv4: keep skb->dst around in presence of IP options
  d5b6fd77519d net: use a work queue to defer net_disable_timestamp() work
  455a457780b6 stmmac: Discard masked flags in interrupt status register
  ca876dff1e8c tcp: fix 0 divide in __tcp_select_window()
  e6fbace87c7b ipv6: pointer math error in ip6_tnl_parse_tlv_enc_lim()
  a7fe4e5d0633 ipv6: fix ip6_tnl_parse_tlv_enc_lim()
  6c8556f6e114 net/sched: matchall: Fix configuration race
  64cc7ef5cf1d net/mlx5e: Fix update of hash function/key via ethtool
  adf86d59bb9b can: Fix kernel panic at security_sock_rcv_skb

(From OE-Core rev: fb86863ce3164fa412555da98c8c0de4dd112337)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:18 +00:00
Richard Purdie
c90246caeb package: Fix various rpmdeps relocation issues
There are several issues with rpmdeps after the rpm v5 -> v4 transition:
 * _rpmfc_magic_path  is an invalid option for rpm4
 * --rpmpopt is an invalid option for rpm4
 * we need to use the path to rpmrc since otherwise it poitns at the
   original build path
 * we need to set MAGIC in the environment so libmagic can find its
   files.

This patch addresses those and ensures rpmdeps works in relocated builds
from sstate (or with rm_work).

(From OE-Core rev: 806e37264d7102ae982867350ad8363ed3e5f475)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:18 +00:00
Richard Purdie
4c09a95767 bitbake.conf: Add nc to HOSTTOOLS_NONFATAL
This is used by some of our proxy scripts but isn't required for all
builds so add to HOSTTOOLS_NONFATAL.

(From OE-Core rev: 4837b8cc3248c07f77a91745b80e6129ec3dfa1f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:18 +00:00
Richard Purdie
d97a6eeaed testimage: Don't use systemd.log_level=debug logging
This causes MBs of log messages which overload the standard 200kb syslog limit
used by busybox syslog by default. This means some tests which rely on messages
being detected in syslog, e.g.
rpm.RpmInstallRemoveTest.test_check_rpm_install_removal_log_file_size
fail (AssertionError: 54 not greater than or equal to 80 : Cound not find sufficient
amount of rpm entries in /var/log/messages, found 54 entries).

We enabled this to aid debugging of some systemd race issues, those are
now resolved so we can disable this. Leave the log level parameter as a
comment to save others having to look it up if they need debugging.

(From OE-Core rev: 84d4daffaebcb4816d597671b287329e8a472f59)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:18 +00:00
Richard Purdie
4ca2fff32c u-boot: Update patch to match upstream
After discussions with upstream this version of the patch was proposed
and is being submitted to upstream u-boot. Update to that version
(which is better than my workaround).

(From OE-Core rev: 048af2455aa65b25fd74bfe0e6d3a0af7562b42f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:18 +00:00
Alexander Kanavin
3dadb9722e security_flags.inc: update to reflect smart->dnf transition
(From OE-Core rev: 0f3c57e9aca490c0f8d94117c915c075fd112b65)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:18 +00:00
Alexander Kanavin
226cc7396a package.bbclass: don't exclude package groups from runtime mapping
This ensures that remapping happens correctly, particularly
when package groups list noarch packages, and multilib is in use. Previously
this was masked by rpm doing *another* layer of remapping on top of this.

(From OE-Core rev: ad0e32014e846d20a1449de76e152e5f06812685)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:17 +00:00
Alexander Kanavin
44e229c995 package_rpm.bbclass: do not strip multilib prefixes from package names, do not add multilib prefix to package arch
This is done for reasons I cannot establish, and greatly complicates the code
that installs packages into rootfs.

(From OE-Core rev: d9ea9003677d195f64eb4b3202e1c5d37d21b330)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:17 +00:00
Alexander Kanavin
778ce1b8f0 nspr: do not use shared library symbol resolution with musl
It breaks rpm 4.x because musl is printing an error message
when the symbol is not found, and rpm takes it as an actual error.

(From OE-Core rev: ff750c42e2eb5e9ddb5ef438e571d708ec0adf77)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:17 +00:00
Alexander Kanavin
b45765d7ac package_rpm.bbclass: do not set the OS dynamically when building rpms
Packages need to contain just one value for the os field, otherwise
rpm will refuse to install them if they don't match what is in
/etc/rpm/platform.

(From OE-Core rev: 580ba965f5f38f6718a83f690bbe23a63fbcd3dd)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:17 +00:00
Alexander Kanavin
1cf9dd6492 package_rpm.bbclass: add a /bin/sh Provides for nativesdk- packages
nativesdk-* rpm packages all require /bin/sh because postinst scriptlets
are run with it. We can either teach rpm4 and dnf to ignore that dependency
(a lot of non-upstreamable work), or add auto-satisfy the dependency
in each package. I've chosen to do the latter.

(From OE-Core rev: b18c32ab6bc9c4f1953e9f79aa39bc92d1c4e30d)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:17 +00:00
Alexander Kanavin
529244ee21 run-postinsts: simplify the logic of whether to install it to images
The logic is scattered all over the place, but amounts to
"install, unless the rootfs is read only". Let's express that directly.

(From OE-Core rev: 697804229a172125ce7d3bfc9b343812d6fe3240)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:17 +00:00
Alexander Kanavin
55928d1237 oe-selftest: no need to parse gpg output to determine the name of the signing key
The parsing fails on my machine, and we use a key with a hardcoded name,
and so can provide it directly.

(From OE-Core rev: b69bad2c4e51a24868422f39619a0598fd2a0533)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:17 +00:00
Alexander Kanavin
5a3e1290cb gpg_sign.py: fix signing of rpm files using gpg
This means
a) calling rpmkeys and rpmsign instead of rpm
b) instructing gpg to run non-interactively; otherwise on my machine
it pops up windows requesting a key passphrase

(From OE-Core rev: f82f270df2da59702026721612563aea57cd77eb)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:17 +00:00
Alexander Kanavin
f72bc777fa selftest: update output checks in incremental image test to match what dnf prints
(From OE-Core rev: 6c434a711c0d281ecc9aeff488b63b80a338b229)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:17 +00:00
Alexander Kanavin
648a5d6c49 selftest: do not perform a full build in test_continue
This was fetching and building the toolchain and everything else
against empty download dir and sstate cache, and so was enormously slow.
The test does not need that, it only checks that one fetch task fails and
another succeeds when using bitbake's -k option.

(From OE-Core rev: 19cdac1a625189eb4a41ce5a7a204b08729c1b92)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:17 +00:00
Alexander Kanavin
d94b98fe30 package_rpm.bbclass: instruct rpm to not remove the buildroot directory
This is the ${W}/package directory which may be reused in subsequent builds.

Also clean up various default directories rpm 4 creates.

(From OE-Core rev: bdebe0d50a210438730ee7797968eafe169ded23)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:17 +00:00
Alexander Kanavin
ea4bac7e45 testimage.bbclass: fix runtime test for rpm, port smart tests to dnf
(From OE-Core rev: 749a496d273f9fd378588e309cf976294584ca5f)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:17 +00:00
Alexander Kanavin
dfa2987623 package_rpm.bbclass: no need to specify the magic file location
It's handled by the rpm wrapper command, created in rpm recipe.

(From OE-Core rev: 8f331db8136c8bf28ceea7f8ae410eb9d83225ad)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:17 +00:00
Alexander Kanavin
5445f03975 package_rpm.bbclass: replace createrepo reference with createrepo_c
(From OE-Core rev: de6ed676712f79e54a32000a1b090eb918c939b9)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:17 +00:00
Alexander Kanavin
ba6106a3e2 scripts/oe-setup-rpmrepo: replace createrepo with createrepo_c
(From OE-Core rev: bab25f09d34a32301e483ff0700add1209809b14)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:17 +00:00
Alexander Kanavin
aa17362d33 scripts/rpm2cpio.sh: replace 5.x version with 4.x version
(From OE-Core rev: a7da1aade118d1ccf1b286f82556cd9f706bd2a4)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:17 +00:00
Alexander Kanavin
67615e0175 rootfs_rpm.bbclass: migrate image creation to dnf
To properly look at this patch, you probably need a side-by-side diff viewing tool.

(From OE-Core rev: 65581c68d130fa74d703f6c3c92560e053857ac7)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:17 +00:00
Alexander Kanavin
d4efcded26 nativesdk-packagegroup-sdk-host: replace smartpm with dnf
(From OE-Core rev: 45b97161915ce7872ef7161451a5c83507072a72)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:17 +00:00
Alexander Kanavin
df3734551f package_rpm.bbclass: correctly map RRECOMMENDS and RSUGGESTS to rpm tags
Previously they were swapped, not sure why. Their meaning, as far as rpm
world goes, is different:

- Recommends is a soft dependency and will be installed by default; there is
an option not to do that.

- Suggests is a suggestion to be picked up and presented to end user by
package management tools; it has no special meaning otherwise.

OE packages use RRECOMMENDS, which should be mapped to Recommends rpm tag,
so that the packages will be picked up as dependencies.

(From OE-Core rev: 06270f20ba4312d20d0fd348595adf1b239bcac5)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:17 +00:00
Alexander Kanavin
b9c550dd6e package_manager.py: improve the API for insert_feed_uris()
No need to store the configuration as class members,
just pass it directly into the method.

(From OE-Core rev: a5cc38481be3c5e6ccbecf951f9fdc049e5101d5)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:17 +00:00
Alexander Kanavin
cf7e0baffa package_rpm.bbclass: make architecture-independent .rpm packages "noarch" instead of "all"
Too many places in dnf/rpm4 stack make that assumption; let's not fight against it.

(From OE-Core rev: 341810aff923ace6b1cc1e15e19383c4f8773b51)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:17 +00:00
Alexander Kanavin
f033bba14a db: remove the 6.x recipe
Version 6.x of Berkeley DB has been rejected by open source community due to its hostile
AGPLv3 license; both Fedora and Debian are sticking with db 5.x - and by extension,
all the open source projects are still developed and tested with db 5.x

In oe-core the only thing that was requiring db 6.x was rpm 5.x, and so there's no reason
to continue carrying db 6.x in oe-core. If someone needs API features that are only available in
db 6.x, it can be re-added to meta-oe.

(From OE-Core rev: 2694de76542840f79e3953c546d07b8ae479b8a1)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:16 +00:00
Alexander Kanavin
372bcd3c97 python-smartpm: remove the recipe
(From OE-Core rev: 9ff0e8b4012f1e68f6caebc3027f9d1bada00f13)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:16 +00:00
Alexander Kanavin
b70f96a17f dnf: add a recipe
This is replacing Smart package manager, which is unsupported upstream, and has a growing
amount of issues (lack of python 3.x support in particular). We identified dnf as
the only feasible replacement.

(From OE-Core rev: 2da1f03ad5957fc130f9d4fac30f0048873e9d7c)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:16 +00:00
Alexander Kanavin
374494e746 libdnf: add a recipe
libdnf is required by dnf.

(From OE-Core rev: 8ac3fb682928aeb076c8f78fb429936ae747bc77)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:16 +00:00
Alexander Kanavin
bbddf83f65 rpm: remove 5.x recipe
(From OE-Core rev: d0365f35303db3595688a6e5290677e02a72c54e)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:16 +00:00
Alexander Kanavin
27d56eeebd rpm: add a 4.x recipe
The dnf stack is written and tested against rpm 4.x. So if we want to use dnf for packaging,
we should also use rpm 4 - there's simply too much work involved in making rpm 5 work with it due
to significant API differences, and supporting that going forward.

(From OE-Core rev: 2358e786ec8d1199d90e181eb5d8d00816f669b4)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:16 +00:00
Alexander Kanavin
381c8e634c createrepo: remove the recipe
(From OE-Core rev: b842c9bf5cabb1af538720269f13946a87822f98)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:16 +00:00
Alexander Kanavin
4ab1f76064 createrepo-c: add a recipe
This is the current C reimplementation/replacement of the original createrepo.
https://github.com/rpm-software-management/createrepo_c/wiki

(From OE-Core rev: 30e0bec70f7793a5f923fc22c56b12bc1d06027d)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:16 +00:00
Alexander Kanavin
c3df454357 rpmresolve: remove the recipe
The source code is incompatible with rpm4 API - let's use rpm
binary itself for now.

(From OE-Core rev: 127112fa05c7102dacda4173adf380c557bacecb)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:16 +00:00
Alexander Kanavin
989a6423fc libsolv: enable rpm support
This is required by libdnf.

(From OE-Core rev: c1d008066f36701b8a8f36ddaeaa626ca6427aed)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:16 +00:00
Alexander Kanavin
a1180e91d0 package.bbclass: fix locations of debugedit and rpmdeps utilities
rpm4 installs them in different locations than rpm5. This also replaces
our custom rpmdeps-oecore with standard rpmdeps; I'm not seeing a
significant performance penalty.

(From OE-Core rev: ec20cda53caeebfdf95e2871d5da8b926e84d2aa)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-14 14:42:16 +00:00
Peter Kjellerstedt
b1f09df0f6 bitbake: ConfHandler: Use the same regular expression for all variable names
When the regular expression for matching a variable name was amended
with allowing the ~ character as part of the variable name, this was
never done to the regular expression that matches export
lines. Similarly, the regular expression that was used for matching
unset variables also used the one without support for the ~ character.

This unifies the regular expressions. For good measures it also
corrects the regular expression used to match a variable flag name for
the unset command to match the one used when setting a variable flag.

(Bitbake rev: acd2fd74ed467dc85ec75d5d0815f43e493f29bf)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-13 09:43:40 +00:00
Peter Kjellerstedt
1e275980f2 bitbake: knotty: Remove extra whitespace after task progress bars
For some reason, BBProgress.setextra() always adds a space at the end.
This prevents the task progress bars from filling the entire width of
the terminal, making them stop one character short. This looks odd
when shown together with the main progress bar, which does fill the
entire terminal width.

(Bitbake rev: 6540e98090d6a88607489a23c063be338bcc3b57)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-13 09:43:40 +00:00
Matthew McClintock
404f2aef94 bitbake: runqueue: add option to run all tasks in specific build target
For example:

$ bitbake core-image-minimal --runall unpack
...
NOTE: Tasks Summary: Attempted 326 tasks of which 88 didn't need to be rerun and all succeeded.

$ bitbake core-image-minimal --runall patch
NOTE: Tasks Summary: Attempted 453 tasks of which 332 didn't need to be rerun and all succeeded.

This can replace fetchall as well:
$ bitbake core-image-minimal --runall fetch
NOTE: Tasks Summary: Attempted 135 tasks of which 119 didn't need to be rerun and all succeeded.

(Bitbake rev: 7c0fa6ba66cdb956b37d94055307cde857633df9)

Signed-off-by: Matthew McClintock <msm-oss@mcclintock.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-13 09:43:40 +00:00
Jack Mitchell
3e5f3cfe81 u-boot: add option to specify FDT argument in extlinux.conf
Also fixes a use before defined bug with localdata.

(From OE-Core rev: 86b09a7ed67a43a45c805f44778bed0bfdf57361)

Signed-off-by: Jack Mitchell <jack@embed.me.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-13 09:43:14 +00:00
Jack Mitchell
156571fad3 u-boot: fix extlinux creation race
There was a race condition in the uboot-extlinux bbclass where
only a half written extlinux.conf would be put in the deploy
directory. Fix this by adding the deploy task after the do_install
rather than after the do_compile.

(From OE-Core rev: 60c90398580998b2379bb438f0f75b29285135a5)

Signed-off-by: Jack Mitchell <jack@embed.me.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-13 09:43:14 +00:00
Richard Purdie
8406db9e11 terminal: Use original PATH for terminals
Now that we filter out PATH to only the utilities we rely upon, the devshel
terminal was broken since it can no longer find the terminals. Even if
we fix that, the user couldn't access any of their commands within
devshell which somewhat defeats its purpose.

Add the original PATH back to the environment to restore that behaviour
since this is more in line with user expectations and it wouldn't be possible
(or desireable) to whitelist all the commands a user might want to use from
the shell.

(From OE-Core rev: 67d7ea2db8bce766daf3419feae3cd8045af5114)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-13 09:42:09 +00:00
Alexander Kanavin
b3d13e058a libcomps: add a recipe
libcomps is required by dnf.

(From OE-Core rev: a47e64d985a610535449730806651f5bfd75d9ec)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:14 +00:00
Alexander Kanavin
a2b6910d14 librepo: add a recipe
librepo is needed by dnf and libdnf.

(From OE-Core rev: 64dd708d14f8eadb25c3b590bfdc894e2cbb246e)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:14 +00:00
Alexander Kanavin
5892bb7577 python-backports-lzma: add a recipe
It is needed by dnf, and only when using Python 2.x, so can
be dropped after moving dnf/rpm4 stack to Python 3.x.

(From OE-Core rev: e58f876acdac8fff24ecd3076287eda61ef1e4d3)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:14 +00:00
Alexander Kanavin
647dd10215 python-iniparse: add a recipe
python-iniparse is required by dnf.

(From OE-Core rev: 6c6f1b318005f4f2e21027b308ab6cb89aefdd19)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:14 +00:00
Alexander Kanavin
63904f6d11 python-pygpgme: add a recipe
python-pygpgme is required by dnf.

(From OE-Core rev: 20004b271eb4faf5f91f30ec3565a73ee62df7c6)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:14 +00:00
Alexander Kanavin
5765e1981d security_flags.inc: Update for new python modules
(From OE-Core rev: 544d96d37e32a0e08af4d91da48c9f9ef296a515)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:14 +00:00
Stephano Cetola
e018993541 uninative: remove unneeded call to sparse copy
As of this commit:

39f5a05152aa0c3503735e18dd3b4c066b284107

patchelf no longer inflates file sizes. Since the files are no longer
inflated by patchelf, we can skip using cp with the --sparse option.
More details as to how patchelf has changed are available in that
commit log.

(From OE-Core rev: a2519a2f96bfea53a527c704e620e3584c97c67d)

Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:14 +00:00
Alexander Kanavin
828fc447e5 gpgme: fix python module build and installation
(From OE-Core rev: 317af6946d53a512a251e78f5ea3634759b65f1f)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:14 +00:00
Alexander Kanavin
cd06d24525 base-files: do not write the current date into /etc/issue and /etc/issue.net
This is causing a problem in multilib where base-files and lib64/32-base-files
clash because they may have different dates. Also, if the package is coming
from sstate it has an incorrect date anyway.

(From OE-Core rev: 846c86ffc4574feafd89a028e50f7719075633f2)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:14 +00:00
Alexander Kanavin
b9c986b0f3 db: do the multilib_header processing for db.h
As it varies from one machine to another.

(From OE-Core rev: e34ac7634a6d1f110ee4748de813e7b1fd89d119)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:14 +00:00
Alexander Kanavin
852e8048d1 bash: package bashbug separately
It's a machine-specific script, which is causing conflicts
when multiple versions of bash are installed in multilib setting,
and it also does not really make sense for embedded systems anyway.

(From OE-Core rev: dbe57bd0aec855c81b03850367b3b483f622c328)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:14 +00:00
Alexander Kanavin
d37f41d8db glibc: do the multilib_header magic also for bits/long-double.h
Otherwise it will cause conflicts in mutlilib setting, as it
varies from one machine to another.

(From OE-Core rev: a3b19882e2f50089c785b1e2591550356c12a175)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:14 +00:00
Ross Burton
60558c1544 glib-2.0: improve determinism for GIO ptests
Previously the GIO tests would be built or not depending on whether the host had
a dbus-daemon binary available.  Fix this by seeding the AC_CHECK_PROGS check
with the right value, and adding a RDEPENDS for dbus-daemon on the target.

(From OE-Core rev: 1944c9a1764105c15844c7dbf1d430389c02b631)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:14 +00:00
Fan Xin
b89d6500ff grep: upgrade to 3.0
(From OE-Core rev: e5bf7d28dc72db652c6cfdaacba858bdc6c42e5e)

Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:14 +00:00
Fan Xin
f3c73f3d2a curl: upgrade to 7.53.1
(From OE-Core rev: f34ab1aae3c9cb2a4068ec684492df1a48f5cd4d)

Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:14 +00:00
Joe Slater
f15bcd78ba pkgconfig: specify --disable-indirect-deps to configure
This preserves the current behaviour because the auto
test by configure will never return yes.  ./libtool is
needed by the test and it will never exist.

(From OE-Core rev: ad151cf2de2f1990297e7ba18fa78958b00a3dd3)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:14 +00:00
Chen Qi
d760bf2436 opkg-utils: bump revision
Bump to latest revision so that update-alternatives could detect priority
conflict.

Also, we could remove the following patch because opkg-utils has already
fixed the problem in another way.

  0001-Makefile-use-defined-bindir-and-mandir-as-installati.patch

[YOCTO #8314]

(From OE-Core rev: d6b04e12127dd65b96ac7f4509b829510ef21071)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:14 +00:00
Kristian Amlie
0cfcdf2e95 wic/direct.py: Avoid exception if using multiple rawcopy/no-table entries.
If we are both having a bootloader and a U-Boot environment file, we
can end up with two entries using "--source rawcopy" and "--no-table",
and since they reuse the same file [1], their cleanup handlers will
try to delete the same file twice. So make sure we only do it once.

[1] Although they reuse the same file, the resulting output is
correct, so it appears the file is accessed in properly sequential
order.

(From OE-Core rev: f1a3eac376c4600cdb128d870ad9b7e9d51ed9c0)

Signed-off-by: Kristian Amlie <kristian.amlie@mender.io>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:14 +00:00
Martin Jansa
d5df9dd30f bison: Remove unused bison-2.3_m4.patch
* it was used only by bison-2.3 which was moved to meta-gplv2 layer

(From OE-Core rev: 12aa82b8b07b03d20e63479469faca6562c78a05)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:14 +00:00
Alejandro del Castillo
42dee14477 libsolv: upgrade to 0.6.26
Drop 0001-Split-libsolvext-into-it-s-own-pkg-config-file.patch

(From OE-Core rev: 45de201af696aba70a1eba1573283790947efc54)

Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:14 +00:00
Alejandro del Castillo
f4d4f99cfb opkg: enable libsolv backend by default
The libsolv backend is vastly superior than the currently enabled
internal ad-hoc solver. While the switch does have a small impact on
disk and memory footprint, it make sense to change the default as for
most cases the disk/memory footprint hit should be acceptable.

========================
Disk Footprint Increase
========================
qemux86-64	 523K
qemuarm  	 445K
qemux86  	 576K

====================================================
Command [1]           Libsolv      Internal Solver
====================================================
opkg update          26.21 MB      26.21 MB
opkg list            29.87 MB      29.87 MB
opkg install procps  30.99 MB      27.33 MB
opkg remove procps    1.69 MB       1.69 MB
opkg update	     30.97 MB	   27.75 MB

[1] Profile done via 'valgrind --tool=massif <command>' in a feed with
~18K packages.

(From OE-Core rev: 1ff3de844c78e3766c7f92ca17c308ef3c9427e1)

Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:14 +00:00
Ross Burton
ca5059e638 classes: add devupstream class
This class lets you use BBCLASSEXTEND to add a variant of the recipe that
fetches from an alternative URI (such as git:) instead of a tarball.

For example:

 BBCLASSEXTEND = "devupstream:target"
 SRC_URI_class-devupstream = "git://git.example.com/example"
 SRCREV_class-devupstream = "abcd1234"

This variant will have DEFAULT_PREFERENCE set to -1 so it needs to be selected
to be used, and any development-specific tweaks can be done with the
class-devupstream override, for example:

 DEPENDS_append_class-devupstream = " gperf-native"

 do_configure_prepend_class-devupstream() {
    touch ${S}/README
 }

It currently only supports creating a development variant of the target recipe,
not native or nativesdk.  The BBCLASSEXTEND syntax (devupstream:target) was
chosen so that support for native and nativesdk can be added at a later date.

Support for other version control systems such as subversion is limited, as
bitbake's automatic fetch dependencies on for example subversion-native are not
generated.

[ YOCTO #10215 ]

(From OE-Core rev: c48ef2d7c7198232846f36a975c673cc57f4a090)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:14 +00:00
Richard Purdie
94790a8254 base/bitbake.conf: Filter contents of PATH to only allow whitelisted tools
We currently have a determinism problem in that the host tools present
in PATH can influence the build. In particular, the presence of pkg-config
on the build host can mask missing pkgconfig class dependencies.

This adds in a new HOSTTOOLS variable and then uses it to set up a directory
of symlinks to the whitelisted host tools. This directory is placed as PATH
instead of the usual /usr/bin:/bin and so on.

This should improve determinism of builds and avoid the issues which have
been particularly obvious since the introduction of recipe specific sysroots.

If users find there is a tool missing, they can extend HOSTTOOLS from a global
class or global conf file.

Right now the settings should be enough to build everything in OE-Core.

(From OE-Core rev: fa764a403da34bb0ca9fa3767a9e9dba8d685965)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:14 +00:00
Richard Purdie
6df0da0aa1 yasm: Set CCLD_FOR_BUILD to ensure BUILD_CC is used
Otherwise cc may be used which isn't correct.

(From OE-Core rev: 30a9f0fcf608815cc920de4aba8ec0d1cf467b07)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:13 +00:00
Richard Purdie
21db71990b u-boot-mkimage: Fix use of 'cc' instead of BUILD_CC
OE needs to be able to change the default compiler. If we pass in HOSTCC
through the make command, it overwrites not only this setting but also the
setting in tools/Makefile wrapped in ifneq ($(CROSS_BUILD_TOOLS),) which
breaks the build.

We therefore add a way of changing the default in the top level Makefile
without interfering with the other setting.

I've emailed this workaround to Masahiro Yamada for discussion.

(From OE-Core rev: e777d6873ce9a8a80288ecbcfc86239e0ed0e2f9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:13 +00:00
Khem Raj
760e81678c go: Add recipes for golang compilers and tools
* This is converging the recipes for go from
  meta-virtualization and oe-meta-go

* Add recipes for go 1.7

* go.bbclass is added to ease out writing
  recipes for go packages

* go-examples: Add an example, helloworld written in go
  This should serve as temlate for writing go recipes

* Disable for musl, at least for now

* Disable for x32/ppc32 which is not supported

(From OE-Core rev: 78615e9260fb5d6569de4883521b049717fa4340)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 15:51:55 +00:00
Richard Purdie
0efe58df2e runqemu-gen-tapdevs: Improve help text with an example
Figuring how the correct commandline isn't trivial, improve the help
text with RSS in mind.

(From OE-Core rev: 056a9da9f3ac2bc175f19243b11864ca90eee28b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:11 +00:00
Richard Purdie
c35a258827 quilt: Avoid hardcoding paths into output
Avoids:
 quilt-0.65-r0 do_package_qa: QA Issue: /usr/lib/quilt/ptest/quilt/scripts/edmail contained in package
 quilt-ptest requires /media/build1/poky/build/tmp/hosttools/perl, but no providers found in
 RDEPENDS_quilt-ptest? [file-rdeps]

(From OE-Core rev: e0188f6ccebaaf7c9948c771d3da5b07eed09a94)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:11 +00:00
Richard Purdie
b94da69e31 cdrtools-native: Fix when cc is missing
If cc isn't in PATH, the recipe fails. Set a variable to avoid this.

(From OE-Core rev: a6816d62ae37506c8ab7a1294be23da82a2e9d6e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:11 +00:00
Richard Purdie
a39b7e2c50 quilt: Don't add hardcoded links to utilities
This triggers warnings about absolute symlink paths with the PATH changes.
In reality we simply don't need/care about these so just remove/disable
them.

(From OE-Core rev: b319e43b9fee62f30c11d266a23cea4ff30addcd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:11 +00:00
Richard Purdie
a0bfdfa912 libpng12: Use rm instead of unlink
Everything else in the system manages fine with rm, use rm instead of unlink
here too.

(From OE-Core rev: d292641ca52072a3629e589cc413344310d35280)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:11 +00:00
Richard Purdie
ea7818b8b5 tzcode-native: Set cc to ${CC}
Building on a system without "cc" showed this recipe doesn't respect
the $CC variable. Fix this by passing the right option to the makefile.

(From OE-Core rev: 402080c0a77443f541fa3d658b79f3fba327279d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:11 +00:00
Richard Purdie
cb454d401a toolchain-shar-extract.sh: Ensure sbin directories are in PATH in clean environment
For the PATH host tool whitelisting to work, the sbin directories need to be
in PATH. In the cleaned SDK environment on some distros, this isn't the case
and the SDK would then fail to setup there. This adds code to add such paths
if they do happen to be missing, ugly, but unblocks the PATH whitelisting
which I believe to be important.

(From OE-Core rev: 8c49ab40c2ff2e60b717f479822d1a0021735429)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:11 +00:00
Joshua Lock
39ff731526 chkconfig-alternatives-native: fix obey_variables
This postfunc assumes it's run from S, whereas that seems not to always
be the case in practice. Explicitly define the full path of the file
we wish to sed.

(From OE-Core rev: 6486dd71c6c9977e5d67fd803d1bd85001654b5a)

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:11 +00:00
Haiqing Bai
66395bad7e busybox: ifupdown:pass interface device name for ipv6 route command
IPv6 routes need the device argument for link-local routes, or they
cannot be used at all. E.g. "gateway fe80::def" seems to be used in
some places, but kernel refuses to insert the route unless device
name is explicitly specified in the route addition.

(From OE-Core rev: 96ed437d57316153453bb5e170a4fd4f3a95883d)

Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:11 +00:00
Ming Liu
3570501025 meta: do not append to BBCLASSEXTEND
Replace some "+=/=+" with "=" when setting BBCLASSEXTEND, they are
redundant and inconsistent with the same setting in other recipes.

(From OE-Core rev: 09266d6c91acd8ba4df6e8242aa44d9ba41e9cee)

Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:11 +00:00
Ross Burton
c9d0d44e3c gstreamer: remove git recipes
Yet again these were checking out 1.8.2 tags and then trying to apply 1.10.4
patches on top.

Clearly nobody is actually using them, so delete them so they can't go stale
again.

(From OE-Core rev: 2b15451e3f1b9fb9a7f44317f3f9cd22d8712ff5)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:11 +00:00
Ross Burton
0ed537f95b license: don't assume source files are UTF-8
We can't assume that source files are entirely UTF-8, so when copying the
license blocks open the file as binary instead of text.

[ YOCTO #11135 ]

(From OE-Core rev: b606e1430c36f1ad528fbfbbf9b8b6243390b879)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:11 +00:00
Mikko Ylinen
519255fd73 gcc-runtime: Enable libmpx for x86-64
Intel MPX was recently enabled on x86 (_append_x86) but that didn't
enable it on x86-64. Explicitly enable libmpx on x86-64 too.

(From OE-Core rev: 5111bd5e666408dbca7db0e6d664fe0103744253)

Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:11 +00:00
Joe Slater
c33aa1e088 e2fsprogs: expand @mkdir_p@ during configuration
If we do not do this, locale data will not be put
into /usr/share/locale.

(From OE-Core rev: 19b770d56d8a6db48723e0754e224aaf6de683a3)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:10 +00:00
David Vincent
070f3aa74f openssl: Fix symlink creation
Symlinking the openssl configuration file at install time results in
errors when overriding it using an external package which also provides
openssl-conf. This should be done as a postinstall task for such
packages.

(From OE-Core rev: 991620f3962a9917fa99abb5582f4b72ebd42a3d)

Signed-off-by: David Vincent <freesilicon@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:10 +00:00
Daniel Schultz
8dddce21c4 wic: filemap: Fixed spared_copy skip
This patches removes the empty space in front of the copied file which
was skipped. Without this reduction it's not possible to place a
partition with rawcopy and skip parameter on a desired alignment.

(From OE-Core rev: 5c024d71f9413b81ee1707dbc41f0721f8f27bdb)

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:10 +00:00
Daniel Schultz
52de84763d wic: plugins: rawcopy: Fixed wrong variable type
Without the int() function this variable will be a string. This will led
to a error in Filemap on line 545 due wrong types.

> [...]
>   File
> ".../poky/scripts/lib/wic/filemap.py", line 545, in sparse_copy
>     if start < skip < end:
> TypeError: unorderable types: int() < str()

(From OE-Core rev: 46b5814bcdc0e7e3cb293e877e2aa949baf5fef8)

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:10 +00:00
José Bollo
a097d29fb2 shadow: use config 'attr' if distro has 'xattr'
When DISTRO_FEATURES has 'xattr' the shadow package
now automatically activates its config 'attr'.

(From OE-Core rev: 860c941741ca57bdc6fdbb67ea3ad94bb8d08c16)

Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:10 +00:00
Andre McCurdy
5c850760bb conf/machine/include: enable hardfloat by default for ARMv6 and above
Defaulting to softfp probably isn't the best choice anymore,
especially as there are now ARM BSP layers which leave DEFAULTTUNE
entirely up to the distro:

  https://lists.yoctoproject.org/pipermail/yocto/2017-February/034637.html

Also add 't' to the ARMv7 default DEFAULTTUNEs, since there's no
clear reason to default to ignoring ARM_INSTRUCTION_SET for ARMv7.

(From OE-Core rev: 2b3ae58f5eaecc8474761c543ff5347aa0e3c4c8)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:10 +00:00
Andre McCurdy
5ccea3e02a dropbear: drop support for DSA host keys in dropbear init script
Bring the dropbear init script into sync with the systemd service
file (dropbearkey.service supports RSA host keys only) and with
recent versions of openssh which deprecate DSA host keys.

  https://www.gentoo.org/support/news-items/2015-08-13-openssh-weak-keys.html

(From OE-Core rev: 6bd7341a38a8bb5387ea81dbccfed327370569f3)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:10 +00:00
Andre McCurdy
3f3ced499c sanity.bbclass: allow s3 protocol when sanity checking MIRRORS, etc
Bitbake now supports an Amazon AWS S3 fetcher:

  http://git.openembedded.org/bitbake/commit/?id=6fe07ed25457dd7952b60f4b2153d56b15d5eea6

(From OE-Core rev: 5cc3592afc72bae8dd12d3d8ff15bb7418baaea3)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:10 +00:00
Jussi Kukkonen
3835f04fc3 vulkan: Add recipe for Vulkan common loader
Add a recipe for vulkan loader library and the vulkaninfo binary.

Vulkan can be built to support X11 or wayland or both. There is
currently no support for building tests, validation layers or even
the demos as that would require a bunch of otherwise unnecessary
dependencies.

Fix the build on musl by defaulting to getenv() if secure_getenv()
is not available.

(From OE-Core rev: ce0acee244cdae287fa0d3b048d371627a69a030)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:10 +00:00
Jussi Kukkonen
c09a6bd8e2 mesa: Enable vulkan driver for intel
PACKAGECONFIG "vulkan" enables building libvulkan_intel.so.
The radeon driver can be added to recipe as well but it requires
llvm so recent that I couldn't test it.

(From OE-Core rev: 33c8918d41dda8218fd28d667182d71029ab22d5)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:10 +00:00
Ed Bartosh
51edde6537 sstate.bbclass: update .siginfo atime
.siginfo files are not being accessed from local or NFS-mounted
sstate mirrors when sstate package is installed, so their atime
is not updated. If sstate mirror is cleaned based on access time,
they get deleted, even though they are still being used.

Updated atime of .siginfo symlinks with 'touch -a'. This command
dereferences symlinks pointing to the local mirror and updates
atime of the .siginfo file on the mirror.

[YOCTO #10857]

(From OE-Core rev: fb1499a42756faeef025122bbde98bc14f4ae61e)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:10 +00:00
Joshua Lock
e0a94a9ade lib/oeqa/selftest/bbtests: update test_non_gplv3 to use selftest-ed
GPLv2 recipes have been moved to a new layer (meta-gplv2), instead of
readline perform this test on the selftest-ed recipe in meta-selftest
which has gplv2 and gplv3 variants.

Tested with oe-selftest -r bbtests.BitbakeTests.test_non_gplv3

(From OE-Core rev: 35b244b292cddb3ded31c2766fb1313511343f06)

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:10 +00:00
Joshua Lock
e663c6145a lib/oeqa/selftest/oescripts: make test_cleanup_workdir use selftest-ed
Use a recipe which is bundled in the meta-selftest layer for this test,
rather than relying on OE-Core remaining static (or updating the tests
when OE-Core changes recipes).

Tested with oe-selftest -r oescripts.TestScripts.test_cleanup_workdir

(From OE-Core rev: f8aabeb1a755f3312782a7b64fe863c155510b33)

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:10 +00:00
Joshua Lock
52c10b6e58 meta-selftest: add selftest-ed recipes
The oe-selftest oescripts.TestScripts.test_cleanup_workdir was using
gzip and the GPLv2 variant to test cleanup of the workdir. This broke
with the removal of GPLv2 recipes from OE-Core.

Instead of relying on recipes in OE-Core remaining static we should
ensure that meta-selftest provides recipes required for the tests to pass.
To that end we take a copy of the current GPLv2 and GPLv3 variants of ed
and include them in meta-selftest as new recipes.
We chose ed over gzip as gzip has dependencies which would require
additional GPLv2 recipes to be included in meta-selftest.

(From OE-Core rev: 2ac83239698c403bb575e6c5b19f19fcffa389ed)

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:10 +00:00
Martin Jansa
d454dc2fc1 gcc-runtime: Fix QA issue
ERROR: gcc-runtime-6.3.0-r0 do_package: QA Issue: gcc-runtime: Files/directories were installed but not shipped in any package:
  /usr/lib/libmpxwrappers.la
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
gcc-runtime: 1 installed and not shipped files. [installed-vs-shipped]

(From OE-Core rev: 3658da86e57dc87ac3957b05f853a7f1a56bfab2)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:57 +00:00
Peter Marko
3fc53377e2 zlib: Upgrade 1.2.8 -> 1.2.11
Licence updated by removing its first line which was containing
copyright notice including year, which could change quite often.
Additional empty line was deleted, too.

(From OE-Core rev: 8b15b7bd10db83b3390827231b54aeb3452bcb6f)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:57 +00:00
Maxin B. John
d070d151d3 useradd.bbclass: drop obsolete code
Cleanup useradd class by removing the code made obsolete by
the introduction of Recipe Specific Sysroot.

(From OE-Core rev: 2c126e704ebb58afc0d79fe220dc370e09d6bfd5)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:57 +00:00
Khem Raj
dc80d4f4bc kernel-arch: Lock the toolchain to use gcc compiler
kernel and external modules are still using gcc to build

(From OE-Core rev: 75cf0f0690c9c192e4cbffb71015866f967c2e1f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:57 +00:00
Nikunj Kela
d49dba9a6a relocate_sdk.py: skip debug files from relocation
Debug files only have debug symbols hence don't need
to be relocated. Relocation script throws errors when
run on the debug files. This change skips these files
that have zero size.

(From OE-Core rev: 132e8bfd499c713eb63075fd6380317b60f0bd27)

(From OE-Core rev: 93b73b2495f9cb18741837c5437de629adfd3780)

Signed-off-by: Nikunj Kela <nkela@cisco.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:57 +00:00
Sona Sarmadi
0884c80070 qemu: display: CVE-2016-9912
virtio-gpu: memory leakage when destroying gpu resource

Reference:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9912

Reference to upstream patch:
http://git.qemu-project.org/?p=qemu.git;a=patch;h=b8e23926c568f2e963af39028b71c472e3023793

(From OE-Core rev: 8bf7ade372b46b8a872661a7904fbaa30fa262a2)

Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:57 +00:00
Sona Sarmadi
5724b1e3d9 qemu: display: CVE-2016-9908
virtio-gpu: information leakage in virgl_cmd_get_capset

References:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9908

(From OE-Core rev: f5f4a08baeb4864984fcb9a837a3a8c51274df2b)

Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:57 +00:00
Nathan Rossi
27fbd839d4 qemu: Move recipe version specific patches and features to recipe
Move all the version specific patches, overrides and configuration that
are in qemu.inc to the versioned QEMU recipe.

This includes moving patches that target the versioned recipe, ptest
configuration (which is not available in QEMU by default) and the
installing of the powerpc_rom.bin.  All these patches/files are also
only located in the FILESEXTRAPATHS that is valid from the recipe file
and not from qemu.inc itself.

The purpose of this change is to make the qemu.inc re-usable for
multiple versions of QEMU as well as forks and recipes that intend to
provide custom patches.

(From OE-Core rev: 2431faeb88a008b501547808fb8632943b992dcb)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:57 +00:00
Nathan Rossi
ed25789bc0 qemu: Convert KVMOPTS to PACKAGECONFIG
Move the KVMOPTS configuration checks and option setting to a
PACKAGECONFIG option.

This also changes the checking of KVM support on the host build machine
so that it is processed as a PACKAGECONFIG _remove for class-native
only. The darwin/mingw32 overrides are kept and applied as _remove
overrides.

(From OE-Core rev: 75a1dd39a63329e9b2d41d3a12ff58049248d2ff)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:57 +00:00
Nathan Rossi
6e7a2f0ba3 qemu: Consolidate EXTRA_OECONF
Consolidate the configure options into the EXTRA_OECONF variable,
including merging any native(sdk) specific options.

This consolidation also makes the use of 'system' pixman in the
nativesdk case, this is desirable as the QEMU internal pixman may not be
available (using QEMU git as opposed to tarball) and pixman is already
in DEPENDS. Additionally the QEMU configure recommends to use the system
pixman if available.

Additionally move the options specified in the do_configure into the
EXTRA_OECONF variable. And flesh out all the target directories.

(From OE-Core rev: 9d908f6369e938f1da4456dbc07c64f328656182)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:57 +00:00
Nathan Rossi
7065bb2148 qemu: Improve and add PACKAGECONFIG options
Move the '--disable-bluez' and '--disable-iscsi' options to
PACKAGECONFIG. And added the ${BLUEZ} dependency.

Fix up the 'gcrypt' option to depend on 'libgcrypt' instead of gcrypt.
This is the expected dependency as noted in the QEMU configure help.

Handle the '--audio-drv-list' option inside the PACKAGECONFIG[alsa]
args. The previous setting uses a ',' to denote the options for the arg
however a space inside quotes is also acceptable and allows the arg to
be used into the PACKAGECONFIG flag.

(From OE-Core rev: 0aca9b735c6f9d7ffe2826e624942a563c501d1f)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:56 +00:00
Ed Bartosh
5738f86f99 selftest: remove extra backslashes from debug output
Remove unneeded backslashes from the format strings that
caused debug output to look confusing:

2017-03-06 16:52:42,428 - selftest.base - DEBUG - Removing from: ...
\IMAGE_FSTYPES = "wic"
WKS_FILE = "mkefidisk.wks"

(From OE-Core rev: 6b7f8f81307720b0a6c1ef4af5200dec9b8ef789)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:56 +00:00
Ed Bartosh
ac462e464f qemurunner.py: ignore decode errors
qemu output can contain control characters. This cause qemurunner
API to crash when decoding the output to utf-8:

Traceback (most recent call last):
  File "/usr/lib64/python3.4/threading.py", line 911, in _bootstrap_inner
    self.run()
  File "meta/lib/oeqa/utils/qemurunner.py", line 472, in run
    threading.Thread.run(self)
  File "/usr/lib64/python3.4/threading.py", line 859, in run
    self._target(*self._args, **self._kwargs)
  File "meta/lib/oeqa/utils/qemurunner.py", line 465, in threadtarget
    self.eventloop()
  File "meta/lib/oeqa/utils/qemurunner.py", line 526, in eventloop
    self.logfunc(data)
  File "meta/lib/oeqa/utils/qemurunner.py", line 77, in log
    msg = msg.decode("utf-8")
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xda in position 0:
unexpected end of data

Added errors='ignore' to decode call to fix this.

(From OE-Core rev: 4a46dd5190d97fdcb6297a0c1d8c824d425c4c51)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:56 +00:00
Ed Bartosh
55fc115d93 selftest: test wic efi image in qemu
Added test_qemu_efi test case to wic test suite.

It uses ovmf qemu extention to test mkefidisk image.

(From OE-Core rev: 770b87d903644641da41594193ee61b564dd99e9)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:56 +00:00
Ed Bartosh
27badf83ec targetcontrol: add image_fstype argument to commands.runqemu
qemu runner picks up first fsimage type from the hard-coded
list of supported types. This makes it impossible to test
particular image type unless it's not ext4(first type in
the hardcoded list of types).

Added image_fstypes argument to commands.runqemu and QemuTarget
__init__ to specify type of the image to run qemu with.

This will be used to pass wic image type to test efi wic images.

(From OE-Core rev: f1f224a2d4d3f2a760632c2254e91a8f94c8814f)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:56 +00:00
Ed Bartosh
383cd20828 qemurunner: add runqemuparams argument to commands.runqemu
Added possibility to pass additional runqemu parameters
down the stack of APIs:
 commands.runqemu -> QemuTarget.start -> QemuRunner.start

This will be used to pass ovmf parameter in testing of
efi wic images under qemu.

(From OE-Core rev: 5aa4b5a10fb8191cd3453d09701c8beeff9a952f)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:56 +00:00
Andre McCurdy
b41e1c9209 base.bbclass: improve wording when skipping recipes with incompatible licenses
The previous wording, e.g.

  ERROR: wget was skipped: incompatible with license GPLv3

isn't very clear and could be taken to imply that the recipe is
incompatible with its own license.

(From OE-Core rev: c2047067daadb40ff3a944f380c10b2a56b8e080)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:56 +00:00
Andreas Müller
c675b5dbe5 apr: fix rss+perf+gold failure on do_compile_ptest_base
Was detected in Martin's world build

(From OE-Core rev: ef9dfc361e5e97157d05dfeaf67a3e872648d372)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:56 +00:00
Peter Kjellerstedt
1df119cd06 module.bbclass: Add inherit of pkgconfig
This is needed for the make_scripts task.

(From OE-Core rev: 554672d5f649eaf6a7d76f79520304415d926a3e)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:56 +00:00
Andreas Müller
fee8d9fdba parted: fix rss+perf+gold failure on do_compile_ptest_base
Was detected in Martin's world build

(From OE-Core rev: 2f41ca3911dd5d227e2dc2801c89149cd4e37434)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:56 +00:00
Jussi Kukkonen
2e213dd1b3 mesa: Upgrade 17.0.0 -> 17.0.1
This is a bug fix release and first non-development release in 17.0
branch. There are ~50 bug fix commits (plus a few release script
commits).

(From OE-Core rev: 465a6b49b680e1fedb059e97eb682cf5814cf078)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:56 +00:00
Maxin B. John
d0bed9a76e screen: update to 4.5.1
4.4.0 -> 4.5.1

Fixes logfile permissions problem (CVE-2017-5618)

(From OE-Core rev: d549881b3f675720c351745bcb854802ca21b582)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:56 +00:00
Aníbal Limón
aac3ad4785 buildhistory.bbclass: Only execute get_extra_sdkinfo when sdk is enabled
If sdk ins't in BUILDHISTORY_FEATURES the get_extra_sdkinfo fails
because no information about sdk is generated in buildhistory repo.

(From OE-Core rev: e6a0ea6146171635c49b18e00b4b11a9a7ff20ee)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:56 +00:00
Richard Purdie
1f718c80e6 yocto-uninative: Update to the 1.5 release
This upgrades to a version of patchelf which works on newer distros
and doesn't inflate binaries in crazy ways.

(From OE-Core rev: b857ec92564ee3f23adf88d2675d920aff13e141)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:56 +00:00
Andre McCurdy
9f3246522c meta: start to ignore the largefile distro feature
The largefile distro feature has been enabled by default in oe-core
for a long time and, more recently, also in poky-tiny. Building
without the largefile distro feature receives little or no testing.
Many packages now enable LFS without exposing a configure option, so
there should be very little expectation that disabling the distro
feature will result in a distro which globally disables LFS.

Respecting the distro feature adds a maintenance over-head and may be
the source of configurations oddities (e.g. dbus-native currently
builds with LFS disabled for no clear reason - fixed by this commit).

Ignore the largefile distro feature more widely, as a first step
towards deprecating and eventually removing it.

(From OE-Core rev: a75ccaea77c8aad8d46e87e8ed4af2e2e0ad5327)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:56 +00:00
Mark Hatle
fc6c81da79 gpgme: Fix issue building for the target
gpgme failed when configuring since you can only configure for one python
system at a time (via the inherits).  So we need to have a PACKAGECONFIG
that defines which one [or neither] you want to use.

The prior pkgconfig patch introduced the usage of the variable PKG_CONFIG,
which is not defined anywhere.  Define this.

When building the python module, we can not call gpg-error-config, so we
need to find an alternative way of finding the information the setup.py.in
requires.  (In this case, it's easy to just use the environment
STAGING_INCDIR.)

(From OE-Core rev: 839d6f124c2761194c868cf5597e1aa96571e1ca)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:56 +00:00
Saul Wold
07eca81801 crosstap: Changes to support Recipe specific sysroot
The crosstap script needed to be updated for recipe specific sysroot
changes including adding support for finding the systemtap binaries.

[YOCTO #10990]

(From OE-Core rev: 1098bcbc4520874967e7bd23fe798ab1a123fac4)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:56 +00:00
Saul Wold
3f0037ce3c systemtap: Add patch to remove quotes
This fixes the -I include lines that are getting passed to the
kernel macros

[YOCTO #10990]

(From OE-Core rev: b4d2f41a474c111e5fc64cae635d851386d860ba)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:56 +00:00
David Reyna
35ce834167 bitbake: toaster: resolve missing 'native[sdk]:' prefixes
Some task events are missing the 'virtual:native[sdk]:' prefixes.
The Toaster has code to help match missing prefixes, but needs
additional help resolving between 'native:' and 'nativesdk:', by
way of the '_package' event field.

[YOCTO #10849]

(Bitbake rev: e455e40ba309837903b9e2d5f1dff55cce1135de)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: brian avery <brian.avery@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-07 22:21:47 +00:00
618 changed files with 10308 additions and 13560 deletions

View File

@@ -30,19 +30,9 @@ sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), '
import bb.tinfoil
import bb.siggen
import bb.msg
def logger_create(name, output=sys.stderr):
logger = logging.getLogger(name)
console = logging.StreamHandler(output)
format = bb.msg.BBLogFormatter("%(levelname)s: %(message)s")
if output.isatty():
format.enable_color()
console.setFormatter(format)
logger.addHandler(console)
logger.setLevel(logging.INFO)
return logger
logger = logger_create('bitbake-diffsigs')
logger = bb.msg.logger_create('bitbake-diffsigs')
def find_compare_task(bbhandler, pn, taskname):
""" Find the most recent signature files for the specified PN/task and compare them """
@@ -94,6 +84,8 @@ def find_compare_task(bbhandler, pn, taskname):
return recout
# Recurse into signature comparison
logger.debug("Signature file (previous): %s" % latestfiles[0])
logger.debug("Signature file (latest): %s" % latestfiles[1])
output = bb.siggen.compare_sigfiles(latestfiles[0], latestfiles[1], recursecb)
if output:
print('\n'.join(output))
@@ -108,12 +100,19 @@ parser = optparse.OptionParser(
%prog sigdatafile1 sigdatafile2
%prog sigdatafile1""")
parser.add_option("-D", "--debug",
help = "enable debug",
action = "store_true", dest="debug", default = False)
parser.add_option("-t", "--task",
help = "find the signature data files for last two runs of the specified task and compare them",
action="store", dest="taskargs", nargs=2, metavar='recipename taskname')
options, args = parser.parse_args(sys.argv)
if options.debug:
logger.setLevel(logging.DEBUG)
if options.taskargs:
with bb.tinfoil.Tinfoil() as tinfoil:
tinfoil.prepare(config_only=True)

View File

@@ -27,39 +27,68 @@ import pickle
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), 'lib'))
import bb.tinfoil
import bb.siggen
import bb.msg
def logger_create(name, output=sys.stderr):
logger = logging.getLogger(name)
console = logging.StreamHandler(output)
format = bb.msg.BBLogFormatter("%(levelname)s: %(message)s")
if output.isatty():
format.enable_color()
console.setFormatter(format)
logger.addHandler(console)
logger.setLevel(logging.INFO)
return logger
logger = bb.msg.logger_create('bitbake-dumpsig')
logger = logger_create('bitbake-dumpsig')
def find_siginfo_task(bbhandler, pn, taskname):
""" Find the most recent signature file for the specified PN/task """
if not hasattr(bb.siggen, 'find_siginfo'):
logger.error('Metadata does not support finding signature data files')
sys.exit(1)
if not taskname.startswith('do_'):
taskname = 'do_%s' % taskname
filedates = bb.siggen.find_siginfo(pn, taskname, None, bbhandler.config_data)
latestfiles = sorted(filedates.keys(), key=lambda f: filedates[f])[-1:]
if not latestfiles:
logger.error('No sigdata files found matching %s %s' % (pn, taskname))
sys.exit(1)
return latestfiles[0]
parser = optparse.OptionParser(
description = "Dumps siginfo/sigdata files written out by BitBake",
usage = """
%prog -t recipename taskname
%prog sigdatafile""")
parser.add_option("-D", "--debug",
help = "enable debug",
action = "store_true", dest="debug", default = False)
parser.add_option("-t", "--task",
help = "find the signature data file for the specified task",
action="store", dest="taskargs", nargs=2, metavar='recipename taskname')
options, args = parser.parse_args(sys.argv)
if len(args) == 1:
parser.print_help()
else:
try:
output = bb.siggen.dump_sigfile(args[1])
except IOError as e:
logger.error(str(e))
sys.exit(1)
except (pickle.UnpicklingError, EOFError):
logger.error('Invalid signature data - ensure you are specifying a sigdata/siginfo file')
sys.exit(1)
if options.debug:
logger.setLevel(logging.DEBUG)
if output:
print('\n'.join(output))
if options.taskargs:
tinfoil = bb.tinfoil.Tinfoil()
tinfoil.prepare(config_only = True)
file = find_siginfo_task(tinfoil, options.taskargs[0], options.taskargs[1])
logger.debug("Signature file: %s" % file)
elif len(args) == 1:
parser.print_help()
sys.exit(0)
else:
file = args[1]
try:
output = bb.siggen.dump_sigfile(file)
except IOError as e:
logger.error(str(e))
sys.exit(1)
except (pickle.UnpicklingError, EOFError):
logger.error('Invalid signature data - ensure you are specifying a sigdata/siginfo file')
sys.exit(1)
if output:
print('\n'.join(output))

View File

@@ -30,26 +30,9 @@ topdir = os.path.dirname(bindir)
sys.path[0:0] = [os.path.join(topdir, 'lib')]
import bb.tinfoil
import bb.msg
def logger_create(name, output=sys.stderr):
logger = logging.getLogger(name)
loggerhandler = logging.StreamHandler(output)
loggerhandler.setFormatter(logging.Formatter("%(levelname)s: %(message)s"))
logger.addHandler(loggerhandler)
logger.setLevel(logging.INFO)
return logger
def logger_setup_color(logger, color='auto'):
from bb.msg import BBLogFormatter
console = logging.StreamHandler(sys.stdout)
formatter = BBLogFormatter("%(levelname)s: %(message)s")
console.setFormatter(formatter)
logger.handlers = [console]
if color == 'always' or (color == 'auto' and console.stream.isatty()):
formatter.enable_color()
logger = logger_create('bitbake-layers', sys.stdout)
logger = bb.msg.logger_create('bitbake-layers', sys.stdout)
def main():
parser = argparse.ArgumentParser(
@@ -74,7 +57,9 @@ def main():
elif global_args.quiet:
logger.setLevel(logging.ERROR)
logger_setup_color(logger, global_args.color)
# Need to re-run logger_create with color argument
# (will be the same logger since it has the same name)
bb.msg.logger_create('bitbake-layers', output=sys.stdout, color=global_args.color)
plugins = []
tinfoil = bb.tinfoil.Tinfoil(tracking=True)

View File

@@ -504,9 +504,19 @@
Read the specified file before bitbake.conf.
-R POSTFILE, --postread=POSTFILE
Read the specified file after bitbake.conf.
-v, --verbose Output more log message data to the terminal.
-D, --debug Increase the debug level. You can specify this more
than once.
-v, --verbose Enable tracing of shell tasks (with 'set -x').
Also print bb.note(...) messages to stdout (in
addition to writing them to ${T}/log.do_<task>).
-D, --debug Increase the debug level. You can specify this
more than once. -D sets the debug level to 1,
where only bb.debug(1, ...) messages are printed
to stdout; -DD sets the debug level to 2, where
both bb.debug(1, ...) and bb.debug(2, ...)
messages are printed; etc. Without -D, no debug
messages are printed. Note that -D only affects
output to stdout. All debug messages are written
to ${T}/log.do_taskname, regardless of the debug
level.
-n, --dry-run Don't execute, just go through the motions.
-S SIGNATURE_HANDLER, --dump-signatures=SIGNATURE_HANDLER
Dump out the signature construction information, with

View File

@@ -457,16 +457,22 @@ class CommandsSync:
dsindex = params[0]
name = params[1]
datastore = command.remotedatastores[dsindex]
value = datastore._findVar(name)
value, overridedata = datastore._findVar(name)
if value:
content = value.get('_content', None)
if isinstance(content, bb.data_smart.DataSmart):
# Value is a datastore (e.g. BB_ORIGENV) - need to handle this carefully
idx = command.remotedatastores.check_store(content, True)
return {'_content': DataStoreConnectionHandle(idx), '_connector_origtype': 'DataStoreConnectionHandle'}
return {'_content': DataStoreConnectionHandle(idx),
'_connector_origtype': 'DataStoreConnectionHandle',
'_connector_overrides': overridedata}
elif isinstance(content, set):
return {'_content': list(content), '_connector_origtype': 'set'}
return {'_content': list(content),
'_connector_origtype': 'set',
'_connector_overrides': overridedata}
else:
value['_connector_overrides'] = overridedata
return value
dataStoreConnectorFindVar.readonly = True
@@ -499,6 +505,31 @@ class CommandsSync:
raise CommandError('dataStoreConnectorRelease: invalid index %d' % dsindex)
command.remotedatastores.release(dsindex)
def dataStoreConnectorSetVarFlag(self, command, params):
dsindex = params[0]
name = params[1]
flag = params[2]
value = params[3]
datastore = command.remotedatastores[dsindex]
datastore.setVarFlag(name, flag, value)
def dataStoreConnectorDelVar(self, command, params):
dsindex = params[0]
name = params[1]
datastore = command.remotedatastores[dsindex]
if len(params) > 2:
flag = params[2]
datastore.delVarFlag(name, flag)
else:
datastore.delVar(name)
def dataStoreConnectorRenameVar(self, command, params):
dsindex = params[0]
name = params[1]
newname = params[2]
datastore = command.remotedatastores[dsindex]
datastore.renameVar(name, newname)
def parseRecipeFile(self, command, params):
"""
Parse the specified recipe file (with or without bbappends)

View File

@@ -648,7 +648,7 @@ class BBCooker:
# emit the metadata which isnt valid shell
data.expandKeys(envdata)
for e in envdata.keys():
for e in sorted(envdata.keys()):
if envdata.getVarFlag(e, 'func', False) and envdata.getVarFlag(e, 'python', False):
logger.plain("\npython %s () {\n%s}\n", e, envdata.getVar(e, False))
@@ -762,7 +762,7 @@ class BBCooker:
@staticmethod
def add_mc_prefix(mc, pn):
if mc:
return "multiconfig:%s.%s" % (mc, pn)
return "multiconfig:%s:%s" % (mc, pn)
return pn
def buildDependTree(self, rq, taskdata):

View File

@@ -148,6 +148,7 @@ class CookerConfiguration(object):
self.writeeventlog = False
self.server_only = False
self.limited_deps = False
self.runall = None
self.env = {}

View File

@@ -196,7 +196,7 @@ def emit_env(o=sys.__stdout__, d = init(), all=False):
keys = sorted((key for key in d.keys() if not key.startswith("__")), key=isfunc)
grouped = groupby(keys, isfunc)
for isfunc, keys in grouped:
for key in keys:
for key in sorted(keys):
emit_var(key, o, d, all and not isfunc) and o.write('\n')
def exported_keys(d):
@@ -220,7 +220,7 @@ def emit_func(func, o=sys.__stdout__, d = init()):
"""Emits all items in the data store in a format such that it can be sourced by a shell."""
keys = (key for key in d.keys() if not key.startswith("__") and not d.getVarFlag(key, "func", False))
for key in keys:
for key in sorted(keys):
emit_var(key, o, d, False)
o.write('\n')

View File

@@ -473,7 +473,7 @@ class DataSmart(MutableMapping):
dest = self.dict
while dest:
if var in dest:
return dest[var]
return dest[var], self.overridedata.get(var, None)
if "_remote_data" in dest:
connector = dest["_remote_data"]["_content"]
@@ -482,12 +482,13 @@ class DataSmart(MutableMapping):
if "_data" not in dest:
break
dest = dest["_data"]
return None, self.overridedata.get(var, None)
def _makeShadowCopy(self, var):
if var in self.dict:
return
local_var = self._findVar(var)
local_var, _ = self._findVar(var)
if local_var:
self.dict[var] = copy.copy(local_var)
@@ -608,6 +609,12 @@ class DataSmart(MutableMapping):
"""
Rename the variable key to newkey
"""
if '_remote_data' in self.dict:
connector = self.dict["_remote_data"]["_content"]
res = connector.renameVar(key, newkey)
if not res:
return
val = self.getVar(key, 0, parsing=True)
if val is not None:
loginfo['variable'] = newkey
@@ -651,6 +658,12 @@ class DataSmart(MutableMapping):
self.setVar(var + "_prepend", value, ignore=True, parsing=True)
def delVar(self, var, **loginfo):
if '_remote_data' in self.dict:
connector = self.dict["_remote_data"]["_content"]
res = connector.delVar(var)
if not res:
return
loginfo['detail'] = ""
loginfo['op'] = 'del'
self.varhistory.record(**loginfo)
@@ -677,6 +690,12 @@ class DataSmart(MutableMapping):
override = None
def setVarFlag(self, var, flag, value, **loginfo):
if '_remote_data' in self.dict:
connector = self.dict["_remote_data"]["_content"]
res = connector.setVarFlag(var, flag, value)
if not res:
return
self.expand_cache = {}
if 'op' not in loginfo:
loginfo['op'] = "set"
@@ -699,13 +718,13 @@ class DataSmart(MutableMapping):
self.dict["__exportlist"]["_content"].add(var)
def getVarFlag(self, var, flag, expand=True, noweakdefault=False, parsing=False):
local_var = self._findVar(var)
local_var, overridedata = self._findVar(var)
value = None
if flag == "_content" and var in self.overridedata and not parsing:
if flag == "_content" and overridedata is not None and not parsing:
match = False
active = {}
self.need_overrides()
for (r, o) in self.overridedata[var]:
for (r, o) in overridedata:
# What about double overrides both with "_" in the name?
if o in self.overridesset:
active[o] = r
@@ -795,8 +814,14 @@ class DataSmart(MutableMapping):
return value
def delVarFlag(self, var, flag, **loginfo):
if '_remote_data' in self.dict:
connector = self.dict["_remote_data"]["_content"]
res = connector.delVarFlag(var, flag)
if not res:
return
self.expand_cache = {}
local_var = self._findVar(var)
local_var, _ = self._findVar(var)
if not local_var:
return
if not var in self.dict:
@@ -839,7 +864,7 @@ class DataSmart(MutableMapping):
self.dict[var][i] = flags[i]
def getVarFlags(self, var, expand = False, internalflags=False):
local_var = self._findVar(var)
local_var, _ = self._findVar(var)
flags = {}
if local_var:
@@ -937,7 +962,10 @@ class DataSmart(MutableMapping):
if "_remote_data" in d:
connector = d["_remote_data"]["_content"]
klist |= connector.getKeys()
for key in connector.getKeys():
if key in deleted:
continue
klist.add(key)
return klist

View File

@@ -173,8 +173,8 @@ class Git(FetchMethod):
if len(branches) != len(ud.names):
raise bb.fetch2.ParameterError("The number of name and branch parameters is not balanced", ud.url)
ud.branches = {}
for name in ud.names:
branch = branches[ud.names.index(name)]
for pos, name in enumerate(ud.names):
branch = branches[pos]
ud.branches[name] = branch
ud.unresolvedrev[name] = branch
@@ -205,7 +205,7 @@ class Git(FetchMethod):
if ud.rebaseable:
for name in ud.names:
gitsrcname = gitsrcname + '_' + ud.revisions[name]
ud.mirrortarball = 'git2_%s.tar.gz' % (gitsrcname)
ud.mirrortarball = 'git2_%s.tar.gz' % gitsrcname
ud.fullmirror = os.path.join(d.getVar("DL_DIR"), ud.mirrortarball)
gitdir = d.getVar("GITDIR") or (d.getVar("DL_DIR") + "/git2/")
ud.clonedir = os.path.join(gitdir, gitsrcname)
@@ -240,7 +240,7 @@ class Git(FetchMethod):
# If the checkout doesn't exist and the mirror tarball does, extract it
if not os.path.exists(ud.clonedir) and os.path.exists(ud.fullmirror):
bb.utils.mkdirhier(ud.clonedir)
runfetchcmd("tar -xzf %s" % (ud.fullmirror), d, workdir=ud.clonedir)
runfetchcmd("tar -xzf %s" % ud.fullmirror, d, workdir=ud.clonedir)
repourl = self._get_repo_url(ud)
@@ -291,15 +291,15 @@ class Git(FetchMethod):
os.unlink(ud.fullmirror)
logger.info("Creating tarball of git repository")
runfetchcmd("tar -czf %s %s" % (ud.fullmirror, os.path.join(".") ), d, workdir=ud.clonedir)
runfetchcmd("touch %s.done" % (ud.fullmirror), d, workdir=ud.clonedir)
runfetchcmd("tar -czf %s ." % ud.fullmirror, d, workdir=ud.clonedir)
runfetchcmd("touch %s.done" % ud.fullmirror, d)
def unpack(self, ud, destdir, d):
""" unpack the downloaded src to destdir"""
subdir = ud.parm.get("subpath", "")
if subdir != "":
readpathspec = ":%s" % (subdir)
readpathspec = ":%s" % subdir
def_destsuffix = "%s/" % os.path.basename(subdir.rstrip('/'))
else:
readpathspec = ""
@@ -379,14 +379,26 @@ class Git(FetchMethod):
"""
Run git ls-remote with the specified search string
"""
repourl = self._get_repo_url(ud)
cmd = "%s ls-remote %s %s" % \
(ud.basecmd, repourl, search)
if ud.proto.lower() != 'file':
bb.fetch2.check_network_access(d, cmd, repourl)
output = runfetchcmd(cmd, d, True)
if not output:
raise bb.fetch2.FetchError("The command %s gave empty output unexpectedly" % cmd, ud.url)
# Prevent recursion e.g. in OE if SRCPV is in PV, PV is in WORKDIR,
# and WORKDIR is in PATH (as a result of RSS), our call to
# runfetchcmd() exports PATH so this function will get called again (!)
# In this scenario the return call of the function isn't actually
# important - WORKDIR isn't needed in PATH to call git ls-remote
# anyway.
if d.getVar('_BB_GIT_IN_LSREMOTE', False):
return ''
d.setVar('_BB_GIT_IN_LSREMOTE', '1')
try:
repourl = self._get_repo_url(ud)
cmd = "%s ls-remote %s %s" % \
(ud.basecmd, repourl, search)
if ud.proto.lower() != 'file':
bb.fetch2.check_network_access(d, cmd, repourl)
output = runfetchcmd(cmd, d, True)
if not output:
raise bb.fetch2.FetchError("The command %s gave empty output unexpectedly" % cmd, ud.url)
finally:
d.delVar('_BB_GIT_IN_LSREMOTE')
return output
def _latest_revision(self, ud, d, name):
@@ -469,7 +481,7 @@ class Git(FetchMethod):
if not os.path.exists(rev_file) or not os.path.getsize(rev_file):
from pipes import quote
commits = bb.fetch2.runfetchcmd(
"git rev-list %s -- | wc -l" % (quote(rev)),
"git rev-list %s -- | wc -l" % quote(rev),
d, quiet=True).strip().lstrip('0')
if commits:
open(rev_file, "w").write("%d\n" % int(commits))
@@ -484,5 +496,5 @@ class Git(FetchMethod):
try:
self._lsremote(ud, d, "")
return True
except FetchError:
except bb.fetch2.FetchError:
return False

View File

@@ -174,10 +174,21 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters):
help="Read the specified file after bitbake.conf.")
parser.add_option("-v", "--verbose", action="store_true", dest="verbose", default=False,
help="Output more log message data to the terminal.")
help="Enable tracing of shell tasks (with 'set -x'). "
"Also print bb.note(...) messages to stdout (in "
"addition to writing them to ${T}/log.do_<task>).")
parser.add_option("-D", "--debug", action="count", dest="debug", default=0,
help="Increase the debug level. You can specify this more than once.")
help="Increase the debug level. You can specify this "
"more than once. -D sets the debug level to 1, "
"where only bb.debug(1, ...) messages are printed "
"to stdout; -DD sets the debug level to 2, where "
"both bb.debug(1, ...) and bb.debug(2, ...) "
"messages are printed; etc. Without -D, no debug "
"messages are printed. Note that -D only affects "
"output to stdout. All debug messages are written "
"to ${T}/log.do_taskname, regardless of the debug "
"level.")
parser.add_option("-q", "--quiet", action="count", dest="quiet", default=0,
help="Output less log message data to the terminal. You can specify this more than once.")
@@ -287,6 +298,9 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters):
help="Writes the event log of the build to a bitbake event json file. "
"Use '' (empty string) to assign the name automatically.")
parser.add_option("", "--runall", action="store", dest="runall",
help="Run the specified task for all build targets and their dependencies.")
options, targets = parser.parse_args(argv)
if options.quiet and options.verbose:

View File

@@ -201,3 +201,18 @@ def fatal(msgdomain, msg):
logger = logging.getLogger("BitBake")
logger.critical(msg)
sys.exit(1)
def logger_create(name, output=sys.stderr, level=logging.INFO, preserve_handlers=False, color='auto'):
"""Standalone logger creation function"""
logger = logging.getLogger(name)
console = logging.StreamHandler(output)
format = bb.msg.BBLogFormatter("%(levelname)s: %(message)s")
if color == 'always' or (color == 'auto' and output.isatty()):
format.enable_color()
console.setFormatter(format)
if preserve_handlers:
logger.addHandler(console)
else:
logger.handlers = [console]
logger.setLevel(level)
return logger

View File

@@ -33,7 +33,7 @@ from bb.parse import ParseError, resolve_file, ast, logger, handle
__config_regexp__ = re.compile( r"""
^
(?P<exp>export\s*)?
(?P<var>[a-zA-Z0-9\-~_+.${}/]+?)
(?P<var>[a-zA-Z0-9\-_+.${}/~]+?)
(\[(?P<flag>[a-zA-Z0-9\-_+.]+)\])?
\s* (
@@ -56,9 +56,9 @@ __config_regexp__ = re.compile( r"""
""", re.X)
__include_regexp__ = re.compile( r"include\s+(.+)" )
__require_regexp__ = re.compile( r"require\s+(.+)" )
__export_regexp__ = re.compile( r"export\s+([a-zA-Z0-9\-_+.${}/]+)$" )
__unset_regexp__ = re.compile( r"unset\s+([a-zA-Z0-9\-_+.${}/]+)$" )
__unset_flag_regexp__ = re.compile( r"unset\s+([a-zA-Z0-9\-_+.${}/]+)\[([a-zA-Z0-9\-_+.${}/]+)\]$" )
__export_regexp__ = re.compile( r"export\s+([a-zA-Z0-9\-_+.${}/~]+)$" )
__unset_regexp__ = re.compile( r"unset\s+([a-zA-Z0-9\-_+.${}/~]+)$" )
__unset_flag_regexp__ = re.compile( r"unset\s+([a-zA-Z0-9\-_+.${}/~]+)\[([a-zA-Z0-9\-_+.]+)\]$" )
def init(data):
topdir = data.getVar('TOPDIR', False)

View File

@@ -803,6 +803,23 @@ class RunQueueData:
self.init_progress_reporter.next_stage()
if self.cooker.configuration.runall is not None:
runall = "do_%s" % self.cooker.configuration.runall
runall_tids = { k: v for k, v in self.runtaskentries.items() if taskname_from_tid(k) == runall }
# re-run the mark_active and then drop unused tasks from new list
runq_build = {}
for tid in list(runall_tids):
mark_active(tid,1)
for tid in list(self.runtaskentries.keys()):
if tid not in runq_build:
del self.runtaskentries[tid]
delcount += 1
if len(self.runtaskentries) == 0:
bb.msg.fatal("RunQueue", "No remaining tasks to run for build target %s with runall %s" % (target, runall))
#
# Step D - Sanity checks and computation
#

View File

@@ -97,7 +97,7 @@ class TaskData:
if dep:
parts = dep.split(":")
if len(parts) != 2:
bb.msg.fatal("TaskData", "Error for %s, dependency %s does not contain exactly one ':' character.\n Task '%s' should be specified in the form 'packagename:task'" % (fn, dep, dep_name))
bb.msg.fatal("TaskData", "Error for %s:%s[%s], dependency %s in '%s' does not contain exactly one ':' character.\n Task '%s' should be specified in the form 'packagename:task'" % (fn, task, dep_name, dep, task_deps[dep_name][task], dep_name))
ids.append((parts[0], parts[1]))
seen(parts[0])
depends.extend(ids)

View File

@@ -285,8 +285,8 @@ def a():
test(d)
bb.data.expand(d.getVar("something", False), d)
bb.data.expand("${inexpand} somethingelse", d)
d.expand(d.getVar("something", False))
d.expand("${inexpand} somethingelse")
d.getVar(a(), False)
"""

View File

@@ -283,6 +283,13 @@ class TestConcatOverride(unittest.TestCase):
self.d.setVar("TEST_remove", "val")
self.assertEqual(self.d.getVar("TEST"), "bar")
# Ensure the value is unchanged if we have an inactive remove override
# (including that whitespace is preserved)
def test_remove_inactive_override(self):
self.d.setVar("TEST", "${VAL} ${BAR} 123")
self.d.setVar("TEST_remove_inactiveoverride", "val")
self.assertEqual(self.d.getVar("TEST"), "val bar 123")
def test_doubleref_remove(self):
self.d.setVar("TEST", "${VAL} ${BAR}")
self.d.setVar("TEST_remove", "val")
@@ -453,26 +460,43 @@ class Serialize(unittest.TestCase):
self.assertEqual(newd.getVarFlag('HELLO', 'other'), 'planet')
# Remote datastore tests
# These really only test the interface, since in actual usage we have a
# tinfoil connector that does everything over RPC, and this doesn't test
# that.
class TestConnector:
d = None
def __init__(self, d):
self.d = d
def getVar(self, name):
return self.d._findVar(name)
def getKeys(self):
return set(self.d.keys())
def getVarHistory(self, name):
return self.d.varhistory.variable(name)
def expandPythonRef(self, varname, expr, d):
localdata = self.d.createCopy()
for key in d.localkeys():
localdata.setVar(d.getVar(key))
varparse = bb.data_smart.VariableParse(varname, localdata)
return varparse.python_sub(expr)
def setVar(self, name, value):
self.d.setVar(name, value)
def setVarFlag(self, name, flag, value):
self.d.setVarFlag(name, flag, value)
def delVar(self, name):
self.d.delVar(name)
return False
def delVarFlag(self, name, flag):
self.d.delVarFlag(name, flag)
return False
def renameVar(self, name, newname):
self.d.renameVar(name, newname)
return False
class Remote(unittest.TestCase):
def test_remote(self):
class TestConnector:
d = None
def __init__(self, d):
self.d = d
def getVar(self, name):
return self.d._findVar(name)
def getKeys(self):
return self.d.localkeys()
def getVarHistory(self, name):
return self.d.varhistory.variable(name)
def expandPythonRef(self, varname, expr, d):
localdata = self.d.createCopy()
for key in d.localkeys():
localdata.setVar(d.getVar(key))
varparse = bb.data_smart.VariableParse(varname, localdata)
return varparse.python_sub(expr)
def setVar(self, name, value):
self.d.setVar(name, value)
d1 = bb.data.init()
d1.enableTracking()
@@ -493,6 +517,85 @@ class Remote(unittest.TestCase):
# Test setVar on client side affects server
d2.setVar('HELLO', 'other-world')
self.assertEqual(d1.getVar('HELLO'), 'other-world')
# Test setVarFlag on client side affects server
d2.setVarFlag('HELLO', 'flagname', 'flagvalue')
self.assertEqual(d1.getVarFlag('HELLO', 'flagname'), 'flagvalue')
# Test client side data is incorporated in python expansion (which is done on server)
d2.setVar('FOO', 'bar')
self.assertEqual(d2.expand('${@d.getVar("FOO")}'), 'bar')
# Test overrides work
d1.setVar('FOO_test', 'baz')
d1.appendVar('OVERRIDES', ':test')
self.assertEqual(d2.getVar('FOO'), 'baz')
# Remote equivalents of local test classes
# Note that these aren't perfect since we only test in one direction
class RemoteDataExpansions(DataExpansions):
def setUp(self):
self.d1 = bb.data.init()
self.d = bb.data.init()
self.d1["foo"] = "value_of_foo"
self.d1["bar"] = "value_of_bar"
self.d1["value_of_foo"] = "value_of_'value_of_foo'"
connector = TestConnector(self.d1)
self.d.setVar('_remote_data', connector)
class TestRemoteNestedExpansions(TestNestedExpansions):
def setUp(self):
self.d1 = bb.data.init()
self.d = bb.data.init()
self.d1["foo"] = "foo"
self.d1["bar"] = "bar"
self.d1["value_of_foobar"] = "187"
connector = TestConnector(self.d1)
self.d.setVar('_remote_data', connector)
class TestRemoteConcat(TestConcat):
def setUp(self):
self.d1 = bb.data.init()
self.d = bb.data.init()
self.d1.setVar("FOO", "foo")
self.d1.setVar("VAL", "val")
self.d1.setVar("BAR", "bar")
connector = TestConnector(self.d1)
self.d.setVar('_remote_data', connector)
class TestRemoteConcatOverride(TestConcatOverride):
def setUp(self):
self.d1 = bb.data.init()
self.d = bb.data.init()
self.d1.setVar("FOO", "foo")
self.d1.setVar("VAL", "val")
self.d1.setVar("BAR", "bar")
connector = TestConnector(self.d1)
self.d.setVar('_remote_data', connector)
class TestRemoteOverrides(TestOverrides):
def setUp(self):
self.d1 = bb.data.init()
self.d = bb.data.init()
self.d1.setVar("OVERRIDES", "foo:bar:local")
self.d1.setVar("TEST", "testvalue")
connector = TestConnector(self.d1)
self.d.setVar('_remote_data', connector)
class TestRemoteKeyExpansion(TestKeyExpansion):
def setUp(self):
self.d1 = bb.data.init()
self.d = bb.data.init()
self.d1.setVar("FOO", "foo")
self.d1.setVar("BAR", "foo")
connector = TestConnector(self.d1)
self.d.setVar('_remote_data', connector)
class TestRemoteFlags(TestFlags):
def setUp(self):
self.d1 = bb.data.init()
self.d = bb.data.init()
self.d1.setVar("foo", "value of foo")
self.d1.setVarFlag("foo", "flag1", "value of flag1")
self.d1.setVarFlag("foo", "flag2", "value of flag2")
connector = TestConnector(self.d1)
self.d.setVar('_remote_data', connector)

View File

@@ -1,6 +1,6 @@
# tinfoil: a simple wrapper around cooker for bitbake-based command-line utilities
#
# Copyright (C) 2012-2016 Intel Corporation
# Copyright (C) 2012-2017 Intel Corporation
# Copyright (C) 2011 Mentor Graphics Corporation
#
# This program is free software; you can redistribute it and/or modify
@@ -60,12 +60,15 @@ class TinfoilDataStoreConnector:
self.dsindex = dsindex
def getVar(self, name):
value = self.tinfoil.run_command('dataStoreConnectorFindVar', self.dsindex, name)
overrides = None
if isinstance(value, dict):
if '_connector_origtype' in value:
value['_content'] = self.tinfoil._reconvert_type(value['_content'], value['_connector_origtype'])
del value['_connector_origtype']
return value
if '_connector_overrides' in value:
overrides = value['_connector_overrides']
del value['_connector_overrides']
return value, overrides
def getKeys(self):
return set(self.tinfoil.run_command('dataStoreConnectorGetKeys', self.dsindex))
def getVarHistory(self, name):
@@ -81,6 +84,34 @@ class TinfoilDataStoreConnector:
# Not currently implemented - indicate that setting should
# be redirected to local side
return True
def setVarFlag(self, varname, flagname, value):
if self.dsindex is None:
self.tinfoil.run_command('dataStoreConnectorSetVarFlag', self.dsindex, varname, flagname, value)
else:
# Not currently implemented - indicate that setting should
# be redirected to local side
return True
def delVar(self, varname):
if self.dsindex is None:
self.tinfoil.run_command('dataStoreConnectorDelVar', self.dsindex, varname)
else:
# Not currently implemented - indicate that setting should
# be redirected to local side
return True
def delVarFlag(self, varname, flagname):
if self.dsindex is None:
self.tinfoil.run_command('dataStoreConnectorDelVar', self.dsindex, varname, flagname)
else:
# Not currently implemented - indicate that setting should
# be redirected to local side
return True
def renameVar(self, name, newname):
if self.dsindex is None:
self.tinfoil.run_command('dataStoreConnectorRenameVar', self.dsindex, name, newname)
else:
# Not currently implemented - indicate that setting should
# be redirected to local side
return True
class TinfoilCookerAdapter:
"""
@@ -179,13 +210,17 @@ class TinfoilCookerAdapter:
class Tinfoil:
def __init__(self, output=sys.stdout, tracking=False):
def __init__(self, output=sys.stdout, tracking=False, setup_logging=True):
self.logger = logging.getLogger('BitBake')
self.config_data = None
self.cooker = None
self.tracking = tracking
self.ui_module = None
self.server_connection = None
if setup_logging:
# This is the *client-side* logger, nothing to do with
# logging messages from the server
bb.msg.logger_create('BitBake', output)
def __enter__(self):
return self

View File

@@ -1258,6 +1258,14 @@ class BuildInfoHelper(object):
candidates = [x for x in self.internal_state['taskdata'].keys() if x.endswith(identifier)]
if len(candidates) == 1:
identifier = candidates[0]
elif len(candidates) > 1 and hasattr(event,'_package'):
if 'native-' in event._package:
identifier = 'native:' + identifier
if 'nativesdk-' in event._package:
identifier = 'nativesdk:' + identifier
candidates = [x for x in self.internal_state['taskdata'].keys() if x.endswith(identifier)]
if len(candidates) == 1:
identifier = candidates[0]
assert identifier in self.internal_state['taskdata']
identifierlist = identifier.split(":")

View File

@@ -75,10 +75,8 @@ class BBProgress(progressbar.ProgressBar):
extrastr = str(extra)
if extrastr[0] != ' ':
extrastr = ' ' + extrastr
if extrastr[-1] != ' ':
extrastr += ' '
else:
extrastr = ' '
extrastr = ''
self.widgets[self.extrapos] = extrastr
def _need_update(self):

View File

@@ -56,7 +56,7 @@ class LayerIndexPlugin(ActionPlugin):
r = conn.getresponse()
if r.status != 200:
raise Exception("Failed to read " + path + ": %d %s" % (r.status, r.reason))
return json.loads(r.read())
return json.loads(r.read().decode())
def get_layer_deps(self, layername, layeritems, layerbranches, layerdependencies, branchnum, selfname=False):
def layeritems_info_id(items_name, layeritems):

View File

@@ -115,7 +115,7 @@
</revision>
<revision>
<revnumber>2.3</revnumber>
<date>Proposed for April 2017</date>
<date>May 2017</date>
<revremark>Released with the Yocto Project 2.3 Release.</revremark>
</revision>
</revhistory>

View File

@@ -45,6 +45,10 @@
You can accomplish this through a recipe that is a BitBake append
(<filename>.bbappend</filename>) file, which is described later
in this section.
<note>
For general information on BSP layer structure, see the
<ulink url='&YOCTO_DOCS_BSP_URL;#bsp'>Board Support Packages (BSP) - Developer's Guide</ulink>.
</note>
</para>
<para>
@@ -4475,7 +4479,7 @@
<listitem><para>
Wic is a completely independent
standalone utility that initially provides
easier-to-use and more flexible replacements for a
easier-to-use and more flexible replacements for an
existing functionality in OE Core's
<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-image-live'><filename>image-live</filename></ulink>
class and <filename>mkefidisk.sh</filename> script.
@@ -5038,6 +5042,14 @@
<filename>--source</filename> keyword to a
particular plug-in implementation that populates a
corresponding partition.
<note>
If you use plug-ins that have build-time dependencies
(e.g. native tools, bootloaders, and so forth)
when building a Wic image, you need to specify those
dependencies using the
<ulink url='&YOCTO_DOCS_REF_URL;#var-WKS_FILE_DEPENDS'><filename>WKS_FILE_DEPENDS</filename></ulink>
variable.
</note>
</para>
<para>
@@ -5232,9 +5244,7 @@
<itemizedlist>
<listitem><para>
<filename>/<replaceable>path</replaceable></filename>:
For example, <filename>/</filename>,
<filename>/usr</filename>, or
<filename>/home</filename>
For example, "/", "/usr", or "/home"
</para></listitem>
<listitem><para>
<filename>swap</filename>:
@@ -8372,6 +8382,127 @@
</section>
</section>
<section id='generating-and-using-signed-packages'>
<title>Generating and Using Signed Packages</title>
<para>
In order to add security to RPM packages used during a build,
you can take steps to securely sign them.
Once a signature is verified, the OpenEmbedded build system
can use the package in the build.
If security fails for a signed package, the build system
aborts the build.
</para>
<para>
This section describes how to sign RPM packages during a build
and how to use signed package feeds (repositories) when
doing a build.
</para>
<section id='signing-rpm-packages'>
<title>Signing RPM Packages</title>
<para>
To enable signing RPM packages, you must set up the
following configurations in either your
<filename>local.config</filename> or
<filename>distro.config</filename> file:
<literallayout class='monospaced'>
# Inherit sign_rpm.bbclass to enable signing functionality
INHERIT += " sign_rpm"
# Define the GPG key that will be used for signing.
RPM_GPG_NAME = "<replaceable>key_name</replaceable>"
# Provide passphrase for the key
RPM_GPG_PASSPHRASE = "<replaceable>passphrase</replaceable>"
</literallayout>
<note>
Be sure to supply appropriate values for both
<replaceable>key_name</replaceable> and
<replaceable>passphrase</replaceable>
</note>
Aside from the
<filename>RPM_GPG_NAME</filename> and
<filename>RPM_GPG_PASSPHRASE</filename> variables in the
previous example, two optional variables related to signing
exist:
<itemizedlist>
<listitem><para>
<emphasis><filename>GPG_BIN</filename>:</emphasis>
Specifies a <filename>gpg</filename> binary/wrapper
that is executed when the package is signed.
</para></listitem>
<listitem><para>
<emphasis><filename>GPG_PATH</filename>:</emphasis>
Specifies the <filename>gpg</filename> home
directory used when the package is signed.
</para></listitem>
</itemizedlist>
</para>
</section>
<section id='processing-package-feeds'>
<title>Processing Package Feeds</title>
<para>
In addition to being able to sign RPM packages, you can
also enable the OpenEmbedded build system to be able to
handle previously signed package feeds for both RPM and IPK
packages.
<note>
The OpenEmbedded build system does not currently
support signed DPKG package feeds.
</note>
The steps you need to take to enable signed package feed
use are similar to the steps used to sign RPM packages.
You must define the following in your
<filename>local.config</filename> or
<filename>distro.config</filename> file:
<literallayout class='monospaced'>
INHERIT += "sign_package_feed"
PACKAGE_FEED_GPG_NAME = "<replaceable>key_name</replaceable>"
PACKAGE_FEED_GPG_PASSPHRASE_FILE = "<replaceable>path_to_file_containing_passphrase</replaceable>"
</literallayout>
For signed package feeds, the passphrase must exist in a
separate file, which is pointed to by the
<filename>PACKAGE_FEED_GPG_PASSPHRASE_FILE</filename>
variable.
Regarding security, keeping a plain text passphrase out of
the configuration is more secure.
</para>
<para>
Aside from the
<filename>PACKAGE_FEED_GPG_NAME</filename> and
<filename>PACKAGE_FEED_GPG_PASSPHRASE_FILE</filename>
variables, three optional variables related to signed
package feeds exist:
<itemizedlist>
<listitem><para>
<emphasis><filename>GPG_BIN</filename>:</emphasis>
Specifies a <filename>gpg</filename> binary/wrapper
that is executed when the package is signed.
</para></listitem>
<listitem><para>
<emphasis><filename>GPG_PATH</filename>:</emphasis>
Specifies the <filename>gpg</filename> home
directory used when the package is signed.
</para></listitem>
<listitem><para>
<emphasis><filename>PACKAGE_FEED_GPG_SIGNATURE_TYPE</filename>:</emphasis>
Specifies the type of <filename>gpg</filename>
signature.
This variable applies only to RPM and IPK package
feeds.
Allowable values for the
<filename>PACKAGE_FEED_GPG_SIGNATURE_TYPE</filename>
are "ASC", which is the default and specifies ascii
armored, and "BIN", which specifies binary.
</para></listitem>
</itemizedlist>
</para>
</section>
</section>
<section id='testing-packages-with-ptest'>
<title>Testing Packages With ptest</title>

View File

@@ -93,7 +93,7 @@
</revision>
<revision>
<revnumber>2.3</revnumber>
<date>Proposed for April 2017</date>
<date>May 2017</date>
<revremark>Released with the Yocto Project 2.3 Release.</revremark>
</revision>
</revhistory>

View File

@@ -83,13 +83,14 @@
The linux-yocto style recipes can optionally define the following
variables:
<literallayout class='monospaced'>
<ulink url='&YOCTO_DOCS_REF_URL;#var-KERNEL_FEATURES'>KERNEL_FEATURES</ulink>
<ulink url='&YOCTO_DOCS_REF_URL;#var-LINUX_KERNEL_TYPE'>LINUX_KERNEL_TYPE</ulink>
KERNEL_FEATURES
LINUX_KERNEL_TYPE
</literallayout>
</para>
<para>
<filename>LINUX_KERNEL_TYPE</filename> defines the kernel type to be
<ulink url='&YOCTO_DOCS_REF_URL;#var-LINUX_KERNEL_TYPE'><filename>LINUX_KERNEL_TYPE</filename></ulink>
defines the kernel type to be
used in assembling the configuration.
If you do not specify a <filename>LINUX_KERNEL_TYPE</filename>,
it defaults to "standard".
@@ -134,7 +135,9 @@
</para>
<para>
You can use the <filename>KERNEL_FEATURES</filename> variable
You can use the
<ulink url='&YOCTO_DOCS_REF_URL;#var-KERNEL_FEATURES'><filename>KERNEL_FEATURES</filename></ulink>
variable
to include features (configuration fragments, patches, or both) that
are not already included by the <filename>KMACHINE</filename> and
<filename>LINUX_KERNEL_TYPE</filename> variable combination.
@@ -167,175 +170,6 @@
</para>
</section>
<section id='kernel-metadata-location'>
<title>Kernel Metadata Location</title>
<para>
Kernel Metadata always exists outside of the kernel tree either
defined in a kernel recipe (recipe-space) or outside of the recipe.
Where you choose to define the Metadata depends on what you want
to do and how you intend to work.
Regardless of where you define the kernel Metadata, the syntax used
applies equally.
</para>
<para>
If you are unfamiliar with the Linux kernel and only wish
to apply a configuration and possibly a couple of patches provided to
you by others, the recipe-space method is recommended.
This method is also a good approach if you are working with Linux kernel
sources you do not control or if you just do not want to maintain a
Linux kernel Git repository on your own.
For partial information on how you can define kernel Metadata in
the recipe-space, see the
"<link linkend='modifying-an-existing-recipe'>Modifying an Existing Recipe</link>"
section.
</para>
<para>
Conversely, if you are actively developing a kernel and are already
maintaining a Linux kernel Git repository of your own, you might find
it more convenient to work with kernel Metadata kept outside the
recipe-space.
Working with Metadata in this area can make iterative development of
the Linux kernel more efficient outside of the BitBake environment.
</para>
<section id='recipe-space-metadata'>
<title>Recipe-Space Metadata</title>
<para>
When stored in recipe-space, the kernel Metadata files reside in a
directory hierarchy below
<ulink url='&YOCTO_DOCS_REF_URL;#var-FILESEXTRAPATHS'><filename>FILESEXTRAPATHS</filename></ulink>.
For a linux-yocto recipe or for a Linux kernel recipe derived
by copying and modifying
<filename>oe-core/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb</filename>
to a recipe in your layer, <filename>FILESEXTRAPATHS</filename>
is typically set to
<filename>${</filename><ulink url='&YOCTO_DOCS_REF_URL;#var-THISDIR'><filename>THISDIR</filename></ulink><filename>}/${</filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PN'><filename>PN</filename></ulink><filename>}</filename>.
See the "<link linkend='modifying-an-existing-recipe'>Modifying an Existing Recipe</link>"
section for more information.
</para>
<para>
Here is an example that shows a trivial tree of kernel Metadata
stored in recipe-space within a BSP layer:
<literallayout class='monospaced'>
meta-<replaceable>my_bsp_layer</replaceable>/
`-- recipes-kernel
`-- linux
`-- linux-yocto
|-- bsp-standard.scc
|-- bsp.cfg
`-- standard.cfg
</literallayout>
</para>
<para>
When the Metadata is stored in recipe-space, you must take
steps to ensure BitBake has the necessary information to decide
what files to fetch and when they need to be fetched again.
It is only necessary to specify the <filename>.scc</filename>
files on the
<ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink>.
BitBake parses them and fetches any files referenced in the
<filename>.scc</filename> files by the <filename>include</filename>,
<filename>patch</filename>, or <filename>kconf</filename> commands.
Because of this, it is necessary to bump the recipe
<ulink url='&YOCTO_DOCS_REF_URL;#var-PR'><filename>PR</filename></ulink>
value when changing the content of files not explicitly listed
in the <filename>SRC_URI</filename>.
</para>
</section>
<section id='metadata-outside-the-recipe-space'>
<title>Metadata Outside the Recipe-Space</title>
<para>
When stored outside of the recipe-space, the kernel Metadata
files reside in a separate repository.
The OpenEmbedded build system adds the Metadata to the build as
a "ktype=meta" repository through the
<ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink>
variable.
As an example, consider the following <filename>SRC_URI</filename>
statement from the <filename>linux-yocto_4.4.bb</filename>
kernel recipe:
<literallayout class='monospaced'>
SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=${KBRANCH}; \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}"
</literallayout>
<filename>${KMETA}</filename>, in this context, is simply used to
name the directory into which the Git fetcher places the Metadata.
This behavior is no different than any multi-repository
<filename>SRC_URI</filename> statement used in a recipe.
</para>
<para>
You can keep kernel Metadata in a "kernel-cache", which is a
directory containing configuration fragments.
As with any Metadata kept outside the recipe-space, you simply
need to use the <filename>SRC_URI</filename> statement with the
"type=kmeta" attribute.
Doing so makes the kernel Metadata available during the
configuration phase.
</para>
<!--
<para>
Following is an example that shows how a trivial tree of Metadata
is stored in a custom Linux kernel Git repository:
<literallayout class='monospaced'>
meta/
`&dash;&dash; cfg
`&dash;&dash; kernel-cache
|&dash;&dash; bsp-standard.scc
|&dash;&dash; bsp.cfg
`&dash;&dash; standard.cfg
</literallayout>
</para>
<para>
To use a branch different from where the sources reside,
specify the branch in the <filename>KMETA</filename> variable
in your Linux kernel recipe.
Here is an example:
<literallayout class='monospaced'>
KMETA = "meta"
</literallayout>
To use the same branch as the sources, set
<filename>KMETA</filename> to an empty string:
<literallayout class='monospaced'>
KMETA = ""
</literallayout>
If you are working with your own sources and want to create an
orphan <filename>meta</filename> branch, use these commands
from within your Linux kernel Git repository:
<literallayout class='monospaced'>
$ git checkout &dash;&dash;orphan meta
$ git rm -rf .
$ git commit &dash;&dash;allow-empty -m "Create orphan meta branch"
</literallayout>
</para>
-->
<para>
If you modify the Metadata, you must not forget to update the
<ulink url='&YOCTO_DOCS_REF_URL;#var-SRCREV'><filename>SRCREV</filename></ulink>
statements in the kernel's recipe.
In particular, you need to update the
<filename>SRCREV_meta</filename> variable to match the commit in
the <filename>KMETA</filename> branch you wish to use.
Changing the data in these branches and not updating the
<filename>SRCREV</filename> statements to match will cause the
build to fetch an older commit.
</para>
</section>
</section>
<section id='kernel-metadata-syntax'>
<title>Kernel Metadata Syntax</title>
@@ -881,6 +715,175 @@
</section>
</section>
<section id='kernel-metadata-location'>
<title>Kernel Metadata Location</title>
<para>
Kernel Metadata always exists outside of the kernel tree either
defined in a kernel recipe (recipe-space) or outside of the recipe.
Where you choose to define the Metadata depends on what you want
to do and how you intend to work.
Regardless of where you define the kernel Metadata, the syntax used
applies equally.
</para>
<para>
If you are unfamiliar with the Linux kernel and only wish
to apply a configuration and possibly a couple of patches provided to
you by others, the recipe-space method is recommended.
This method is also a good approach if you are working with Linux kernel
sources you do not control or if you just do not want to maintain a
Linux kernel Git repository on your own.
For partial information on how you can define kernel Metadata in
the recipe-space, see the
"<link linkend='modifying-an-existing-recipe'>Modifying an Existing Recipe</link>"
section.
</para>
<para>
Conversely, if you are actively developing a kernel and are already
maintaining a Linux kernel Git repository of your own, you might find
it more convenient to work with kernel Metadata kept outside the
recipe-space.
Working with Metadata in this area can make iterative development of
the Linux kernel more efficient outside of the BitBake environment.
</para>
<section id='recipe-space-metadata'>
<title>Recipe-Space Metadata</title>
<para>
When stored in recipe-space, the kernel Metadata files reside in a
directory hierarchy below
<ulink url='&YOCTO_DOCS_REF_URL;#var-FILESEXTRAPATHS'><filename>FILESEXTRAPATHS</filename></ulink>.
For a linux-yocto recipe or for a Linux kernel recipe derived
by copying and modifying
<filename>oe-core/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb</filename>
to a recipe in your layer, <filename>FILESEXTRAPATHS</filename>
is typically set to
<filename>${</filename><ulink url='&YOCTO_DOCS_REF_URL;#var-THISDIR'><filename>THISDIR</filename></ulink><filename>}/${</filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PN'><filename>PN</filename></ulink><filename>}</filename>.
See the "<link linkend='modifying-an-existing-recipe'>Modifying an Existing Recipe</link>"
section for more information.
</para>
<para>
Here is an example that shows a trivial tree of kernel Metadata
stored in recipe-space within a BSP layer:
<literallayout class='monospaced'>
meta-<replaceable>my_bsp_layer</replaceable>/
`-- recipes-kernel
`-- linux
`-- linux-yocto
|-- bsp-standard.scc
|-- bsp.cfg
`-- standard.cfg
</literallayout>
</para>
<para>
When the Metadata is stored in recipe-space, you must take
steps to ensure BitBake has the necessary information to decide
what files to fetch and when they need to be fetched again.
It is only necessary to specify the <filename>.scc</filename>
files on the
<ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink>.
BitBake parses them and fetches any files referenced in the
<filename>.scc</filename> files by the <filename>include</filename>,
<filename>patch</filename>, or <filename>kconf</filename> commands.
Because of this, it is necessary to bump the recipe
<ulink url='&YOCTO_DOCS_REF_URL;#var-PR'><filename>PR</filename></ulink>
value when changing the content of files not explicitly listed
in the <filename>SRC_URI</filename>.
</para>
</section>
<section id='metadata-outside-the-recipe-space'>
<title>Metadata Outside the Recipe-Space</title>
<para>
When stored outside of the recipe-space, the kernel Metadata
files reside in a separate repository.
The OpenEmbedded build system adds the Metadata to the build as
a "ktype=meta" repository through the
<ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink>
variable.
As an example, consider the following <filename>SRC_URI</filename>
statement from the <filename>linux-yocto_4.4.bb</filename>
kernel recipe:
<literallayout class='monospaced'>
SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=${KBRANCH}; \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}"
</literallayout>
<filename>${KMETA}</filename>, in this context, is simply used to
name the directory into which the Git fetcher places the Metadata.
This behavior is no different than any multi-repository
<filename>SRC_URI</filename> statement used in a recipe.
</para>
<para>
You can keep kernel Metadata in a "kernel-cache", which is a
directory containing configuration fragments.
As with any Metadata kept outside the recipe-space, you simply
need to use the <filename>SRC_URI</filename> statement with the
"type=kmeta" attribute.
Doing so makes the kernel Metadata available during the
configuration phase.
</para>
<!--
<para>
Following is an example that shows how a trivial tree of Metadata
is stored in a custom Linux kernel Git repository:
<literallayout class='monospaced'>
meta/
`&dash;&dash; cfg
`&dash;&dash; kernel-cache
|&dash;&dash; bsp-standard.scc
|&dash;&dash; bsp.cfg
`&dash;&dash; standard.cfg
</literallayout>
</para>
<para>
To use a branch different from where the sources reside,
specify the branch in the <filename>KMETA</filename> variable
in your Linux kernel recipe.
Here is an example:
<literallayout class='monospaced'>
KMETA = "meta"
</literallayout>
To use the same branch as the sources, set
<filename>KMETA</filename> to an empty string:
<literallayout class='monospaced'>
KMETA = ""
</literallayout>
If you are working with your own sources and want to create an
orphan <filename>meta</filename> branch, use these commands
from within your Linux kernel Git repository:
<literallayout class='monospaced'>
$ git checkout &dash;&dash;orphan meta
$ git rm -rf .
$ git commit &dash;&dash;allow-empty -m "Create orphan meta branch"
</literallayout>
</para>
-->
<para>
If you modify the Metadata, you must not forget to update the
<ulink url='&YOCTO_DOCS_REF_URL;#var-SRCREV'><filename>SRCREV</filename></ulink>
statements in the kernel's recipe.
In particular, you need to update the
<filename>SRCREV_meta</filename> variable to match the commit in
the <filename>KMETA</filename> branch you wish to use.
Changing the data in these branches and not updating the
<filename>SRCREV</filename> statements to match will cause the
build to fetch an older commit.
</para>
</section>
</section>
<section id='organizing-your-source'>
<title>Organizing Your Source</title>

View File

@@ -78,7 +78,7 @@
</revision>
<revision>
<revnumber>2.3</revnumber>
<date>Proposed for April 2017</date>
<date>May 2017</date>
<revremark>Released with the Yocto Project 2.3 Release.</revremark>
</revision>
</revhistory>

View File

@@ -62,7 +62,7 @@
</revision>
<revision>
<revnumber>2.3</revnumber>
<date>Proposed for April 2017</date>
<date>May 2017</date>
<revremark>Released with the Yocto Project 2.3 Release.</revremark>
</revision>
</revhistory>
@@ -214,6 +214,9 @@
<xi:include
xmlns:xi="http://www.w3.org/2003/XInclude" href="../ref-manual/technical-details.xml"/>
<xi:include
xmlns:xi="http://www.w3.org/2003/XInclude" href="../ref-manual/ref-release-process.xml"/>
<xi:include
xmlns:xi="http://www.w3.org/2003/XInclude" href="../ref-manual/migration.xml"/>

View File

@@ -1,7 +1,7 @@
<!ENTITY DISTRO "2.3">
<!ENTITY DISTRO_COMPRESSED "23">
<!ENTITY DISTRO_NAME_NO_CAP "tbd">
<!ENTITY DISTRO_NAME "TBD">
<!ENTITY DISTRO_NAME_NO_CAP "pyro">
<!ENTITY DISTRO_NAME "Pyro">
<!ENTITY YOCTO_DOC_VERSION "2.3">
<!ENTITY POKYVERSION "18.0.0">
<!ENTITY POKYVERSION_COMPRESSED "1800">
@@ -61,13 +61,16 @@
<!ENTITY OE_INIT_PATH "&YOCTO_POKY;/oe-init-build-env">
<!ENTITY OE_INIT_FILE "oe-init-build-env">
<!ENTITY UBUNTU_HOST_PACKAGES_ESSENTIAL "gawk wget git-core diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat cpio python python3 pip3 pexpect">
build-essential chrpath socat cpio python python3 python3-pip python3-expect \
xz which">
<!ENTITY FEDORA_HOST_PACKAGES_ESSENTIAL "gawk make wget tar bzip2 gzip python3 unzip perl patch \
diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath \
ccache perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue perl-bignum socat \
findutils which file cpio python pip3 pexpect">
findutils which file cpio python python3-pip python3-expect xz which">
<!ENTITY OPENSUSE_HOST_PACKAGES_ESSENTIAL "python gcc gcc-c++ git chrpath make wget python-xml \
diffstat makeinfo python-curses patch socat python3 python3-curses tar pip3 pexpect">
diffstat makeinfo python-curses patch socat python3 python3-curses tar python3-pip \
python3-expect xz which">
<!ENTITY CENTOS_HOST_PACKAGES_ESSENTIAL "gawk make wget tar bzip2 gzip python unzip perl patch \
diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath socat \
perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue pip3 pexpect">
perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python3-pip python3-expect xz \
which">

View File

@@ -78,7 +78,7 @@
</revision>
<revision>
<revnumber>2.3</revnumber>
<date>Proposed for April 2017</date>
<date>May 2017</date>
<revremark>Released with the Yocto Project 2.3 Release.</revremark>
</revision>
</revhistory>

View File

@@ -215,6 +215,17 @@
The <filename>.bbappend</filename> file is created to point
to the external source tree.
</para>
<note>
If your recipe has runtime dependencies defined, you must be sure
that these packages exist on the target hardware before attempting
to run your application.
If dependent packages (e.g. libraries) do not exist on the target,
your application, when run, will fail to find those functions.
For more information, see the
"<link linkend='devtool-deploying-your-software-on-the-target-machine'>Deploying Your Software on the Target Machine</link>"
section.
</note>
</section>
<section id='devtool-extracting-the-source-for-an-existing-recipe'>
@@ -501,6 +512,40 @@
</para>
</note>
</para>
<para>
Some conditions exist that could prevent a deployed application
from behaving as expected.
When both of the following conditions exist, your application has
the potential to not behave correctly when run on the target:
<itemizedlist>
<listitem><para>
You are deploying a new application to the target that
has correctly defined runtime dependencies defined in
recipe you used to build the application.
</para></listitem>
<listitem><para>
The target does not physically have the packages on which
the application depends installed.
</para></listitem>
</itemizedlist>
If both of these conditions exist, your application will not
behave as expected.
The reason for this misbehavior is because the
<filename>devtool deploy-target</filename> command does not deploy
the packages (e.g. libraries) on which your new application
depends.
The assumption is that the packages are already on the target.
Consequently, when a runtime call is made in the application
for a dependent function (e.g. a library call), the function
cannot be found.
</para>
<para>
To be sure you have all the dependencies local to the target, you
need to be sure that the packages are pre-deployed (installed)
on the target before attempting to run your application.
</para>
</section>
<section id='devtool-removing-your-software-from-the-target-machine'>

View File

@@ -109,7 +109,7 @@
</revision>
<revision>
<revnumber>2.3</revnumber>
<date>Proposed for April 2017</date>
<date>May 2017</date>
<revremark>Released with the Yocto Project 2.3 Release.</revremark>
</revision>
</revhistory>
@@ -162,6 +162,8 @@
<xi:include href="technical-details.xml"/>
<xi:include href="ref-release-process.xml"/>
<xi:include href="migration.xml"/>
<xi:include href="ref-structure.xml"/>

View File

@@ -0,0 +1,123 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='ref-release-process'>
<title>Yocto Project Releases and the Stable Release Process</title>
<para>
The Yocto Project release process is predictable and consists of both
major and minor (point) releases.
This brief chapter provides information on how releases are named, their
life cycle, and their stability.
</para>
<section id='major-and-minor-release-cadence'>
<title>Major and Minor Release Cadence</title>
<para>
The Yocto Project delivers major releases (e.g. &DISTRO;) using a six
month cadence roughly timed each April and October of the year.
Following are examples of some major YP releases with their codenames
also shown.
See the
"<link linkend='major-release-codenames'>Major Release Codenames</link>"
section for information on codenames used with major releases.
<literallayout class='monospaced'>
2.2 (Morty)
2.1 (Krogoth)
2.0 (Jethro)
</literallayout>
While the cadence is never perfect, this timescale facilitates
regular releases that have strong QA cycles while not overwhelming
users with too many new releases.
The cadence is predictable and avoids many major holidays in various
geographies.
</para>
<para>
The Yocto project delivers minor (point) releases on an unscheduled
basis and are usually driven by the accumulation of enough significant
fixes or enhancements to the associated major release.
Following are some example past point releases:
<literallayout class='monospaced'>
2.1.1
2.1.2
2.2.1
</literallayout>
The point release indicates a point in the major release branch where
a full QA cycle and release process validates the content of the new
branch.
<note>
Realize that there can be patches merged onto the stable release
branches as and when they become available.
</note>
</para>
</section>
<section id='major-release-codenames'>
<title>Major Release Codenames</title>
<para>
Each major release receives a codename that identifies the release in
the
<ulink url='&YOCTO_DOCS_DEV_URL;#yocto-project-repositories'>Yocto Project Source Repositories</ulink>.
The concept is that branches of
<ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink>
with the same codename are likely to be compatible and thus
work together.
<note>
Codenames are associated with major releases because a Yocto
Project release number (e.g. &DISTRO;) could conflict with
a given layer or company versioning scheme.
Codenames are unique, interesting, and easily identifiable.
</note>
Releases are given a nominal release version as well but the codename
is used in repositories for this reason.
You can find information on Yocto Project releases and codenames at
<ulink url='https://wiki.yoctoproject.org/wiki/Releases'></ulink>.
</para>
</section>
<section id='stable-release-process'>
<title>Stable Release Process</title>
<para>
Once released, the release enters the stable release process at which
time a person is assigned as the maintainer for that stable release.
This maintainer monitors activity for the release by investigating
and handling nominated patches and backport activity.
Only fixes and enhancements that have first been applied on the
"master" branch (i.e. the current, in-development branch) are
considered for backporting to a stable release.
<note>
The current Yocto Project policy regarding backporting is to
consider bug fixes and security fixes only.
Policy dictates that features are not backported to a stable
release.
This policy means generic recipe version upgrades are unlikely to
be accepted for backporting.
The exception to this policy occurs when a strong reason exists
such as the fix happens to also be the preferred upstream approach.
</note>
</para>
<para>
Stable release branches have strong maintenance for about a year after
their initial release.
Should significant issues be found for any release regardless of its
age, fixes could be backported to older releases.
For issues that are not backported given an older release,
Community LTS trees and branches exist where
community members share patches for older releases.
However, these types of patches do not go through the same release
process as do point releases.
You can find more information about stable branch maintenance at
<ulink url='https://wiki.yoctoproject.org/wiki/Stable_branch_maintenance'></ulink>.
</para>
</section>
</chapter>
<!--
vim: expandtab tw=80 ts=4
-->

View File

@@ -2364,6 +2364,161 @@
</glossdef>
</glossentry>
<glossentry id='var-COPYLEFT_LICENSE_EXCLUDE'><glossterm>COPYLEFT_LICENSE_EXCLUDE</glossterm>
<info>
COPYLEFT_LICENSE_EXCLUDE[doc] = "Licenses to exclude in the source archived by the archiver class."
</info>
<glossdef>
<para role="glossdeffirst">
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
A space-separated list of licenses to exclude from the
source archived by the
<link linkend='ref-classes-archiver'><filename>archiver</filename></link>
class.
In other words, if a license in a recipe's
<link linkend='var-LICENSE'><filename>LICENSE</filename></link>
value is in the value of
<filename>COPYLEFT_LICENSE_EXCLUDE</filename>, then its
source is not archived by the class.
<note>
The <filename>COPYLEFT_LICENSE_EXCLUDE</filename>
variable takes precedence over the
<link linkend='var-COPYLEFT_LICENSE_INCLUDE'><filename>COPYLEFT_LICENSE_INCLUDE</filename></link>
variable.
</note>
The default value, which is "CLOSED Proprietary", for
<filename>COPYLEFT_LICENSE_EXCLUDE</filename> is set
by the
<link linkend='ref-classes-copyleft_filter'><filename>copyleft_filter</filename></link>
class, which is inherited by the
<filename>archiver</filename> class.
</para>
</glossdef>
</glossentry>
<glossentry id='var-COPYLEFT_LICENSE_INCLUDE'><glossterm>COPYLEFT_LICENSE_INCLUDE</glossterm>
<info>
COPYLEFT_LICENSE_INCLUDE[doc] = "Licenses to include in the source archived by the archiver class."
</info>
<glossdef>
<para role="glossdeffirst">
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
A space-separated list of licenses to include in the
source archived by the
<link linkend='ref-classes-archiver'><filename>archiver</filename></link>
class.
In other words, if a license in a recipe's
<link linkend='var-LICENSE'><filename>LICENSE</filename></link>
value is in the value of
<filename>COPYLEFT_LICENSE_INCLUDE</filename>, then its
source is archived by the class.
</para>
<para>
The default value, which is "GPL* LGPL*", for
<filename>COPYLEFT_LICENSE_INCLUDE</filename> is set
by the
<link linkend='ref-classes-copyleft_filter'><filename>copyleft_filter</filename></link>
class, which is inherited by the
<filename>archiver</filename> class.
</para>
</glossdef>
</glossentry>
<glossentry id='var-COPYLEFT_PN_EXCLUDE'><glossterm>COPYLEFT_PN_EXCLUDE</glossterm>
<info>
COPYLEFT_PN_EXCLUDE[doc] = "Recipes to exclude in the source archived by the archiver class."
</info>
<glossdef>
<para role="glossdeffirst">
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
A list of recipes to exclude in the source archived
by the
<link linkend='ref-classes-archiver'><filename>archiver</filename></link>
class.
The <filename>COPYLEFT_PN_EXCLUDE</filename> variable
overrides the license inclusion and exclusion caused
through the
<link linkend='var-COPYLEFT_LICENSE_INCLUDE'><filename>COPYLEFT_LICENSE_INCLUDE</filename></link>
and
<link linkend='var-COPYLEFT_LICENSE_EXCLUDE'><filename>COPYLEFT_LICENSE_EXCLUDE</filename></link>
variables, respectively.
</para>
<para>
The default value, which is "" indicating to not explicitly
exclude any recipes by name, for
<filename>COPYLEFT_PN_EXCLUDE</filename> is set
by the
<link linkend='ref-classes-copyleft_filter'><filename>copyleft_filter</filename></link>
class, which is inherited by the
<filename>archiver</filename> class.
</para>
</glossdef>
</glossentry>
<glossentry id='var-COPYLEFT_PN_INCLUDE'><glossterm>COPYLEFT_PN_INCLUDE</glossterm>
<info>
COPYLEFT_PN_INCLUDE[doc] = "Recipes to include in the source archived by the archiver class."
</info>
<glossdef>
<para role="glossdeffirst">
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
A list of recipes to include in the source archived
by the
<link linkend='ref-classes-archiver'><filename>archiver</filename></link>
class.
The <filename>COPYLEFT_PN_INCLUDE</filename> variable
overrides the license inclusion and exclusion caused
through the
<link linkend='var-COPYLEFT_LICENSE_INCLUDE'><filename>COPYLEFT_LICENSE_INCLUDE</filename></link>
and
<link linkend='var-COPYLEFT_LICENSE_EXCLUDE'><filename>COPYLEFT_LICENSE_EXCLUDE</filename></link>
variables, respectively.
</para>
<para>
The default value, which is "" indicating to not explicitly
include any recipes by name, for
<filename>COPYLEFT_PN_INCLUDE</filename> is set
by the
<link linkend='ref-classes-copyleft_filter'><filename>copyleft_filter</filename></link>
class, which is inherited by the
<filename>archiver</filename> class.
</para>
</glossdef>
</glossentry>
<glossentry id='var-COPYLEFT_RECIPE_TYPES'><glossterm>COPYLEFT_RECIPE_TYPES</glossterm>
<info>
COPYLEFT_RECIPE_TYPES[doc] = "Recipe types to include in the source archived by the archiver class."
</info>
<glossdef>
<para role="glossdeffirst">
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
A space-separated list of recipe types to include
in the source archived by the
<link linkend='ref-classes-archiver'><filename>archiver</filename></link>
class.
Recipe types are <filename>target</filename>,
<filename>native</filename>,
<filename>nativesdk</filename>,
<filename>cross</filename>,
<filename>crosssdk</filename>, and
<filename>cross-canadian</filename>.
</para>
<para>
The default value, which is "target*", for
<filename>COPYLEFT_RECIPE_TYPES</filename> is set
by the
<link linkend='ref-classes-copyleft_filter'><filename>copyleft_filter</filename></link>
class, which is inherited by the
<filename>archiver</filename> class.
</para>
</glossdef>
</glossentry>
<glossentry id='var-COPY_LIC_DIRS'><glossterm>COPY_LIC_DIRS</glossterm>
<info>
COPY_LIC_DIRS[doc] = "If set to "1" along with the COPY_LIC_MANIFEST variable, the OpenEmbedded build system copies into the image the license files, which are located in /usr/share/common-licenses, for each package."
@@ -15590,6 +15745,50 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</glossdef>
</glossentry>
<glossentry id='var-WKS_FILE_DEPENDS'><glossterm>WKS_FILE_DEPENDS</glossterm>
<info>
WKS_FILE_DEPENDS[doc] = "Lists a recipe's build-time dependencies specific to Wic."
</info>
<glossdef>
<para role="glossdeffirst">
When placed in the recipe that builds your image, this
variable lists build-time dependencies.
The <filename>WKS_FILE_DEPENDS</filename> variable is only
applicable when Wic images are active (i.e. when
<link linkend='var-IMAGE_FSTYPES'><filename>IMAGE_FSTYPES</filename></link>
contains entries related to Wic).
If your recipe does not create Wic images, the variable
has no effect.
</para>
<para>
The <filename>WKS_FILE_DEPENDS</filename> variable is
similar to the
<link linkend='var-DEPENDS'><filename>DEPENDS</filename></link>
variable.
When you use the variable in your recipe that builds the
Wic image, dependencies you list in the
<filename>WIC_FILE_DEPENDS</filename> variable are added to
the <filename>DEPENDS</filename> variable.
</para>
<para>
With the <filename>WKS_FILE_DEPENDS</filename> variable,
you have the possibility to specify a list of additional
dependencies (e.g. native tools, bootloaders, and so forth),
that are required to build Wic images.
Following is an example:
<literallayout class='monospaced'>
WKS_FILE_DEPENDS = "<replaceable>some-native-tool</replaceable>"
</literallayout>
In the previous example,
<replaceable>some-native-tool</replaceable> would be
replaced with an actual native tool on which the build
would depend.
</para>
</glossdef>
</glossentry>
<glossentry id='var-WKS_FILE'><glossterm>WKS_FILE</glossterm>
<info>
WKS_FILE[doc] = "Specifies the name of the wic kickstart file."

View File

@@ -1455,12 +1455,22 @@
file://licfile2.txt;endline=50;md5=zzzz \
..."
</literallayout>
<note>
When using "beginline" and "endline", realize that line
numbering begins with one and not zero.
Also, the lines included are inclusive (e.g. lines five
through 29 in the previous example for
<filename>licfile1.txt</filename>.
<note><title>Notes</title>
<itemizedlist>
<listitem><para>
When using "beginline" and "endline", realize that
line numbering begins with one and not zero.
Also, the lines included are inclusive (e.g. lines
five through 29 in the previous example for
<filename>licfile1.txt</filename>.
</para></listitem>
<listitem><para>
When a license check fails, the selected license
text is included as part of the QA message.
Using this output, you can determine the exact
start and finish for the needed license text.
</para></listitem>
</itemizedlist>
</note>
</para>

View File

@@ -43,7 +43,7 @@
</revision>
<revision>
<revnumber>2.3</revnumber>
<date>Proposed for April 2017</date>
<date>May 2017</date>
<revremark>Released with the Yocto Project 2.3 Release.</revremark>
</revision>
</revhistory>

View File

@@ -53,7 +53,7 @@
</revision>
<revision>
<revnumber>2.3</revnumber>
<date>Proposed for April 2017</date>
<date>May 2017</date>
<revremark>Released with the Yocto Project 2.3 Release.</revremark>
</revision>
</revhistory>

View File

@@ -332,8 +332,7 @@
</para></listitem>
<listitem><para><emphasis>OpenSUSE</emphasis>
<literallayout class='monospaced'>
$ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL; \
libSDL-devel xterm
$ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL; libSDL-devel xterm
</literallayout>
</para></listitem>
<listitem><para><emphasis>CentOS</emphasis>

View File

@@ -378,6 +378,7 @@ RECIPE_MAINTAINER_pn-libpam = "Maxin B. John <maxin.john@intel.com>"
RECIPE_MAINTAINER_pn-libpcap = "Maxin B. John <maxin.john@intel.com>"
RECIPE_MAINTAINER_pn-libpciaccess = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-libpcre = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-libpcre2 = "Armin Kuster <akuster@mvista.com>"
RECIPE_MAINTAINER_pn-libpfm4 = "Matthew McClintock <msm@freescale.com>"
RECIPE_MAINTAINER_pn-libpng = "Maxin B. John <maxin.john@intel.com>"
RECIPE_MAINTAINER_pn-libpng12 = "Maxin B. John <maxin.john@intel.com>"

View File

@@ -1,5 +1,7 @@
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.runtime.cases.dnf import DnfTest
from oeqa.utils.httpserver import HTTPService
class Selftest(OERuntimeTestCase):
@@ -29,3 +31,43 @@ class Selftest(OERuntimeTestCase):
(status, output) = self.target.run("socat -V")
self.assertNotEqual(status, 0, msg="socat is still installed")
class DnfSelftest(DnfTest):
@classmethod
def setUpClass(cls):
cls.repo_server = HTTPService(os.path.join(cls.tc.td['WORKDIR'], 'oe-rootfs-repo'),
cls.tc.target.server_ip)
cls.repo_server.start()
@classmethod
def tearDownClass(cls):
cls.repo_server.stop()
@OETestDepends(['ssh.SSHTest.test_ssh'])
def test_verify_package_feeds(self):
"""
Summary: Check correct setting of PACKAGE_FEED_URIS var
Expected: 1. Feeds were correctly set for dnf
2. Update recovers packages from host's repo
Author: Humberto Ibarra <humberto.ibarra.lopez@intel.com>
Author: Alexander Kanavin <alexander.kanavin@intel.com>
"""
# When we created an image, we had to supply fake ip and port
# for the feeds. Now we can patch the real ones into the config file.
import tempfile
temp_file = tempfile.TemporaryDirectory(prefix="oeqa-remotefeeds-").name
self.tc.target.copyFrom("/etc/yum.repos.d/oe-remote-repo.repo", temp_file)
fixed_config = open(temp_file, "r").read().replace("bogus_ip", self.tc.target.server_ip).replace("bogus_port", str(self.repo_server.port))
open(temp_file, "w").write(fixed_config)
self.tc.target.copyTo(temp_file, "/etc/yum.repos.d/oe-remote-repo.repo")
import re
output_makecache = self.dnf('makecache')
self.assertTrue(re.match(r".*Metadata cache created", output_makecache, re.DOTALL) is not None, msg = "dnf makecache failed: %s" %(output_makecache))
output_repoinfo = self.dnf('repoinfo')
matchobj = re.match(r".*Repo-pkgs\s*:\s*(?P<n_pkgs>[0-9]+)", output_repoinfo, re.DOTALL)
self.assertTrue(matchobj is not None, msg = "Could not find the amount of packages in dnf repoinfo output: %s" %(output_repoinfo))
self.assertTrue(int(matchobj.group('n_pkgs')) > 0, msg = "Amount of remote packages is not more than zero: %s\n" %(output_repoinfo))

View File

@@ -1,6 +1,6 @@
SUMMARY = "An image used during oe-selftest tests"
IMAGE_INSTALL = "packagegroup-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP} dropbear"
IMAGE_INSTALL = "packagegroup-core-boot dropbear"
IMAGE_FEATURES = "debug-tweaks"
IMAGE_LINGUAS = " "

View File

@@ -2,7 +2,7 @@ SUMMARY = "An example of partitioned image."
SRC_URI = "file://${FILE_DIRNAME}/${BPN}.wks"
IMAGE_INSTALL = "packagegroup-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP}"
IMAGE_INSTALL = "packagegroup-core-boot"
IMAGE_FSTYPES = "wic"

View File

@@ -0,0 +1,22 @@
SUMMARY = "Line-oriented text editor -- selftest GPLv2 version"
HOMEPAGE = "http://www.gnu.org/software/ed/"
SECTION = "base"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=6ddd5335ef96fb858a138230af773710 \
file://main.c;beginline=1;endline=17;md5=36d4b85e5ae9028e918d1cc775c2475e"
PR = "r2"
SRC_URI = "${SAVANNAH_GNU_MIRROR}/ed/ed-${PV}.tar.bz2"
SRC_URI[md5sum] = "4ee21e9dcc9b5b6012c23038734e1632"
SRC_URI[sha256sum] = "edef2bbde0fbf0d88232782a0eded323f483a0519d6fde9a3b1809056fd35f3e"
inherit autotools texinfo
S = "${WORKDIR}/ed-${PV}"
EXTRA_OECONF = "'CC=${CC}' 'CXX=${CXX}' 'CFLAGS=${CFLAGS}' 'CXXFLAGS=${CXXFLAGS}' 'CPPFLAGS=${CPPFLAGS}' 'LDFLAGS=${LDFLAGS}'"
CONFIGUREOPTS_remove = "--disable-dependency-tracking"
CONFIGUREOPTS_remove = "--disable-silent-rules"
EXTRA_OECONF_remove = "--disable-static"

View File

@@ -0,0 +1,35 @@
SUMMARY = "Line-oriented text editor -- selftest variant"
HOMEPAGE = "http://www.gnu.org/software/ed/"
LICENSE = "GPLv3+"
LIC_FILES_CHKSUM = "file://COPYING;md5=0c7051aef9219dc7237f206c5c4179a7 \
file://ed.h;endline=20;md5=4e36b7a40e137f42aee718165590d125 \
file://main.c;endline=17;md5=c5b8f78f115df187af76868a2aead16a"
SECTION = "base"
# LSB states that ed should be in /bin/
bindir = "${base_bindir}"
SRC_URI = "${GNU_MIRROR}/ed/ed-${PV}.tar.lz"
SRC_URI[md5sum] = "7f4a54fa7f366479f03654b8af645fd0"
SRC_URI[sha256sum] = "ffb97eb8f2a2b5a71a9b97e3872adce953aa1b8958e04c5b7bf11d556f32552a"
S = "${WORKDIR}/ed-${PV}"
EXTRA_OEMAKE = "-e MAKEFLAGS="
inherit texinfo
do_configure() {
${S}/configure
}
do_install() {
oe_runmake 'DESTDIR=${D}' install
# Info dir listing isn't interesting at this point so remove it if it exists.
if [ -e "${D}${infodir}/dir" ]; then
rm -f ${D}${infodir}/dir
fi
}

View File

@@ -0,0 +1,6 @@
# short-description: This file is used in oe-selftest wic module to test rawcopy plugin
part /boot --active --source bootimg-pcbios
part / --source rawcopy --sourceparams="file=core-image-minimal-${MACHINE}.ext4" --use-uuid
bootloader --timeout=0 --append="console=ttyS0,115200n8"

View File

@@ -0,0 +1,7 @@
# short-description: image for use in machine agnostic wic test cases
# /boot is intentionally an empty partition
part /boot --ondisk sda --label boot --active --align 1024 --size 16
part / --source rootfs --ondisk sda --fstype=ext4 --label platform --align 1024 --use-uuid
# bootloader is intentionally left out

View File

@@ -23,7 +23,7 @@ do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do
SERIAL_CONSOLE = "115200 ttyO0"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_VERSION_linux-yocto ?= "4.9%"
PREFERRED_VERSION_linux-yocto ?= "4.10%"
KERNEL_IMAGETYPE = "zImage"
KERNEL_DEVICETREE = "am335x-bone.dtb am335x-boneblack.dtb"

View File

@@ -11,7 +11,7 @@ KERNEL_ALT_IMAGETYPE = "vmlinux.bin"
KERNEL_IMAGE_STRIP_EXTRA_SECTIONS = ".comment"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_VERSION_linux-yocto ?= "4.9%"
PREFERRED_VERSION_linux-yocto ?= "4.10%"
SERIAL_CONSOLE = "115200 ttyS0"
USE_VT ?= "0"

View File

@@ -7,6 +7,6 @@ DEFAULTTUNE ?= "core2-64"
require conf/machine/include/tune-core2.inc
require conf/machine/include/genericx86-common.inc
PREFERRED_VERSION_linux-yocto_genericx86-64 ?= "4.10%"
PREFERRED_VERSION_linux-yocto ?= "4.10%"
SERIAL_CONSOLES_CHECK = "ttyS0"

View File

@@ -9,4 +9,4 @@ require conf/machine/include/genericx86-common.inc
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "gma500-gfx-check"
PREFERRED_VERSION_linux-yocto_genericx86 ?= "4.10%"
PREFERRED_VERSION_linux-yocto ?= "4.10%"

View File

@@ -3,7 +3,6 @@ require conf/machine/include/qemuboot-x86.inc
MACHINE_FEATURES += "wifi efi pcbios"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_VERSION_linux-yocto ?= "4.8%"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
XSERVER ?= "${XSERVER_X86_BASE} \
${XSERVER_X86_EXT} \

View File

@@ -8,13 +8,13 @@ require conf/machine/include/tune-ppce300c3.inc
KERNEL_IMAGETYPE = "uImage"
EXTRA_IMAGEDEPENDS += "u-boot"
UBOOT_MACHINE_mpc8315e-rdb = "MPC8315ERDB_config"
UBOOT_MACHINE = "MPC8315ERDB_config"
SERIAL_CONSOLE = "115200 ttyS0"
MACHINE_FEATURES = "keyboard pci ext2 ext3 serial"
PREFERRED_VERSION_linux-yocto ?= "4.9%"
PREFERRED_VERSION_linux-yocto ?= "4.10%"
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"

View File

@@ -9,9 +9,9 @@ KMACHINE_genericx86-64 ?= "common-pc-64"
SRCREV_machine_genericx86 ?= "aadda25ee787681666f1d7961cd6c5a641da678d"
SRCREV_machine_genericx86-64 ?= "aadda25ee787681666f1d7961cd6c5a641da678d"
SRCREV_machine_edgerouter ?= "34753ac5e7c52bd1f0144c0a5ce9f0c6345f99d8"
SRCREV_machine_beaglebone ?= "da5b7beb9866d5de72d61f297c682224e3e62ab5"
SRCREV_machine_mpc8315e-rdb ?= "34753ac5e7c52bd1f0144c0a5ce9f0c6345f99d8"
SRCREV_machine_edgerouter ?= "2ce56d130ddff67f43ec857cc51cd347666a0078"
SRCREV_machine_beaglebone ?= "235de25be3f143b91dcc69479b770722c508889e"
SRCREV_machine_mpc8315e-rdb ?= "2ce56d130ddff67f43ec857cc51cd347666a0078"
COMPATIBLE_MACHINE_genericx86 = "genericx86"
COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
@@ -21,6 +21,6 @@ COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb"
LINUX_VERSION_genericx86 = "4.1.37"
LINUX_VERSION_genericx86-64 = "4.1.37"
LINUX_VERSION_edgerouter = "4.1.37"
LINUX_VERSION_beaglebone = "4.1.37"
LINUX_VERSION_mpc8315e-rdb = "4.1.37"
LINUX_VERSION_edgerouter = "4.1.38"
LINUX_VERSION_beaglebone = "4.1.38"
LINUX_VERSION_mpc8315e-rdb = "4.1.38"

View File

@@ -3,12 +3,24 @@ KBRANCH_genericx86-64 = "standard/base"
KMACHINE_genericx86 ?= "common-pc"
KMACHINE_genericx86-64 ?= "common-pc-64"
KBRANCH_edgerouter = "standard/edgerouter"
KBRANCH_beaglebone = "standard/beaglebone"
KBRANCH_mpc8315e-rdb = "standard/fsl-mpc8315e-rdb"
SRCREV_machine_genericx86 ?= "b259a5d744e8955a03405c6b59c5a61724755ea8"
SRCREV_machine_genericx86-64 ?= "b259a5d744e8955a03405c6b59c5a61724755ea8"
SRCREV_machine_edgerouter ?= "827a1164b155110c65f028a13a6c5699be93bbc3"
SRCREV_machine_beaglebone ?= "827a1164b155110c65f028a13a6c5699be93bbc3"
SRCREV_machine_mpc8315e-rdb ?= "fc1a68a9046707a9709075afc99eb3b5a2237c4b"
COMPATIBLE_MACHINE_genericx86 = "genericx86"
COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
COMPATIBLE_MACHINE_edgerouter = "edgerouter"
COMPATIBLE_MACHINE_beaglebone = "beaglebone"
COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb"
LINUX_VERSION_genericx86 = "4.10"
LINUX_VERSION_genericx86-64 = "4.10"
LINUX_VERSION_edgerouter = "4.10.2"
LINUX_VERSION_beaglebone = "4.10.2"
LINUX_VERSION_mpc8315e-rdb = "4.10.2"

View File

@@ -9,9 +9,9 @@ KBRANCH_mpc8315e-rdb = "standard/fsl-mpc8315e-rdb"
SRCREV_machine_genericx86 ?= "ad8b1d659ddd2699ebf7d50ef9de8940b157bfc2"
SRCREV_machine_genericx86-64 ?= "ad8b1d659ddd2699ebf7d50ef9de8940b157bfc2"
SRCREV_machine_edgerouter ?= "ad8b1d659ddd2699ebf7d50ef9de8940b157bfc2"
SRCREV_machine_beaglebone ?= "ad8b1d659ddd2699ebf7d50ef9de8940b157bfc2"
SRCREV_machine_mpc8315e-rdb ?= "b01922f8b85d96b9f6996b17ed0995c6f782fdbf"
SRCREV_machine_edgerouter ?= "cebe1ad56aebd89e0de29412e19433fb441bf13c"
SRCREV_machine_beaglebone ?= "cebe1ad56aebd89e0de29412e19433fb441bf13c"
SRCREV_machine_mpc8315e-rdb ?= "06c0dbdcba374ca7f92a53d69292d6bb7bc9b0f3"
COMPATIBLE_MACHINE_genericx86 = "genericx86"
COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
@@ -21,6 +21,6 @@ COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb"
LINUX_VERSION_genericx86 = "4.4.41"
LINUX_VERSION_genericx86-64 = "4.4.41"
LINUX_VERSION_edgerouter = "4.4.41"
LINUX_VERSION_beaglebone = "4.4.41"
LINUX_VERSION_mpc8315e-rdb = "4.4.41"
LINUX_VERSION_edgerouter = "4.4.53"
LINUX_VERSION_beaglebone = "4.4.53"
LINUX_VERSION_mpc8315e-rdb = "4.4.53"

View File

@@ -9,9 +9,9 @@ KBRANCH_mpc8315e-rdb = "standard/fsl-mpc8315e-rdb"
SRCREV_machine_genericx86 ?= "95c0a80ee83f1cf8e59d733f36e8a9dfd50a0098"
SRCREV_machine_genericx86-64 ?= "95c0a80ee83f1cf8e59d733f36e8a9dfd50a0098"
SRCREV_machine_edgerouter ?= "c85c54f5bf53b98afe8105e91bffcdb6c60afe8f"
SRCREV_machine_beaglebone ?= "c85c54f5bf53b98afe8105e91bffcdb6c60afe8f"
SRCREV_machine_mpc8315e-rdb ?= "6b67f448d63917f5ea306eb293cd9844077e4a61"
SRCREV_machine_edgerouter ?= "95c0a80ee83f1cf8e59d733f36e8a9dfd50a0098"
SRCREV_machine_beaglebone ?= "95c0a80ee83f1cf8e59d733f36e8a9dfd50a0098"
SRCREV_machine_mpc8315e-rdb ?= "7744d762ee37396dfab60f21a2b974c5b94c47b4"
COMPATIBLE_MACHINE_genericx86 = "genericx86"
COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
@@ -21,6 +21,6 @@ COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb"
LINUX_VERSION_genericx86 = "4.9.13"
LINUX_VERSION_genericx86-64 = "4.9.13"
LINUX_VERSION_edgerouter = "4.9.8"
LINUX_VERSION_beaglebone = "4.9.8"
LINUX_VERSION_mpc8315e-rdb = "4.9.8"
LINUX_VERSION_edgerouter = "4.9.13"
LINUX_VERSION_beaglebone = "4.9.13"
LINUX_VERSION_mpc8315e-rdb = "4.9.13"

View File

@@ -365,7 +365,7 @@ python do_ar_recipe () {
elif include_re.match(line):
incfile = include_re.match(line).group(1)
if incfile:
incfile = bb.data.expand(incfile, d)
incfile = d.expand(incfile)
incfile = bb.utils.which(bbpath, incfile)
if incfile:
shutil.copy(incfile, outdir)

View File

@@ -193,14 +193,14 @@ autotools_do_configure() {
else
CONFIGURE_AC=configure.ac
fi
if grep "^[[:space:]]*AM_GLIB_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
if grep "sed.*POTFILES" $CONFIGURE_AC >/dev/null; then
if grep -q "^[[:space:]]*AM_GLIB_GNU_GETTEXT" $CONFIGURE_AC; then
if grep -q "sed.*POTFILES" $CONFIGURE_AC; then
: do nothing -- we still have an old unmodified configure.ac
else
bbnote Executing glib-gettextize --force --copy
echo "no" | glib-gettextize --force --copy
fi
elif grep "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
elif grep -q "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC; then
# We'd call gettextize here if it wasn't so broken...
cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/
if [ -d ${S}/po/ ]; then
@@ -212,7 +212,7 @@ autotools_do_configure() {
PRUNE_M4="$PRUNE_M4 gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 po.m4 progtest.m4"
fi
mkdir -p m4
if grep "^[[:space:]]*[AI][CT]_PROG_INTLTOOL" $CONFIGURE_AC >/dev/null; then
if grep -q "^[[:space:]]*[AI][CT]_PROG_INTLTOOL" $CONFIGURE_AC; then
if ! echo "${DEPENDS}" | grep -q intltool-native; then
bbwarn "Missing DEPENDS on intltool-native"
fi

View File

@@ -119,6 +119,25 @@ def get_lic_checksum_file_list(d):
bb.fatal(d.getVar('PN') + ": LIC_FILES_CHKSUM contains an invalid URL: " + url)
return " ".join(filelist)
def setup_hosttools_dir(dest, toolsvar, d, fatal=True):
tools = d.getVar(toolsvar).split()
origbbenv = d.getVar("BB_ORIGENV", False)
path = origbbenv.getVar("PATH")
bb.utils.mkdirhier(dest)
notfound = []
for tool in tools:
desttool = os.path.join(dest, tool)
if not os.path.exists(desttool):
srctool = bb.utils.which(path, tool)
if "ccache" in srctool:
srctool = bb.utils.which(path, tool, direction=1)
if srctool:
os.symlink(srctool, desttool)
else:
notfound.append(tool)
if notfound and fatal:
bb.fatal("The following required tools (as specified by HOSTTOOLS) appear to be unavailable in PATH, please install them in order to proceed:\n %s" % " ".join(notfound))
addtask fetch
do_fetch[dirs] = "${DL_DIR}"
do_fetch[file-checksums] = "${@bb.fetch.get_checksum_file_list(d)}"
@@ -219,6 +238,9 @@ python base_eventhandler() {
pkgarch_mapping(e.data)
oe.utils.features_backfill("DISTRO_FEATURES", e.data)
oe.utils.features_backfill("MACHINE_FEATURES", e.data)
# Works with the line in layer.conf which changes PATH to point here
setup_hosttools_dir(d.expand('${TMPDIR}/hosttools'), 'HOSTTOOLS', d)
setup_hosttools_dir(d.expand('${TMPDIR}/hosttools'), 'HOSTTOOLS_NONFATAL', d, fatal=False)
if isinstance(e, bb.event.BuildStarted):
localdata = bb.data.createCopy(e.data)
@@ -533,7 +555,7 @@ python () {
bb.debug(1, "INCLUDING the package " + pkg)
elif all_skipped or incompatible_license(d, bad_licenses):
bb.debug(1, "SKIPPING recipe %s because it's %s" % (pn, license))
raise bb.parse.SkipPackage("incompatible with license %s" % license)
raise bb.parse.SkipPackage("it has an incompatible license: %s" % license)
elif pn in whitelist:
if pn in incompatwl:
bb.note("INCLUDING " + pn + " as buildable despite INCOMPATIBLE_LICENSE because it has been whitelisted")

View File

@@ -86,6 +86,7 @@ python buildhistory_emit_pkghistory() {
self.depends = ""
self.packages = ""
self.srcrev = ""
self.layer = ""
class PackageInfo:
@@ -186,6 +187,7 @@ python buildhistory_emit_pkghistory() {
pe = d.getVar('PE') or "0"
pv = d.getVar('PV')
pr = d.getVar('PR')
layer = bb.utils.get_file_layer(d.getVar('FILE', True), d)
pkgdata_dir = d.getVar('PKGDATA_DIR')
packages = ""
@@ -225,6 +227,7 @@ python buildhistory_emit_pkghistory() {
rcpinfo.pr = pr
rcpinfo.depends = sortlist(oe.utils.squashspaces(d.getVar('DEPENDS') or ""))
rcpinfo.packages = packages
rcpinfo.layer = layer
write_recipehistory(rcpinfo, d)
pkgdest = d.getVar('PKGDEST')
@@ -303,6 +306,7 @@ def write_recipehistory(rcpinfo, d):
f.write(u"PR = %s\n" % rcpinfo.pr)
f.write(u"DEPENDS = %s\n" % rcpinfo.depends)
f.write(u"PACKAGES = %s\n" % rcpinfo.packages)
f.write(u"LAYER = %s\n" % rcpinfo.layer)
def write_pkghistory(pkginfo, d):
@@ -550,7 +554,9 @@ END
python buildhistory_get_extra_sdkinfo() {
import operator
import math
if d.getVar('BB_CURRENTTASK') == 'populate_sdk_ext':
if d.getVar('BB_CURRENTTASK') == 'populate_sdk_ext' and \
"sdk" in (d.getVar('BUILDHISTORY_FEATURES') or "").split():
tasksizes = {}
filesizes = {}
for root, _, files in os.walk(d.expand('${SDK_OUTPUT}/${SDKPATH}/sstate-cache')):

View File

@@ -2,6 +2,12 @@ CCACHE = "${@bb.utils.which(d.getVar('PATH'), 'ccache') and 'ccache '}"
export CCACHE_DIR ?= "${TMPDIR}/ccache/${MULTIMACH_HOST_SYS}/${PN}"
CCACHE_DISABLE[unexport] = "1"
# We need to stop ccache considering the current directory or the
# debug-prefix-map target directory to be significant when calculating
# its hash. Without this the cache would be invalidated every time
# ${PV} or ${PR} change.
export CCACHE_NOHASHDIR ?= "1"
DEPENDS_append_class-target = " ccache-native"
DEPENDS[vardepvalueexclude] = " ccache-native"

View File

@@ -24,11 +24,15 @@
# - hwcodecs - Install hardware acceleration codecs
# - package-management - installs package management tools and preserves the package manager database
# - debug-tweaks - makes an image suitable for development, e.g. allowing passwordless root logins
# - empty-root-password
# - allow-empty-password
# - post-install-logging
# - dev-pkgs - development packages (headers, etc.) for all installed packages in the rootfs
# - dbg-pkgs - debug symbol packages for all installed packages in the rootfs
# - doc-pkgs - documentation packages for all installed packages in the rootfs
# - ptest-pkgs - ptest packages for all ptest-enabled recipes
# - read-only-rootfs - tweaks an image to support read-only rootfs
# - splash - bootup splash screen
#
FEATURE_PACKAGES_x11 = "packagegroup-core-x11"
FEATURE_PACKAGES_x11-base = "packagegroup-core-x11-base"

View File

@@ -0,0 +1,48 @@
# Class for use in BBCLASSEXTEND to make it easier to have a single recipe that
# can build both stable tarballs and snapshots from upstream source
# repoistories.
#
# Usage:
# BBCLASSEXTEND = "devupstream:target"
# SRC_URI_class-devupstream = "git://git.example.com/example"
# SRCREV_class-devupstream = "abcdef"
#
# If the first entry in SRC_URI is a git: URL then S is rewritten to
# WORKDIR/git.
#
# There are a few caveats that remain to be solved:
# - You can't build native or nativesdk recipes using for example
# devupstream:native, you can only build target recipes.
# - If the fetcher requires native tools (such as subversion-native) then
# bitbake won't be able to add them automatically.
CLASSOVERRIDE .= ":class-devupstream"
python devupstream_virtclass_handler () {
# Do nothing if this is inherited, as it's for BBCLASSEXTEND
if "devupstream" not in (d.getVar('BBCLASSEXTEND') or ""):
bb.error("Don't inherit devupstream, use BBCLASSEXTEND")
return
variant = d.getVar("BBEXTENDVARIANT")
if variant not in ("target"):
bb.error("Pass the variant when using devupstream, for example devupstream:target")
return
# Develpment releases are never preferred by default
d.setVar("DEFAULT_PREFERENCE", "-1")
uri = bb.fetch2.URI(d.getVar("SRC_URI").split()[0])
if uri.scheme == "git":
d.setVar("S", "${WORKDIR}/git")
# Modify the PV if the recipe hasn't already overridden it
pv = d.getVar("PV")
proto_marker = "+" + uri.scheme
if proto_marker not in pv:
d.setVar("PV", pv + proto_marker + "${SRCPV}")
}
addhandler devupstream_virtclass_handler
devupstream_virtclass_handler[eventmask] = "bb.event.RecipePreFinalise"

View File

@@ -63,7 +63,7 @@ distutils_do_install() {
#
# FIXME: Bandaid against wrong datadir computation
#
if test -e ${D}${datadir}/share; then
if [ -e ${D}${datadir}/share ]; then
mv -f ${D}${datadir}/share/* ${D}${datadir}/
fi
}

View File

@@ -50,7 +50,7 @@ distutils_do_install() {
done
fi
if test -e ${D}${sbindir}; then
if [ -e ${D}${sbindir} ]; then
for i in ${D}${sbindir}/* ; do \
if [ ${PN} != "${BPN}-native" ]; then
sed -i -e s:${STAGING_BINDIR_NATIVE}/python-native/python:${bindir}/env\ python:g $i
@@ -65,13 +65,13 @@ distutils_do_install() {
#
# FIXME: Bandaid against wrong datadir computation
#
if test -e ${D}${datadir}/share; then
if [ -e ${D}${datadir}/share ]; then
mv -f ${D}${datadir}/share/* ${D}${datadir}/
rmdir ${D}${datadir}/share
fi
# Fix backport modules
if test -e ${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/backports/__init__.py && test -e ${D}${PYTHON_SITEPACKAGES_DIR}/backports/__init__.py; then
if [ -e ${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/backports/__init__.py ] && [ -e ${D}${PYTHON_SITEPACKAGES_DIR}/backports/__init__.py ]; then
rm ${D}${PYTHON_SITEPACKAGES_DIR}/backports/__init__.py;
rm ${D}${PYTHON_SITEPACKAGES_DIR}/backports/__init__.pyc;
fi

View File

@@ -64,7 +64,7 @@ distutils3_do_install() {
#
# FIXME: Bandaid against wrong datadir computation
#
if test -e ${D}${datadir}/share; then
if [ -e ${D}${datadir}/share ]; then
mv -f ${D}${datadir}/share/* ${D}${datadir}/
rmdir ${D}${datadir}/share
fi

View File

@@ -190,7 +190,7 @@ def srctree_hash_files(d, srcdir=None):
# Update our custom index
env = os.environ.copy()
env['GIT_INDEX_FILE'] = tmp_index.name
subprocess.check_output(['git', 'add', '.'], cwd=s_dir, env=env)
subprocess.check_output(['git', 'add', '-A', '.'], cwd=s_dir, env=env)
sha1 = subprocess.check_output(['git', 'write-tree'], cwd=s_dir, env=env).decode("utf-8")
with open(oe_hash_file, 'w') as fobj:
fobj.write(sha1)

77
meta/classes/go.bbclass Normal file
View File

@@ -0,0 +1,77 @@
inherit goarch
# x32 ABI is not supported on go compiler so far
COMPATIBLE_HOST_linux-gnux32 = "null"
# ppc32 is not supported in go compilers
COMPATIBLE_HOST_powerpc = "null"
GOROOT_class-native = "${STAGING_LIBDIR_NATIVE}/go"
GOROOT = "${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go"
GOBIN_FINAL_class-native = "${GOROOT_FINAL}/bin"
GOBIN_FINAL = "${GOROOT_FINAL}/bin/${GOOS}_${GOARCH}"
export GOOS = "${TARGET_GOOS}"
export GOARCH = "${TARGET_GOARCH}"
export GOARM = "${TARGET_GOARM}"
export CGO_ENABLED = "1"
export GOROOT
export GOROOT_FINAL = "${libdir}/${TARGET_SYS}/go"
export GOBIN_FINAL
export GOPKG_FINAL = "${GOROOT_FINAL}/pkg/${GOOS}_${GOARCH}"
export GOSRC_FINAL = "${GOROOT_FINAL}/src"
export GO_GCFLAGS = "${TARGET_CFLAGS}"
export GO_LDFLAGS = "${TARGET_LDFLAGS}"
export CGO_CFLAGS = "${TARGET_CC_ARCH}${TOOLCHAIN_OPTIONS} ${TARGET_CFLAGS}"
export CGO_CPPFLAGS = "${TARGET_CPPFLAGS}"
export CGO_CXXFLAGS = "${TARGET_CC_ARCH}${TOOLCHAIN_OPTIONS} ${TARGET_CXXFLAGS}"
export CGO_LDFLAGS = "${TARGET_CC_ARCH}${TOOLCHAIN_OPTIONS} ${TARGET_LDFLAGS}"
DEPENDS += "go-cross-${TARGET_ARCH}"
DEPENDS_class-native += "go-native"
FILES_${PN}-staticdev += "${GOSRC_FINAL}/${GO_IMPORT}"
FILES_${PN}-staticdev += "${GOPKG_FINAL}/${GO_IMPORT}*"
GO_INSTALL ?= "${GO_IMPORT}/..."
do_go_compile() {
GOPATH=${S}:${STAGING_LIBDIR}/${TARGET_SYS}/go go env
if [ -n "${GO_INSTALL}" ]; then
GOPATH=${S}:${STAGING_LIBDIR}/${TARGET_SYS}/go go install -v ${GO_INSTALL}
fi
}
do_go_install() {
rm -rf ${WORKDIR}/staging
install -d ${WORKDIR}/staging${GOROOT_FINAL} ${D}${GOROOT_FINAL}
tar -C ${S} -cf - . | tar -C ${WORKDIR}/staging${GOROOT_FINAL} -xpvf -
find ${WORKDIR}/staging${GOROOT_FINAL} \( \
-name \*.indirectionsymlink -o \
-name .git\* -o \
-name .hg -o \
-name .svn -o \
-name .pc\* -o \
-name patches\* \
\) -print0 | \
xargs -r0 rm -rf
tar -C ${WORKDIR}/staging${GOROOT_FINAL} -cf - . | \
tar -C ${D}${GOROOT_FINAL} -xpvf -
chown -R root:root "${D}${GOROOT_FINAL}"
if [ -e "${D}${GOBIN_FINAL}" ]; then
install -d -m 0755 "${D}${bindir}"
find "${D}${GOBIN_FINAL}" ! -type d -print0 | xargs -r0 mv --target-directory="${D}${bindir}"
rmdir -p "${D}${GOBIN_FINAL}" || true
fi
}
do_compile() {
do_go_compile
}
do_install() {
do_go_install
}

View File

@@ -0,0 +1,50 @@
BUILD_GOOS = "${@go_map_os(d.getVar('BUILD_OS', True), d)}"
BUILD_GOARCH = "${@go_map_arch(d.getVar('BUILD_ARCH', True), d)}"
BUILD_GOTUPLE = "${BUILD_GOOS}_${BUILD_GOARCH}"
HOST_GOOS = "${@go_map_os(d.getVar('HOST_OS', True), d)}"
HOST_GOARCH = "${@go_map_arch(d.getVar('HOST_ARCH', True), d)}"
HOST_GOARM = "${@go_map_arm(d.getVar('HOST_ARCH', True), d.getVar('TUNE_FEATURES', True), d)}"
HOST_GOTUPLE = "${HOST_GOOS}_${HOST_GOARCH}"
TARGET_GOOS = "${@go_map_os(d.getVar('TARGET_OS', True), d)}"
TARGET_GOARCH = "${@go_map_arch(d.getVar('TARGET_ARCH', True), d)}"
TARGET_GOARM = "${@go_map_arm(d.getVar('TARGET_ARCH', True), d.getVar('TUNE_FEATURES', True), d)}"
TARGET_GOTUPLE = "${TARGET_GOOS}_${TARGET_GOARCH}"
GO_BUILD_BINDIR = "${@['bin/${HOST_GOTUPLE}','bin'][d.getVar('BUILD_GOTUPLE',True) == d.getVar('HOST_GOTUPLE',True)]}"
def go_map_arch(a, d):
import re
if re.match('i.86', a):
return '386'
elif a == 'x86_64':
return 'amd64'
elif re.match('arm.*', a):
return 'arm'
elif re.match('aarch64.*', a):
return 'arm64'
elif re.match('mips64el*', a):
return 'mips64le'
elif re.match('mips64*', a):
return 'mips64'
elif re.match('mipsel*', a):
return 'mipsle'
elif re.match('mips*', a):
return 'mips'
elif re.match('p(pc|owerpc)(64)', a):
return 'ppc64'
elif re.match('p(pc|owerpc)(64el)', a):
return 'ppc64le'
else:
raise bb.parse.SkipPackage("Unsupported CPU architecture: %s" % a)
def go_map_arm(a, f, d):
import re
if re.match('arm.*', a) and re.match('arm.*7.*', f):
return '7'
return ''
def go_map_os(o, d):
if o.startswith('linux'):
return 'linux'
return o

View File

@@ -50,7 +50,7 @@ export GIO_MODULE_DIR=${STAGING_LIBDIR}/gio/modules-dummy
GIR_EXTRA_LIBS_PATH=\`find ${B} -name .libs| tr '\n' ':'\`\$GIR_EXTRA_LIBS_PATH
if test -d ".libs"; then
if [ -d ".libs" ]; then
$qemu_binary ".libs/\$@"
else
$qemu_binary "\$@"

View File

@@ -12,6 +12,9 @@
# Desired variables to display
IMAGE_BUILDINFO_VARS ?= "DISTRO DISTRO_VERSION"
# Desired location of the output file in the image.
IMAGE_BUILDINFO_FILE ??= "${sysconfdir}/build"
# From buildhistory.bbclass
def image_buildinfo_outputvars(vars, listvars, d):
vars = vars.split()
@@ -61,7 +64,7 @@ def buildinfo_target(d):
# Write build information to target filesystem
python buildinfo () {
with open(d.expand('${IMAGE_ROOTFS}${sysconfdir}/build'), 'w') as build:
with open(d.expand('${IMAGE_ROOTFS}${IMAGE_BUILDINFO_FILE}'), 'w') as build:
build.writelines((
'''-----------------------
Build Configuration: |

View File

@@ -29,7 +29,7 @@ IMAGE_FEATURES[validitems] += "debug-tweaks read-only-rootfs empty-root-password
IMAGE_GEN_DEBUGFS ?= "0"
# rootfs bootstrap install
ROOTFS_BOOTSTRAP_INSTALL = "${@bb.utils.contains("IMAGE_FEATURES", "package-management", "", "${ROOTFS_PKGMANAGE_BOOTSTRAP}",d)}"
ROOTFS_BOOTSTRAP_INSTALL = "run-postinsts"
# These packages will be removed from a read-only rootfs after all other
# packages have been installed

View File

@@ -74,6 +74,8 @@ oe_mkext234fs () {
# Create a sparse image block
dd if=/dev/zero of=${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.$fstype seek=$ROOTFS_SIZE count=$COUNT bs=1024
mkfs.$fstype -F $extra_imagecmd ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.$fstype -d ${IMAGE_ROOTFS}
# Error codes 0-3 indicate successfull operation of fsck (no errors or errors corrected)
fsck.$fstype -pvfD ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.$fstype || [ $? -le 3 ]
}
IMAGE_CMD_ext2 = "oe_mkext234fs ext2 ${EXTRA_IMAGECMD}"
@@ -82,12 +84,13 @@ IMAGE_CMD_ext4 = "oe_mkext234fs ext4 ${EXTRA_IMAGECMD}"
MIN_BTRFS_SIZE ?= "16384"
IMAGE_CMD_btrfs () {
if [ ${ROOTFS_SIZE} -gt ${MIN_BTRFS_SIZE} ]; then
dd if=/dev/zero of=${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.btrfs count=${ROOTFS_SIZE} bs=1024
mkfs.btrfs ${EXTRA_IMAGECMD} -r ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.btrfs
else
bbfatal "Rootfs is too small for BTRFS (Rootfs Actual Size: ${ROOTFS_SIZE}, BTRFS Minimum Size: ${MIN_BTRFS_SIZE})"
size=${ROOTFS_SIZE}
if [ ${size} -lt ${MIN_BTRFS_SIZE} ] ; then
size=${MIN_BTRFS_SIZE}
bbwarn "Rootfs size is too small for BTRFS. Filesystem will be extended to ${size}K"
fi
dd if=/dev/zero of=${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.btrfs count=${size} bs=1024
mkfs.btrfs ${EXTRA_IMAGECMD} -r ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.btrfs
}
IMAGE_CMD_squashfs = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs ${EXTRA_IMAGECMD} -noappend"

View File

@@ -39,7 +39,7 @@ IMAGE_CMD_wic[vardepsexclude] = "WKS_FULL_PATH WKS_FILES"
USING_WIC = "${@bb.utils.contains_any('IMAGE_FSTYPES', 'wic ' + ' '.join('wic.%s' % c for c in '${CONVERSIONTYPES}'.split()), '1', '', d)}"
WKS_FILE_CHECKSUM = "${@'${WKS_FULL_PATH}:%s' % os.path.exists('${WKS_FULL_PATH}') if '${USING_WIC}' else ''}"
do_image_wic[file-checksums] += "${WKS_FILE_CHECKSUM}"
do_image_wic[depends] += "wic-tools:do_build"
do_image_wic[depends] += "wic-tools:do_populate_sysroot"
WKS_FILE_DEPENDS ??= ''
DEPENDS += "${@ '${WKS_FILE_DEPENDS}' if d.getVar('USING_WIC') else '' }"

View File

@@ -30,7 +30,7 @@ QA_SANE = "True"
WARN_QA ?= "ldflags useless-rpaths rpaths staticdev libdir xorg-driver-abi \
textrel already-stripped incompatible-license files-invalid \
installed-vs-shipped compile-host-path install-host-path \
pn-overrides infodir build-deps file-rdeps \
pn-overrides infodir build-deps \
unknown-configure-option symlink-to-sysroot multilib \
invalid-packageconfig host-user-contaminated \
"
@@ -38,7 +38,7 @@ ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \
perms dep-cmp pkgvarcheck perm-config perm-line perm-link \
split-strip packages-list pkgv-undefined var-undefined \
version-going-backwards expanded-d invalid-chars \
license-checksum dev-elf \
license-checksum dev-elf file-rdeps \
"
FAKEROOT_QA = "host-user-contaminated"
FAKEROOT_QA[doc] = "QA tests which need to run under fakeroot. If any \
@@ -408,48 +408,6 @@ def package_qa_check_perm(path,name,d, elf, messages):
"""
return
QAPATHTEST[unsafe-references-in-binaries] = "package_qa_check_unsafe_references_in_binaries"
def package_qa_check_unsafe_references_in_binaries(path, name, d, elf, messages):
"""
Ensure binaries in base_[bindir|sbindir|libdir] do not link to files under exec_prefix
"""
if unsafe_references_skippable(path, name, d):
return
if elf:
import subprocess as sub
pn = d.getVar('PN')
exec_prefix = d.getVar('exec_prefix')
sysroot_path = d.getVar('STAGING_DIR_TARGET')
sysroot_path_usr = sysroot_path + exec_prefix
try:
ldd_output = bb.process.Popen(["prelink-rtld", "--root", sysroot_path, path], stdout=sub.PIPE).stdout.read().decode("utf-8")
except bb.process.CmdError:
error_msg = pn + ": prelink-rtld aborted when processing %s" % path
package_qa_handle_error("unsafe-references-in-binaries", error_msg, d)
return False
if sysroot_path_usr in ldd_output:
ldd_output = ldd_output.replace(sysroot_path, "")
pkgdest = d.getVar('PKGDEST')
packages = d.getVar('PACKAGES')
for package in packages.split():
short_path = path.replace('%s/%s' % (pkgdest, package), "", 1)
if (short_path != path):
break
base_err = pn + ": %s, installed in the base_prefix, requires a shared library under exec_prefix (%s)" % (short_path, exec_prefix)
for line in ldd_output.split('\n'):
if exec_prefix in line:
error_msg = "%s: %s" % (base_err, line.strip())
package_qa_handle_error("unsafe-references-in-binaries", error_msg, d)
return False
QAPATHTEST[unsafe-references-in-scripts] = "package_qa_check_unsafe_references_in_scripts"
def package_qa_check_unsafe_references_in_scripts(path, name, d, elf, messages):
"""

View File

@@ -57,4 +57,5 @@ HOST_AR_KERNEL_ARCH ?= "${TARGET_AR_KERNEL_ARCH}"
KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_KERNEL_ARCH} -fuse-ld=bfd"
KERNEL_LD = "${CCACHE}${HOST_PREFIX}ld.bfd ${HOST_LD_KERNEL_ARCH}"
KERNEL_AR = "${CCACHE}${HOST_PREFIX}ar ${HOST_AR_KERNEL_ARCH}"
TOOLCHAIN = "gcc"

View File

@@ -24,7 +24,7 @@ python __anonymous () {
d.appendVarFlag('do_assemble_fitimage_initramfs', 'depends', ' ${INITRAMFS_IMAGE}:do_image_complete')
# Verified boot will sign the fitImage and append the public key to
# U-boot dtb. We ensure the U-Boot dtb is deployed before assembling
# U-Boot dtb. We ensure the U-Boot dtb is deployed before assembling
# the fitImage:
if d.getVar('UBOOT_SIGN_ENABLE') == "1":
uboot_pn = d.getVar('PREFERRED_PROVIDER_u-boot') or 'u-boot'
@@ -96,7 +96,7 @@ fitimage_emit_section_kernel() {
kernel_csum="sha1"
ENTRYPOINT=${UBOOT_ENTRYPOINT}
if test -n "${UBOOT_ENTRYSYMBOL}"; then
if [ -n "${UBOOT_ENTRYSYMBOL}" ]; then
ENTRYPOINT=`${HOST_PREFIX}nm ${S}/vmlinux | \
awk '$4=="${UBOOT_ENTRYSYMBOL}" {print $2}'`
fi
@@ -229,9 +229,10 @@ EOF
#
# $1 ... .its filename
# $2 ... Linux kernel ID
# $3 ... DTB image ID
# $3 ... DTB image name
# $4 ... ramdisk ID
# $5 ... config ID
# $6 ... default flag
fitimage_emit_section_config() {
conf_csum="sha1"
@@ -244,6 +245,8 @@ fitimage_emit_section_config() {
kernel_line="kernel = \"kernel@${2}\";"
fdt_line=""
ramdisk_line=""
setup_line=""
default_line=""
if [ -n "${3}" ]; then
conf_desc="${conf_desc}, FDT blob"
@@ -260,10 +263,14 @@ fitimage_emit_section_config() {
setup_line="setup = \"setup@${5}\";"
fi
if [ "${6}" = "1" ]; then
default_line="default = \"conf@${3}\";"
fi
cat << EOF >> ${1}
default = "conf@1";
conf@1 {
description = "${conf_desc}";
${default_line}
conf@${3} {
description = "${6} ${conf_desc}";
${kernel_line}
${fdt_line}
${ramdisk_line}
@@ -314,6 +321,7 @@ EOF
fitimage_assemble() {
kernelcount=1
dtbcount=""
DTBS=""
ramdiskcount=${3}
setupcount=""
rm -f ${1} arch/${ARCH}/boot/${2}
@@ -331,7 +339,7 @@ fitimage_assemble() {
#
# Step 2: Prepare a DTB image section
#
if test -n "${KERNEL_DEVICETREE}"; then
if [ -n "${KERNEL_DEVICETREE}" ]; then
dtbcount=1
for DTB in ${KERNEL_DEVICETREE}; do
if echo ${DTB} | grep -q '/dts/'; then
@@ -343,15 +351,15 @@ fitimage_assemble() {
DTB_PATH="arch/${ARCH}/boot/${DTB}"
fi
fitimage_emit_section_dtb ${1} ${dtbcount} ${DTB_PATH}
dtbcount=`expr ${dtbcount} + 1`
DTBS="${DTBS} ${DTB}"
fitimage_emit_section_dtb ${1} ${DTB} ${DTB_PATH}
done
fi
#
# Step 3: Prepare a setup section. (For x86)
#
if test -e arch/${ARCH}/boot/setup.bin ; then
if [ -e arch/${ARCH}/boot/setup.bin ]; then
setupcount=1
fitimage_emit_section_setup ${1} "${setupcount}" arch/${ARCH}/boot/setup.bin
fi
@@ -375,7 +383,7 @@ fitimage_assemble() {
# Force the first Kernel and DTB in the default config
kernelcount=1
if test -n "${dtbcount}"; then
if [ -n "${dtbcount}" ]; then
dtbcount=1
fi
@@ -384,7 +392,13 @@ fitimage_assemble() {
#
fitimage_emit_section_maint ${1} confstart
fitimage_emit_section_config ${1} "${kernelcount}" "${dtbcount}" "${ramdiskcount}" "${setupcount}"
if [ -n "${DTBS}" ]; then
i=1
for DTB in ${DTBS}; do
fitimage_emit_section_config ${1} "${kernelcount}" "${DTB}" "${ramdiskcount}" "${setupcount}" "`expr ${i} = ${dtbcount}`"
i=`expr ${i} + 1`
done
fi
fitimage_emit_section_maint ${1} sectend

View File

@@ -138,7 +138,7 @@ python split_kernel_module_packages () {
postinst = d.getVar('pkg_postinst_modules')
postrm = d.getVar('pkg_postrm_modules')
modules = do_split_packages(d, root='/lib/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='kernel-%s' % (d.getVar("KERNEL_VERSION")))
modules = do_split_packages(d, root='${nonarch_base_libdir}/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='kernel-%s' % (d.getVar("KERNEL_VERSION")))
if modules:
metapkg = d.getVar('KERNEL_MODULES_META_PACKAGE')
d.appendVar('RDEPENDS_' + metapkg, ' '+' '.join(modules))

View File

@@ -1,5 +1,5 @@
uboot_prep_kimage() {
if test -e arch/${ARCH}/boot/compressed/vmlinux ; then
if [ -e arch/${ARCH}/boot/compressed/vmlinux ]; then
vmlinux_path="arch/${ARCH}/boot/compressed/vmlinux"
linux_suffix=""
linux_comp="none"

View File

@@ -23,7 +23,7 @@ do_uboot_mkimage() {
uboot_prep_kimage
ENTRYPOINT=${UBOOT_ENTRYPOINT}
if test -n "${UBOOT_ENTRYSYMBOL}"; then
if [ -n "${UBOOT_ENTRYSYMBOL}" ]; then
ENTRYPOINT=`${HOST_PREFIX}nm ${S}/vmlinux | \
awk '$3=="${UBOOT_ENTRYSYMBOL}" {print $1}'`
fi

View File

@@ -299,11 +299,11 @@ kernel_do_install() {
#
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then
oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" modules_install
rm "${D}/lib/modules/${KERNEL_VERSION}/build"
rm "${D}/lib/modules/${KERNEL_VERSION}/source"
oe_runmake DEPMOD=echo MODLIB=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION} INSTALL_FW_PATH=${D}${nonarch_base_libdir}/firmware modules_install
rm "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/build"
rm "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/source"
# If the kernel/ directory is empty remove it to prevent QA issues
rmdir --ignore-fail-on-non-empty "${D}/lib/modules/${KERNEL_VERSION}/kernel"
rmdir --ignore-fail-on-non-empty "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel"
else
bbnote "no modules to install"
fi
@@ -485,9 +485,9 @@ EXPORT_FUNCTIONS do_compile do_install do_configure
# kernel-image becomes kernel-image-${KERNEL_VERSION}
PACKAGES = "kernel kernel-base kernel-vmlinux kernel-image kernel-dev kernel-modules"
FILES_${PN} = ""
FILES_kernel-base = "/lib/modules/${KERNEL_VERSION}/modules.order /lib/modules/${KERNEL_VERSION}/modules.builtin"
FILES_kernel-base = "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.order ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin"
FILES_kernel-image = ""
FILES_kernel-dev = "/boot/System.map* /boot/Module.symvers* /boot/config* ${KERNEL_SRC_PATH} /lib/modules/${KERNEL_VERSION}/build"
FILES_kernel-dev = "/boot/System.map* /boot/Module.symvers* /boot/config* ${KERNEL_SRC_PATH} ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/build"
FILES_kernel-vmlinux = "/boot/vmlinux-${KERNEL_VERSION_NAME}"
FILES_kernel-modules = ""
RDEPENDS_kernel = "kernel-base"
@@ -518,7 +518,7 @@ pkg_postinst_kernel-base () {
PACKAGESPLITFUNCS_prepend = "split_kernel_packages "
python split_kernel_packages () {
do_split_packages(d, root='/lib/firmware', file_regex='^(.*)\.(bin|fw|cis|csp|dsp)$', output_pattern='kernel-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='')
do_split_packages(d, root='${nonarch_base_libdir}/firmware', file_regex='^(.*)\.(bin|fw|cis|csp|dsp)$', output_pattern='kernel-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='')
}
# Many scripts want to look in arch/$arch/boot for the bootable

View File

@@ -386,9 +386,9 @@ def copy_license_files(lic_files_paths, destdir):
if begin_idx is None and end_idx is None:
shutil.copyfile(src, dst)
else:
with open(src, 'r') as src_f:
with open(dst, 'w') as dst_f:
dst_f.write(''.join(src_f.readlines()[begin_idx:end_idx]))
with open(src, 'rb') as src_f:
with open(dst, 'wb') as dst_f:
dst_f.write(b''.join(src_f.readlines()[begin_idx:end_idx]))
except Exception as e:
bb.warn("Could not copy license file %s to %s: %s" % (src, dst, e))

View File

@@ -1,4 +1,4 @@
inherit module-base kernel-module-split
inherit module-base kernel-module-split pkgconfig
addtask make_scripts after do_prepare_recipe_sysroot before do_compile
do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock"
@@ -31,7 +31,7 @@ module_do_compile() {
module_do_install() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" \
oe_runmake DEPMOD=echo MODLIB="${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}" \
CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
O=${STAGING_KERNEL_BUILDDIR} \
${MODULES_INSTALL_TARGET}

View File

@@ -112,6 +112,7 @@ PKG_CONFIG_SYSTEM_INCLUDE_PATH[unexport] = "1"
LIBCOVERRIDE = ""
CLASSOVERRIDE = "class-native"
MACHINEOVERRIDES = ""
MACHINE_FEATURES = ""
PATH_prepend = "${COREBASE}/scripts/native-intercept:"

View File

@@ -14,6 +14,7 @@ def npm_oe_arch_map(target_arch, d):
return target_arch
NPM_ARCH ?= "${@npm_oe_arch_map(d.getVar('TARGET_ARCH'), d)}"
NPM_INSTALL_DEV = "0"
npm_do_compile() {
# Copy in any additionally fetched modules
@@ -23,12 +24,20 @@ npm_do_compile() {
# changing the home directory to the working directory, the .npmrc will
# be created in this directory
export HOME=${WORKDIR}
npm config set dev false
if [ "${NPM_INSTALL_DEV}" = "1" ]; then
npm config set dev true
else
npm config set dev false
fi
npm set cache ${WORKDIR}/npm_cache
# clear cache before every build
npm cache clear
# Install pkg into ${S} without going to the registry
npm --arch=${NPM_ARCH} --target_arch=${NPM_ARCH} --production --no-registry install
if [ "${NPM_INSTALL_DEV}" = "1" ]; then
npm --arch=${NPM_ARCH} --target_arch=${NPM_ARCH} --no-registry install
else
npm --arch=${NPM_ARCH} --target_arch=${NPM_ARCH} --production --no-registry install
fi
}
npm_do_install() {

View File

@@ -345,7 +345,7 @@ def splitdebuginfo(file, debugfile, debugsrcdir, sourcefile, d):
dvar = d.getVar('PKGD')
objcopy = d.getVar("OBJCOPY")
debugedit = d.expand("${STAGING_LIBDIR_NATIVE}/rpm/bin/debugedit")
debugedit = d.expand("${STAGING_LIBDIR_NATIVE}/rpm/debugedit")
# We ignore kernel modules, we don't generate debug info files.
if file.find("/lib/modules/") != -1 and file.endswith(".ko"):
@@ -479,9 +479,6 @@ def get_package_additional_metadata (pkg_type, d):
def runtime_mapping_rename (varname, pkg, d):
#bb.note("%s before: %s" % (varname, d.getVar(varname)))
if bb.data.inherits_class('packagegroup', d):
return
new_depends = {}
deps = bb.utils.explode_dep_versions2(d.getVar(varname) or "")
for depend in deps:
@@ -781,7 +778,7 @@ python fixup_perms () {
dir = d.getVar(path) or ""
if dir == "":
continue
fs_perms_table[dir] = fs_perms_entry(bb.data.expand("%s 0755 root root false - - -" % (dir), d))
fs_perms_table[dir] = fs_perms_entry(d.expand("%s 0755 root root false - - -" % (dir)))
# Now we actually load from the configuration files
for conf in get_fs_perms_list(d).split():
@@ -1436,7 +1433,7 @@ if [ x"$D" = "x" ]; then
fi
}
RPMDEPS = "${STAGING_LIBDIR_NATIVE}/rpm/bin/rpmdeps-oecore --macros ${STAGING_LIBDIR_NATIVE}/rpm/macros --define '_rpmfc_magic_path ${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc' --rpmpopt ${STAGING_LIBDIR_NATIVE}/rpm/rpmpopt"
RPMDEPS = "${STAGING_LIBDIR_NATIVE}/rpm/rpmdeps --rcfile ${STAGING_LIBDIR_NATIVE}/rpm/rpmrc --macros ${STAGING_LIBDIR_NATIVE}/rpm/macros --define '_rpmconfigdir ${STAGING_LIBDIR_NATIVE}/rpm/'"
# Collect perfile run-time dependency metadata
# Output:
@@ -1453,6 +1450,7 @@ python package_do_filedeps() {
pkgdest = d.getVar('PKGDEST')
packages = d.getVar('PACKAGES')
rpmdeps = d.getVar('RPMDEPS')
magic = d.expand("${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc")
def chunks(files, n):
return [files[i:i+n] for i in range(0, len(files), n)]
@@ -1464,7 +1462,7 @@ python package_do_filedeps() {
if pkg.endswith('-dbg') or pkg.endswith('-doc') or pkg.find('-locale-') != -1 or pkg.find('-localedata-') != -1 or pkg.find('-gconv-') != -1 or pkg.find('-charmap-') != -1 or pkg.startswith('kernel-module-'):
continue
for files in chunks(pkgfiles[pkg], 100):
pkglist.append((pkg, files, rpmdeps, pkgdest))
pkglist.append((pkg, files, rpmdeps, pkgdest, magic))
processed = oe.utils.multiprocess_exec( pkglist, oe.package.filedeprunner)
@@ -1803,7 +1801,7 @@ python package_do_pkgconfig () {
m = field_re.match(l)
if m:
hdr = m.group(1)
exp = bb.data.expand(m.group(2), pd)
exp = pd.expand(m.group(2))
if hdr == 'Requires':
pkgconfig_needed[pkg] += exp.replace(',', ' ').split()
@@ -2013,7 +2011,7 @@ python package_depchains() {
# Since bitbake can't determine which variables are accessed during package
# iteration, we need to list them here:
PACKAGEVARS = "FILES RDEPENDS RRECOMMENDS SUMMARY DESCRIPTION RSUGGESTS RPROVIDES RCONFLICTS PKG ALLOW_EMPTY pkg_postinst pkg_postrm INITSCRIPT_NAME INITSCRIPT_PARAMS DEBIAN_NOAUTONAME ALTERNATIVE PKGE PKGV PKGR USERADD_PARAM GROUPADD_PARAM CONFFILES SYSTEMD_SERVICE LICENSE SECTION pkg_preinst pkg_prerm RREPLACES GROUPMEMS_PARAM SYSTEMD_AUTO_ENABLE"
PACKAGEVARS = "FILES RDEPENDS RRECOMMENDS SUMMARY DESCRIPTION RSUGGESTS RPROVIDES RCONFLICTS PKG ALLOW_EMPTY pkg_postinst pkg_postrm INITSCRIPT_NAME INITSCRIPT_PARAMS DEBIAN_NOAUTONAME ALTERNATIVE PKGE PKGV PKGR USERADD_PARAM GROUPADD_PARAM CONFFILES SYSTEMD_SERVICE LICENSE SECTION pkg_preinst pkg_prerm RREPLACES GROUPMEMS_PARAM SYSTEMD_AUTO_ENABLE SKIP_FILEDEPS PRIVATE_LIBS"
def gen_packagevar(d):
ret = []

View File

@@ -101,27 +101,6 @@ python write_specfile () {
os.chown(f, 0, 0)
spec_preamble_top.append('Source%s: %s' % (source_number, source))
source_number += 1
# We need a simple way to remove the MLPREFIX from the package name,
# and dependency information...
def strip_multilib(name, d):
multilibs = d.getVar('MULTILIBS') or ""
for ext in multilibs.split():
eext = ext.split(':')
if len(eext) > 1 and eext[0] == 'multilib' and name and name.find(eext[1] + '-') >= 0:
name = "".join(name.split(eext[1] + '-'))
return name
def strip_multilib_deps(deps, d):
depends = bb.utils.explode_dep_versions2(deps or "")
newdeps = {}
for dep in depends:
newdeps[strip_multilib(dep, d)] = depends[dep]
return bb.utils.join_deps(newdeps)
# ml = d.getVar("MLPREFIX")
# if ml and name and len(ml) != 0 and name.find(ml) == 0:
# return ml.join(name.split(ml, 1)[1:])
# return name
# In RPM, dependencies are of the format: pkg <>= Epoch:Version-Release
# This format is similar to OE, however there are restrictions on the
@@ -283,7 +262,7 @@ python write_specfile () {
bb.fatal("No OUTSPECFILE")
# Construct the SPEC file...
srcname = strip_multilib(d.getVar('PN'), d)
srcname = d.getVar('PN')
srcsummary = (d.getVar('SUMMARY') or d.getVar('DESCRIPTION') or ".")
srcversion = d.getVar('PKGV').replace('-', '+')
srcrelease = d.getVar('PKGR')
@@ -295,7 +274,7 @@ python write_specfile () {
srcdescription = d.getVar('DESCRIPTION') or "."
srccustomtagschunk = get_package_additional_metadata("rpm", d)
srcdepends = strip_multilib_deps(d.getVar('DEPENDS'), d)
srcdepends = d.getVar('DEPENDS')
srcrdepends = []
srcrrecommends = []
srcrsuggests = []
@@ -340,7 +319,7 @@ python write_specfile () {
if dirfiles is not None:
dirfiles = dirfiles.split()
splitname = strip_multilib(pkgname, d)
splitname = pkgname
splitsummary = (localdata.getVar('SUMMARY') or localdata.getVar('DESCRIPTION') or ".")
splitversion = (localdata.getVar('PKGV') or "").replace('-', '+')
@@ -361,12 +340,12 @@ python write_specfile () {
# Map the dependencies into their final form
mapping_rename_hook(localdata)
splitrdepends = strip_multilib_deps(localdata.getVar('RDEPENDS'), d)
splitrrecommends = strip_multilib_deps(localdata.getVar('RRECOMMENDS'), d)
splitrsuggests = strip_multilib_deps(localdata.getVar('RSUGGESTS'), d)
splitrprovides = strip_multilib_deps(localdata.getVar('RPROVIDES'), d)
splitrreplaces = strip_multilib_deps(localdata.getVar('RREPLACES'), d)
splitrconflicts = strip_multilib_deps(localdata.getVar('RCONFLICTS'), d)
splitrdepends = localdata.getVar('RDEPENDS')
splitrrecommends = localdata.getVar('RRECOMMENDS')
splitrsuggests = localdata.getVar('RSUGGESTS')
splitrprovides = localdata.getVar('RPROVIDES')
splitrreplaces = localdata.getVar('RREPLACES')
splitrconflicts = localdata.getVar('RCONFLICTS')
splitrobsoletes = []
splitrpreinst = localdata.getVar('pkg_preinst')
@@ -450,10 +429,8 @@ python write_specfile () {
if splitrpostrm:
print_deps(splitrdepends, "Requires(postun)", spec_preamble_bottom, d)
# Suggests in RPM are like recommends in OE-core!
print_deps(splitrrecommends, "Suggests", spec_preamble_bottom, d)
# While there is no analog for suggests... (So call them recommends for now)
print_deps(splitrsuggests, "Recommends", spec_preamble_bottom, d)
print_deps(splitrrecommends, "Recommends", spec_preamble_bottom, d)
print_deps(splitrsuggests, "Suggests", spec_preamble_bottom, d)
print_deps(splitrprovides, "Provides", spec_preamble_bottom, d)
print_deps(splitrobsoletes, "Obsoletes", spec_preamble_bottom, d)
@@ -560,11 +537,9 @@ python write_specfile () {
if srcrpostrm:
print_deps(srcrdepends, "Requires(postun)", spec_preamble_top, d)
# Suggests in RPM are like recommends in OE-core!
print_deps(srcrrecommends, "Suggests", spec_preamble_top, d)
# While there is no analog for suggests... (So call them recommends for now)
print_deps(srcrsuggests, "Recommends", spec_preamble_top, d)
print_deps(srcrprovides, "Provides", spec_preamble_top, d)
print_deps(srcrrecommends, "Recommends", spec_preamble_top, d)
print_deps(srcrsuggests, "Suggests", spec_preamble_top, d)
print_deps(srcrprovides + (" /bin/sh" if srcname.startswith("nativesdk-") else ""), "Provides", spec_preamble_top, d)
print_deps(srcrobsoletes, "Obsoletes", spec_preamble_top, d)
# conflicts can not be in a provide! We will need to filter it.
@@ -644,14 +619,6 @@ python write_specfile () {
write_specfile[vardepsexclude] = "OVERRIDES"
python do_package_rpm () {
# We need a simple way to remove the MLPREFIX from the package name,
# and dependency information...
def strip_multilib(name, d):
ml = d.getVar("MLPREFIX")
if ml and name and len(ml) != 0 and name.find(ml) >= 0:
return "".join(name.split(ml))
return name
workdir = d.getVar('WORKDIR')
tmpdir = d.getVar('TMPDIR')
pkgd = d.getVar('PKGD')
@@ -669,7 +636,7 @@ python do_package_rpm () {
# If the spec file already exist, and has not been stored into
# pseudo's files.db, it maybe cause rpmbuild src.rpm fail,
# so remove it before doing rpmbuild src.rpm.
srcname = strip_multilib(d.getVar('PN'), d)
srcname = d.getVar('PN')
outspecfile = workdir + "/" + srcname + ".spec"
if os.path.isfile(outspecfile):
os.remove(outspecfile)
@@ -684,23 +651,20 @@ python do_package_rpm () {
rpmbuild = d.getVar('RPMBUILD')
targetsys = d.getVar('TARGET_SYS')
targetvendor = d.getVar('HOST_VENDOR')
package_arch = (d.getVar('PACKAGE_ARCH') or "").replace("-", "_")
# Too many places in dnf stack assume that arch-independent packages are "noarch".
# Let's not fight against this.
package_arch = (d.getVar('PACKAGE_ARCH') or "").replace("-", "_").replace("all", "noarch")
sdkpkgsuffix = (d.getVar('SDKPKGSUFFIX') or "nativesdk").replace("-", "_")
if package_arch not in "all any noarch".split() and not package_arch.endswith(sdkpkgsuffix):
ml_prefix = (d.getVar('MLPREFIX') or "").replace("-", "_")
d.setVar('PACKAGE_ARCH_EXTEND', ml_prefix + package_arch)
else:
d.setVar('PACKAGE_ARCH_EXTEND', package_arch)
d.setVar('PACKAGE_ARCH_EXTEND', package_arch)
pkgwritedir = d.expand('${PKGWRITEDIRRPM}/${PACKAGE_ARCH_EXTEND}')
d.setVar('RPM_PKGWRITEDIR', pkgwritedir)
bb.debug(1, 'PKGWRITEDIR: %s' % d.getVar('RPM_PKGWRITEDIR'))
pkgarch = d.expand('${PACKAGE_ARCH_EXTEND}${HOST_VENDOR}-${HOST_OS}')
magicfile = d.expand('${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc')
pkgarch = d.expand('${PACKAGE_ARCH_EXTEND}${HOST_VENDOR}-linux')
bb.utils.mkdirhier(pkgwritedir)
os.chmod(pkgwritedir, 0o755)
cmd = rpmbuild
cmd = cmd + " --nodeps --short-circuit --target " + pkgarch + " --buildroot " + pkgd
cmd = cmd + " --noclean --nodeps --short-circuit --target " + pkgarch + " --buildroot " + pkgd
cmd = cmd + " --define '_topdir " + workdir + "' --define '_rpmdir " + pkgwritedir + "'"
cmd = cmd + " --define '_builddir " + d.getVar('S') + "'"
cmd = cmd + " --define '_build_name_fmt %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm'"
@@ -713,7 +677,6 @@ python do_package_rpm () {
cmd = cmd + " --define '__find_provides %{nil}'"
cmd = cmd + " --define '_unpackaged_files_terminate_build 0'"
cmd = cmd + " --define 'debug_package %{nil}'"
cmd = cmd + " --define '_rpmfc_magic_path " + magicfile + "'"
cmd = cmd + " --define '_tmppath " + workdir + "'"
if d.getVarFlag('ARCHIVER_MODE', 'srpm') == '1' and bb.data.inherits_class('archiver', d):
cmd = cmd + " --define '_sourcedir " + d.getVar('ARCHIVER_OUTDIR') + "'"
@@ -725,8 +688,11 @@ python do_package_rpm () {
bb.build.exec_func('SBUILDSPEC', d)
cmd = cmd + " -bb " + outspecfile
# rpm 4 creates various empty directories in _topdir, let's clean them up
cleanupcmd = "rm -rf %s/BUILDROOT %s/SOURCES %s/SPECS %s/SRPMS" % (workdir, workdir, workdir, workdir)
# Build the rpm package!
d.setVar('BUILDSPEC', cmd + "\n")
d.setVar('BUILDSPEC', cmd + "\n" + cleanupcmd + "\n")
d.setVarFlag('BUILDSPEC', 'func', '1')
bb.build.exec_func('BUILDSPEC', d)
@@ -765,6 +731,6 @@ do_package_write_rpm[depends] += "${@oe.utils.build_depends_string(d.getVar('PAC
addtask package_write_rpm after do_packagedata do_package
PACKAGEINDEXDEPS += "rpm-native:do_populate_sysroot"
PACKAGEINDEXDEPS += "createrepo-native:do_populate_sysroot"
PACKAGEINDEXDEPS += "createrepo-c-native:do_populate_sysroot"
do_build[recrdeptask] += "do_package_write_rpm"

View File

@@ -246,8 +246,7 @@ populate_sdk_log_check() {
echo "log_check: Using $lf_path as logfile"
if test -e "$lf_path"
then
if [ -e "$lf_path" ]; then
${IMAGE_PKGTYPE}_log_check $target $lf_path
else
echo "Cannot find logfile [$lf_path]"

View File

@@ -102,6 +102,12 @@ do_rm_work () {
rm -f $i
done
}
do_rm_work_all () {
:
}
do_rm_work_all[recrdeptask] = "do_rm_work"
do_rm_work_all[noexec] = "1"
addtask rm_work_all after before do_build
do_populate_sdk[postfuncs] += "rm_work_populatesdk"
rm_work_populatesdk () {
@@ -138,9 +144,8 @@ python inject_rm_work() {
# do_build inherits additional runtime dependencies on
# other recipes and thus will typically run much later than completion of
# work in the recipe itself.
deps = bb.build.preceedtask('do_build', True, d)
if 'do_build' in deps:
deps.remove('do_build')
deps = set(bb.build.preceedtask('do_build', True, d))
deps.difference_update(('do_build', 'do_rm_work_all'))
# In practice, addtask() here merely updates the dependencies.
bb.build.addtask('do_rm_work', 'do_build', ' '.join(deps), d)
}

View File

@@ -3,7 +3,6 @@
#
ROOTFS_PKGMANAGE = "dpkg apt"
ROOTFS_PKGMANAGE_BOOTSTRAP = "run-postinsts"
do_rootfs[depends] += "dpkg-native:do_populate_sysroot apt-native:do_populate_sysroot"
do_populate_sdk[depends] += "dpkg-native:do_populate_sysroot apt-native:do_populate_sysroot bzip2-native:do_populate_sysroot"

View File

@@ -7,7 +7,6 @@
EXTRAOPKGCONFIG ?= ""
ROOTFS_PKGMANAGE = "opkg ${EXTRAOPKGCONFIG}"
ROOTFS_PKGMANAGE_BOOTSTRAP = "run-postinsts"
do_rootfs[depends] += "opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot"
do_populate_sdk[depends] += "opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot"

View File

@@ -2,20 +2,22 @@
# Creates a root filesystem out of rpm packages
#
ROOTFS_PKGMANAGE = "rpm smartpm"
ROOTFS_PKGMANAGE_BOOTSTRAP = "run-postinsts"
ROOTFS_PKGMANAGE = "rpm dnf"
# Add 100Meg of extra space for Smart
IMAGE_ROOTFS_EXTRA_SPACE_append = "${@bb.utils.contains("PACKAGE_INSTALL", "smartpm", " + 102400", "" ,d)}"
# dnf is using our custom distutils, and so will fail without these
export STAGING_INCDIR
export STAGING_LIBDIR
# Smart is python based, so be sure python-native is available to us.
EXTRANATIVEPATH += "python-native"
# Add 100Meg of extra space for dnf
IMAGE_ROOTFS_EXTRA_SPACE_append = "${@bb.utils.contains("PACKAGE_INSTALL", "dnf", " + 102400", "" ,d)}"
# Dnf is python based, so be sure python3-native is available to us.
EXTRANATIVEPATH += "python3-native"
# opkg is needed for update-alternatives
RPMROOTFSDEPENDS = "rpm-native:do_populate_sysroot \
rpmresolve-native:do_populate_sysroot \
python-smartpm-native:do_populate_sysroot \
createrepo-native:do_populate_sysroot \
dnf-native:do_populate_sysroot \
createrepo-c-native:do_populate_sysroot \
opkg-native:do_populate_sysroot"
do_rootfs[depends] += "${RPMROOTFSDEPENDS}"
@@ -35,7 +37,3 @@ python () {
d.setVar('RPM_POSTPROCESS_COMMANDS', '')
}
# Smart is python based, so be sure python-native is available to us.
EXTRANATIVEPATH += "python-native"
rpmlibdir = "/var/lib/rpm"

View File

@@ -874,7 +874,7 @@ def check_sanity_everybuild(status, d):
mirror_vars = ['MIRRORS', 'PREMIRRORS', 'SSTATE_MIRRORS']
protocols = ['http', 'ftp', 'file', 'https', \
'git', 'gitsm', 'hg', 'osc', 'p4', 'svn', \
'bzr', 'cvs', 'npm', 'sftp', 'ssh']
'bzr', 'cvs', 'npm', 'sftp', 'ssh', 's3' ]
for mirror_var in mirror_vars:
mirrors = (d.getVar(mirror_var) or '').replace('\\n', ' ').split()
@@ -935,7 +935,9 @@ def check_sanity_everybuild(status, d):
# If /bin/sh is a symlink, check that it points to dash or bash
if os.path.islink('/bin/sh'):
real_sh = os.path.realpath('/bin/sh')
if not real_sh.endswith('/dash') and not real_sh.endswith('/bash'):
# Due to update-alternatives, the shell name may take various
# forms, such as /bin/dash, bin/bash, /bin/bash.bash ...
if '/dash' not in real_sh and '/bash' not in real_sh:
status.addresult("Error, /bin/sh links to %s, must be dash or bash\n" % real_sh)
def check_sanity(sanity_data):

View File

@@ -28,13 +28,6 @@ python () {
for var in ('RPM_GPG_NAME', 'RPM_GPG_PASSPHRASE'):
if not d.getVar(var):
raise_sanity_error("You need to define %s in the config" % var, d)
# Set the expected location of the public key
d.setVar('RPM_GPG_PUBKEY', os.path.join(d.getVar('STAGING_DIR_TARGET', False),
d.getVar('sysconfdir', False),
'pki',
'rpm-gpg',
'RPM-GPG-KEY-${DISTRO_VERSION}'))
}
python sign_rpm () {

View File

@@ -25,7 +25,7 @@ PV[vardepvalue] = "${PV}"
SSTATE_EXTRAPATH[vardepvalue] = ""
# For multilib rpm the allarch packagegroup files can overwrite (in theory they're identical)
SSTATE_DUPWHITELIST = "${DEPLOY_DIR_IMAGE}/ ${DEPLOY_DIR}/licenses/ ${DEPLOY_DIR_RPM}/all/"
SSTATE_DUPWHITELIST = "${DEPLOY_DIR_IMAGE}/ ${DEPLOY_DIR}/licenses/ ${DEPLOY_DIR_RPM}/noarch/"
# Avoid docbook/sgml catalog warnings for now
SSTATE_DUPWHITELIST += "${STAGING_ETCDIR_NATIVE}/sgml ${STAGING_DATADIR_NATIVE}/sgml"
# Archive the sources for many architectures in one deploy folder
@@ -313,6 +313,11 @@ def sstate_installpkg(ss, d):
if not signer.verify(sstatepkg + '.sig'):
bb.warn("Cannot verify signature on sstate package %s" % sstatepkg)
# Empty sstateinst directory, ensure its clean
if os.path.exists(sstateinst):
oe.path.remove(sstateinst)
bb.utils.mkdirhier(sstateinst)
sstateinst = d.getVar("SSTATE_INSTDIR")
d.setVar('SSTATE_FIXMEDIR', ss['fixmedir'])
@@ -747,6 +752,8 @@ python sstate_sign_package () {
#
sstate_unpack_package () {
tar -xvzf ${SSTATE_PKG}
# update .siginfo atime on local/NFS mirror
[ -h ${SSTATE_PKG}.siginfo ] && touch -a ${SSTATE_PKG}.siginfo
# Use "! -w ||" to return true for read only files
[ ! -w ${SSTATE_PKG} ] || touch --no-dereference ${SSTATE_PKG}
[ ! -w ${SSTATE_PKG}.sig ] || [ ! -e ${SSTATE_PKG}.sig ] || touch --no-dereference ${SSTATE_PKG}.sig

View File

@@ -173,42 +173,6 @@ addtask populate_sysroot after do_install
SYSROOT_PREPROCESS_FUNCS ?= ""
SYSROOT_DESTDIR = "${WORKDIR}/sysroot-destdir"
# We clean out any existing sstate from the sysroot if we rerun configure
python sysroot_cleansstate () {
ss = sstate_state_fromvars(d, "populate_sysroot")
sstate_clean(ss, d)
}
do_configure[prefuncs] += "sysroot_cleansstate"
BB_SETSCENE_VERIFY_FUNCTION2 = "sysroot_checkhashes2"
def sysroot_checkhashes2(covered, tasknames, fns, d, invalidtasks):
problems = set()
configurefns = set()
for tid in invalidtasks:
if tasknames[tid] == "do_configure" and tid not in covered:
configurefns.add(fns[tid])
for tid in covered:
if tasknames[tid] == "do_populate_sysroot" and fns[tid] in configurefns:
problems.add(tid)
return problems
BB_SETSCENE_VERIFY_FUNCTION = "sysroot_checkhashes"
def sysroot_checkhashes(covered, tasknames, fnids, fns, d, invalidtasks = None):
problems = set()
configurefnids = set()
if not invalidtasks:
invalidtasks = range(len(tasknames))
for task in invalidtasks:
if tasknames[task] == "do_configure" and task not in covered:
configurefnids.add(fnids[task])
for task in covered:
if tasknames[task] == "do_populate_sysroot" and fnids[task] in configurefnids:
problems.add(task)
return problems
python do_populate_sysroot () {
bb.build.exec_func("sysroot_stage_all", d)
bb.build.exec_func("sysroot_strip", d)
@@ -505,6 +469,8 @@ python extend_recipe_sysroot() {
multilibs = {}
manifests = {}
installed = []
for f in os.listdir(depdir):
if not f.endswith(".complete"):
continue
@@ -523,6 +489,9 @@ python extend_recipe_sysroot() {
if mytaskname in ["do_sdk_depends", "do_populate_sdk_ext"] and c.endswith("-initial"):
bb.note("Skipping initial setscene dependency %s for installation into the sysroot" % c)
continue
installed.append(c)
if os.path.exists(depdir + "/" + c):
lnk = os.readlink(depdir + "/" + c)
if lnk == c + "." + taskhash and os.path.exists(depdir + "/" + c + ".complete"):
@@ -637,9 +606,32 @@ python extend_recipe_sysroot() {
c = setscenedeps[dep][0]
os.symlink(manifests[dep], depdir + "/" + c + ".complete")
# We want to remove anything which this task previously installed but is no longer a dependency
# This could potentially race against another task which also installed it but still requires it
# but the alternative is not doing anything at all and that race window should be small enough
# to be insignificant
taskindex = depdir + "/" + "index." + mytaskname
if os.path.exists(taskindex):
with open(taskindex, "r") as f:
for l in f:
l = l.strip()
if l not in installed:
l = depdir + "/" + l
if not os.path.exists(l):
# Was likely already uninstalled
continue
bb.note("Task %s no longer depends on %s, removing from sysroot" % (mytaskname, l))
lnk = os.readlink(l)
sstate_clean_manifest(depdir + "/" + lnk, d, workdir)
os.unlink(l)
os.unlink(l + ".complete")
with open(taskindex, "w") as f:
for l in sorted(installed):
f.write(l + "\n")
bb.utils.unlockfile(lock)
}
extend_recipe_sysroot[vardepsexclude] += "MACHINE SDK_ARCH BUILD_ARCH SDK_OS BB_TASKDEPDATA"
extend_recipe_sysroot[vardepsexclude] += "MACHINE_ARCH PACKAGE_EXTRA_ARCHS SDK_ARCH BUILD_ARCH SDK_OS BB_TASKDEPDATA"
python do_prepare_recipe_sysroot () {
bb.build.exec_func("extend_recipe_sysroot", d)

View File

@@ -66,6 +66,11 @@ def oe_terminal(command, title, d):
envdata.setVar(key, str(value))
envdata.setVarFlag(key, 'export', '1')
# Use original PATH as a fallback
path = d.getVar('PATH') + ":" + origbbenv.getVar('PATH')
os.environ['PATH'] = path
envdata.setVar('PATH', path)
# A complex PS1 might need more escaping of chars.
# Lets not export PS1 instead.
envdata.delVar("PS1")

View File

@@ -35,7 +35,7 @@ TEST_NEEDED_PACKAGES_DIR ?= "${WORKDIR}/testimage/packages"
TEST_EXTRACTED_DIR ?= "${TEST_NEEDED_PACKAGES_DIR}/extracted"
TEST_PACKAGED_DIR ?= "${TEST_NEEDED_PACKAGES_DIR}/packaged"
RPMTESTSUITE = "${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'smart rpm', '', d)}"
RPMTESTSUITE = "${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'dnf rpm', '', d)}"
SYSTEMDSUITE = "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
MINTESTSUITE = "ping"
NETTESTSUITE = "${MINTESTSUITE} ssh df date scp oe_syslog ${SYSTEMDSUITE}"
@@ -49,10 +49,10 @@ DEFAULT_TEST_SUITES_pn-core-image-x11 = "${MINTESTSUITE}"
DEFAULT_TEST_SUITES_pn-core-image-lsb = "${NETTESTSUITE} pam parselogs ${RPMTESTSUITE}"
DEFAULT_TEST_SUITES_pn-core-image-sato = "${NETTESTSUITE} connman xorg parselogs ${RPMTESTSUITE} \
${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'python', '', d)}"
DEFAULT_TEST_SUITES_pn-core-image-sato-sdk = "${NETTESTSUITE} buildcvs buildiptables buildgalculator \
DEFAULT_TEST_SUITES_pn-core-image-sato-sdk = "${NETTESTSUITE} buildcpio buildiptables buildgalculator \
connman ${DEVTESTSUITE} logrotate perl parselogs python ${RPMTESTSUITE} xorg"
DEFAULT_TEST_SUITES_pn-core-image-lsb-dev = "${NETTESTSUITE} pam perl python parselogs ${RPMTESTSUITE}"
DEFAULT_TEST_SUITES_pn-core-image-lsb-sdk = "${NETTESTSUITE} buildcvs buildiptables buildgalculator \
DEFAULT_TEST_SUITES_pn-core-image-lsb-sdk = "${NETTESTSUITE} buildcpio buildiptables buildgalculator \
connman ${DEVTESTSUITE} logrotate pam parselogs perl python ${RPMTESTSUITE}"
DEFAULT_TEST_SUITES_pn-meta-toolchain = "auto"
@@ -61,7 +61,7 @@ DEFAULT_TEST_SUITES_remove_aarch64 = "xorg"
# qemumips is quite slow and has reached the timeout limit several times on the YP build cluster,
# mitigate this by removing build tests for qemumips machines.
MIPSREMOVE ??= "buildcvs buildiptables buildgalculator"
MIPSREMOVE ??= "buildcpio buildiptables buildgalculator"
DEFAULT_TEST_SUITES_remove_qemumips = "${MIPSREMOVE}"
DEFAULT_TEST_SUITES_remove_qemumips64 = "${MIPSREMOVE}"
@@ -74,12 +74,11 @@ TESTIMAGEDEPENDS = ""
TESTIMAGEDEPENDS_qemuall = "qemu-native:do_populate_sysroot qemu-helper-native:do_populate_sysroot"
TESTIMAGEDEPENDS += "${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'cpio-native:do_populate_sysroot', '', d)}"
TESTIMAGEDEPENDS_qemuall += "${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'cpio-native:do_populate_sysroot', '', d)}"
TESTIMAGEDEPENDS_qemuall += "${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'createrepo-native:do_populate_sysroot', '', d)}"
TESTIMAGEDEPENDS += "${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'python-smartpm-native:do_populate_sysroot', '', d)}"
TESTIMAGEDEPENDS_qemuall += "${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'createrepo-c-native:do_populate_sysroot', '', d)}"
TESTIMAGEDEPENDS += "${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'dnf-native:do_populate_sysroot', '', d)}"
TESTIMAGEDEPENDS += "${@bb.utils.contains('IMAGE_PKGTYPE', 'ipk', 'opkg-utils-native:do_populate_sysroot', '', d)}"
TESTIMAGEDEPENDS += "${@bb.utils.contains('IMAGE_PKGTYPE', 'deb', 'apt-native:do_populate_sysroot', '', d)}"
TESTIMAGEDEPENDS += "${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'python-smartpm-native:do_populate_sysroot', '', d)}"
TESTIMAGEDEPENDS += "${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'createrepo-native:do_populate_sysroot', '', d)}"
TESTIMAGEDEPENDS += "${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'createrepo-c-native:do_populate_sysroot', '', d)}"
TESTIMAGELOCK = "${TMPDIR}/testimage.lock"
TESTIMAGELOCK_qemuall = ""
@@ -120,7 +119,7 @@ python do_testimage() {
testimage_sanity(d)
if (d.getVar('IMAGE_PKGTYPE') == 'rpm'
and 'smart' in d.getVar('TEST_SUITES')):
and 'dnf' in d.getVar('TEST_SUITES')):
create_rpm_index(d)
testimage_main(d)
@@ -211,7 +210,9 @@ def testimage_main(d):
# Get use_kvm
qemu_use_kvm = d.getVar("QEMU_USE_KVM")
if qemu_use_kvm and qemu_use_kvm == 'True' and 'x86' in machine:
if qemu_use_kvm and \
(qemu_use_kvm == 'True' and 'x86' in machine or \
d.getVar('MACHINE') in qemu_use_kvm.split()):
kvm = True
else:
kvm = False
@@ -262,7 +263,8 @@ def testimage_main(d):
bootparams = None
if d.getVar('VIRTUAL-RUNTIME_init_manager', '') == 'systemd':
bootparams = 'systemd.log_level=debug systemd.log_target=console'
# Add systemd.log_level=debug to enable systemd debug logging
bootparams = 'systemd.log_target=console'
results = None
orig_sigterm_handler = signal.signal(signal.SIGTERM, sigterm_exception)
@@ -324,30 +326,26 @@ def create_index(arg):
def create_rpm_index(d):
# Index RPMs
rpm_createrepo = bb.utils.which(os.getenv('PATH'), "createrepo")
rpm_createrepo = bb.utils.which(os.getenv('PATH'), "createrepo_c")
index_cmds = []
archs = (d.getVar('ALL_MULTILIB_PACKAGE_ARCHS') or '').replace('-', '_')
for arch in archs.split():
rpm_dir = os.path.join(d.getVar('DEPLOY_DIR_RPM'), arch)
idx_path = os.path.join(d.getVar('WORKDIR'), 'rpm', arch)
db_path = os.path.join(d.getVar('WORKDIR'), 'rpmdb', arch)
idx_path = os.path.join(d.getVar('WORKDIR'), 'oe-testimage-repo', arch)
if not os.path.isdir(rpm_dir):
continue
if os.path.exists(db_path):
bb.utils.remove(dbpath, True)
lockfilename = os.path.join(d.getVar('DEPLOY_DIR_RPM'), 'rpm.lock')
lf = bb.utils.lockfile(lockfilename, False)
oe.path.copyhardlinktree(rpm_dir, idx_path)
# Full indexes overload a 256MB image so reduce the number of rpms
# in the feed. Filter to p* since we use the psplash packages and
# in the feed. Filter to r* since we use the run-postinst packages and
# this leaves some allarch and machine arch packages too.
bb.utils.remove(idx_path + "*/[a-oq-z]*.rpm")
bb.utils.remove(idx_path + "*/[a-qs-z]*.rpm")
bb.utils.unlockfile(lf)
cmd = '%s --dbpath %s --update -q %s' % (rpm_createrepo,
db_path, idx_path)
cmd = '%s --update -q %s' % (rpm_createrepo, idx_path)
# Create repodata
result = create_index(cmd)

View File

@@ -265,8 +265,7 @@ python toaster_buildhistory_dump() {
with open("%s/installed-package-sizes.txt" % installed_img_path, "r") as fin:
for line in fin:
line = line.rstrip(";")
psize, px = line.split("\t")
punit, pname = px.split(" ")
psize, punit, pname = line.split()
# this size is "installed-size" as it measures how much space it takes on disk
images[target][pname.strip()] = {'size':int(psize)*1024, 'depends' : []}

View File

@@ -12,6 +12,7 @@
# UBOOT_EXTLINUX_KERNEL_ARGS - Add additional kernel arguments.
# UBOOT_EXTLINUX_KERNEL_IMAGE - Kernel image name.
# UBOOT_EXTLINUX_FDTDIR - Device tree directory.
# UBOOT_EXTLINUX_FDT - Device tree file.
# UBOOT_EXTLINUX_INITRD - Indicates a list of filesystem images to
# concatenate and use as an initrd (optional).
# UBOOT_EXTLINUX_MENU_DESCRIPTION - Name to use as description.
@@ -59,6 +60,7 @@
# a console=...some_tty...
UBOOT_EXTLINUX_CONSOLE ??= "console=${console}"
UBOOT_EXTLINUX_LABELS ??= "linux"
UBOOT_EXTLINUX_FDT ??= ""
UBOOT_EXTLINUX_FDTDIR ??= "../"
UBOOT_EXTLINUX_KERNEL_IMAGE ??= "../${KERNEL_IMAGETYPE}"
UBOOT_EXTLINUX_KERNEL_ARGS ??= "rootwait rw"
@@ -84,6 +86,8 @@ python create_extlinux_config() {
if not cfile:
bb.fatal('Unable to read UBOOT_EXTLINUX_CONFIG')
localdata = bb.data.createCopy(d)
try:
with open(cfile, 'w') as cfgfile:
cfgfile.write('# Generic Distro Configuration file generated by OpenEmbedded\n')
@@ -99,9 +103,8 @@ python create_extlinux_config() {
default = localdata.getVar('UBOOT_EXTLINUX_DEFAULT_LABEL')
if default:
cfgfile.write('DEFAULT %s\n' % (default))
for label in labels.split():
localdata = bb.data.createCopy(d)
overrides = localdata.getVar('OVERRIDES')
if not overrides:
@@ -121,7 +124,13 @@ python create_extlinux_config() {
kernel_image = localdata.getVar('UBOOT_EXTLINUX_KERNEL_IMAGE')
fdtdir = localdata.getVar('UBOOT_EXTLINUX_FDTDIR')
if fdtdir:
fdt = localdata.getVar('UBOOT_EXTLINUX_FDT')
if fdt:
cfgfile.write('LABEL %s\n\tKERNEL %s\n\tFDT %s\n' %
(menu_description, kernel_image, fdt))
elif fdtdir:
cfgfile.write('LABEL %s\n\tKERNEL %s\n\tFDTDIR %s\n' %
(menu_description, kernel_image, fdtdir))
else:

View File

@@ -25,7 +25,7 @@
# u-boot:do_concat_dtb
# u-boot:do_install
#
# For more details on signature process, please refer to U-boot documentation.
# For more details on signature process, please refer to U-Boot documentation.
# Signature activation.
UBOOT_SIGN_ENABLE ?= "0"

Some files were not shown because too many files have changed in this diff Show More