Jonathan Liu [Fri, 27 Sep 2013 01:30:10 +0000 (01:30 +0000)]
boot-directdisk: ensure generated MBR disk signature is non-zero
A zero MBR disk signature is generally seen as no signature and
another partitioning program might install a new signature.
Signed-off-by: Jonathan Liu <net147@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jason Wessel [Fri, 27 Sep 2013 01:01:20 +0000 (01:01 +0000)]
mkefidisk.sh: Allow using a loopback mounted file
It should be possible to generate a disk to a file using a loopback
device with mkefidisk.sh, which is useful for booting simulators. To
make this possible the partitions for the loop back need to work
similarly to the mmc devices. The mkfs.vfat also requires and
additional argument to force it to write to something other then a
real disk.
Note:
Also a bug was fixed in the mkefidisk.sh where if the disk you are
writing to initially has an invalid label the size of the first
partition will be computed incorrectly. For the simulator disk
creation this is generally always the case, but this can happen with
real hardware as well.
Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jason Wessel [Fri, 27 Sep 2013 21:32:00 +0000 (21:32 +0000)]
kernel.bbclass: Allow INITRAMFS_TASK to trigger copy initramfs code
Activating the INITRAMFS_TASK can cause circular dependencies, but
that is up to the end user to resolve in recipes. The INITRAMFS_TASK
should also trigger immediate linking of the cpio task in the first
compile pass. This was a subtle regression introduced by: 609d5a9ab
(kernel.bbclass, image.bbclass: Implement kernel INITRAMFS dependency
and bundling).
This patch restores the previous behavior and only affects the
INITRAMFS_TASK which is not set by any of the default build profiles
in oe-core.
Reviewed-by: Andrea Adami <andrea.adami@gmail.com> Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Muhammad Shakeel [Fri, 27 Sep 2013 18:14:15 +0000 (18:14 +0000)]
opkg: Use systemd service for first boot configuration
Currently opkg uses a script to configure packages during first time boot.
This script is present in rcS.d and when 'sysvinit' is disabled this
script doesn't execute. For systemd only distros this newly added service
will run the opkg configure during first boot only.
Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 27 Sep 2013 15:46:06 +0000 (15:46 +0000)]
psplash: copy image files from workdir instead of next to recipe
During parsing this recipe builds up a list of splash image files,
however it was recording full paths to local files (i.e. the files next
to the recipe) and then in do_compile it was pointing to those instead
of the fetched files in WORKDIR. Fix it to use the fetched files which
has the added benefit of the do_compile signature not changing if the
recipe is moved around.
Fixes [YOCTO #5250].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 27 Sep 2013 09:58:17 +0000 (09:58 +0000)]
native: Use a native site file and ensure the correct sed is used
native recipes were not using the site files. There are some things we need
to correct such as not using the path to sed-native. This allows us
to deploy settings globally for all recipes rather than hacking around
then in individual recipes as libtool-native used to for sed.
systemd-compat-units: do not create runlevel command
It seems strange that runlevel always returns 1, The comment says it is
related to sysvinit, but if we enable systemd, sysvinit will not be
installed. and we have created a link for runlevel to systemctl if
systemd is installed.
Roy Li [Wed, 25 Sep 2013 05:58:36 +0000 (05:58 +0000)]
makedevs: rectify the exit codes and handle the invalid parameter
It is correct behaviours to output help and version information,
and should return 0;
When input parameter is invalid, print help information and exit.
Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Roy Li [Thu, 26 Sep 2013 01:56:08 +0000 (09:56 +0800)]
dropbear: pass SFTPSERVER_PATH explicitly
The default value of SFTPSERVER_PATH is "/usr/libexec/sftp-server" defined in
dropbear-2013.58/option.h, but after commit 406bd38b423[bitbake.conf: change
libexecdir to ${libdir}/${BPN}], sftp-server is provided by openssh package,
and is installed into ${libdir}/openssh, so we pass it explicitly.
Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Thu, 26 Sep 2013 16:43:05 +0000 (17:43 +0100)]
eglinfo: drop machine-specific configuration from oe-core
eglinfo.inc has some board-specific EGLINFO_DEVICE settings but is missing the
dependencies. Maintaining them for all supported devices in oe-core isn't
scalable and this is trivially supported though a bbappend in each BSP layer.
This was also causing problems compiling eglinfo on meta-yocto-bsp's beagleboard
machine as the EGLINFO_DEVICE setting for beagleboard was telling it to use the
closed GPU drivers, which are not supported in meta-yocto-bsp.
[ YOCTO #5224 ]
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Thu, 26 Sep 2013 16:06:36 +0000 (17:06 +0100)]
matchbox-panel: silence some pointless warnings
The battery applet emits a warning if the hardware doesn't have a battery (it
shouldn't) and the parser emits a warning if two separators are used in a row
(which happens if the hardware has a keyboard). Silence these with a patch from
upstream.
[ YOCTO #4061 ]
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jason Wessel [Tue, 17 Sep 2013 13:32:17 +0000 (13:32 +0000)]
boot-directdisk.bbclass: Fix media generation problems with vmdk
The various populate methods need to accept a path as an argument vs
using hard expanded variables. In the case of the boot-directdisk
class it uses a different path for HDDDIR but it gets eclipsed by the
the class definition at the point in time ${HDDDIR} gets expanded.
The logical fix is to pass the arguments to the functions as opposed
to using globally expanded variables from the class definitions.
This patch changes 3 things:
1) syslinux_hddimg_populate takes an argument for the destination
2) syslinux_iso_populate takes an argument for the destination
3) populate is changed to boot_direct_populate because there
was a conflict with it overriding the populate in bootimg.bbclass
[YOCTO #3994]
Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jason Wessel [Tue, 17 Sep 2013 13:32:13 +0000 (13:32 +0000)]
syslinux.bbclass, syslinux: Update to syslinux 6.01
A newer version of syslinux is required for an EFI enabled isohybrid.
This is used for the the capability to generate 3 types of ISO images,
all of which can be booted off a USB device or HDD if copied with dd.
1) PC BIOS only ISO
2) EFI only ISO
3) EFI + PC BIOS ISO
The syslinux.bbclass required a minor tweak because a few .c32
libraries require dynamic loading from the created media as of
syslinux 5 and up. This was a good time to also fix the
duplication of the AUTO_SYSLINUXMENU block.
[YOCTO #4100]
Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jason Wessel [Tue, 17 Sep 2013 13:32:16 +0000 (13:32 +0000)]
syslinux.bbclass: Fix hard coding of console=tty*
The SYSLINUX_SERIAL variable was hard coded and occasionally needs to
be different for the kernel argument vs the syslinux argument.
In the auto-generated boot mode console=tty0 was hard coded, and this
is not needed at all, and causes problems in some cases if a end user
wanted to change the console=... via the kernel boot argument APPEND
mechanism. The default can be forced with SYSLINUX_DEFAULT_CONSOLE
for systems that need a special specification to enable the frame
buffer instead of a serial port.
[YOCTO #3944]
Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jason Wessel [Tue, 17 Sep 2013 13:32:15 +0000 (13:32 +0000)]
grub-efi.bbclass: Add serial and graphics menu options
The syslinux.bbclass already has support for automatically generated
serial and graphics menu choices. This patch adds the same concept to
the grub-efi menu. That makes it possible to generate a single image
which can boot on a PCBIOS or EFI firmware with consistent looking
boot options.
[YOCTO #4100]
Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jason Wessel [Tue, 17 Sep 2013 13:32:14 +0000 (13:32 +0000)]
bootimage.bbclass, grub-efi.bbclass: Improve EFI & PCBIOS+EFI ISO support
Using the latest mkisofs it is possible to generate 3 different types
of ISO images, which can be used in various scenarios.
1) PCBIOS Only ISO
- This option remains unchanged by this commit
- Uses syslinux menus
- Can be directly copied with dd to a USB device
- Can be burned to optical media
2) EFI Only ISO
- Uses grub 2 menus
- Can be burned to optical media
- If you want to use this image on a USB device
extra steps must be taken in order to format the USB
device with fat32, and copy an EFI loader which will
in turn load the iso image
3) PCBIOS / EFI ISO
- This is a hybrid image ISO that will work for case 1 or 2
as above with the same restrictions and boot menu types
depending on what type of firmware is installed on
the hardware or depending on if EFI or "Legacy Boot" is
enabled on some UEFI firmwares.
The syslinux.bbclass is now always required because that is where the
isohybrid dependencies come from as well as the configuration data for
the isohybrid. The isohybrid is the secret sauce which allows the ISO
to work as optical media or as a disk image on USB or a HDD/SSD.
[YOCTO #4100]
Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jason Wessel [Tue, 17 Sep 2013 13:32:12 +0000 (13:32 +0000)]
grub-efi-native: Add support for EFI ISO images
The iso9660 file system support needs to be added to grub in order to
be able to correctly find the grub.cfg. The grub commands to locate
the grub.cfg also needs to be encoded into grub's default
configuration.
This change allows the resulting grub binary to work both in the hard
drive / USB boot case or the optical media boot case.
[YOCTO #4100]
Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Reviewed-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 26 Sep 2013 16:20:18 +0000 (16:20 +0000)]
testimage: Exclude BB_ORIGENV variable
The BB_ORIGENV variable isn't picklable and causes failures when generating the task
signature for the autorun image mode. We don't want to depend on its contents anyway
so lets exclude it.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Thu, 26 Sep 2013 16:00:33 +0000 (17:00 +0100)]
classes/package_rpm: fix bitbake package-index for RPM
The function that "bitbake package-index" relies upon when using the RPM
package backend (package_update_index_rpm()) uses MULTILIB_PREFIX_LIST
to get the list of package architectures to be indexed, but that
variable is only set when populate_sdk_rpm or rootfs_rpm are inherited,
which is not the case for the package-index recipe. Until we're able to
refactor this properly, for minimal impact just use the value of
ALL_MULTILIB_PACKAGE_ARCHS if MULTILIB_PREFIX_LIST does not give us any
architectures (the equivalent function in the ipk backend uses the
former variable).
Having "bitbake package-index" working is important because it's the
only practical way of indexing RPM packages for use as a feed; host
versions of createrepo won't work properly because they won't support
indexing recommends relationships.
Stopgap fix for [YOCTO #5278].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Thu, 26 Sep 2013 10:41:36 +0000 (11:41 +0100)]
pseudo: warn twice if the 32-bit toolchain appears broken
Putting a warning at the top of do_compile is useful but not everyone reads the
file from beginning to end, so use a trap to put the message at the bottom too.
[ YOCTO #4919 ]
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 25 Sep 2013 12:36:00 +0000 (12:36 +0000)]
gcc/libtool/perl: Fix various path to sed-native problems
If sed-native is built before these programs, hardcoded paths to sed-native
can end up in scripts and other parts of the system which may cause issues
if they are later used from sstate and sed-native is not installed.
To avoid this, this patch changes the global site configuration to
specify that plain "sed" is fine to be used. We need to spell this
out for gcc since it doesn't see the site files since we don't autoreconf
it. We can remove the values from libtool. We tell perl to use "/bin/sed"
since it requires a path and the system sed should be just fine for it.
[YOCTO #4971]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 25 Sep 2013 20:59:11 +0000 (21:59 +0100)]
runqemu: Use correct kvm CPU options for qemux86* with kvm
The existing -cpu host option caused kernel panics when people attempted to use
the kvm option. After research and discussion, the best options appear to
be the kvm32/kvm64 cpu types so lets use these instead. These resolve
the kernel issues for me.
[YOCTO #3908]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Eric Bénard [Wed, 25 Sep 2013 16:52:13 +0000 (18:52 +0200)]
busybox: update mdev.conf
busybox 1.21.1 's mdev has changed the way the device's name is
reported so now we get input/event0 instead of event0.
I think this commit is responsible of this new behaviour :
http://git.busybox.net/busybox/commit/util-linux/mdev.c?id=c3cf1e30a3022453311a7e9fe11d94c7a381640e
Update mdev.conf according to this behaviour so that sound
and input devices are correctly populated (and now
/etc/mdev/find-touchscreen.sh is executed).
Tested on an arm board.
Signed-off-by: Eric Bénard <eric@eukrea.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Wed, 25 Sep 2013 19:30:12 +0000 (15:30 -0400)]
linux-yocto/3.10: common-pc* config updates
Bumping the 3.10 meta branch SRCREV to import the following config changes
for tghe sugarbay and common-pc wifi fragments.
dad2b7e common-pc-64: add kernel CONFIG options for sugarbay platform 37c617d common-pc-wifi.cfg: add support for broadcom wifi drivers
[YOCTO #5117]
[YOCTO #5238]
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
adt-installer: add warning if MACHINE is not set in adt-installer.conf
Since the MACHINE can now be specified in adt-installer.conf, in order to
install the proper toolchain and environment script for the given
machine, add a sanity checking at the beginning to make sure MACHINE is
set for the wanted architecture.
Also:
* uncomment the x86 target variables, in adt-installer.conf, in order
to have qemux86 MACHINE set, by default, and also the sysroot
installed (since it doesn't make much sense to install the toolchain
without a target sysroot);
* remove 'sudo' when creating relocate_sdk_tmp.py because the file is
created in adt-installer directory;
adt-installer: check if sudo is needed when installing target sysroot
Currently, if SDK is installed in a directory that needs sudo
preivileges, the target sysroot is also installed with sudo, even though
the location is in users's home directory.
This patch reuses the ownership checking code and uses it to check if
sudo is needed for target sysroot too.
Richard Purdie [Wed, 25 Sep 2013 12:36:46 +0000 (12:36 +0000)]
package.bbclass: Clear umask when using os.mkdir
We switched to using os.mkdir with the file creation mode specified as the
second parameter. Python masks this with umask behind the scenes which isn't
what we want, we really want the permissions we specify.
To avoid this we zero the umask beforehand and restore afterwards. Other
solutions are possible but would not perform as well which is why
we're using os.mkdir in the first place.
Martin Jansa deserves the credit for debugging where the problem was.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Stefan Stanacar [Wed, 25 Sep 2013 12:30:49 +0000 (12:30 +0000)]
lib/oeqa/runtime: ping: wait for 5 echo replies
Instead of considering that ping test passed after 1 reply,
wait for at least 5 consecutive replies in 60 seconds (which should
be enough time for connman to reconfigure the interface in systemd
images and help with the fake ssh/tests fails.)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add useradd, groupadd et.c. since all target packages
which inherits useradd will have a postinstall hook
dependecy against the yocto specific groupadd.
Signed-off-by: David Nyström <david.nystrom@enea.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
David Nyström [Wed, 25 Sep 2013 11:52:22 +0000 (11:52 +0000)]
shadow: Add nativesdk to BBCLASSEXTEND
This is a second in a series of patches to enable
offline rootfs creation from a package repository.
Some postinstall cmds are Yocto specific and needed to create a
rootfs with pre and post install hooks successfully run,
using only the toolchain tarball + a package repo.
End goal is to create a sandbox where users of a Yocto
based distribution can customize a rootfs from a package feed
with their package manager of choice.
With this patch, I can successfully create packagegroup-core-boot
with only the toolchain tarball(OPKG). More fixes for a few postinstall
hooks outside of packagegroup-core-boot will come next.
Signed-off-by: David Nyström <david.nystrom@enea.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Strings in Python 3, by default, are assumed to contain unicode
characters. In previous versions of python (<3), unicode strings are
explicitly declared with u"abc". If not, than they're automatically
converted to bytes. This doesn't happen anymore in Python 3.
Since we're dealing with binary files, opened in byte mode, make sure
that we explicitly convert all strings to bytes to make both python 2
and 3 happy.
Other changes:
* add a safety check to make sure relocation did not change the file
size;
* a couple of cosmetic changes (wrap long lines so that we don't have
to scroll to reach the end of them);
distutils: Replacing path to native path only to be done to non-native python packages
distutils: Replacing path to native path only to be done to non-native python packages
distutils: Replacing path to native python by path to python in the
image to support python packages with console-script setup resulted in
a "bad interpreter" error message because coreutils-native is not
a specified dependency of a number of native python packages.
We modify the change to apply specifically to non-native packages.
Roy Li [Tue, 24 Sep 2013 13:20:08 +0000 (13:20 +0000)]
bind: port a patch to fix a build failure
Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The po.m4 file is deleted by the more recent autotools.bbclass
autotools_do_configure code which handles gettext. There is therefore
no point in patching the file anymore.
Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The po.m4 file is deleted by the more recent autotools.bbclass
autotools_do_configure code which handles gettext. There is therefore
no point in patching the file anymore.
Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Roy Li [Tue, 24 Sep 2013 01:16:23 +0000 (09:16 +0800)]
ptest-runner: compatibile with busybox
Do not use pushd, busybox does not support it if system only has busybox;
Replace find command with ls to avoid some busybox's find unsupported options;
Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Muhammad Shakeel [Tue, 24 Sep 2013 08:42:00 +0000 (13:42 +0500)]
systemd: fix ptest support
Currently do_install_ptest_base is failing because it cannot find
'test' directory in build dir, ${B}. 'test' directory is present in source
dir, ${S}. Same is true for build-aux/test-driver and test/sys.tar.xz.
Also this fixes:
QA Issue: systemd: Files/directories were installed but not shipped
/usr/lib/udev
/usr/lib/udev/rules.d
Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Tue, 24 Sep 2013 11:10:14 +0000 (12:10 +0100)]
grub: don't patch generated configure to fix do_patch re-execution
If do_patch re-executes, patching the configure script will fail because
it will have been regenerated during do_configure. We're patching
configure.ac so we don't need to patch configure anyway.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It causes shadow to be used in core-image-minimal and increase the
size by 1.5M. We will add the shutdown user to group via base-passwd
which we depend upon instead.
[YOCTO #5230]
Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Darren Hart [Mon, 23 Sep 2013 20:54:10 +0000 (20:54 +0000)]
init-install-efi.sh: Remove unnecessary udev rules file to avoid errors
Fixes [YOCTO #5233]
Modeled after Chen Qi's fix to [YOCTO #3924] from oe-core commit: 6b6db7b4fb7aa17b8e29076decc830149b9d35bc
init-install.sh: remove unnecessary udev rules file to avoid error messages
/etc/udev/scripts/mount.sh is removed by init-install-efi.sh, but the
udev rules file which specifies the invocation of this script is not
removed, thus causing the error message during a live install:
/etc/udev/scripts/mount.sh: No such file or directory
The /etc/udev/rules/automount.rules no longer works once the mount.sh
script is removed. Remove it to avoid the error message.
Signed-off-by: Darren Hart <dvhart@linux.intel.com> Cc: mihaix.lindner@linux.intel.com Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
package_deb, apt.conf: fix apt failure in do_rootfs()
The changes in this commit, dc5f6c3898555b59f16bf809ae4c5418656e6ac9,
moved apt config directory from native SYSROOT to WORKDIR.
Unfortunately, Dir::Etc in apt.conf was not changed accordingly and
sources.list file could not be found during do_rootfs().
David Nyström [Mon, 23 Sep 2013 16:33:59 +0000 (16:33 +0000)]
makedevs: add nativesdk to BBCLASSEXTEND
This is a first in a series of patches to add items
to the nativesdk toolchain tarball.
Many of which are Yocto specific and needed to create a
rootfs with pre and post install hooks successfully run,
using only the toolchain tarball.
End goal is to create a sandbox where _users_ can customize a rootfs from a
package feed with their package manager of choice.
Signed-off-by: David Nyström <david.nystrom@enea.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
boost: set up PACKAGECONFIG for boost-python library
Until now, the comment in the boost.inc file suggested to enable
the boost-python library by uncommenting some lines in that file.
Using the new PACKAGECONFIG feature, boost-python can now be added
optionally without need to modify the file or copying those lines
into a bbappend file.
Furthermore, we obtain the python version by inheriting python-dir
instead of fixing the python version in this file.
This commit is motivated by the need in the meta-ros layer, as
discussed in the issue #145 of the meta-ros issue tracker [1].
Bruce Ashfield [Mon, 23 Sep 2013 03:55:44 +0000 (03:55 +0000)]
kern-tools: fix multi patch application without headers
Updating the kern-tools SRCREV to import the following change:
kgit-s2q: always update ORIG_HEAD after applying changes
In situations where git am fails to apply patches, and git apply is used,
we must update ORIG_HEAD as well as HEAD. This is required, since if the
next patch in the queue also fails git am application, it will reset to
ORIG_HEAD before using git apply. If we haven't updated ORIG_HEAD, we'll
end up warping back to the top of the branch each time.
This problem can only be seen in very specific situations, in particular if
a generated BSP branches from qemuppc, and has a series of non git "am able"
patches. We fail, since all of the qemuppc patches are not applied due to
the branch head constantly being reset.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[snip]
Traceback (most recent call last):
File "/path/to/tools/glib-gtypes-generator.py", line 304, in <module>
GTypesGenerator(dom, argv[1], argv[2])()
File "/path/to/tools/glib-gtypes-generator.py", line 295, in __call__
file_set_contents(self.output + '.h', ''.join(self.header))
File "/path/to/tools/libtpcodegen.py", line 42, in file_set_contents
os.rename(filename + '.tmp', filename)
OSError: [Errno 2] No such file or directory
[snip]
This is a race issue, the _gen/gtypes.h and _gen/gtypes-body.h may
write(remove/rename) _gen/gtypes.tmp at the same time, then there would
be the error.
There was a similar bug in telepathy-glib which was already fixed, we use the
similar patch to fix it here.
[YOCTO #5184]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Roy Li [Sun, 22 Sep 2013 08:25:55 +0000 (08:25 +0000)]
sstate.bbclass: ignore the tar failure.
sstate_package creates hardlink from sysroot to SSTATE_BUILDDIR, and
sstate_create_package stores SSTATE_BUILDDIR into a archive file by
tar, these two task can be run simultaneously for different packages,
and make a hardlink for a file will lead to the change of the links
number of file, and if tar is reading this file, it will fail with exit
code 1, and report "file changed as we read it":
DEBUG: Executing shell function sstate_create_package
tar: x86_64-linux/usr/share/aclocal/xorg-macros.m4: file changed as we read it
4b3e353a5[sstate.bbclass: fix parallel building issue] tries to use the
tar parameter --ignore-failed-read to fix, but it does not work, and
tar parameter --warning=no-file-changed can close the warning, but can
not change the exit code. so close shell immediate exit, only fail
if tar returns not 1 and 0.
Exit codes of tar:
http://www.gnu.org/software/tar/manual/html_section/Synopsis.html
Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 20 Sep 2013 14:43:45 +0000 (14:43 +0000)]
glib-2.0: fix broken python script header on machines using buildtools
With buildtools (which contains Python) installed on a build machine,
glib-2.0's gtester-report script was ending up with the full path to
the installed python binary in the shebang, which when rpm packaging
was used led to this being added as a per-file dependency by rpmdeps for
the libglib-2.0-utils package in which it ends up. This of course broke
do_rootfs when the package was included in the rootfs and had been
restored from sstate from another machine, as happened on the Yocto
Project autobuilder.
We were already trying to sed this script apparently only for the
shebang (since it appears that there are no other paths in the script)
so let's just sed the shebang properly; it also seems sensible to do
this for native as well instead of explicitly trying to exclude that
case.
Fixes [YOCTO #5205].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 20 Sep 2013 14:49:22 +0000 (14:49 +0000)]
avahi: bump INC_PR to avoid do_configure failure in existing workdir
When we split S and B for avahi in OE-Core commit 6112a07f4e9865f7ae0e5a953669c1adf789f9f0, files left over in the workdir
from a previous build seem to break re-execution of do_configure. Bump
PR to give a fresh workdir and avoid this problem.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The --enable-dependency-tracking option was added to workaround build
issues in libatomic. This fixes that build problem properly and removes
the flag since the dependency tracking code appears to be full of races
which are much deeper and harder to fix.
As per the automake manual, dependency tracking is only useful and worth
the build performance cost if you are doing more than one compile of the same
source code which in most cases we are not so this is a good thing anyway.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sat, 21 Sep 2013 09:59:58 +0000 (10:59 +0100)]
gzipnative: Ensure dependencies apply to do_unpack and do_populate_lic
| DEBUG: Executing python function sstate_task_postfunc| DEBUG: Staging files from /srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-x32/build/build/tmp/work/qemux86_64-poky-linux-gnux32/core-image-minimal/1.0-r0/license-destdir to /srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-x32/build/build/tmp/deploy/licenses| NOTE: Using umask 002 (not 22) for sstate packaging| DEBUG: Preparing tree /srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-x32/build/build/tmp/work/qemux86_64-poky-linux-gnux32/core-image-minimal/1.0-r0/license-destdir for packaging at /srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-x32/build/build/tmp/work/qemux86_64-poky-linux-gnux32/core-image-minimal/1.0-r0/sstate-build-populate-lic/license-destdir| NOTE: Removing hardcoded paths from sstate package: 'find /srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-x32/build/build/tmp/work/qemux86_64-poky-linux-gnux32/core-image-minimal/1.0-r0/sstate-build
-populate-lic/ \( -name "*.la" -o -name "*-config" -o -name "*_config" \) -type f | xargs grep -l -e '/srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-x32/build/build/tmp/sysroots/qemux86-64' | tee /srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-x32/build/build/tmp/work/qemux86_64-poky-linux-gnux32/core-image-minimal/1.0-r0/sstate-build-populate-lic/fixmepath | xargs --no-run-if-empty sed -i -e 's:/srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-x32/build/build/tmp/sysroots/qemux86-64:FIXMESTAGINGDIRHOST:g''
| DEBUG: Executing shell function sstate_create_package
| gzip: /lib64/libz.so.1: version `ZLIB_1.2.5.1' not found (required by gzip)
| tar: Child returned status 1
| tar: Error is not recoverable: exiting now
| WARNING: /srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-x32/build/build/tmp/work/qemux86_64-poky-linux-gnux32/core-image-minimal/1.0-r0/temp/run.sstate_create_package.20384:1 exit 2 from
| tar --ignore-failed-read -czf $TFILE license-destdir
| DEBUG: Python function sstate_task_postfunc finished
| ERROR: Function failed: sstate_create_package (log file is located at /srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-x32/build/build/tmp/work/qemux86_64-poky-linux-gnux32/core-image-minimal/1.0-r0/temp/log.do_populate_lic.20384)
NOTE: recipe core-image-minimal-1.0-r0: task do_populate_lic: Failed
Imagine:
pigz-native is used from sstate.
zlib-native is getting rebuilt.
pigz-native has some special handling to ensure its not used until the
system is ready. This is through a class and installing into a subdir of
PATH which only gets added in when we believe its available. We use
pigz-native in the image generation code and its in DEPENDS.
DEPENDS are guaranteed available for do_configure. do_populate_lic can
run before do_configure so the DEPENDS isn't met and I think this is our
corner case.I suspect ways of fixing this are to either:
a) force do_populate_lic after do_configure everywhere
b) statically link pigz-native
c) add in an explicit dependency to gzipnative.bbclass forcing
do_populate_lic after do_configure. If do_unpack handled a tar file in
an image, it would also be at risk of course.
Looking at each, a) is overkill and our dependency tree is nasty enough
already. b) sounds nice but is also risky since what happens if the gzip
binary is half copied when we run it. Our hardlink copying should deal
with that but I'm still nervous. This leaves us with c) so we could do:
Richard Purdie [Fri, 20 Sep 2013 16:12:50 +0000 (16:12 +0000)]
btrfs-tools: Fix parallel make issue
btrfs-tools was failing occasionally due to version.h being missing. This
fixes the problems, thanks to several people on #yocto for helping out
why my lack of make knowledge of old fashioned suffix rules :)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Otavio Salvador [Thu, 19 Sep 2013 20:48:38 +0000 (17:48 -0300)]
u-boot, u-boot-fw-utils, u-boot-fw-utils-cross: Use uboot-config class
The U-Boot configuration has been consolidates into a single class to
avoid code duplication. This is now done by uboot-config class, so we
now use it.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Randy MacLeod [Thu, 19 Sep 2013 23:47:05 +0000 (19:47 -0400)]
pseudo: force NO32LIB to true for nativesdk
The exported SDK only needs simulated root privileges for specific
tasks, such as the user-mode NFS server or rootfs extraction, and
oe-core does not support multilib builds in the generated SDK, so
it is neither necessary nor possible to build a 32-bit libpseudo.so
for a 64-bit SDK.
[YOCTO #5135]
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The following commit, 6ccd4d6, increased the RAM size for qemu machines
to 256MB due to some smart sanity tests failing on autobuilder because
more memory was needed.
Unfortunately this leads to various, potentially dangerous, issues like
the one observed during sudoku-savant project compilation:
collect: relinking
collect2: error: '_ZNK6sudoku5ClearINS_6SquareEEclERS1_' was assigned to
'board.rpo', but was not defined during recompilation, or vice versa
board.o:(.rodata+0x8): undefined reference to
`sudoku::Clear<sudoku::Square>::operator()(sudoku::Square&) const'
board.o:(.rodata+0x20): undefined reference to
`sudoku::Clear<sudoku::Sequence>::operator()(sudoku::Sequence&) const'
board.o:(.rodata+0x34): undefined reference to `typeinfo for
sudoku::Action<sudoku::Sequence>'
...AND THE LIST CONTINUES...
collect2: error: ld returned 1 exit status
make: *** [sudoku-savant] Error 1
After some tests, I found that the maximum amount of memory needed for
sudoku to compile properly is 146MB(!?!).
My attempts to create a simpler test case (using templates), in order to
replicate and isolate the issue failed. All the tests compiled just
fine.
So, my guess is that this problem is certainly memory related but the
cause might be hidden in any of the following: qemu versatile hw model,
in the kernel or, highly unlikely but not impossible, the toolchain
itself. The reason I don't really think the cause is in the toolchain is
the fact that the compilation completes just fine for 128MB on qemuarm but
also on other qemu machines (with 256MB of memory).
Since this issue might need lots of time to have a proper fix, I'll revert back
to using 128MB for qemuarm for the time being.
[YOCTO #5133]
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Thu, 19 Sep 2013 10:10:34 +0000 (11:10 +0100)]
classes/testimage-auto: add class to allow automatically running image tests
Setting TEST_IMAGE = "1" alone will now automatically run tests on the
image immediately after the image is built instead of having to add
INHERIT += "testimage" and run bitbake -c testimage <image> manually
(but that will still work). This restores functionality that was
present in the older imagetest-qemu class with IMAGETEST.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
libunistring: remove the test to convert euc-jp in configure
Remove the test "Test against HP-UX 11.11 bug:
No converter from EUC-JP to UTF-8 is provided"
since we don't support HP-UX and if the euc-jp is not
installed on the host, libunistring will be built without
iconv support and will cause guild-native configure fail.
Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Stefan Stanacar [Thu, 19 Sep 2013 12:49:35 +0000 (13:49 +0100)]
lib/oeqa/runtime: cleanup and improve output readability for some tests
- move everything in the same test. setUp/tearDown aren't quite
the right thing here, everything it's part of the same test. (and
it get's confusing when ssh fails)
ldd:
- change test name and add output to error message
vnc:
- remove unnecessary check as there is no point in doing
both ps and netstat. Also improve error output a bit.
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>