]> code.ossystems Code Review - openembedded-core.git/log
openembedded-core.git
8 years agonss: Add PACKAGE_WRITE_DEPS
Jussi Kukkonen [Thu, 19 Jan 2017 07:44:04 +0000 (09:44 +0200)]
nss: Add PACKAGE_WRITE_DEPS

nss-native is required in postinst. It's also needed during
build so not removed from DEPENDS.

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
8 years agouseradd: Add PACKAGE_WRITE_DEPS for postinst
Richard Purdie [Thu, 19 Jan 2017 17:01:10 +0000 (17:01 +0000)]
useradd: Add PACKAGE_WRITE_DEPS for postinst

The postinstall needs shadow-native, mark the dependency

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agoca-certificates: Add PACKAGE_WRITE_DEPS for postinst
Richard Purdie [Thu, 19 Jan 2017 17:01:10 +0000 (17:01 +0000)]
ca-certificates: Add PACKAGE_WRITE_DEPS for postinst

The postinstall needs ca-certificates-native, mark the dependency

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agomatchbox-session-sato: Add PACKAGE_WRITE_DEPS for postinst
Richard Purdie [Thu, 19 Jan 2017 17:01:10 +0000 (17:01 +0000)]
matchbox-session-sato: Add PACKAGE_WRITE_DEPS for postinst

The postinstall needs gconf-native, mark the dependency and drop
the now unneeded DEPENDS.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agomodutils-initsripts: Add PACKAGE_WRITE_DEPS for postinst
Richard Purdie [Thu, 19 Jan 2017 17:01:10 +0000 (17:01 +0000)]
modutils-initsripts: Add PACKAGE_WRITE_DEPS for postinst

The postinstall needs systemd-systemctl-native, mark the dependency

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agosystemd-compat-units: Add PACKAGE_WRITE_DEPS for postinst
Richard Purdie [Thu, 19 Jan 2017 17:01:10 +0000 (17:01 +0000)]
systemd-compat-units: Add PACKAGE_WRITE_DEPS for postinst

The postinstall needs systemd-systemctl-native, mark the dependency

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agopsplash: Add PACKAGE_WRITE_DEPS for postinst
Richard Purdie [Thu, 19 Jan 2017 17:01:10 +0000 (17:01 +0000)]
psplash: Add PACKAGE_WRITE_DEPS for postinst

The postinstall needs systemd-systemctl-native, mark the dependency

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agoinitscripts: Add PACKAGE_WRITE_DEPS for postinst
Richard Purdie [Thu, 19 Jan 2017 17:01:10 +0000 (17:01 +0000)]
initscripts: Add PACKAGE_WRITE_DEPS for postinst

The postinstall needs systemd-systemctl-native, mark the dependency

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agov86d: Add PACKAGE_WRITE_DEPS for postinst
Richard Purdie [Thu, 19 Jan 2017 17:01:10 +0000 (17:01 +0000)]
v86d: Add PACKAGE_WRITE_DEPS for postinst

The postinstall needs systemd-systemctl-native, mark the dependency

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agokeymaps: Add PACKAGE_WRITE_DEPS for postinst
Richard Purdie [Thu, 19 Jan 2017 17:01:10 +0000 (17:01 +0000)]
keymaps: Add PACKAGE_WRITE_DEPS for postinst

The postinstall needs systemd-systemctl-native, mark the dependency

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agosystemd: Add PACKAGE_WRITE_DEPS for postinst
Richard Purdie [Thu, 19 Jan 2017 17:01:10 +0000 (17:01 +0000)]
systemd: Add PACKAGE_WRITE_DEPS for postinst

The postinstall needs systemd-systemctl-native, mark the dependency

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agopixbufcache: Add PACKAGE_WRITE_DEPS for postinst
Richard Purdie [Thu, 19 Jan 2017 17:01:10 +0000 (17:01 +0000)]
pixbufcache: Add PACKAGE_WRITE_DEPS for postinst

The postinstall needs qemu-native and gdk-pixbuf-native, mark these dependencies

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agokernel-module-split: Add PACKAGE_WRITE_DEPS for postinst
Richard Purdie [Thu, 19 Jan 2017 17:01:10 +0000 (17:01 +0000)]
kernel-module-split: Add PACKAGE_WRITE_DEPS for postinst

The postinstall needs kmod-native and depmodwrapper-cross, mark these dependencies.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agogtk-icon-cache: Add PACKAGE_WRITE_DEPS for postinst
Richard Purdie [Thu, 19 Jan 2017 16:56:30 +0000 (16:56 +0000)]
gtk-icon-cache: Add PACKAGE_WRITE_DEPS for postinst

gdk-pixbuf-native and gtk-icon-utils-native are needed by the postinstall
scripts so mark the dependency. The utils may be needed at icon build
time too so DEPENDS is unchanged.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agosstate: Drop the depchain isPostDep() checks
Richard Purdie [Thu, 19 Jan 2017 16:53:53 +0000 (16:53 +0000)]
sstate: Drop the depchain isPostDep() checks

The dependencies of do_package_write_* tasks are either going to be packaging
tools needed to build the packages, or, native tools needed at postinst
time. Now we've formalised this dependency pattern, drop the hardcoded
list and work based on the rule. The package creation tools are usually
the same tools needed at rootfs/postinst time anyway so the difference is
moot.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agoclasses/package*: Add support for PACKAGE_WRITE_DEPS
Richard Purdie [Thu, 19 Jan 2017 16:49:00 +0000 (16:49 +0000)]
classes/package*: Add support for PACKAGE_WRITE_DEPS

Add a new variable to allow markup of postinstall (and preinst)
script dependnecies on native/cross tools.

