Commit graph

32209 commits

Author SHA1 Message Date
Bruce Ashfield
bb9812799b linux-yocto/3.10: update to v3.10.59
Updating to the latest 3.10 -korg stable update. We also bring in a meta
change for the valley island IO configuration.

(From OE-Core rev: 22d5ac7e1fc096dc11c766eda91c9e131398c6c5)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:54 +00:00
Bruce Ashfield
f0fe7dc45d linux-yocto/3.17: update to v3.17.2
Updating to the korg 3.17.2 -stable release.

(From OE-Core rev: d63b126b8d68824fe900012fafe0e65afa2b264f)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:54 +00:00
Bruce Ashfield
33437d6ac8 linux-yocto/3.17: update to v3.17.1
Updating to the kver to the latest korg stable update. This fixes some
important bugs (as well as the usual mix of more minor ones), in particular
libata bugs and SSD corruption issues are fixed.

(From OE-Core rev: 82f93cfed946fb56e53997bf6a873480bb6d3fc5)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:54 +00:00
Richard Purdie
63695c6353 kernel: Clean ${S} before unpack
Currently unpack just forces sources over the current files. This change
ensures ${S} is cleaned out before sources are unpacked. This resolves
issues seen when upgrading to the new kernel class changes.

Ultimately, this should probably move to base.bbclass but one step at a
time, this solves an immediate problem blocking the other patches from
merging.

(From OE-Core rev: 7deb1f670c188c24744b7888a2d2f73c2a8ddff7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:53 +00:00
Richard Purdie
d0857f4ae3 sanity: TMPDIR ABI change for kernel process
The kernel source is being moved into the sysroot, to do this and
preserve previous builds, we need to change the TMPDIR ABI and
provide a function to uninstall all kernels from the sysroot.

This change adds code to do that and increases the ABI number.

(From OE-Core rev: 323f9ea99cff00a751e446286bf8bcf8756e4351)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:53 +00:00
Jeff Wang
6a5a2dff3c kernel-yocto: make sure git tags get dereferenced properly in do_patch()
Commit 92c1ece6c3 causes the test in do_patch()
in kernel-yocto.bbclass to fail if ${machine_srcrev} is an annotated tag. The
check is meant to ensure that ${machine_srcrev} is an ancestor of HEAD, but
if ${machine_srcrev} is a tag, then "$(git rev-parse --verify
${machine_srcrev})" evaluates to the SHA of the tag instead of what it's
pointing to.

Replacing "$(git rev-parse --verify ${machine_srcrev})" with "$(git rev-parse
--verify ${machine_srcrev}~0)" fixed the problem by finding the object pointed
to by the tag, and not the tag itself. This also works for commit IDs that
are not tags, hence is safe in a scenarios.

Jeff Wang <jeffrey.wang@ll.mit.edu>
(From OE-Core rev: f79c9334f670ed6fce86047fbadb817af8d4fe14)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:53 +00:00
Bruce Ashfield
5b71b69355 kernel-yocto: fix non-git builds
The ability to build non-git repositories was broken by two changes:

 - The existence of an empty 'patches' directory created during the
   unpack phase. This dir was incorrectly identified as a valid meta
   directory and broke the build. By ensuring that it is removed before
   creating the empty repository, it will no longer be found instead of
   the real meta directory.

 - The attempt to reset the git repository to a specific SRCREV when
   no SRCREV was provided. By checking for a SRCREV of 'INVALID', we
   avoid any processing and failed git operations.

(From OE-Core rev: d5451dda1b8cfbbe8b6a779b0cd9b1397ebf1a07)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:53 +00:00
Bruce Ashfield
2214cb2e2c lttng/perf: depend on virtual/kernel:do_install
To ensure that the minimal environment has been created for out of
tree module builds, perf and lttng should depend on the do_install
task of the kernel.

(From OE-Core rev: 7f934946fdb3184a06ce1a2cdc29559e7c468492)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:53 +00:00
Bruce Ashfield
b829eaa125 images: introduce core-image-kernel-dev
When building a new kernel, or testing and update to the kernel there
are a set of packages that are sensitive to APIs, build system and
other changes associated with the kernel.

After building this recipe, we can be reasonably sure that a new kernel
package and coupled userspace have been built, installed and tested
via a single image.

