Ross Burton [Fri, 8 Feb 2013 22:43:16 +0000 (22:43 +0000)]
update-rc.d: don't do anything if systemd.bbclass is inherited
We need the update-rc.d class to work when systemd is being used so that
packages that only have SysV init scripts still work. However if a recipe
supports both we don't want to install SysV and systemd files under systemd.
To solve this, before doing real work in update-rc.d check if the systemd class
has been inherited and don't do anything if it has.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Radu Moisan [Fri, 8 Feb 2013 22:43:18 +0000 (22:43 +0000)]
avahi: Enabling with systemd
Signed-off-by: Radu Moisan <radu.moisan@intel.com> Signed-off-by: Sander van Grieken <sander@outrightsolutions.nl> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Fri, 8 Feb 2013 22:43:15 +0000 (22:43 +0000)]
systemd.bbclass: helper class for recipes with systemd units
This class adds postinst/prerm scripts to start/stop/enable/disable the services
as relevant, and some magic to ensure the service files are installed.
Based on (but not the same as) the systemd.bbclass in meta-systemd, so thanks to
the following for their work there:
Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Khem Raj <raj.khem@gmail.com>
Martin Jansa <Martin.Jansa@gmail.com>
Andreas Müller <schnitzeltony@googlemail.com>
Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 8 Feb 2013 09:18:20 +0000 (09:18 +0000)]
buildhistory: record more R* variables
Add RPROVIDES, RREPLACES, RCONFLICTS and RSUGGESTS to the list of
tracked variables. Of these, RPROVIDES is always output, whereas the
others are only output if they have a value (since it is more common
that they don't).
Implements [YOCTO #3391].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 8 Feb 2013 09:18:21 +0000 (09:18 +0000)]
buildhistory_analysis: handle more R* variables
Report changes to RPROVIDES, RREPLACES, and RCONFLICTS. As RSUGGESTS
isn't widely used and isn't of huge concern if it changes, it is not
reported by default.
Implements [YOCTO #3391].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Colin Walters [Fri, 8 Feb 2013 12:48:52 +0000 (07:48 -0500)]
make-3.82: Add patch from git to fix parallel make race
See: http://savannah.gnu.org/bugs/?30653
This only shows up for projects which have a number of intermediate
targets. For me, systemd fails to build without this patch, and does
build consistently with it.
WebKitGtk+ is another known affected project.
Signed-off-by: Colin Walters <walters@verbum.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Andrei Gherzan [Sat, 9 Feb 2013 22:09:56 +0000 (00:09 +0200)]
udev: Cleanup .inc file
* udev-acl and udev-concolekit have no files so remove these packages
* there's nothing in sbindir so remove useless sbindir = "${base_sbindir}"
* there is no udevinfo or udevtest so remove these from udev-utils
* udevadm is installed in bindir so modify it's path in FILES_udev-utils
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 7 Feb 2013 23:53:51 +0000 (23:53 +0000)]
dbus-native: Don't install dbus-launch
dbus-launch from dbus-native has no X support so lets not install it in
case the host has a more featured and useful version. It can interfere
with running X utils with STAGING_BINDIR_NATIVE is in PATH and we don'
use it anywhere.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Xin Ouyang [Sat, 26 Jan 2013 05:28:30 +0000 (13:28 +0800)]
libcgroup: fix failure for absolute path
[ CQID: WIND00401091 ]
While using sstate or some other conditions, there may be no image
directory in the builddir, so the absolute path of libcgroup.so.1
will cause build failures.
Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Jim Somerville [Mon, 21 Jan 2013 16:13:31 +0000 (11:13 -0500)]
rt-tests: fix cyclictest reported 1 sec latencies
[ CQID: WIND00391769 ]
Huge latencies reported close to 1 second when certain options
are used in cyclictest.
Extend the original commit to remove the 1 second hardcoded
timer values from the RELTIME and ITIMER options. Use the
the actual interval instead.
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Jason Wessel [Thu, 10 Jan 2013 18:55:11 +0000 (12:55 -0600)]
eglibc-nativesdk: Fix buffer overrun with a relocated SDK
When ld-linux-*.so.2 is relocated to a path that is longer than the
original fixed location, the dynamic loader will crash in open_path
because it implicitly assumes that max_dirnamelen is a fixed size that
never changes.
The allocated buffer will not be large enough to contain the directory
path string which is larger than the fixed location provided at build
time.
Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Jesse Zhang [Sun, 6 Jan 2013 01:56:19 +0000 (09:56 +0800)]
ghostscript: fix endianness detection
[ CQID: WIND00394747 ]
The original patch removes endianness detection completely, causing lcms
to be built against the wrong endian. Instead, pass the correct endian
through the recipe using SITEINFO_ENDIANNESS.
Signed-off-by: Jesse Zhang <sen.zhang@windriver.com> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Martin Jansa [Thu, 7 Feb 2013 14:01:31 +0000 (15:01 +0100)]
qemu: disable smartcard support
* sometimes it's autodetected and fails to build:
| /usr/bin/ld: libcacard/.libs/cac.o: Relocations in generic ELF (EM:40)
| libcacard/.libs/cac.o: could not read symbols: File in wrong format
| collect2: ld returned 1 exit status
| make[1]: *** [libcacard.la] Error 1
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Peter Seebach [Tue, 5 Feb 2013 20:21:42 +0000 (14:21 -0600)]
pseudo.inc: Fix sqlite libdir again, pseudo 1.4.3
This updates to pseudo 1.4.3. Changes:
1. A couple of minor tweaks to reduce difficulties using SDKs built
on slightly more recent machines on older machines; specifically,
avoiding getting @GLIBC_2.7 symbol references for sscanf(), fscanf(),
and open2().
2. Revision of the logic determining the library directory to use for
sqlite's library files.
The latter is a source of difficulty because it's come up a few times
that we may want pseudo to use lib64 for libpseudo.so, but bitbake's
usual setup would have libsqlite3.a in lib regardless of bit width.
Cleaned up previous design a bit by providing a distinct setting for
sqlite-lib, which defaults to the same library directory used for other
things. Adjusted build to use this new setting. (This ends up being
${baselib}; on targets, that might not be lib, but for native builds
it generally is, and for SDK builds it appears to do the right thing.)
Testing: Successful build of meta-toolchain for both 64-bit and 32-bit
SDKMACHINE, and builds with NO32LIBS = "0" also succeeded. Also builds
for multilib targets.
Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Richard Purdie [Thu, 7 Feb 2013 13:32:55 +0000 (13:32 +0000)]
image.bbclass: Add MLPREFIX to DEPENDS
Add MLPREFIX to DEPENDS to ensure the correct qemuwrapper is dependended upon. Its searched
for in PATH so we need to do this to ensure the correct version is present.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 7 Feb 2013 12:40:35 +0000 (12:40 +0000)]
qemuwrapper: Don't use STAGING_BINDIR_CROSS directly
We need the files to be tracked by sstate so we need to jump through
some hoops to ensure this happens. The cross bindir directory
isn't staged automatically so we need to handle this outselves.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 6 Feb 2013 23:34:52 +0000 (23:34 +0000)]
bitbake.conf: Update hashconfig after BB_ORIGENV changes
We should ignore BB_ORIGENV from the hash for the config data. There
are also a number of variables which no longer make it into the data
store so we can drop these from the hash whitelist.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Martin Jansa [Wed, 6 Feb 2013 00:56:14 +0000 (01:56 +0100)]
package.bbclass: return list of packages created in do_split_packages
* sometimes it's useful to do something with packages created
by do_split_packages later in do_package_prepend, e.g. in:
http://lists.linuxtogo.org/pipermail/openembedded-devel/2013-February/043824.html
I have .bbclass which adds some postinst, postrm and RDEPENDS,
but ttf-mplus is using do_split_packages to create those packages
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 3 Feb 2013 17:31:30 +0000 (17:31 +0000)]
package.bbclass: Add PACKAGESPLITFUNCS variable
Prepending to populate_packages is rather ugly and means its hard to trace
errors and also profiling informaiton is summed together in one function.
This patch starts to split out the prepends to become separate functions
to avoid these issues. This is generally a neater way to write functions
than prepending to where there can sometimes be variable scope issues
and we've been bitten by whitespace issues in the past.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 3 Feb 2013 17:25:30 +0000 (17:25 +0000)]
package.bbclass: Various minor performance tweaks
* Call getVar outside the loop
* Drop unneeded PATH export (bitbake does this already)
* Drop unused variable
* Simplify if statement nesting
* Simplify variable expandion to a getVar call (expand would just call getVar)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 3 Feb 2013 17:21:40 +0000 (17:21 +0000)]
package.bbclass: Make use of cleandirs and dirs function flags
We can use the cleandirs and dirs flags for the fuctions to handle
directory cleaning and creation at the bitbake level rather than
using these calls within the functions
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 3 Feb 2013 17:17:30 +0000 (17:17 +0000)]
kernel.bbclass: Improve populate_packages_prepend
Small performance tweaks for populate_packages_prepend:
* Compile the regexps once at the start
* Don't keep importing a module which is already imported
* No need to check PKG is set, we'd have failed long before now if it wasn't
* Don't export PATH, bitbake takes care of this at the task level
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 3 Feb 2013 17:11:58 +0000 (17:11 +0000)]
package.bbclass: Rewrite split_and_strip_files
The split_and_strip_files funciton was hard to follow and its usage of prefixes
to strings was unusual. This rewrites it to use a list of hardlinks, symlinks and
elffiles where each list is iterated over at the correct point.
This means we can avoid creating dandling symlinks for example so we can simply
delete the cleanup code for this.
The isfile() check is also removed which gives a significant improvement in speed.
Its uneeded since os.walk will have already checked things in files are files.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 3 Feb 2013 16:54:00 +0000 (16:54 +0000)]
insane.bbclass: Add pkgvarcheck to check for suboptimal usages of variables
Check through the variables:
'RDEPENDS', 'RRECOMMENDS', 'FILES', 'pkg_preinst', 'pkg_postinst', 'pkg_prerm', 'pkg_postrm'
and if there is a variable set which isn't package specific, inform the user
of this.
Using these variables without a package suffix is bad practise and complicates
dependencies of packages unnecessarily as well as complicates the code. Lets
convert the remaining issues and then we can take the small performance gain.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 3 Feb 2013 17:34:54 +0000 (17:34 +0000)]
sstate/path.py: Add copyhardlinktree() function and use for performance optimisation
Add a function which copys a tree as a set of hardlinks to the original
files, then use this in sstate to reduce some of the overhead of sstate
package creation since the file isn't actually copied.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Laurentiu Palcu [Mon, 4 Feb 2013 09:26:05 +0000 (11:26 +0200)]
base-files: remove /var/cache from volatiles
Having the cache in tmpfs implies cache regeneration after every reboot.
For an embedded device this might not be very efficient. So, it is
better for the cache to be persistent between reboots.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- netbase should only include etc-rpc, etc-protocols, etc-services
and the hosts file
- the init script/configuration files should be in another package
(init-ifupdown)
[YOCTO #2486]
Signed-off-by: Constantin Musca <constantinx.musca@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Chen Qi [Tue, 29 Jan 2013 04:24:43 +0000 (12:24 +0800)]
initscripts: add read-only-rootfs-hook.sh script
Add read-only-rootfs-hook.sh script to support a read-only rootfs.
This script makes a union mount of /var/lib and /var/volatile/lib,
making /var/lib directory writable.
Chen Qi [Thu, 24 Jan 2013 07:28:45 +0000 (15:28 +0800)]
initscripts: let populate-volatile.sh create the /tmp link
Previously, the /tmp link (/tmp -> /var/tmp) was created by the
bootmisc.sh script. So in case of a read-only rootfs, this symlink
would not be created correctly.
The populate-volatile.sh script is intended to handle all directories
and files related to volatile storage, so we should let it create
the /tmp link.
In addition, because of the improments of populate-volatile.sh, the data
loss problem of bug#3404 is also resolved by this patch.
Chen Qi [Sun, 6 Jan 2013 09:02:45 +0000 (17:02 +0800)]
sysvinit: add ROOTFS_READ_ONLY variable to rcS-default
This variable indicates whether the rootfs is intended to be read-only
or not. Changing this value from 'no' to 'yes' on a currently running
system with read-write rootfs and rebooting will give the user a working
system with read-only rootfs.
However, it is not suggested to change its value. Normally, if a read-only
rootfs is required, we should build an image with 'read-only-rootfs' image
feature.
Bruce Ashfield [Mon, 4 Feb 2013 19:05:07 +0000 (14:05 -0500)]
linux-yocto: KERNEL_FEATURES should reference full scc files
Some existing KERNEL_FEATURE references use a shorcut notation, but mapping
these shortcuts to actual .scc files in the tree are not obvious. So we clarify
where they are found by referencing the full .scc filename in the KERNEL_FEATURE
addtions.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Bruce Ashfield [Mon, 4 Feb 2013 19:13:37 +0000 (14:13 -0500)]
linux-yocto/dev: linux-yocto development tree tracking recipe
The linux-yocto-dev recipe uses the upstream tracking linux-yocto-dev repository.
Since this tree is frequently updated, and periodically rebuilt, AUTOREV is used
to track its contents.
This recipe is just like other linux-yocto variants, with the only difference
being that to avoid network access during initial parsing, static SRCREVs are
provided and overridden if the preferred kernel provider is linux-yocto-dev.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Laurentiu Palcu [Thu, 31 Jan 2013 08:27:22 +0000 (10:27 +0200)]
qemu.bbclass: return qemuwrapper instead of qemu-allarch
When qemu bbclass is inherited from a recipe that is not architecture
dependent, qemu_run_binary will return "qemu-allarch". However this
binary does not exist. Instead, return "qemuwrapper" which will, in
turn, execute the right binary for the target the image was built for.