If your postinstall can execute at rootfs creation time rather than on
target but depends on a native tool in order to execute, you need to
list that tool in PACKAGE_WRITE_DEPENDS.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agolib/oe/utils: Add build_depends_string function
Richard Purdie [Thu, 19 Jan 2017 19:31:54 +0000 (19:31 +0000)]
lib/oe/utils: Add build_depends_string function

This is useful when manipulating depends strings for task [depends]
flags and is slightly easier to parse than some inline python.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agoRevert "kernel: Modify kernel modules installation path."
Jason Wessel [Thu, 19 Jan 2017 21:14:41 +0000 (13:14 -0800)]
Revert "kernel: Modify kernel modules installation path."

This reverts commit 0ccb2efe9837e2915c093341a662dffc1df00866.

The OVS fails to function and the kernel modules cannot be found by
any of the kernel tools such as depmod because they are installed
into the wrong directory in multilib 64bit/32bit bulids.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agoRevert "linux-firmware: Modify firmware installation path"
Jason Wessel [Thu, 19 Jan 2017 21:14:40 +0000 (13:14 -0800)]
Revert "linux-firmware: Modify firmware installation path"

This reverts commit a46a23fed9acd097ecc8ab3985d18688abe7b065.

The 64bit/32bit multilib builds break because the kernel's
firmware loader cannot find the firmware because it
gets placed int the wrong directory.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agoRevert "classes/sstate: add a mode to error if sstate package unavailable"
Paul Eggleton [Thu, 19 Jan 2017 18:29:17 +0000 (07:29 +1300)]
Revert "classes/sstate: add a mode to error if sstate package unavailable"

It turns out that this check cannot work. We don't have the information
to know whether an sstate package is really needed at this point in the
execution, so we check the availability for things that we won't
actually end up needing later on. Thus we can't fail if some of these
aren't found or we'll get needless failures.

This check was intended to give earlier more accurate errors when sstate
artifacts failed to download, but that's not practical so we'll rely
solely on the task execution check that was added within the runqueue.

This reverts most of commit 9e711b54487c3141d7264b8cf0d74f9465020190 (we
still need to allow BB_SETSCENE_ENFORCE through from the external
environment since the eSDK relies upon that.)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agoclasses/populate_sdk_ext: force a known value for TMPDIR
Paul Eggleton [Thu, 19 Jan 2017 18:29:16 +0000 (07:29 +1300)]
classes/populate_sdk_ext: force a known value for TMPDIR

If TMPDIR is configured to be somewhere outside of TOPDIR (a not
uncommon configuration where you have multiple disks and space on /home
is at a premium) then our attempt to find out the location of paths
under TMPDIR by using a relative path led to horribly broken paths
ending up in the eSDK. To save pain, just force a known value for TMPDIR
(i.e. ${TOPDIR}/tmp) and then we can assume that everywhere else.

Fixes [YOCTO #10797].

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agocore-image-sato: SDK should contain intltool and glib-2.0 tools for NLS
Richard Purdie [Wed, 11 Jan 2017 01:09:03 +0000 (01:09 +0000)]
core-image-sato: SDK should contain intltool and glib-2.0 tools for NLS

The SDK (and its tests) need these tools. We happened to be finding them
from the native tools in PATH but recipe specific sysroots prevents that.

This fixes the SDK to work as originally intended and contain these tools.

We have to clear this in the eSDK case since the _append can't be overridden
from the class. Ugly, but we'll have to come back to this issue.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agostaging: Add dependency on virtual/binutils for strip binary
Richard Purdie [Thu, 12 Jan 2017 13:30:02 +0000 (13:30 +0000)]
staging: Add dependency on virtual/binutils for strip binary

The staging code strips binaries and we need virtual/binutils for that.
Add a specific dependency since the one from do_configure and others
may not be enough to ensure the binaries are in our own sysroot.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agooe-selftest: Error if the user has buildhistory enabled
Richard Purdie [Thu, 12 Jan 2017 13:30:53 +0000 (13:30 +0000)]
oe-selftest: Error if the user has buildhistory enabled

buildhistory interfers with various tests so error if the user has it enabled,
hence avoiding time spent running the tests only for them to fail.

For example, if there is an sstate cache and something comes from that cache,
you can get a "version went backwards" warning from buildhistory which would
then change the outcome of a test. Its safer/easier to disable it.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agomultilib_global: Drop pointless event mask/code filtering
Richard Purdie [Tue, 17 Jan 2017 12:11:15 +0000 (12:11 +0000)]
multilib_global: Drop pointless event mask/code filtering

This code was pointless so cleanup, drop the unused event and the
filtering is no longer needed.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agodevtool: fix source extraction to work with recipe specific sysroots
Paul Eggleton [Mon, 16 Jan 2017 23:14:36 +0000 (12:14 +1300)]
devtool: fix source extraction to work with recipe specific sysroots

When extracting source for a recipe within devtool (for extract, modify
or upgrade) We need to redirect WORKDIR, STAMPS_DIR etc. under a
temporary directory so that:
 (a) we pick up all files that get unpacked to the WORKDIR, and
 (b) we don't disturb the existing build
However, with recipe-specific sysroots the sysroots for the recipe will
be prepared under WORKDIR, and if we used the system temporary directory
i.e. usually /tmp) as used by mkdtemp by default, then our attempts to
hardlink files into the recipe-specific sysroots will fail on systems
where /tmp is a different filesystem, and we'd have to fall back to
copying the files which is a waste of time. Put the temp directory under
the WORKDIR to prevent that from being a problem.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
[RP: Add needed mkdirhier call]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agosstate: Fix EXTRA_STAGING_FIXMES handling
Richard Purdie [Tue, 17 Jan 2017 17:42:40 +0000 (17:42 +0000)]
sstate: Fix EXTRA_STAGING_FIXMES handling