(From OE-Core rev: 6c22c0e7e7bb392df6d04864f56d66d3a2c1e32b)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:53 +00:00
Bruce Ashfield
a1c24ecbe8 kerneldev: create kernel-devsrc packaging
kernel-devsrc is responsible for creating and a packaging an environment
appropriate for kernel development (on or off target).

To create this support, we only need to copy/install the results of the
virtual/kernel providers build in the staging dir ... with some minor
manipulations to the source tree (.git removal and a clean up). This
produces a source tree that is capable of rebuilding the kernel on the
target.

Installing the kernel-devsrc package on a target (along with a
toolchain) is all that remains to be done.

 $ cd /usr/src/kernel
 $ make oldconfig
 $ make -j2 bzImage

(From OE-Core rev: 6412dc1df434f774c434ec08bf9b3706edb756f2)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:53 +00:00
Bruce Ashfield
d1aced444f kernel: fix out of tree module builds
With the kernel build optimizations, we no longer copy the source from
the built kernel into the staging dir, since the kernel is unpacked and built
directly from the staging dir.

This means that a few build artifacts need to be restored to allow out of
tree modules to once again build.

(From OE-Core rev: 4b981e4fd5a4744d0d83053219274296e7785e77)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:53 +00:00
Richard Purdie
86893e4ea5 kernel: Rearrange for 1.8
In 1.8 we want to streamline the kernel build process. Basically we
currently have multiple copies of the kernel source floating around
and the copying/compression/decompression is painful.

Lets assume we have a kernel source per machine since in most cases
this is true (and we have a sysroot per machine anyway). Basically,
instead of extracting a source into WORKDIR, then copying to a sysroot,
we now set S to point straight at STAGING_DIR_KERNEL.

Anything using kernel source can then just point at it and use:

do_configure[depends] += "virtual/kernel:do_patch"

to depend on the kernel source being present. Note this is different
behaviour to DEPENDS += "virtual/kernel" which equates to
do_configure[depends] += "virtual/kernel:do_populate_sysroot".

Once we do this, we no longer need the copy operation in
do_populate_sysroot, in fact there is nothing to do there (yay).

The remaining part of the challenge is to kill off the horrible
do_install. This patch splits it off to a different class, the idea here
is to have a separate recipe which depends on the virtual/kernel:do_patch
and just installs and packages the source needed to build modules on
target into a specific package.

Right now this code is proof of concept. It builds kernels and kernel
modules. perf blows up in do_package with issues on finding the kernel
version which can probably be fixed by adding back the right bit of do_install,
and adding a dependency of do_package[depends] += "virtual/kernel:do_install"
to perf. The whole thing needs a good write up, the corner cases testing
and probably a good dose of cleanup to the remaining code.

