Paul Barker [Thu, 18 Dec 2014 21:03:30 +0000 (21:03 +0000)]
opkg-utils: Update SRCREV
The new upstream commit incorporates the following fix to update-alternatives
from Chen Qi <Qi.Chen@windriver.com>:
update-alternatives: avoid double slash problem
The link path stored by update-alternatives should always be absolute and so we
do not need to add an additional slash when joining to $OPKG_OFFLINE_ROOT.
Signed-off-by: Paul Barker <paul@paulbarker.me.uk> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 19 Dec 2014 11:41:57 +0000 (11:41 +0000)]
devtool: add QA tests
Add some QA tests for devtool (and recipetool). These aren't
comprehensive but at least they are a start, and have already helped me
catch and fix a number of regressions.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Junchun Guan [Fri, 19 Dec 2014 11:41:56 +0000 (11:41 +0000)]
scripts/devtool: Support deploy/undeploy function
Deploy recipe output files to live target machine using scp
Store the files list and target machine info in localhost if deployment
is done
Undeploy recipe output files in target machine using the previous
deployment info
[YOCTO #6654]
Signed-off-by: Junchun Guan <junchunx.guan@intel.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 19 Dec 2014 11:41:55 +0000 (11:41 +0000)]
scripts/devtool: add development helper tool
Provides an easy means to work on developing applications and system
components with the build system.
For example to "modify" the source for an existing recipe:
$ devtool modify -x pango /home/projects/pango
Parsing recipes..done.
NOTE: Fetching pango...
NOTE: Unpacking...
NOTE: Patching...
NOTE: Source tree extracted to /home/projects/pango
NOTE: Recipe pango now set up to build from /home/paul/projects/pango
The pango source is now extracted to /home/paul/projects/pango, managed
in git, with each patch as a commit, and a bbappend is created in the
workspace layer to use the source in /home/paul/projects/pango when
building.
Additionally, you can add a new piece of software:
$ devtool add pv /home/projects/pv
NOTE: Recipe /path/to/workspace/recipes/pv/pv.bb has been
automatically created; further editing may be required to make it
fully functional
The latter uses recipetool to create a skeleton recipe and again sets up
a bbappend to use the source in /home/projects/pv when building.
Having done a "devtool modify", can also write any changes to the
external git repository back as patches next to the recipe:
Paul Eggleton [Fri, 19 Dec 2014 11:41:54 +0000 (11:41 +0000)]
scripts: add scriptutils module
Add a utility module for scripts. This is intended to provide functions
only really useful before bitbake has been found (or only of particular
interest to scripts). At the moment this includes functions for setting
up a logger and for loading plugins.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 19 Dec 2014 11:41:53 +0000 (11:41 +0000)]
scripts/recipetool: Add a recipe auto-creation script
Add a more maintainable and flexible script for creating at least the
skeleton of a recipe based on an examination of the source tree.
Commands can be added and the creation process can be extended through
plugins.
[YOCTO #6406]
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 19 Dec 2014 11:41:52 +0000 (11:41 +0000)]
classes/externalsrc: set do_compile as nostamp
Most of the time what you want when using this class is for do_compile
to execute more than just once - every time the source changes would be
ideal, but that's a little tricky to accomplish. Thus, set do_compile as
nostamp to get something close. Note that in order to be effective this
also requires the change to bitbake that causes nostamp task signatures
to change on each execution.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 21 Dec 2014 13:50:35 +0000 (13:50 +0000)]
kernel-devsrc: Ensure we have a dependency on the actual source
Tthe kernel populate_sysroot can come from sstate, we need the full
source here. We therefore depend on the configure task which isn't
covered by sstate to ensure we get the right set of files.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 19 Dec 2014 11:41:50 +0000 (11:41 +0000)]
lib/oe: add recipeutils module
Add a module to help provide utility functions for dealing with recipes.
This would typically be used by external tools.
Substantial portions of this module were borrowed from the OE Layer
index code; other functions originally contributed by
Markus Lehtonen <markus.lehtonen@intel.com>.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 19 Dec 2014 11:41:49 +0000 (11:41 +0000)]
lib/oe/patch: add support for extracting patches from git tree
When patches from a recipe have been written out to a git tree, we also
want to be able to do the reverse so we can update the patches next to
the recipe. This is implemented by adding a comment to each commit
message (using git hooks) which we can extract later on.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 19 Dec 2014 11:41:46 +0000 (11:41 +0000)]
lib/oe/patch: auto-commit when falling back from git am
When PATCHTOOL = "git", if we're not able to use "git am" to apply a
patch and fall back to "git apply" or "patch", it is desirable to
actually commit the changes, attempting to preserve (and interpret) the
patch header as part of the commit message if present. As a bonus, the
code for extracting the commit message is callable externally in case it
is useful elsewhere.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 19 Dec 2014 11:41:45 +0000 (11:41 +0000)]
lib/oe/patch: fall back to patch if git apply fails
When PATCHTOOL = "git", git apply doesn't support fuzzy application, so
if a patch requires that it's better to be able to apply it rather than
just failing.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 19 Dec 2014 11:41:43 +0000 (11:41 +0000)]
meta-environment: don't mark tasks as nostamp
With siggen being changed to alter the signature of nostamp tasks on the
fly, having these tasks as nostamp results in the SDK being rebuilt
every time, which is not desirable. In any case this is just legacy from
the days before we used signatures to take care of ensuring these tasks
get re-run when they need to be.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sat, 20 Dec 2014 11:16:40 +0000 (11:16 +0000)]
core-image-sato-sdk: Use kernel-devsrc to ensure kernel module builds work
With the move of the kernel source to the kernel-devsrc, we need this package
to ensure the kernel module sanity tests made on core-image-sato-sdk continue
to pass. Therefore update the name of the package included in the image.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sat, 20 Dec 2014 11:19:51 +0000 (11:19 +0000)]
boot-directdisk: Use kernel from DEPLOY_DIR_IMAGE, not sysroot
After the recent kernel changes, this avoids failures like:
DEBUG: Executing shell function build_boot_dd
install: cannot stat '/home/pokybuild/yocto-autobuilder/yocto-worker/build-appliance/build/build/tmp/sysroots/qemux86-64/usr/src/kernel/bzImage': No such file or directory
WARNING: exit code 1 from a shell command.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 19 Dec 2014 17:46:27 +0000 (17:46 +0000)]
kernel: Fix non linux-yocto builds
After the recent kernel changes, non linux-yocto builds stopped working
properly for two reasons:
a) ${S} was being reset to ${WORKDIR}/git for example and STAGING_KERNEL_DIR
did not contain the source
b) Most builds were using ${B} == ${S}
This patch adds a fixup to the unpack function to handle the case where
${S} != ${STAGING_KERNEL_DIR} and also set up the infrastrcture so that
B != S for kernel builds from now on. The kernel build system is one of the
best for supporting this and there is no good reason not to take advantage
of it.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 21 Dec 2014 12:30:53 +0000 (12:30 +0000)]
kernel-devsrc: Ensure we don't race against do_make_scripts from module-base.bbclass
do_install for kernel-devsrc can race against do_make_scripts from
module-base.bbclass. Since there is a lock there to guard against concurrency
already, we can just use it here to avoid a race.
Ultimately, this can all likely be much more streamlined but this resolves
the immediate build failures.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 21 Dec 2014 12:29:03 +0000 (12:29 +0000)]
kernel-devsrc: Handle ppc crtsaves.o explictly for now
Resolve kernel module build failures for qemuppc by including crtsaves.o.
I'm not particularly happy to be doing this, it should perhaps be contained
in the kernel-dev package. Until the overlap between kernel-devsrc and
kernel-dev is resolved, this at least removed the regressions.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 19 Dec 2014 14:12:43 +0000 (14:12 +0000)]
kernel-devsrc: Inherit module-base
As a "normal" recipe, mulitlib would try and extend it for multilibs.
By inheriting module-base, we can avoid this since we now look more
'kernel' like.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sat, 20 Dec 2014 13:55:13 +0000 (13:55 +0000)]
linux-libc-headers: Upgrade 3.17 -> 3.17.7
Whilst we don't usually take linux-libc-headers point release, 3.17.3
fixes a userspace header issue which caused gdb to fail to build on
mips. We therefore may as well upgrade to the latest point release.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Wed, 10 Dec 2014 09:22:10 +0000 (04:22 -0500)]
linux-yocto/3.14: update to 3.14.26, integrate ltsi and -rt updates
Updating the 3.14 tree to the latest korg 3.14.26, as well as
integrating 3.14 LTSI content, and refreshing preempt-rt. Minor
conflict resolutions were performed between ltsi, stable and -rt
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Bruce Ashfield [Wed, 10 Dec 2014 09:20:19 +0000 (04:20 -0500)]
linux-yocto/3.10: update to v3.10.62
Updating to the latest korg -stable update for the 3.10 series. Minor
merge conflict resolution was done with the standard/ltsi and
standard/preempt-rt branches.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Bruce Ashfield [Wed, 15 Oct 2014 14:11:49 +0000 (10:11 -0400)]
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.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Richard Purdie [Thu, 18 Dec 2014 11:41:58 +0000 (11:41 +0000)]
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.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 11 Dec 2014 14:36:05 +0000 (14:36 +0000)]
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.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jeff Wang [Fri, 7 Nov 2014 14:45:32 +0000 (09:45 -0500)]
kernel-yocto: make sure git tags get dereferenced properly in do_patch()
Commit 92c1ece6c347030d48995a36f4c67861356e59d3 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> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Bruce Ashfield [Sat, 22 Nov 2014 04:51:58 +0000 (23:51 -0500)]
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.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Bruce Ashfield [Thu, 4 Dec 2014 04:14:08 +0000 (23:14 -0500)]
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.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Bruce Ashfield [Mon, 25 Aug 2014 17:22:53 +0000 (13:22 -0400)]
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.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Bruce Ashfield [Fri, 5 Dec 2014 19:48:11 +0000 (14:48 -0500)]
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
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Bruce Ashfield [Fri, 14 Nov 2014 19:51:27 +0000 (14:51 -0500)]
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.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 21 Oct 2014 21:05:30 +0000 (21:05 +0000)]
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:
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.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sat, 20 Dec 2014 11:16:06 +0000 (11:16 +0000)]
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'
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sat, 20 Dec 2014 11:22:11 +0000 (11:22 +0000)]
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.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl> Signed-off-by: Ross Burton <ross.burton@intel.com>
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.
Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl> Signed-off-by: Ross Burton <ross.burton@intel.com>
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.
Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl> Signed-off-by: Ross Burton <ross.burton@intel.com>
mdev.conf references the find-touchscreen.sh script, but this file
was not being installed. Add the script to the busybox-mdev package.
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>
Maciej Borzecki [Wed, 10 Dec 2014 11:45:57 +0000 (12:45 +0100)]
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.
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>
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.
Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
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.
Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
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.
Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
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.
Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
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.
Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
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.
Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
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.
Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Paul Eggleton [Fri, 5 Dec 2014 18:09:28 +0000 (18:09 +0000)]
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].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Tomas Novotny [Fri, 12 Dec 2014 15:50:51 +0000 (16:50 +0100)]
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.
Signed-off-by: Tomas Novotny <tomas@novotny.cz> Signed-off-by: Ross Burton <ross.burton@intel.com>
Hongxu Jia [Mon, 15 Dec 2014 08:55:10 +0000 (16:55 +0800)]
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)
Joe Slater [Tue, 16 Dec 2014 22:55:20 +0000 (14:55 -0800)]
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.
Signed-off-by: Joe Slater <jslater@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Alexandru DAMIAN [Wed, 10 Dec 2014 14:44:59 +0000 (14:44 +0000)]
toaster.bbclass: trigger event for other image files
Toaster will log all the files that it can find in the
deploy images directory, and list them, considering that
they may be artifacts of the current build not logged
anywhere else.
[YOCTO #6836]
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
PKG_CONFIG_PATH always defaults to /usr/lib/pkgconfig, and the host
/usr/lib/pkgconfig is always checked as a fallback; however,
PKG_CONFIG_PATH is currently (incorrectly) set to /usr/lib/pkg-config in
the sysroot, which doesn't exist. On host distros where the font
encoding maps are stored under a different path than OE, this will break
font builds, because ucs2any will attempt to read the sysroot's encoding
maps with the host paths.
Signed-off-by: Richard Tollerton <rich.tollerton@ni.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Peter Seebach [Mon, 8 Dec 2014 23:53:59 +0000 (17:53 -0600)]
package.bbclass: do variable fixups even when FILES was set
A number of settings (DESCRIPTION, SUMMARY, postinst, postrm,
and appends to RDEPENDS) were made only if FILES_foo was not
set for a given package. If you had a modified glibc packaging
setup that was defining FILES_glibc-gconv-somelocale, this would
prevent the automatic append of glibc-gconv as a dependency,
because extra_depends was ignored.
I think the assumption may have been that if FILES_foo was set,
DESCRIPTION_foo and SUMMARY_foo would also be set, but it seems
to me that the right answer is probably to set them if they aren't
already set, and leave them alone if they are.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Khem Raj [Fri, 12 Dec 2014 20:47:43 +0000 (12:47 -0800)]
kernel.bbclass: Remove bashism
Fixes build on systems using dash for default shell e.g.
errors like
run.do_strip.25842: [[: not found
| readelf: Error: Unable to read in 0x37 bytes of section headers
| readelf: Error: Not an ELF file - it has the wrong magic bytes at the start
Change-Id: I29cac15be44a02d75a3d6889b6ae9b2e19bf46af Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Baptiste DURAND [Fri, 5 Dec 2014 14:40:16 +0000 (15:40 +0100)]
shadow: disable nscd feature when glibc is not built with spawn posix functions
shadow package configure step fails with this log output :
| checking location of faillog/lastlog/wtmp... (cached) /var/log
| checking location of the passwd program... (cached) /usr/bin
| checking for posix_spawn... no
| configure: error: posix_spawn is needed for nscd support
| Configure failed. The contents of all config.log files follows to aid debugging
| ERROR: oe_runconf failed
Signed-off-by: Baptiste DURAND <baptiste.durand@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Nathan Lynch [Mon, 15 Dec 2014 18:17:32 +0000 (12:17 -0600)]
packagegroup-core-tools-profile: allow lttng-modules for ARM
Per commit f6587be6cd3dc864143b1c0be0bb8179a61dc835 (lttng-modules:
re-enable ARM builds) lttng-modules is fine for ARM now. Without this
additional change, tools-profile won't bring in lttng-modules when
targeting ARM.
Signed-off-by: Nathan Lynch <nathan_lynch@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Saul Wold [Mon, 15 Dec 2014 19:21:49 +0000 (11:21 -0800)]
openssh: move setting LD to allow for correct override
Using the export LD in the recipe does not allow for secodnary toolchain
overriding LD later, by setting it in the do_configure_append the export
is used by autotools setting LD based on the env, but would allow for
override later.
[YOCTO #6997]
Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
vte will pull in the gtk libs itself. This can cause build failures if
the native gtk was build with glib>=2.41 while the sysroot native glib
is <=2.40.
Fix for [YOCTO #7077].
Signed-off-by: Richard Tollerton <rich.tollerton@ni.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Awais Belal [Tue, 16 Dec 2014 15:46:40 +0000 (15:46 +0000)]
gstreamer1.0-* fix configure for out of tree build on git recipes
The autogen.sh script lies in the srcdir ($S) and is required to be run on git
based checkouts of gstreamer packages in order to generate initial
makefiles. So, we fix this by cd'ing to the specific dir, run the required
script and then come back to our initial dir which is builddir ($B).
Additionally rather than overriding the whole do_configure step we only _prepend
to make it clear what we are doing here.
Signed-off-by: Awais Belal <awais_belal@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de> Cc: Kang Kai <Kai.Kang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>