The code wasn't working properly, tweak so that it works as expected and
the grep expression includes the right patterns. Not sure this code has ever
worked prior to this.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agosysprof/gst-player/pcmanfm: Add missing glib-2.0-native DEPENDS
Richard Purdie [Thu, 19 Jan 2017 13:48:44 +0000 (13:48 +0000)]
sysprof/gst-player/pcmanfm: Add missing glib-2.0-native DEPENDS

These recipes use glib-2.0 NLS tools so we need to depend on glib-2.0-native.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agosysprof: Add missing libxml2-native DEPENDS
Richard Purdie [Sun, 15 Jan 2017 08:24:43 +0000 (08:24 +0000)]
sysprof: Add missing libxml2-native DEPENDS

Configure searches for xmllint which comes from libxml2-native.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agovte: Add missing libxml2-native DEPENDS
Richard Purdie [Sat, 14 Jan 2017 23:09:15 +0000 (23:09 +0000)]
vte: Add missing libxml2-native DEPENDS

Configure searches for xmllint which comes from libxml2-native.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agosystemd-boot: Add missing gperf-native DEPENDS
Richard Purdie [Sat, 14 Jan 2017 14:16:11 +0000 (14:16 +0000)]
systemd-boot: Add missing gperf-native DEPENDS

Configure searches for this and fails if its not present.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agointltool: Allow nativesdk variant to build
Richard Purdie [Wed, 11 Jan 2017 01:08:11 +0000 (01:08 +0000)]
intltool: Allow nativesdk variant to build

This tool has been missing from the SDKs, the recipe specific sysroot
work highlighted the issues.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agolibxml-parser-perl: Allow nativesdk variant to build
Richard Purdie [Wed, 11 Jan 2017 01:08:37 +0000 (01:08 +0000)]
libxml-parser-perl: Allow nativesdk variant to build

This is needed in order to be able to build nativesdk-intltool.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agorm_work.bbclass: clean up sooner
Patrick Ohly [Fri, 13 Jan 2017 14:52:33 +0000 (15:52 +0100)]
rm_work.bbclass: clean up sooner

Having do_rm_work depend on do_build had one major disadvantage:
do_build depends on the do_build of other recipes, to ensure that
runtime dependencies also get built. The effect is that when work on a
recipe is complete and it could get cleaned up, do_rm_work still
doesn't run because it waits for those other recipes, thus leading to
more temporary disk space usage than really needed.

The right solution is to inject do_rm_work before do_build and after
all tasks of the recipe. Achieving that depends on the new bitbake
bb.event.RecipeTaskPreProcess and bb.build.preceedtask().

It can't just run in an anonymous function, because other anonymous
functions that run later may add more tasks. There's still such a
potential conflict when some future RecipeTaskPreProcess event handler
also wants to change task dependencies, but that's not a problem
now. Should it ever occur, the two handlers will have to know about
each other and cooperate to resolve the conflict.

Benchmarking (see "rm_work + pybootchart enhancements" on the OE-core
mailing list) showed that builds with the modified rm_work.bbclass
were both faster (albeit not by much) and required considerably less
disk space (14230MiB instead of 18740MiB for core-image-sato).
Interestingly enough, builds with rm_work.bbclass were also faster
than those without.

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agorm_work_and_downloads.bbclass: more aggressively minimize disk usage
Patrick Ohly [Fri, 13 Jan 2017 14:52:32 +0000 (15:52 +0100)]
rm_work_and_downloads.bbclass: more aggressively minimize disk usage

rm_work.bbclass never deletes downloaded files, even if they are not
going to be needed again during the
build. rm_work_and_downloads.bbclass is more aggressive in minimizing
the used disk space during a build, but has other disadvantages:
- sources required by different recipes need to be fetched once per
  recipe, not once per build
- incremental builds do not work reliably because sources get
  removed without ensuring that sources gets fetched again

That makes rm_work_and_downloads.bbclass useful for one-time builds in
a constrained environment (like a CI system), but not for general use.

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agorm_work.bbclass: allow preserving additional content
Patrick Ohly [Fri, 13 Jan 2017 14:23:56 +0000 (15:23 +0100)]
rm_work.bbclass: allow preserving additional content

By default, do_rm_work either skips recipes entirely (when listed in
RM_WORK_EXCLUDE) or removes everything except for temp.

In meta-swupd, virtual image recipes collaborate on producing update
data for the base recipe. Tasks running in the base recipe need some
information from the virtual images.

Those files could be passed via a new shared work directory, but that
scatters data in even more places. It's simpler to use the normal
WORKDIR and teach rm_work.bbclass to not remove the special output
with the new RM_WORK_EXCLUDE_ITEMS.

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agooeqa/selftest/devtool: rewrite modify testcase
Ross Burton [Tue, 17 Jan 2017 23:55:46 +0000 (23:55 +0000)]
oeqa/selftest/devtool: rewrite modify testcase

The modify testcase had to be updated as it started failing when mdadm was
upgraded due to hardcoding version numbers in the test.  I then noticed how
inefficient the test was and mostly rewrote it.

Start by changing the minor modification to change "Linux Software RAID" (the
subtitle of the man page) to "antique pin sardine" (a nonsense phrase that is
unlikely to appear upstream), and neaten the logic.

Start by not removing sstate at the beginning of the test. To ensure builds
happen we can use -f and -C, and iterating the sstate cache is time consuming.

Don't bitbake mdadm repeatedly until it stabilizes, we can start with bitbake -C
unpack to ensure that a full build is done from scratch.

os.path.join has the interesting quirk that join(/foo, /bar) results in /bar, so
use oe.path.join instead of working around that manually.