(From OE-Core rev: 3b3f7e785e27990ba21bc7cd97289c826a9a95d1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:53 +00:00
Richard Purdie
1ff64a7e84 image: Avoid race over directory creation
There is a race over the do_package_qa task and the do_rootfs task
since rootfs recreates a directory. This patch disables the task
(which isn't used for images) to avoid the race:

NOTE: recipe core-image-minimal-1.0-r0: task do_package_qa: Started
NOTE: recipe core-image-minimal-1.0-r0: task do_rootfs: Started
ERROR: Build of do_package_qa failed
ERROR: Traceback (most recent call last):
  File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips/build/bitbake/lib/bb/build.py", line 497, in exec_task
    return _exec_task(fn, task, d, quieterr)
  File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips/build/bitbake/lib/bb/build.py", line 440, in _exec_task
    exec_func(func, localdata)
  File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips/build/bitbake/lib/bb/build.py", line 212, in exec_func
    exec_func_python(func, d, runfile, cwd=adir)
  File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips/build/bitbake/lib/bb/build.py", line 237, in exec_func_python
    os.chdir(cwd)
OSError: [Errno 2] No such file or directory: '/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips/build/build/tmp/work/qemumips-poky-linux/core-image-minimal/1.0-r0/core-image-minimal-1.0'

(From OE-Core rev: 0550d112ad9c2ca9f8167dcae35200210923f2c5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:53 +00:00
Richard Purdie
e2f68c0233 dbus-test: Fix SRC_URI checksum to match dbus
If the system fetches dbus first, everything works and the checksum is
correct there. If dbus-test fetches first, the checksum is incorrect
and wasn't changed with the version upgrade.

Fix the checksum.

(From OE-Core rev: a5fc201961e62cf5d9088b6d66bb2d50aa84109d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:52 +00:00
Richard Purdie
900f27a983 report-error: Handle the case no logfile exists
If the task fails early, no error log may exist. Currently we crash in
that case, this handles the situation more gracefully.

(From OE-Core rev: 1e6bfcab47f532677f87683ba2f5e5fb905e9ba5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:52 +00:00
Maciej Borzecki
88528a128f ref-manual: Update to the BOOT_IMAGE_FILES variable in the glossary
Update entry for IMAGE_BOOT_FILES with information on glob
patterns.

(From yocto-docs rev: ad3fc0061e3f4dc3ecc6b0a101685c301c5690e9)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 22:36:14 +00:00
Scott Rifenbark
99bd2c41c6 ref-manual: Updates to some tuning variables in the glossary:
Fixes [YOCTO #5463]

Updated the notes in the TUNE_ASARGS, TUNE_CCARGS, and
TUNE_LDARGS to indicate that the BSPs select the tune and then
selected tun affects the tun variables themselves.

Also combined the TUNE_PKGARCH and the TUNE_PKGARCH_tune variable.
We really don't need the TUNE_PKGARCH_tune variable as it is simply
the TUNE_PKGARCH variable with the override.

(From yocto-docs rev: dabc624272a9bb4cf5e62dee664ba729a9887208)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 22:36:14 +00:00
Scott Rifenbark
4f0fa9224a Revert "yocto-project-qs, mega-manual: Conformed to YP book set"
This reverts commit 914c482bd89071ab34b3381e3bd8065f871cc047.

I had to revert this change because it broke the footnote behavior.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 22:36:14 +00:00
Scott Rifenbark
d23e18990e Revert "yocto-project-qs: Removed redundant code to display title image."
This reverts commit 322ae6450dfac9b2054b33334898a078fdd20902.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 22:36:14 +00:00
Scott Rifenbark
5c7acf0a81 yocto-project-qs: Removed redundant code to display title image.
Creation of a PDF version of the YP Quick Start is not supported.
The <mediaobject></mediaobject> code appears in the manual for
that purpose only.  It is ignored during HTML generation.  Thus,
I have removed it from the file.  The image is actually displayed
through the <authorgroup> definition, which is located in the
CSS stylesheet.

(From yocto-docs rev: 322ae6450dfac9b2054b33334898a078fdd20902)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 22:36:14 +00:00
Scott Rifenbark
c576556033 yocto-project-qs, mega-manual: Conformed to YP book set
I discovered some artifacts and inconsistencies with how the YP
Quick Start was made.  I made the following changes:

1. Changed the structure of the QS from "article" to "book"
   as it is a separate book.  This change doesn't fix anything
   but it does bring the XML file closer to passing validation.

2. Removed the <abstract></abstract> tag.  This tag was in place
   simply to display the PNG file for the Yocto logo in the upper
   right part of the first page.  After turning the QS into a
   book from an article, the title could be displayed as a PNG
   file similar to the other books.  This change solved two issues:
   1) removed the empty "abstract" element from being displayed in
   both the mega-manual and the PDF version, and 2), brought the
   author and look of the first page into line with other YP
   manuals.

3. Removed the old PNG file used to display the Yocto logo at
   the top of the QS.  This file was removed from both the
   yocto-project-qs and mega-manual "figures" directories.

4. Added a new "yocto-project-qs-title.png" file to both the
   yocto-project-qs and mega-manual "figures" directories.

5. Updated the "qs-style.css" file's .authorgroup element to
   match and behave like the other YP manuals.  This effectively
   correctly displays the title PNG file for the QS.

6. Updated the Makefile area where the TAR files are made for
   both the yocto-project-qs and the mega-manual.  I had to
   substitute in the new PNG file for the QS one and had to
   add the title PNG to the mega-manual part.

(From yocto-docs rev: 914c482bd89071ab34b3381e3bd8065f871cc047)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 22:36:14 +00:00
Scott Rifenbark
6ee3207ec7 yocto-project-qs: Updated DocBook type declaration
The DocBook type at the top of the file indicated chapter
when the actual block of XML is article.  I changed it to article
to be consistent.

(From yocto-docs rev: 5350426c11abc2fa4b1418a2d215cd8814745ef9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 22:36:13 +00:00
Richard Purdie
2059a6607d security_flags: Fix typo for cups
(From OE-Core rev: 146b1ea632294b2830e2cfe2d1258d48cd0c0e85)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:03 +00:00
mike.looijmans@topic.nl
973c565a7e busybox-mdev: Support automatic mounting of block devices
Upon inserting a USB stick or similar device, mdev will run
an automounter script that mounts valid partitions on
/media/<device>. The script first checks /etc/fstab entries
so that mounting on UUID or LABEL or using custom mount options
is still possible. If /etc/fstab does not contain particular
mount options, the script will create (and remove) the mountpoint
automatically.
The script also supports full disk partitions (devices without
partition table).

The following environments can be set in /etc/default/mdev:
MDEV_AUTOMOUNT=n (Disables automounting completely)
MDEV_AUTOMOUNT_ROOT=/media (Change the mount root location)

Automatic mounting for a particular device can be disabled by
creating a file "/dev/<device>.nomount". This is helpful in
scripts that create partitions for example, and want to perform
specific actions which require the device to remain unmounted.

A more complex variation (using LABEL based mounts) on this script
has been in use in OpenPLi for many years now, and I've used this
one on many projects already, so it's about time to push this to
mainline.

(From OE-Core rev: 19073fb991b3e2d2304e55f94e30674adf375197)

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:03 +00:00
mike.looijmans@topic.nl
6695f76a10 busybox-mdev: Add hotplug kernel module support to mdev.conf
Add a line to mdev.conf that tells mdev to load kernel modules when
required.

For example, if you built wifi support as an external module, inserting
a wifi stick into a USB port will now automatically load that module
into the kernel and the wlan device will be ready for configuration.
Without this patch, you have to load required modules manually or force
them to load at system startup.

(From OE-Core rev: 11420b0566a6a085c6cb78f3f1495ed9c599e6fd)

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:03 +00:00
mike.looijmans@topic.nl
f9392a539e busybox/find-touchscreen.sh: Simplify script and recognize USB devices
Simplify the grep expression, use the more common "grep" command instead
of "egrep", avoid forking extra processes, join multiple invokations into
a single combined expression.

Change the touchscreen regex so that it also recognizes various USB
touchscreen controllers and the ad7879 i2c device.

Based on code used in OpenPLi and meta-topic.

(From OE-Core rev: e82353eb9f76b582122fda27c93339eac5553eb2)

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:03 +00:00
mike.looijmans@topic.nl
f50c622239 busybox-mdev: Install missing find-touchscreen.sh
mdev.conf references the find-touchscreen.sh script, but this file
was not being installed. Add the script to the busybox-mdev package.

(From OE-Core rev: 44f6df0dfac54845ef5c3ab1af5663d1b6c1d64b)

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:02 +00:00
Martin Jansa
3ee4015f5b powertop: Fix build for !uclibc
* EXTRA_LDFLAGS isn't defined for !uclibc and configure fails
  when it reads it unexpanded, see config.log snippet:

  configure:4177: checking whether the C compiler works
  configure:4199: i586-oe-linux-gcc  -m32 -march=i586 --sysroot=/OE/sysroots/qemux86  -O2 -pipe -g -feliminate-unused-debug-types  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed ${EXTRA_LDFLAGS} conftest.c  >&5
  i586-oe-linux-gcc: error: ${EXTRA_LDFLAGS}: No such file or directory
  configure:4203: $? = 1
  configure:4241: result: no

(From OE-Core rev: a3e9b391e1024d6d2e256b75c214d34e6693e332)

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>
2014-12-19 18:08:02 +00:00
Ross Burton
88af91954e common-licenses: add SMAIL_GPL
This is used by debianutils.

(From OE-Core rev: 6214649b3aed5075c86aed79aa1356f1e5a19f9d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:02 +00:00
Maciej Borzecki
cff6c481aa wic: add globbing support in IMAGE_BOOT_FILES entries
Adding glob support for entries in IMAGE_BOOT_FILES. Files picked up by
glob are by default installed under their basename, as this is likely
most common use case. Target name for globbed entries specifies the
name of directory in which files will be installed withing the partition.

(From OE-Core rev: 2c9635bdb97ddc80750c11d356e153a99d61cf09)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:02 +00:00
Maciej Borzecki
90487dfbbb wic: IMAGE_BOOT_FILES format checks in bootimg-partition source
Check for malformed entries in IMAGE_BOOT_FILES, fail early if such
entries were found.

(From OE-Core rev: e56072aaaad6cfa222853a4e9e68dd8aa861de18)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:02 +00:00
Nicolas Dechesne
94e14422f6 mesa: add PACKAGECONFIG support for gallium XA state tracker
(From OE-Core rev: d1cf188783ea5ae9013996a208f60960e3e7a6e7)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:02 +00:00
Saul Wold
7d495e5032 vala: Add Upstream-Status to patch
(From OE-Core rev: 89bb91520746c229d534cd856051f11d8b328d29)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:02 +00:00
Ross Burton
3c55f44c23 oprofile: add missing Upstream-Status
(From OE-Core rev: 77367e78aa6e2edce2a7837c7d28aa74f6ef2d8b)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:02 +00:00
Ross Burton
77e1c5f2e5 which: add missing Upstream-Status
(From OE-Core rev: c04715d17b357f46bd78f1d9c83e2639b04987dd)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:02 +00:00
Richard Tollerton
02e11ceeaa udev-cache: refactor conditionals and error handling
Most of /etc/init.d/udev-cache is in a conditional block which can be
replaced by a `[ ... ] || exit 0` to reduce nesting.

This also provides an opportunity to add some additional messages
when VERBOSE is set.

Capture and report errors encountered in the cache generation process,
using set -e and trap EXIT. These errors were previously being ignored.

(From OE-Core rev: a1357f3c78e46cd4297fefab56acf87342967132)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:02 +00:00
Richard Tollerton
408baa9903 udev-cache: Update cache asynchronously
Don't hold up the boot while the cache is being updated.

(From OE-Core rev: eb52b257511b7624c8e212f5e9df711935d619ee)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Ben Shelton <ben.shelton@ni.com>
Acked-by: Gratian Crisan <gratian.crisan@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:01 +00:00
Richard Tollerton
88c184a9bf udev-cache: invalidate on rules.d changes
Presently, the cache is not regenerated if udev rules are modified,
which may cause the cache to preserve an old configuration. To fix,
include the size, mtime, and filename of all udev rules in the system
configuration.

This change requires `stat`. If busybox supplies stat,
CONFIG_FEATURE_STAT_FORMAT must be enabled.

(From OE-Core rev: 8847e33b12171a21b7c7e1241198080ad9ef9284)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:01 +00:00
Richard Tollerton
7c522ced96 udev-cache: always warn on console if invalidated
Failure to use the udev cache is a significant enough impact to
the boot time (possibly seconds) that it should always be
reported on the console, regardless of the VERBOSE setting.

(From OE-Core rev: 9e588bbf9477d57f0a46d92ce11f8f891115496c)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:01 +00:00
Richard Tollerton
8b0be8018a udev-cache: Clean up message when cache is invalidated
Replace a bunch of echo's with a single cat<<EOF. Take this opportunity
to more clearly communicate what is going on with the cache and what
files are being looked at.

(From OE-Core rev: d768772a1259d3659d0424c39e65eeb3443af86c)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:01 +00:00
Richard Tollerton
0002d46e78 udev-cache: refactor sysconf generation
The current system configuration needs to be generated both inside
udev (to compare against the cached system configuration) and
udev-cache (to regenerate the cached system configuration). Use a single
function definition for this task, duplicated across both initscripts.
This also allows administrators to modify it for machine-specific
requirements.

(From OE-Core rev: 34957afcfe663eed4f5ebec0891a84467e67a48d)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:01 +00:00
Richard Tollerton
c6e8f075a9 udev-cache: don't generate sysconf twice
The udev initscript signals udev-cache to run by generating a new
sysconf; but udev-cache now overwrites that with its own copy. To
eliminate the needless sysconf generating in udev, we instead trigger
udev-cache to run by touching a new file $DEVCACHE_REGEN.

(From OE-Core rev: 8d2325be2d03086b7e5a02618edb05b19fbcdc48)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:01 +00:00
Richard Tollerton
7f8634cc90 udev-cache: replace readfiles() with cmp
Currently, udev-cache system configurations are compared as shell string
variables, read into memory with the readfiles() function. This is more
complex, and significantly (27-41%) slower, than comparing them using
`cmp`. (Performance was verified on both Cortex-A9 and Intel Nehalem
systems.)

So just use cmp. This requires a few other small changes:

exclude /proc/atags from CMP_FILE_LIST if it doesn't exist to avoid
errors in `cat` and `cmp`.

`cmp -q` doesn't exist in busybox, so instead, redirect output to
/dev/null.

(From OE-Core rev: e8ea6a29ed3ab9892a3bc7ee8249f10688c0af29)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:01 +00:00
Richard Tollerton
24a159e169 udev-cache: stop race between sysconf and cache generation
The validity of the udev cache is determined by the sysconf
file (/etc/udev/cache.data). Currently, there is a substantial delay
between sysconf generation in /etc/init.d/udev and cache generation in
/etc/init.d/udev-cache. If a hotplug event arrives in the middle of
this, then the sysconf will be out of date with respect to the cache.

The solution is two-pronged. First, we minimize the race window by
regenerating the sysconf immediately before the cache, in
/etc/init.d/udev-cache. This allows us to kill the race entirely by
stopping the udev event queue while the sysconf and cache are being
generated.

(From OE-Core rev: 107e7fa2b2cc2e06addb83518c03b3ab769fed6f)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:01 +00:00
Paul Eggleton
a957ff1dc4 buildtools-tarball: restore missing git tools
Since the split out of git-perltools, some git tools (such as "git am",
"git send-email" and "git-submodule") have no longer been part of the
buildtools. We need these, so add them back in.

However, adding git-perltools to buildtools triggers perl itself being
brought into buildtools as well, and we don't want that; but we also
don't want to have to hack the git recipe or indeed anything else that
starts depending on perl. Thus, add a dummy package which gets installed
in its place, in a separate package architecture that is only enabled
for buildtools to ensure it doesn't start appearing in place of
nativesdk-perl anywhere else.

Fixes [YOCTO #7033].

(From OE-Core rev: 5b051d65e797624cca3a81fc6f5c924925f3493e)

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>
2014-12-19 18:08:01 +00:00
Tomas Novotny
d5e0cc7b08 systemd-systemctl: add handling of template unit files
Template unit files (those with '@' in their names) are not handled with
native version of systemctl. This is usually not a problem, as the
native systemctl fails and systemctl command is executed during first
boot. But some early boot template units may fail during first boot
because opkg configure for first boot is pulled too late for them
(although I encouter it only with some of my services, not with oe-core
ones).

Handling of template unit files is same as in original systemctl. Also
DefaultInstance directive in template is respected. As with original
systemctl, enabling of template without instance and DefaultInstance
does nothing.

(From OE-Core rev: 90904ef3bab182a46174f7bb60e83f0f22a3f209)

Signed-off-by: Tomas Novotny <tomas@novotny.cz>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:01 +00:00
Hongxu Jia
0932d84f26 libproxy: let INCOMPATIBLE_LICENSE supports wildcard
While wildcard in INCOMPATIBLE_LICENSE, such as INCOMPATIBLE_LICENSE =
"*GPL-3", libproxy could correct work.

[YOCTO #5592]

(From OE-Core rev: 97f46c97c7f8a39f3691aee423b4192680d114a0)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:00 +00:00
Hongxu Jia
b3c625a7f2 default-versions.inc: let INCOMPATIBLE_LICENSE supports wildcard
While wildcard in INCOMPATIBLE_LICENSE, such as INCOMPATIBLE_LICENSE =
"*GPL-3", PREFERRED_VERSION_db-native could have the correct value "5.%"

[YOCTO #5592]

(From OE-Core rev: fddca246f15ff72828a0198d8c4d3e58d8bf4442)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:00 +00:00
Hongxu Jia
5f78cf9b4e base/license.bbclass: expand wildcards in INCOMPATIBLE_LICENSE
The whitelist processing in code in base.bbclass does not play well with
wildcards in INCOMPATIBLE_LICENSES. The code expects bad_licenses to
contain actual license names, not wildcards.

Add incompatible_license_contains to replace bb.utils.contains(
"INCOMPATIBLE_LICENSE", **, **, **, d)

[YOCTO #5592]

(From OE-Core rev: 3587653a8d8abc7cfed6a5c6ecfa72bee283e451)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:00 +00:00
Joe Slater
fc518325c6 gcc runtime: specify license on a per package basis
It can be alarming to attempt to exclude GPLv3 from an
image but find that libstdc++ and libgcc still show it.
We indicate the license for each package to show libraries
that really are just GCC-3.0-with-GCC-exception.

(From OE-Core rev: 5db535a91edea439c14e75726acd23e64bb1e2ea)

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>
2014-12-19 18:08:00 +00:00