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.
Laurentiu Palcu [Thu, 31 Jan 2013 07:59:10 +0000 (09:59 +0200)]
add fontcache.bbclass
All font packages should inherit this class in order to generate the
proper postinst/postrm scriptlets.
The scriptlets will actually create a host intercept hook that will be
executed at the end, at do_rootfs time, after all packages have been
installed. This is good when there are many font packages.
Roy.Li [Sat, 2 Feb 2013 08:18:22 +0000 (16:18 +0800)]
tcp-wrappers: remove size_t.patch
1. it introduces bug in 64bit big endian process with __GLIBC__, At that
condition, size_t is 8byte, and the third parameter of getpeername is
socklen_t which is 4 byte. As a result, getpeername sees third parameter
is always 0, and can not return right value.
The similar program is below, the output is 0, not 9 on PPC64 cpu
main()
{
long aa=9;
printf("%d \n", *((int *)&aa));
}
2. The correct fix is to change getpeername/getsockopt/recvfrom.. last
parameter type from int to socklen_t, but to simplify, we can remove
size_t.patch, since the size of int is same as socklen_t in 32bit/64bit
cpu. and size_t.patch only change three places, there are other places
which uses int, and work well.
2. Fedora, redhat el4 do not use this patch, but Debian uses it, does not
find why this patch is written, maybe it is gcc legency issue which does
not exist.
Martin Jansa [Mon, 4 Feb 2013 22:06:52 +0000 (23:06 +0100)]
ipk: use OPKGLIBDIR in all places
* it's not recommended to change this value, because it breaks upgrade path on target
(all old u-a alternatives are forgot in old OPKGLIBDIR value
* but make it consistent, so if someone really want to change that, then
setting OPKGLIBDIR_distro in distro.conf would be enough
* without this there were at least 4 places to change:
rootfs_ipk: opkglibdir variable (notice that I've removed /opkg from it to correspond
with EXTRA_OECONF option used in opkg recipes
package_ipk: ${target_rootfs}${localstatedir}/lib/opkg/ hardcoded in
package_install_internal_ipk
opkg-collateral: value in lists file
opkg: EXTRA_OECONF for all 3 classes, FILES_libopkg, do_install
* validated with buildhistory that without OPKGLIBDIR explicitly set the
output is the same and that after setting
OPKGLIBDIR_forcevariable := "${libdir}"
everything including empty directory from package_ipk is moved to
libdir
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>