Don't repeatedly call get_bb_var(), each call results in a call to bitbake.

These changes reduce the runtime of the test from over 600 seconds to around 160
seconds on my machine.

Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agooeqa/utils/qemurunner.py: Be sure to stop qemu-system
Mariano Lopez [Fri, 13 Jan 2017 14:33:55 +0000 (14:33 +0000)]
oeqa/utils/qemurunner.py: Be sure to stop qemu-system

When runqemu fails, qemu-system process would keep running
and won't be killed, setpgrp() was used when runqemu was
a shell script but it seems it doesn't work always with python.

This would kill qemu-system explicity and to avoid leaving
it behind.

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agooeqa/utils/qemurunner.py: Add missing sys module
Mariano Lopez [Fri, 13 Jan 2017 14:33:54 +0000 (14:33 +0000)]
oeqa/utils/qemurunner.py: Add missing sys module

This adds the missing sys module used by the child process
to exit. It seems the exception was cached in testimage and
selftest. It seems nobody noticed this because the module
is only used for sys.exit().

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agooeqa.utils.metadata: include BB_NUMBER_THREADS and PARALLEL_MAKE
Markus Lehtonen [Fri, 13 Jan 2017 13:12:46 +0000 (15:12 +0200)]
oeqa.utils.metadata: include BB_NUMBER_THREADS and PARALLEL_MAKE

Inlude values of BB_NUMBER_THREADS and PARALLEL_MAKE in the metadata.

