Chen Qi [Tue, 13 Aug 2013 06:11:50 +0000 (14:11 +0800)]
image.bbclass: create device table after package installation
Now that the makedevs supports using user/group names in the devcie
table files, and it uses passwd and group files under the rootfs which
is provided by the base-passwd package, we should let package installation
finish first, so that makedevs can get a correct mapping from user/group
names to uid/gid.
The check for existence of ${IMAGE_ROOTFS}/dev is removed. This is because
do_rootfs doesn't have 'nostamp' flag any more, so the do_rootfs task will
not be rerun for every build. Checking for the existence of ${IMAGE_ROOTFS}/dev
is not necessary any more. Besides, as base-files package also installs the
/dev directory, this checking does not serve as a good criteria.
Ross Burton [Wed, 14 Aug 2013 14:13:44 +0000 (15:13 +0100)]
wipe-sysroots: don't assume TMPDIR is under BUILDDIR
The previous code used the environment variable BUILDDIR and assumed that TMPDIR
was a subdirectory. This often isn't the case, so instead ask bitbake where the
directories we're about to delete are.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Ross Burton [Wed, 14 Aug 2013 11:40:12 +0000 (12:40 +0100)]
matchbox-wm: fix icon handling on 64-bit hosts
Xlib has a historical quirk where 32-bit values are returned in longs (but
always hidden through a cast). On 32-bit machines this doesn't matter but on
64-bit this leads to problems. Bump SRCREV to integrate a fix from upstream.
Also, drop the conditional configure_fix.patch, it was integrated long ago.
[ YOCTO #4917 ]
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Otavio Salvador [Tue, 13 Aug 2013 13:52:35 +0000 (10:52 -0300)]
linux-dtb: Use kernel build system to generate the dtb files
As the Linux kernel, unconditionally, builds the dtc application and
it is the compatible version with the DeviceTree files shipped within
the kernel it is better to use it and the kernel build system to
generate the dtb files.
Some DeviceTree files rely on CPP and kernel headers to be able to
generate the dtb binary contents and it is harder to replicate it
outside of Linux kernel build system so we /use/ it.
To comply with these assumptions we need to use the dtb file when
calling 'make' instead of pointing to the DeviceTree source file; the
code has been made backward compatible but it is advised to move to
the new definition to avoid warnings as:
,----[ Original definition ]
| KERNEL_DEVICETREE = "${S}/arch/arm/boot/dts/imx6q-sabresd.dts"
`----
Becomes:
,----[ New definition ]
| KERNEL_DEVICETREE = "imx6q-sabresd.dtb"
`----
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Saul Wold [Tue, 13 Aug 2013 18:01:50 +0000 (11:01 -0700)]
meta-skeleton: Add busybox config fragment example
This shows an example of the config fragment support that
both the linux-yocto and busybox recipes use. This example
is specific to busybox.
By adding busybox CONFIG options into a .cfg file and then
adding that .cfg file to SRC_URI the merge_config.sh script will
correctly handle these CONFIG options during the do_configure task.
The merge_config.sh script uses a last-in wins method.
For more details about this, see the Kernel Development Manual Section 2.2.3
http://www.yoctoproject.org/docs/current/kernel-dev/kernel-dev.html#changing-the-configuration
Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kai Kang [Tue, 13 Aug 2013 09:57:49 +0000 (17:57 +0800)]
dpkg: fix include header caused compile error
Build dpkg-native on Fedora 19, it fails with:
/usr/include/c++/4.8.1/cstdlib: In function ‘long long int std::abs(long long int)’:
/usr/include/c++/4.8.1/cstdlib:174:20: error: declaration of C function ‘long long int std::abs(long long int)’ conflicts with
abs(long long __x) { return __builtin_llabs (__x); }
^
/usr/include/c++/4.8.1/cstdlib:166:3: error: previous declaration ‘long int std::abs(long int)’ here
abs(long __i) { return __builtin_labs(__i); }
^
That because header cstdlib is included in a 'extern "C"' block that gcc
4.8 doesn't support. Fix it by move the header file out of the 'extern "C"'
block.
Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Ross Burton [Mon, 12 Aug 2013 10:41:49 +0000 (11:41 +0100)]
oe-setup-builddir: substitute ##OEROOT## when using templates
oe-setup-builddir substitutes ##COREBASE## which seems like it should have the
same value as the variable ${COREBASE}. In reality it doesn't as ##COREBASE##
is substituted with the value of $OEROOT (the location of the oe-init-build-env
script), whereas ${COREBASE} is set by oe-core to the parent directory of meta/.
If oe-core's meta/ isn't a top-level directory then ##COREBASE## and ${COREBASE}
have different values, which can lead to confusion.
To resolve this, deprecate (but still substitute) ##COREBASE## and substitute
##OEROOT# for $OEROOT.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Otavio Salvador [Sat, 10 Aug 2013 20:19:30 +0000 (17:19 -0300)]
blacklist.bbclass: Avoid blacklist specific handle in base.bbclass
base.bbclass had code which handled the PNBLACKLIST in case of
multilib use. This is better to be done in the blacklist.bbclass so it
has all logic in a single place.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Paul Barker [Mon, 5 Aug 2013 21:31:00 +0000 (22:31 +0100)]
opkg: Fix possible installation of GPLv3 header
opkg is GPLv2+ licensed but it has optional support for sha256 checksums which
was GPLv3+ licensed. This code is not built unless '--enable-sha256' is passed
to the configure script, the default is equivalent to '--disable-sha256'.
However, the header 'sha256.h', which is GPLv3+ licensed, is in the list of
header files to be installed and thus could end up in the libopkg-dev package.
As this header is installed to '/usr/include/libopkg' it is very unlikely that
it will ever be used. However, if you're uncomfortable with GPLv3 code going
anywhere near your target filesystem you won't want this to happen.
The simplest solution is to replace the sha256 implementation in opkg with the
implementation from coreutils-6.9 which is licensed under GPLv2+. This is
committed to the opkg subversion repository as r652/r653.
The only intervening commit between r650 (previous SRCREV) and this is r651,
which integrates 'obsolete_automake_macros.patch' into the opkg sources. Thus
this patch isn't needed in oe-core anymore.
(Note: Before 873689bbabba25e7be5c12317c04519a7bc8d0ef, this header is only
installed if opkg is built in its source tree (ie. ${B}=${S}). After that commit
the header will always be installed)
Signed-off-by: Paul Barker <paul@paulbarker.me.uk> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Darren Hart [Fri, 9 Aug 2013 17:58:42 +0000 (10:58 -0700)]
kernel.bbclass: Correct post(inst|rm) package association
Fixes [YOCTO #4991]
The kernel image is installed as part of the kernel-image package, but
the symlink creation/removal via alternatives is being done in
pkg_post(inst|rm)_kernel-base.
Move the postinst alternatives logic into the kernel-image functions.
Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Mark Hatle [Fri, 9 Aug 2013 23:41:05 +0000 (18:41 -0500)]
image.bbclass: Move runtime_mapping_rename to avoid conflict w/ multilib
[YOCTO #4993]
Move the runtime_mapping_rename into a prefunc for the do_rootfs function.
Otherwise doing it in the python section could occur BEFORE the multilib
classes renaming.
If the package 'b' is a kernel module, then lib32-b and b should both
point to the same package. The runtime_mapping code will do this
automatically.
Before if you ran: bitbake lib32-<image>
It may do:
start PACKAGE_INSTALL (a b c)
remap (a b c)
MULTILIB naming (lib32-a lib32-b lib32-c)
What we want is:
start PACKAGE_INSTALL (a b c)
MULTILIB naming (lib32-a lib32-b lib32-c)
remap (lib32-a b lib32-c)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Mark Hatle [Fri, 9 Aug 2013 22:51:30 +0000 (17:51 -0500)]
rpm: Enable compatibility with older RPM packages that have invalid platforms
Some LSB packages appear to have the platform set to '%{_target_platform}'
which is not a valid platform field. This causes a failure of the type:
warning: package lsb-test-core-4.1.15-1.x86_64 is intended for a %{_target_platform} platform
When we detect an invalid platform, fall back and try to construct a new
platform name that may be valid based on the arch and os contents of the
package. (This should only ever be needed by invalid or older RPM packages.)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Mike Looijmans [Fri, 9 Aug 2013 10:53:39 +0000 (12:53 +0200)]
linux-dtb.inc: Replace /boot/ with /${KERNEL_IMAGEDEST}/
Devicetree files were installed hard-coded in /boot. When KERNEL_IMAGEDEST
is anything else but "boot", the postinstall script and the file locations
no longer match and the postinstall will fail.
Replace "boot" with "${KERNEL_IMAGEDEST}" to fix this problem, and to allow
the devicetree files to be installed in another location.
Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Chen Qi [Fri, 9 Aug 2013 07:12:32 +0000 (15:12 +0800)]
grub_0.97: Fix to correctly ship files under /usr/lib
The grub_fix_for_automake-1.12.patch replaced pkglib with pkgdata to
make grub_0.97 build with automake-1.12. However, it forgot to set up
the pkgdatadir, thus causing grub_0.97 not shipping files under /usr/lib.
This in turn resulted in an unworkable grub.
This patch fixes this problem by setting up the pkgdatadir correctly.
Stefan Stanacar [Fri, 9 Aug 2013 13:26:40 +0000 (16:26 +0300)]
lib/oeqa/runtime: rework syslog test
Add separate tests for restarting syslog and using logger, and
skip the configuration test for systemd images which always fail
because syslog's systemd service doesn't read a config by default
(see YB#4860).
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Stefan Stanacar [Tue, 13 Aug 2013 14:47:12 +0000 (17:47 +0300)]
oeqa/utils/qemurunner: get ip old fashioned way and use tcp serial console
The way we read data from the serial console was unreliable and blocking (AutoBuilder
seems to hit that often), so change the serial console type from unix socket to tcp
and reverse the connection - don't let qemu act as server (wait for a connection).
So now the serial console is used to save the boot log and make sure that we reached
the login prompt. Until a better way is found this should solve some of the AutoBuilder
failures (one being YB#4904).
Also we need to use the same method as the old qemuimagetest to get the ip
(from the qemu process arguments), because that it's more reliable.
The first version used here was to log into the target and use the output of
"ip addr show eth0" but then systemd decides that it should rename interfaces,
so that was changed to get the ip of the interface that has the default gw,
but if there is no default gw we'll get the loopback ip and we end up trying to
ssh into the host machine (some recent AutoBuilder runs showed that).
Changed in V2:
- use -ww for ps, as output might get truncated
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Ross Burton [Fri, 9 Aug 2013 15:32:24 +0000 (16:32 +0100)]
mesa: fix and enable out-of-tree builds
One patch (submitted upstream) for when Gallium is enabled, and another
(inappropriate for upstream) to fix out-of-tree builds with
0003-EGL-Mutate-NativeDisplayType-depending-on-config.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Paul Eggleton [Mon, 5 Aug 2013 17:08:23 +0000 (18:08 +0100)]
gst-ffmpeg: merge in bbappend from meta-oe
* Enable external libav for better optimisations/additional bugfixes
(internal ffmpeg copy is quite old), default enabled but can be
disabled using PACKAGECONFIG
* Add a PACKAGECONFIG for orc, disabled by default in line with other
gstreamer recipes
* Bump PR to r7 so the bbappend can be dropped without PR going
backwards
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Paul Eggleton [Mon, 5 Aug 2013 16:47:39 +0000 (17:47 +0100)]
libav: add from meta-oe, update and tweak
Changes from the meta-oe recipe:
* Update stable recipe to 0.8.8
* Update git recipe to the tag for 9.8 (for now)
* Switch over to a tarball for the release version recipe
* Add LICENSE_FLAGS = "commercial"
* Set SUMMARY instead of DESCRIPTION
* Add yasm-native to DEPENDS since there is now a recipe for it
* Remove libvpx from DEPENDS and add a PACKAGECONFIG option for it,
disabled by default since it wasn't actually being enabled
* Add a PACKAGECONFIG option for x11 to enable/disable x11grab, and
add the proper DEPENDS if so (still defaults to enabled)
* Add a number of other PACKAGECONFIG options, replacing some old
comments as well as offering the ability to disable x264.
* Hide text relocation warning when building for i586 (PIC can't be
enabled for 32-bit x86).
* Drop PR
Notes for the git recipe:
* This hasn't been able to be built recently in meta-oe since there was
a circular dependency between libav and libpostproc. libpostproc is
part of libav 0.8.x but was split out in 9+ and is not needed at all
anymore by libav itself, so this dependency was removed.
* Additionally the recipe was filtering out the option to enable
libpostproc but this option wasn't being added by the inc file and
thus the filter wasn't doing anything, so I dropped this as well.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Paul Eggleton [Mon, 5 Aug 2013 16:42:58 +0000 (17:42 +0100)]
x264: add from meta-oe, update and tweak
This is required by the default configuration of libav being brought over
from meta-oe. Changes from the meta-oe recipe:
* Update to the latest revision from the stable branch (upstream does
not seem to provide stable releases.)
* Add LICENSE_FLAGS = "commercial"
* Enable PIC to fix text relocation warnings and disable warning for
i586 (since PIC can't be used there)
* Make SUMMARY value slightly shorter
* Indent SRC_URI consistently with other recipes in OE-Core
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Victor Kamensky [Thu, 8 Aug 2013 16:14:29 +0000 (09:14 -0700)]
systemtap: fix build failure on host system with dyninst installed
On host system where dyninst installed (i.e Fedora 18 with SystemTap)
builds fails with the error from do_qa_configure "This autoconf log
indicates errors, it looked at host include and/or library paths
while determining system capabilities." Problematic config.log
indicates inclusion of /usr/include/dyninst/dyntypes.h
Fix for now - disable dyninst in oe builds
Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Chen Qi [Wed, 7 Aug 2013 08:43:40 +0000 (16:43 +0800)]
busybox: remove syslog-startup.conf if sysvinit not in DISTRO_FEATURES
sysvinit and systemd have different ideas about configuration files (or
environment files in systemd), so basically we can't use the same one in
both cases.
To avoid confusion, this patch removes syslog-startup.conf if 'sysvinit'
is not in DISTRO_FEATURES.
Bian Naimeng [Wed, 7 Aug 2013 03:33:19 +0000 (11:33 +0800)]
bash: reference acl*.m4 from ${S}
bash: reference acl*.m4 from ${S}.
The build directory had been moved to ${WORKDIR}/build,
so we should reference acl*.m4 from ${S}.
Otherwise, the following configure error will be caught.
| cat: aclocal.m4: No such file or directory
| ERROR: Function failed: do_configure (log file is located at ...)
Martin Jansa [Tue, 6 Aug 2013 22:09:49 +0000 (00:09 +0200)]
buildhistory: use bb.utils.mkdirhier instead of os.makedirs
* Multiple do_fetch[prefunc] can happen at the same time and
if not os.path.exists(pkghistdir):
os.makedirs(pkghistdir)
isn't safe
* Use bb.utils.mkdirhier which doesn't raise error when directory exists
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Saul Wold [Tue, 6 Aug 2013 20:55:28 +0000 (13:55 -0700)]
subversion: Add patch to use neon 0.30
The neon update is not recognized but subversion, so we need to patch the configure.ac
to know about 0.30, otherwise we don't have http/https support in subversion.
Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hongxu Jia [Mon, 5 Aug 2013 11:42:09 +0000 (19:42 +0800)]
list-packageconfig-flags.py: add a script to list all PACKAGECONFIG flags
- This script will list available pkgs which have PACKAGECONFIG flags.
- If option '-f' is used, it will list available PACKAGECONFIG flags
and all affected pkgs.
- If option '-a' is used, it will list all pkgs and PACKAGECONFIG
information
- If option '-p' is used, it means list the pkgs with preferred version
EXAMPLE:
list-packageconfig-flags.py
PACKAGE NAME PACKAGECONFIG FLAGS
==============================================================
alsa-tools-1.0.26.1 defaultval gtk+
avahi-ui-0.6.31 defaultval python
bluez4-4.101 alsa defaultval pie
Fathi Boudra [Fri, 2 Aug 2013 09:08:20 +0000 (12:08 +0300)]
libc-package.bbclass: Add armeb architecture to locale_arch_options
Fix gconv build failure on ARM big-endian architecture:
ERROR: locale_arch_options not found for target_arch=armeb
ERROR: Function failed: unknown arch:armeb for locale_arch_options
Ross Burton [Fri, 2 Aug 2013 12:15:07 +0000 (13:15 +0100)]
buildhistory: add a note when committing to buildhistory
If there's been a lot of changes the commit to buildhistory can take a
significant amount of time, so print a note so there's some indication of
progress.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Chen Qi [Fri, 2 Aug 2013 03:37:08 +0000 (11:37 +0800)]
buildtools-tarball: do not export OECORE_NATIVE_SYSROOT
When building a qemu image inside the environment created by the
buildtools-tarball, the qemu image cannot be started, as the runqemu
script uses the tunctl binary which cannot be found inside the sysroot
directory of the buildtools-tarball.
The buildtools-tarball is inherently a tool set instead of a fully
functional SDK, so leaving the OECORE_NATIVE_SYSROOT variable in the
environment will mess things up.
However, we do need a line of 'OECORE_NATIVE_SYSROOT=xxx' in the environment
setup script so that the SDK can be extracted and relocated correctly.
Thus, instead of exporting OECORE_NATIVE_SYSROOT, we use a comment here.