summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFiles
2014-12-20kernel-yocto: make sure git tags get dereferenced properly in do_patch()Jeff Wang1
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>
2014-12-20kernel-yocto: fix non-git buildsBruce Ashfield1
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>
2014-12-20lttng/perf: depend on virtual/kernel:do_installBruce Ashfield2
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>
2014-12-20images: introduce core-image-kernel-devBruce Ashfield1
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>
2014-12-20kerneldev: create kernel-devsrc packagingBruce Ashfield1
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>
2014-12-20kernel: fix out of tree module buildsBruce Ashfield1
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>
2014-12-20kernel: Rearrange for 1.8Richard Purdie5
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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-20image: Avoid race over directory creationRichard Purdie1
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>
2014-12-20dbus-test: Fix SRC_URI checksum to match dbusRichard Purdie1
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>
2014-12-20report-error: Handle the case no logfile existsRichard Purdie1
If the task fails early, no error log may exist. Currently we crash in that case, this handles the situation more gracefully. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19security_flags: Fix typo for cupsRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19busybox-mdev: Support automatic mounting of block devicesmike.looijmans@topic.nl5
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>
2014-12-19busybox-mdev: Add hotplug kernel module support to mdev.confmike.looijmans@topic.nl1
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>
2014-12-19busybox/find-touchscreen.sh: Simplify script and recognize USB devicesmike.looijmans@topic.nl1
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>
2014-12-19busybox-mdev: Install missing find-touchscreen.shmike.looijmans@topic.nl1
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>
2014-12-19powertop: Fix build for !uclibcMartin Jansa1
* 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 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-12-19common-licenses: add SMAIL_GPLRoss Burton1
This is used by debianutils. Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-12-19wic: add globbing support in IMAGE_BOOT_FILES entriesMaciej Borzecki1
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>
2014-12-19wic: IMAGE_BOOT_FILES format checks in bootimg-partition sourceMaciej Borzecki1
Check for malformed entries in IMAGE_BOOT_FILES, fail early if such entries were found. 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>
2014-12-19mesa: add PACKAGECONFIG support for gallium XA state trackerNicolas Dechesne1
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-12-19vala: Add Upstream-Status to patchSaul Wold1
Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-12-19oprofile: add missing Upstream-StatusRoss Burton1
Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-12-19which: add missing Upstream-StatusRoss Burton1
Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-12-19udev-cache: refactor conditionals and error handlingRichard Tollerton1
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. Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
2014-12-19udev-cache: Update cache asynchronouslyRichard Tollerton1
Don't hold up the boot while the cache is being updated. 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>
2014-12-19udev-cache: invalidate on rules.d changesRichard Tollerton2
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>
2014-12-19udev-cache: always warn on console if invalidatedRichard Tollerton1
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>
2014-12-19udev-cache: Clean up message when cache is invalidatedRichard Tollerton1
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>
2014-12-19udev-cache: refactor sysconf generationRichard Tollerton2
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>
2014-12-19udev-cache: don't generate sysconf twiceRichard Tollerton2
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>
2014-12-19udev-cache: replace readfiles() with cmpRichard Tollerton2
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>
2014-12-19udev-cache: stop race between sysconf and cache generationRichard Tollerton1
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>
2014-12-19buildtools-tarball: restore missing git toolsPaul Eggleton2
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>
2014-12-19systemd-systemctl: add handling of template unit filesTomas Novotny1
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>
2014-12-19libproxy: let INCOMPATIBLE_LICENSE supports wildcardHongxu Jia1
While wildcard in INCOMPATIBLE_LICENSE, such as INCOMPATIBLE_LICENSE = "*GPL-3", libproxy could correct work. [YOCTO #5592] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
2014-12-19default-versions.inc: let INCOMPATIBLE_LICENSE supports wildcardHongxu Jia1
While wildcard in INCOMPATIBLE_LICENSE, such as INCOMPATIBLE_LICENSE = "*GPL-3", PREFERRED_VERSION_db-native could have the correct value "5.%" [YOCTO #5592] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
2014-12-19base/license.bbclass: expand wildcards in INCOMPATIBLE_LICENSEHongxu Jia3
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] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
2014-12-19gcc runtime: specify license on a per package basisJoe Slater2
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>
2014-12-19toaster.bbclass: trigger event for other image filesAlexandru DAMIAN1
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>
2014-12-19systemd: backport patch to fix reading journal backwardsJonathan Liu2
Signed-off-by: Jonathan Liu <net147@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-12-19font-util: Fix incorrect PKG_CONFIG_PATHRichard Tollerton1
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>
2014-12-19package.bbclass: do variable fixups even when FILES was setPeter Seebach1
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>
2014-12-19kernel.bbclass: Remove bashismKhem Raj1
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>
2014-12-19image_types.bbclass: Populate cpio /init as symlinkNathan Rossi1
For cpio/ramfs the kernel will first attempt to execute /init and will emit the following error as the file is empty: Failed to execute /init (error -13) If /sbin/init exists symlink to it so the kernel can immediately start the correct init executable instead of an empty file. Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-12-19shadow: disable nscd feature when glibc is not built with spawn posix functionsBaptiste DURAND1
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>
2014-12-19gnutls: upgrade to 3.3.11Armin Kuster2
this also includes a fix for CVE-2014-8564. see http://www.gnutls.org/security.html for CVE-2014-3566 "POODLE" statement. Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-12-19packagegroup-core-tools-profile: allow lttng-modules for ARMNathan Lynch1
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>
2014-12-19glibc: CVE 2014-7817 and 2012-3406 fixesArmin Kuster3
Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-12-19openssh: move setting LD to allow for correct overrideSaul Wold1
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>
2014-12-19qemu: disable vte if gtk is also disabledRichard Tollerton1
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>