[YOCTO #10590]

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agooeqa.utils.metadata: allow storing any bitbake config variables
Markus Lehtonen [Fri, 13 Jan 2017 13:12:45 +0000 (15:12 +0200)]
oeqa.utils.metadata: allow storing any bitbake config variables

Make it possible to store any bitbake config variables in the metadata.
Config values will be stored under a new config element in the xml report:
    <config>
        <variable name="MACHINE">qemux86</variable>
    </config>

The value of MACHINE is moved there instead of having a dedicated
<machine> element.

[YOCTO #10590]

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agooeqa.utils.metadata: add bitbake revision information
Markus Lehtonen [Fri, 13 Jan 2017 13:12:44 +0000 (15:12 +0200)]
oeqa.utils.metadata: add bitbake revision information

[YOCTO #10590]

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agooeqa.utils.metadata: have layer name as an attribute in xml
Markus Lehtonen [Fri, 13 Jan 2017 13:12:43 +0000 (15:12 +0200)]
oeqa.utils.metadata: have layer name as an attribute in xml

Have the layer name as an attribute instead of of the name of the
element itself. That is, have <layer name="layer_name"/> instead of
<layer_name/>. A bit better XML design.

[YOCTO #10590]

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agooeqa.utils.metadata: add commit count information
Markus Lehtonen [Fri, 13 Jan 2017 13:12:42 +0000 (15:12 +0200)]
oeqa.utils.metadata: add commit count information

Makes it easier to put the commits into a timeline.

[YOCTO #10590]

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agooeqa.utils.metadata: rename 'revision' to 'commit'
Markus Lehtonen [Fri, 13 Jan 2017 13:12:41 +0000 (15:12 +0200)]
oeqa.utils.metadata: rename 'revision' to 'commit'

Revision is a bit vague and could point to a tag, for example. Git
commit objects are unambiguous and persistent so be explicit that the
element should contain git commit hash.

[YOCTO #10590]

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agooeqa.utils.metadata: fix retrieval of git branch and revision
Markus Lehtonen [Fri, 13 Jan 2017 13:12:40 +0000 (15:12 +0200)]
oeqa.utils.metadata: fix retrieval of git branch and revision

Always return a valid branch name, or, '(nobranch)' if the current HEAD
is detached. Also, always return the hash of the commit object that HEAD
is pointing to. Previous code returned an incorrect branch name (or
crashed) e.g. in the case of detached HEAD.

[YOCTO #10590]

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agooeqa.utils.metadata: drop 'unknown' git data elements
Markus Lehtonen [Fri, 13 Jan 2017 13:12:39 +0000 (15:12 +0200)]
oeqa.utils.metadata: drop 'unknown' git data elements

It's better just to not have the xml elements than to have elements with
faux data. One could have git branch named 'unknown', for example.

[YOCTO #10590]

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agooeqa.utils.metadata: re-organise distro information
Markus Lehtonen [Fri, 13 Jan 2017 13:12:38 +0000 (15:12 +0200)]
oeqa.utils.metadata: re-organise distro information

Use the same format, based on /etc/os-release, as for host distro
information.

[YOCTO #10590]

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agooeqa.utils.metadata: re-organise host distro information
Markus Lehtonen [Fri, 13 Jan 2017 13:12:37 +0000 (15:12 +0200)]
oeqa.utils.metadata: re-organise host distro information

Put all host distro data under one <host_distro> element. In addition
take the data directly from /etc/os-release instead of the "lsb API".
The /etc/os-release file is virtually ubiquitous, now, and using its
field names and values provides a more standardized and extensible
format.

[YOCTO #10590]

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agooeqa/selftest/tinfoil: add test IDs to tinfoil test cases
Jose Perez Carranza [Thu, 12 Jan 2017 13:39:32 +0000 (13:39 +0000)]
oeqa/selftest/tinfoil: add test IDs to tinfoil test cases

Testopia entrances were created and the IDs retrieved are
added to their corresponding test case on tinfoil script.

Signed-off-by: Jose Perez Carranza <jose.perez.carranza@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agotime: BBCLASSEXTEND to native and nativesdk
André Draszik [Tue, 17 Jan 2017 15:54:39 +0000 (15:54 +0000)]
time: BBCLASSEXTEND to native and nativesdk

Some recipe might use time, e.g.
  http://git.yoctoproject.org/cgit/cgit.cgi/meta-swupd/tree/classes/swupd-image.bbclass?id=531a8e636ca891c34f2596eb7f6365a11d4b29a7#n481
Time is a bash built-in, or a separate utility (typically
in /usr/bin/), but not everybody uses bash, or has
GNU time installed by default.

Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agopython3-pygobject: enable cairo only when a display is available
André Draszik [Tue, 17 Jan 2017 15:28:28 +0000 (15:28 +0000)]
python3-pygobject: enable cairo only when a display is available

It doesn't seem to make sense to unconditionally enable cairo
support, as this pulls in lots of other dependencies, where
none of these can actually be used without some sort of
graphical interface.

Not having a generic distro feature to detect this, we just
use any of DirectFB / Wayland / X11

Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agobabeltrace: upgrade to 1.5.1
Nathan Lynch [Mon, 16 Jan 2017 18:51:46 +0000 (12:51 -0600)]
babeltrace: upgrade to 1.5.1

Signed-off-by: Nathan Lynch <nathan_lynch@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agolttng-tools: upgrade to 2.9.3
Nathan Lynch [Mon, 16 Jan 2017 18:51:45 +0000 (12:51 -0600)]
lttng-tools: upgrade to 2.9.3

Notable recipe changes:

* switch to using release tarball
* brokensep no longer required
* drop upstreamed error.h patch
* change do_install_ptest to selectively copy build artifacts to
  install tree.
* use backported patch to address file-rdeps warning

Signed-off-by: Nathan Lynch <nathan_lynch@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agolttng-modules: upgrade to 2.9.0
Nathan Lynch [Mon, 16 Jan 2017 18:51:44 +0000 (12:51 -0600)]
lttng-modules: upgrade to 2.9.0

Switch to using release tarballs.

Signed-off-by: Nathan Lynch <nathan_lynch@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agolttng-ust: upgrade to 2.9.0
Nathan Lynch [Mon, 16 Jan 2017 18:51:43 +0000 (12:51 -0600)]
lttng-ust: upgrade to 2.9.0

buildhistory-diff says:

  /usr/lib/liblttng-ust-python-agent.so.0 was removed
  /usr/lib/liblttng-ust-python-agent.so.0.0.0 was removed

This is because prior versions of lttng-ust unconditionally built
the Python agent libraries; this was fixed upstream in 21ddb8e ("Only
build python lib when agent is enabled").

Switch to using release tarballs.

Signed-off-by: Nathan Lynch <nathan_lynch@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agolttng-ust: don't exclude manual pages from build
Nathan Lynch [Mon, 16 Jan 2017 18:51:42 +0000 (12:51 -0600)]
lttng-ust: don't exclude manual pages from build

Adding "manpages" to PACKAGECONFIG results in a lttng-ust-doc package
with no manpages.  Fix the patch we carry to only exclude the examples
directory, which seems to have been its original intent anyway.

Signed-off-by: Nathan Lynch <nathan_lynch@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agopython3-docutils: upgrade to 0.13.1
Edwin Plauchu [Fri, 13 Jan 2017 20:17:57 +0000 (14:17 -0600)]
python3-docutils: upgrade to 0.13.1

Changed document date field and roman.py notes
https://fossies.org/diffs/docutils/0.12_vs_0.13.1/COPYING.txt-diff.html

Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agopython3-pip: fixed dependecy with python3-enum
Edwin Plauchu [Mon, 16 Jan 2017 16:21:57 +0000 (10:21 -0600)]
python3-pip: fixed dependecy with python3-enum

it solved problem of pip's console showing error "module enum not ..."

[YOCTO #10904]

Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoopenssl: Use linux-aarch64 target for aarch64
Fabio Berton [Fri, 13 Jan 2017 19:56:49 +0000 (17:56 -0200)]
openssl: Use linux-aarch64 target for aarch64

aarch64 target was being configured for linux-generic64 but openssl has
linux-aarch64 target. Change to use linux-aarch64 as default.

Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agogstreamer1.0: make libunwind detection deterministic
Ross Burton [Mon, 16 Jan 2017 16:16:19 +0000 (16:16 +0000)]
gstreamer1.0: make libunwind detection deterministic

Otherwise libunwind support will be based on the contents of the sysroot, which
can cause problems.

Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoperf: add PACKAGECONFIG for systemtap
Ross Burton [Mon, 16 Jan 2017 13:42:47 +0000 (13:42 +0000)]
perf: add PACKAGECONFIG for systemtap

Otherwise it's possible to race with systemtap headers being present during the autodetection and disappearing during the build:

tests/sdt.c:14:21: fatal error: sys/sdt.h: No such file or directory
 #include <sys/sdt.h>
                     ^
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoperf: use PACKAGECONFIG instead of hand-rolled logic
Ross Burton [Mon, 16 Jan 2017 13:11:10 +0000 (13:11 +0000)]
perf: use PACKAGECONFIG instead of hand-rolled logic

PERF_FEATURES_ENABLE and perf_feature_enabled() was basically a poor man's clone
of PACKAGECONFIG, without the automatic handling of dependencies and configure
options.

As part of the port to PACKAGECONFIG the options have been changed to remove the
perf- prefix, but are otherwise unchanged.

Also remove BUILDPERF_libc_uclibc assignment as nothing in the metadata uses a
BUILDPERF variable.

Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoharfbuzz: upgrade to 1.4.1
Maxin B. John [Fri, 13 Jan 2017 12:57:11 +0000 (14:57 +0200)]
harfbuzz: upgrade to 1.4.1

1.3.4 -> 1.4.1

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agonetbase: upgrade to version 5.4
Maxin B. John [Fri, 13 Jan 2017 12:57:10 +0000 (14:57 +0200)]
netbase: upgrade to version 5.4

5.3 -> 5.4

Refreshed the following patch:
 a) netbase-add-rpcbind-as-an-alias-to-sunrpc.patch

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agomdadm: upgrade to version 4.0
Maxin B. John [Fri, 13 Jan 2017 12:57:09 +0000 (14:57 +0200)]
mdadm: upgrade to version 4.0

3.4 -> 4.0

Removed the following upstreamed or backported patches:

 a) 0001-Fix-some-type-comparison-problems.patch
 b) 0001-Fix-typo-in-comparision.patch
 c) 0001-mdadm.h-bswap-is-already-defined-in-uclibc.patch
 d) 0001-raid6check-Fix-if-else-indentation.patch
 e) 0001-util.c-include-poll.h-instead-of-sys-poll.h.patch
 f) mdadm-3.2.2_fix_for_x32.patch

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agolibproxy: update to version 0.4.14
Maxin B. John [Fri, 13 Jan 2017 12:57:08 +0000 (14:57 +0200)]
libproxy: update to version 0.4.14

0.4.13 -> 0.4.14

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agogstreamer1.0-plugins-good: fix qtdemux_parse_svq3_stsd_data() memory leak
Andre McCurdy [Thu, 12 Jan 2017 23:52:32 +0000 (15:52 -0800)]
gstreamer1.0-plugins-good: fix qtdemux_parse_svq3_stsd_data() memory leak

Backport from 1.11.1

  https://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=29433495d697e4dcb3bc50ff0e0d866acb949890

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agopython3-setuptools: upgrade to 31.1.1
Edwin Plauchu [Thu, 12 Jan 2017 20:52:13 +0000 (14:52 -0600)]
python3-setuptools: upgrade to 31.1.1

It is a simultaneous upgrade for python 2 and 3 over setuptools.

Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoswig: upgrade to 3.0.11
Edwin Plauchu [Thu, 12 Jan 2017 17:07:28 +0000 (11:07 -0600)]
swig: upgrade to 3.0.11

Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agobyacc: upgrade to 20161202
Chen Qi [Mon, 26 Dec 2016 03:35:23 +0000 (11:35 +0800)]
byacc: upgrade to 20161202

0001-byacc-do-not-reorder-CC-and-CFLAGS.patch is added to fix the problem
of byacc dropping options from $CC.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
8 years agogstreamer1.0-plugins-bad: Backport patches for improving live playback
Khem Raj [Thu, 22 Dec 2016 08:14:14 +0000 (00:14 -0800)]
gstreamer1.0-plugins-bad: Backport patches for improving live playback

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agogcc-source.inc: cleanly disable do_rm_work
Patrick Ohly [Fri, 13 Jan 2017 14:52:31 +0000 (15:52 +0100)]
gcc-source.inc: cleanly disable do_rm_work

Using "deltask" assumes that do_rm_work has been added already, which
won't be the case anymore in the upcoming improved rm_work.bbclass,
because then an anonymous python method will add do_rm_work.

Setting RM_WORK_EXCLUDE works with the current and upcoming
rm_work.bbclass and is the API that is meant to be used for excluding
recipes from cleaning, so use that.

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agorunqemu-export-rootfs: fix inconsistent var names
Robert Yang [Wed, 23 Nov 2016 08:00:18 +0000 (00:00 -0800)]
runqemu-export-rootfs: fix inconsistent var names

Fixed:
$ runqemu nfs qemux86-64
[snip]
On your target please remember to add the following options for NFS
nfsroot=IP_ADDRESS:/path/to/nfsroot,nfsvers=3,port=,mountprog=,nfsprog=,udp,mountport=
[snip]

Note that the values are null, this is because their var names are
inconsistent.

[YOCTO #10519]

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoscripts/runqemu: fix checking for <file>.cpio.gz
Robert Yang [Tue, 22 Nov 2016 09:26:32 +0000 (01:26 -0800)]
scripts/runqemu: fix checking for <file>.cpio.gz

When "runqemu /path/to/<file>.cpio.gz", it used the last suffix "gz" as
the fstype which was wrong. Check filename against self.fstypes firstly
can fix the problem.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agolib/oe/package_manager.py: Fix extract for ipk and deb
Mariano Lopez [Fri, 13 Jan 2017 14:35:41 +0000 (14:35 +0000)]
lib/oe/package_manager.py: Fix extract for ipk and deb

With the move to use lists instead of strings in subprocess
calls, package extraction was broken for ipk and deb. This
fixes this issue.

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoextrausers: Use static ids when available
David Vincent [Mon, 16 Jan 2017 14:30:16 +0000 (15:30 +0100)]
extrausers: Use static ids when available

When creating users at the image level using extrausers class, the
current behavior is to ignore the status of USERADDEXTENSION. This could
lead to undefined behavior when static ids are expected but the system
falls back to dynamic ones.

Signed-off-by: David Vincent <freesilicon@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agowic: partitionedfs: account for non-table partitions when checking if logical paritit...
Maciej Borzecki [Mon, 16 Jan 2017 10:41:51 +0000 (11:41 +0100)]
wic: partitionedfs: account for non-table partitions when checking if logical parititon is needed

Commit 8c1c43b7901a9fcd8b279eb4250b08157ad345b7 `wic: Create a logical partition
only when it is really mandatory` did not account for partitions that are not
present in partition table.

Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agokernel-module-split: Append KERNEL_VERSION string to kernel module name
Ola Redell [Fri, 13 Jan 2017 17:22:23 +0000 (18:22 +0100)]
kernel-module-split: Append KERNEL_VERSION string to kernel module name

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

Also, for backwards compatibility and to enable kernel version agnostic
dependencies to kernel modules, create a virtual package with the old
(shorter) kernel module package name using RPROVIDES.

Signed-off-by: Ola Redell <ola.redell@retotech.se>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agowaf.bbclass: handle PACKAGECONFIG
Andreas Müller [Sun, 15 Jan 2017 01:02:39 +0000 (02:02 +0100)]
waf.bbclass: handle PACKAGECONFIG

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agokernel-fitimage.bbclass: Check value of UBOOT_SIGN_ENABLE
Nathan Rossi [Thu, 12 Jan 2017 03:24:36 +0000 (13:24 +1000)]
kernel-fitimage.bbclass: Check value of UBOOT_SIGN_ENABLE

Check the value of UBOOT_SIGN_ENABLE, as it is defaulted to "0" which
for matches as True in python due to being a non-empty string.

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agokernel-fitimage.bbclass: Don't assume KERNEL_IMAGETYPE == fitImage
Nathan Rossi [Fri, 21 Oct 2016 12:07:28 +0000 (22:07 +1000)]
kernel-fitimage.bbclass: Don't assume KERNEL_IMAGETYPE == fitImage

The name of the output image for a fitImage that contains a ramdisk
should match the same as for the fitImage that does not contain a
ramdisk. As such it should not be assumed that KERNEL_IMAGETYPE is
"fitImage". This change explicitly sets the name of the output
ramdisk/initramfs to start with fitImage as does the non-ramdisk output.

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agokernel-fitimage.bbclass: Allow unset load/entry addresses for ramdisks
Nathan Rossi [Fri, 21 Oct 2016 12:07:27 +0000 (22:07 +1000)]
kernel-fitimage.bbclass: Allow unset load/entry addresses for ramdisks

Allow the load and entry addresses to remain unset if the UBOOT_RD_*
variables are also unset for ramdisk entries in the image tree. This
allows for U-Boot to decide dynamically where to load the ramdisk.

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoqemuboot.bbclass: use IMGDEPLOYDIR
Robert Yang [Tue, 22 Nov 2016 10:13:00 +0000 (02:13 -0800)]
qemuboot.bbclass: use IMGDEPLOYDIR

So that "bitbake <image> -ccleansstate" can remove qemuboot.conf

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agosanity.bbclass: Improved error message
Juro Bystricky [Thu, 12 Jan 2017 22:07:58 +0000 (14:07 -0800)]
sanity.bbclass: Improved error message

When a non-existing MACHINE is specified, sanity check issues
the following message:

    Please set a valid MACHINE in your local.conf or environment

However, MACHINE can also be set in multiconfig .conf file(s).
Hence we may have several different MACHINE settings within one
(multiconfig) build, so the present error message is fairly
ambiguous.

This patch remedies this by explicitly naming the offending MACHINE and
by amending the list of places where this erroneous MACHINE definition
could have originated.

    MACHINE=xyz is invalid. Please set a valid MACHINE in your local.conf, environment or other configuration file.

[YOCTO#10810]

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agobitbake.conf: require conf/multiconfig/${BB_CURRENT_MC}.conf
Juro Bystricky [Sun, 15 Jan 2017 18:41:51 +0000 (10:41 -0800)]
bitbake.conf: require conf/multiconfig/${BB_CURRENT_MC}.conf

Presently there is no check to verify the existence of configuration
files as listed in BBMULTICONFIG.
For example, BBMULTICONFIG = "foobar" in local.conf does not trigger
an error or even a warning when there is no conf/multiconfig/foobar.conf.
The missing file is silently ignored.

This patch changes the inclusion of all multiconfig configuration files as
a non-optional requirement. If the file is missing, we get an error such as:

ERROR: ParseError at /data/master-multi/poky/meta/conf/bitbake.conf:704: Could not include required file conf/multiconfig/foobar.conf

Although the "default" configuration is not listed in BBMULTICONFIG,
this change also requires the file multiconfig/default.conf to exist.
The "default" (non-multiconfig) configuration is normally configured via local.conf,
so although this file is required, it can/should be empty. This patch creates
an empty file default.conf in meta/conf/multiconfig.

[YOCTO#10917]

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agosystemd-boot.bbclass: Fix SYSYTEMD_BOOT_CFG creation
Alejandro Hernandez [Mon, 5 Dec 2016 17:00:56 +0000 (11:00 -0600)]
systemd-boot.bbclass: Fix SYSYTEMD_BOOT_CFG creation

This patch makes sure the directory which will contain
the systemd configuration (loader.conf) is created before
the configuration file is written, fixing errors when it
tried to write it to a non-existent directory

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoscripts: python3 fixes and new tool ksum
Tom Zanussi [Wed, 7 Sep 2016 14:45:15 +0000 (09:45 -0500)]
scripts: python3 fixes and new tool ksum

'ksum.py' generates a combined summary of vmlinux and module sizes for
a built kernel, as a quick tool for comparing the overall effects of
systemic tinification changes.  Execute from the base directory of the
kernel build you want to summarize.  Setting the 'verbose' flag will
display the sizes for each file included in the summary.

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoopkg-utils: use D instead of OPKG_OFFLINE_ROOT in postrm
André Draszik [Thu, 12 Jan 2017 10:42:25 +0000 (10:42 +0000)]
opkg-utils: use D instead of OPKG_OFFLINE_ROOT in postrm

While both result in the same in this case, postrm
should really be referring to $D as we do everywhere
else.

Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agolib/oe/rootfs: reliably handle alternative symlinks
André Draszik [Thu, 12 Jan 2017 10:34:39 +0000 (10:34 +0000)]
lib/oe/rootfs: reliably handle alternative symlinks

When removing unneeded packages from a (read-only) rootfs
during rootfs creation, alternative symlinks from those
packages may or may not be removed.

The reason is as follows:

update-alternatives(-native) is used during package
installation as part of the image creation. It uses
a database which contains entries for all the
alternative symlinks possible, and the -native version
uses the target's database by means of $OPKG_OFFLINE_ROOT,
i.e. the rootfs we're in the process of creating.

Once the rootfs has been created, OE removes certain
packages because we have a read-only rootfs - in
particular ROOTFS_RO_UNNEEDED which includes
VIRTUAL-RUNTIME_update-alternatives, i.e. the
update-alternatives. Recently, a change was made in
OE, where uninstallation of update-alternatives from the
rootfs causes removal of its database, too, to save space
(700KiB (uncompressed) in a busybox system)
  b24a63d71b517af701dfedbc7f7b541d25af708f
  http://git.openembedded.org/openembedded-core/commit/meta/recipes-devtools/opkg-utils/opkg-utils_git.bb?id=b24a63d71b517af701dfedbc7f7b541d25af708f

Following from that, if update-alternatives is removed
from the target file system, update-alternatives-native
has no database anymore, meaning it can't manage any of
the alternative symlinks anymore.

Because the order of packages to uninstall is
non-deterministic, and update-alternatives could well
be removed before any packages that use the mechanism
provided, sometimes the extra symlinks are removed,
sometimes not.

By sorting the list of packages to be removed such that
update-alternatives is removed last, we can ensure that
that tings work reliably. (Certainly opkg seems to
uninstall packages in the order given on the command
line.)

[YOCTO #10916]

Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoscripts/oe-selftest: fix typo
Chen Qi [Thu, 12 Jan 2017 01:51:42 +0000 (09:51 +0800)]
scripts/oe-selftest: fix typo

Change 'agains' to 'against'.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoselftest: runtime-test: skip image-install test for poky-tiny
Leonardo Sandoval [Mon, 9 Jan 2017 17:45:53 +0000 (11:45 -0600)]
selftest: runtime-test: skip image-install test for poky-tiny

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

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoselftest: devtool: use distro agnostic recipes for devtool checks
Leonardo Sandoval [Mon, 9 Jan 2017 17:45:51 +0000 (11:45 -0600)]
selftest: devtool: use distro agnostic recipes for devtool checks

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

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoselftest/base: don't fetch DISTRO variable in constructor
Ross Burton [Thu, 12 Jan 2017 12:33:59 +0000 (12:33 +0000)]
selftest/base: don't fetch DISTRO variable in constructor

Fetching the DISTRO variable in the base constructor means that we have to start
bitbake for every test case instance, which adds minutes to the startup time.

Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoselftest/bblayers: don't fetch a variable that is never used
Ross Burton [Thu, 12 Jan 2017 12:32:46 +0000 (12:32 +0000)]
selftest/bblayers: don't fetch a variable that is never used

Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoinsane.bbclass: print license text as part of QA message
Patrick Ohly [Wed, 11 Jan 2017 11:10:33 +0000 (12:10 +0100)]
insane.bbclass: print license text as part of QA message

It it is hard to select exactly the right lines from a file, in
particular because the documentation did not specify the exact
semantic (YOCTO #10898).

When the QA license check fails, it now includes the license text for
which the md5sum was calculated. When adding a new entry to
LIC_FILES_CHKSUM, developers can then verify that they picked the
desired lines. When the checksum of an older entry changes, the developer
does not have to manually look up the changed text.

Here's an example which probably has an endline which is too large
(message triggered by changing the md5sum in the recipe):

ERROR: cmake-native-3.7.1-r0 do_populate_lic: QA Issue: cmake-native: The LIC_FILES_CHKSUM does not match for file://Source/cmake.h;beginline=1;endline=3;md5=deadbeef
cmake-native: The new md5 checksum is 4494dee184212fc89c469c3acd555a14
cmake-native: Here is the selected license text:
vvvvvvvvvvvvvvvvvvvvvvvvvvvv beginline=1 vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
/* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
   file Copyright.txt or https://cmake.org/licensing for details.  */
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ endline=3 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cmake-native: Check if the license information has changed in .../cmake.h (lines 1 through to 3) to verify that the LICENSE value "BSD" remains valid [license-checksum]

The beginline/endline values are only repeated in the borders if set.

License snippets larger larger than 20 lines (configurable with
QA_MAX_LICENSE_LINES) are truncated in the middle.

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agorunqemu: Allow the user to specity no kernel or rootFS
Alistair Francis [Tue, 10 Jan 2017 21:04:00 +0000 (13:04 -0800)]
runqemu: Allow the user to specity no kernel or rootFS

In some cirsumstances the user doesn't want to supply a kernel, rootFS
or DTB to QEMU. This will occur more now that QEMU supports loading
images using a '-device loader' method.

Allow users to specify 'none' for QB_DEFAULT_FSTYPE or QB_DEFAULT_KERNEL
to avoid supplying these options to QEMU.

Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agogrub_git: remove redundant inherits
Ross Burton [Wed, 11 Jan 2017 14:49:18 +0000 (14:49 +0000)]
grub_git: remove redundant inherits

These are already inherited by grub2.inc.

Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agogrub-git: Upgrade to tip of master and fix with glibc 2.25
Khem Raj [Wed, 11 Jan 2017 03:51:01 +0000 (19:51 -0800)]
grub-git: Upgrade to tip of master and fix with glibc 2.25

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoselftest/archiver: don't build an image for a basic test
Ross Burton [Wed, 11 Jan 2017 12:57:55 +0000 (12:57 +0000)]
selftest/archiver: don't build an image for a basic test

This test only exercises the include/exclude behaviour so it only needs to build
the two recipes that it tests against, not an entire image.

Part of #10874.

Signed-off-by: Ross Burton <ross.burton@intel.com>