Bruce Ashfield [Fri, 24 Feb 2012 01:58:47 +0000 (20:58 -0500)]
linux-yocto: improve checkout error handling and reporting
The typical workflow for linux-yocto simply uses a remote
upstream repository (Whether it is mirrored or not), and in this
case there are no issues with consistency in the format of the
resository that is unpacked into the WORKDIR.
When working with a local linux-yocto repository for kernel
development the remote vs local branches is not always consistent
between repositories.
The suggested/documented workflow has always been to use a
bare clone of linux-yocto, and use a second working tree repository
for development. Changes flow from the working tree to the bare
clone and then into the working directory for build. A common
mistake that happens with this workflow is that the non-bare,
working repository is used instead of the bare clone version.
If a non-bare repository is reference by the SRC_URI, then the
branches that are fetched into WORKDIR are not consitent. If the
MACHINE and META branches are not present, cryptic build errors
will result.
To solve this problem, the checkout code has been changed in
several ways:
- works with a newly proposed 'bareclone' option to bitbake
- detects if a bareclone is present in WORKDIR or not and
adjustst the checkout accordingly.
- if a non-bare clone is detected, machine and meta branches
are checked. If they are not present, or can't be created
a clear error message is produced
- instead of manipulating the refs directly in the git tree,
local tracking branches are (quietly) created for remote
branches. Enabling a better workflow in the WORKDIR kernel
repository.
This has been tested with linux-yocto remote upstreams, local
bare and non-bare respositories. All builds succeed or fail
with clear error messages.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Martin Jansa [Thu, 23 Feb 2012 14:54:14 +0000 (15:54 +0100)]
sstate.bbclass: improve performance of sstate package creation
* also fixes replacing paths for perl where cmd line was probably
too long for os.system(cmd) (it had 560410 characters because a lot of
files from sstate_scan_cmd).
* also print those 2 commands so we can find them in log.do_package
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Paul Eggleton [Thu, 23 Feb 2012 19:30:32 +0000 (19:30 +0000)]
psplash: allow building multiple splash executables
Adds a SPLASH_IMAGES variable which you can set to include one or more
images (listed in URI form as they would appear in SRC_URI), and an
executable will be built for each one, with each executable packaged
separately and managed at runtime using the alternatives system. An
optional "outsuffix" parameter can be used to specify the suffix for the
executable/package name. The images themselves can either be
pre-processed image header files (produced using the
make-image-header.sh script that comes with psplash), or alternatively
you can provide a .png and it will be converted using the aforementioned
script on the fly (at the expense of requiring gdk-pixbuf-native at
build time).
This has been implemented in such a way that you can still just provide
your own psplash-poky-img.h in a bbappend and it will work as it did
before; the only change being that the psplash executable is provided
in a "psplash-default" package rather than in the main psplash package,
and an RRECOMMENDS is set up to ensure psplash-default gets pulled in
(if you specify your own file or change the outsuffix you will need to
either install it separately yourself or add your own RRECOMMENDS
relationship.)
Implements [YOCTO #1947]
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Thu, 23 Feb 2012 19:26:09 +0000 (19:26 +0000)]
conf/bitbake.conf: add DISTRO_FEATURES_BACKFILL
When introducing new items to DISTRO_FEATURES that control functionality
that is already enabled, in order to leave existing distro configuration
unchanged we need a way to "backfill" these new feature items onto the
existing DISTRO_FEATURES value.
This introduces a DISTRO_FEATURES_BACKFILL variable whose items will be
added to the end of DISTRO_FEATURES, unless they also appear in
DISTRO_FEATURES_BACKFILL_CONSIDERED which distros can use in their
configuration to prevent specific items from being added.
Fixes [YOCTO #1946].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Dexuan Cui [Fri, 24 Feb 2012 13:44:35 +0000 (21:44 +0800)]
task-self-hosted: add hicolor-icon-theme and socat
python-pygtk depends on libgtk and libgtk's recommends have
gdk-pixbuf-loader-{png,jpeg,gif,xpm}, so we have the warnings.
We can add hicolor-icon-theme to fix the warning:
Configuring gdk-pixbuf-loader-png.
gtk-update-icon-cache: No theme index file.
Configuring gdk-pixbuf-loader-jpeg.
gtk-update-icon-cache: No theme index file.
Configuring liberation-fonts.
Configuring gdk-pixbuf-loader-xpm.
gtk-update-icon-cache: No theme index file.
Configuring gdk-pixbuf-loader-gif.
gtk-update-icon-cache: No theme index file.
Add socat for to faciliate proxy setting.
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 23 Feb 2012 16:50:56 +0000 (16:50 +0000)]
libfm: Fix packaging and dependency issues
Add missing pango and glib-2.0 dependencies.
Fix QA warnings:
WARNING: For recipe libfm, the following files/directories were installed but not shipped in any package:
WARNING: /usr/lib/gio
WARNING: /usr/lib/gio/modules
WARNING: /usr/share/mime
WARNING: /usr/share/mime/packages
WARNING: /usr/share/mime/packages/libfm.xml
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 23 Feb 2012 13:05:09 +0000 (13:05 +0000)]
autotools.bbclass: Make builds deterministic
We need to ensure any aclocal-copy directory is removed before we s
earch for .m4 files, else the locations .m4 files are found from can
vary depending on whether its the first or second time we run configure.
Clearing any existing aclocal-copy directory before we start resolves
this issue and makes builds deterministic again.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 23 Feb 2012 12:40:36 +0000 (12:40 +0000)]
insane.bbclass: Only depend on desktop-file-utils-native when we need it
There is no point in depending on desktop-file-utils if we're not going to
use it. This patch makes the dependency conditional upon the desktop tests
being enabled.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 23 Feb 2012 12:26:12 +0000 (12:26 +0000)]
package.bbclass: Remove empty directories created as part of srcdebug handling
We can create directories like /usr/src/debug as part of the debug file
manipulations. If these are going to end up empty, remove them to avoid QA
warnings like:
WARNING: For recipe task-core-x11, the following files/directories were installed but not shipped in any package:
WARNING: /usr
WARNING: /usr/src
WARNING: /usr/src/debug
WARNING: For recipe task-core-console, the following files/directories were installed but not shipped in any package:
WARNING: /usr
WARNING: /usr/src
WARNING: /usr/src/debug
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 23 Feb 2012 12:24:43 +0000 (12:24 +0000)]
dbus-glib: Correctly package bash completion pieces to avoid QA warning
WARNING: For recipe dbus-glib, the following files/directories were installed but not shipped in any package:
WARNING: /etc
WARNING: /etc/bash_completion.d
WARNING: /etc/bash_completion.d/dbus-bash-completion.sh
WARNING: /usr/libexec/dbus-bash-completion-helper
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 23 Feb 2012 11:34:37 +0000 (11:34 +0000)]
glib-2.0: Fix unpackaged files warning
WARNING: For recipe glib-2.0, the following files/directories were installed but not shipped in any package:
WARNING: /usr/lib/gio
WARNING: /usr/lib/gio/modules
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 23 Feb 2012 11:31:47 +0000 (11:31 +0000)]
cracklib: Fix unpackaged files warning by disabling autodetected python
WARNING: For recipe cracklib, the following files/directories were installed but not shipped in any package:
WARNING: /usr/lib/python2.7
WARNING: /usr/lib/python2.7/site-packages
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Dexuan Cui [Thu, 23 Feb 2012 03:04:56 +0000 (11:04 +0800)]
task-self-hosted: remove duplicate packages
The package names are specified more than once.
We only need to keep one for each of them, so let's remove the duplicated
ones.
This patch makes no actual change to the functionality of the recipe.
Robert Yang [Wed, 22 Feb 2012 12:38:30 +0000 (20:38 +0800)]
A script to clean obsolete sstate cache files
There would be many obsolete cache files in the SSTATE_DIR after several
builds, this script can remove the obsolete one for a pkg, only leave
the up to date one.
Here is the help text:
sstate-cache-management.sh <OPTION>
Options:
--help, -h
Display this help and exit.
--cache-dir=<sstate cache dir>
Specify sstate cache directory, will use the environment
variable SSTATE_CACHE_DIR if it is not specified.
--remove-duplicated
Remove the duplicated sstate cache files of one package, only
the newest one would be kept.
[YOCTO #1682]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Andrei Gherzan [Tue, 21 Feb 2012 23:03:55 +0000 (01:03 +0200)]
openssl: Move libcrypto to base_libdir
This fix is for dhclient. It needs libcrypto at runtime and if
libcrypto is in libdir, it's path can be inaccessible on systems
where /usr is on nfs for example or dhclient is needed before
/usr is mounted.
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
[Fix comment to from /usr -> /lib - sgw]
Saul Wold [Tue, 14 Feb 2012 05:29:55 +0000 (21:29 -0800)]
syslinux: Use SYSLINUX_TIMEOUT and SYSLINUX_PROMPT to configure syslinux
syslinux allows you to set TIMEOUT and PROMPT variables, when PROMPT is 0,
the "boot:" is not displayed uless one presses CTRL or SHIFT during startup.
TIMEOUT is in 1/10th of seconds, and a value of 0 for TIMEOUT will disable
the timeout mechanism.
In bitbake, recipes had set TIMEOUT (not SYSLINUX_TIMEOUT) incorrectly, other
patches fix this issues. We are adding SYSLINUX_PROMPT to enable/disable the
"boot:" prompt in syslinux.
See http://www.syslinux.org/wiki/index.php/SYSLINUX for more details
Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
* mpeg2dec currently doesn't build if x11 is unavailable,
due to an unconditional dependency on libx11. However,
libx11 is not required to build mpeg2dec.
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
gst-plugins-base: depend on libx11 and libxv conditionally
* gst-plugins-base currently doesn't build if x11 is
unavailable, due to unconditional dependencies on libx11
and libxv. However, they are not required to build
gst-plugins-base.
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Andrei Gherzan [Tue, 7 Feb 2012 19:52:33 +0000 (21:52 +0200)]
dhcp: Update to 4.2.3-P2
1. Update to 4.2.3-P2
2. From 4.2.0 final release, -lcrypto check was removed and we compile static libraries
from bind that are linked to libcrypto. This is why i added a patch in order to add
-lcrypto to LIBS.
3. Add openssl in DEPENDS as we need libcrypto from this package
4. Drop installing /var/lib/dhcp/ as it is handled in pkg_postinst
autotools.bbclass: Don't copy into non-existant directory
* If configure.ac contains AM_GNU_GETTEXT and po/Makefile.in.in
doesn't exist, autotools_do_configure() copies a local
version of Makefile.in.in to this location. If the directory
'po' doesn't exist, the function aborts.
* This patch verifies that the directory exists before copying
a file to it. This fixes libcddb, which uses AM_GNU_GETTEXT,
but has no 'po' directory.
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Gary Thomas [Fri, 10 Feb 2012 16:16:05 +0000 (09:16 -0700)]
initscripts: Make /etc/timestamp consistent again.
Commit cc8695 changed the way timestamps were handled
and added some extra munging to be able to compare them
reliably. This change makes the timestamp value the same
everywhere and simplifies how the check to set the system
clock based on the timestamp is done.
Also, if the value stored in /etc/timestamp is newer
[at all] than the current system time, set the system clock
from the stored value, down to the minute, not just the day.
Richard Purdie [Thu, 23 Feb 2012 10:12:48 +0000 (10:12 +0000)]
sstatesig.py: Move package exclusion list to the layer config
its desireable for other layers to be able to append to the list of packages
with 'safe ABI's which are excluded from the sstate signatures.
I can't emphasise enough how careful you need to be with this list, anything
excluded here needs to be things which don't change interface and are consistent
between different machines.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 22 Feb 2012 22:15:59 +0000 (22:15 +0000)]
sstatesig.py: Add handling for machine specific module dependencies
Adding dependencies on machine specific recipes from generic packages
causes a rebuild of the generic package per machine if using signatures
for the stamp files which is unacceptable.
We need to declare that RRECOMMENDS on kernel-module-* are safe
and that we shouldn't care about these machine specific dependencies
from a stamp perspective. This change adds code which does this.
It depends on a change in bitbake to expose the dataCache object
which can be used to make the calculations we need to allow this to
work correctly.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| WARNING: .../meta/lib/oe/utils.py:31: DeprecationWarning: Call to deprecated function bb.vercmp_string: Please use bb.utils.vercmp_string instead.
| result = bb.vercmp(d.getVar(variable,True), checkvalue)
Signed-off-by: Andreas Oberritter <obi@opendreambox.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joshua Lock [Wed, 22 Feb 2012 01:46:44 +0000 (17:46 -0800)]
netbase: remove redundant assignments
There's no need to explicitly set PACKAGE_ARCH = MACHINE_ARCH, base.bbclass
takes care of setting this value for us based on the interfaces for those
machines being an OVERRIDE.
Signed-off-by: Joshua Lock <josh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joshua Lock [Wed, 22 Feb 2012 01:46:42 +0000 (17:46 -0800)]
base.bbclass: check all entries of FILESPATH for MACHINE overrides
The logic which looks for MACHINE overrides in SRC_URI and updates
PACKAGE_ARCH was checking only certain subdirectories of the recipes parent
which, amongst other issues, doesn't account for SRC_URI overrides in layers.
This patch changes the logic such that all FILESPATH entries are checked
for children named for MACHINE.
Signed-off-by: Joshua Lock <josh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wenzong Fan [Tue, 14 Feb 2012 01:32:27 +0000 (09:32 +0800)]
eds-tools: Update it to fix the build error
The head file 'libedataserver/e-data-server-module.h' has been moved
to 'libebackend/e-data-server-module.h', just update eds-tools to get
the latest changes for fixing the path of 'e-data-server-module.h'.
Also update its recipe file to reflect it has been converted to git
repo and split all generated binaries to correct packages.
[YOCTO#1786]
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Paul Eggleton [Mon, 13 Feb 2012 18:09:12 +0000 (18:09 +0000)]
buildhistory_analysis: avoid noise due to reordering
Avoid noise in the output due to reordering of list variables (except
for PACKAGES where we just report that the order changed). Recent
changes to the buildhistory class itself will avoid this reordering
from occurring but this allows us to examine the results before and
after those changes.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Paul Eggleton [Tue, 14 Feb 2012 10:55:46 +0000 (10:55 +0000)]
classes/buildhistory: use hostname instead of reading /etc/hostname
For the purposes of querying the hostname to include it in the commit
message, it seems "cat /etc/hostname" does not work on the Yocto Project
autobuilder machines, and it's likely that the hostname command will be
more generally reliable, so use that instead.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Paul Eggleton [Mon, 13 Feb 2012 17:03:39 +0000 (17:03 +0000)]
classes/buildhistory: sort FILELIST in package info
The FILELIST order can vary depending on the order the files were
written which may change between builds with no ill effect, so sort the
list prior to writing it.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Paul Eggleton [Mon, 13 Feb 2012 15:53:47 +0000 (15:53 +0000)]
classes/buildhistory: sort and de-dupe dependency graphs
Sort dependencies of each package which sometimes change order and cause
noise in the buildhistory repo, and at the same time remove duplicates
(which seem to be common especially for the RPM package query output).
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Paul Eggleton [Mon, 13 Feb 2012 14:41:44 +0000 (14:41 +0000)]
classes/buildhistory: squash spaces out of image variables
Values of image variables that are lists (e.g. IMAGE_INSTALL) are easier
to read if there are no extraneous spaces in them, so ensure that there
is only one space between each item.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Martin Jansa [Mon, 13 Feb 2012 15:40:48 +0000 (16:40 +0100)]
zlib: remove ldconfig call from install-libs
* it's called from install-libs target and when /etc/ld.so.cache is writeable by user running bitbake
then it creates invalid cache (in my case libstdc++.so cannot be found after building zlib(-native)
and I have to call touch */libstdc++.so && /sbin/ldconfig to fix it
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Tue, 14 Feb 2012 13:44:03 +0000 (13:44 +0000)]
scripts/combo-layer: allow updating a specific component(s) only
If you specify one or more components to update immediately following
the "update" command, only these components will be updated as opposed
to the default behaviour of updating all of them.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This code will not work without palmtopdir being defined, and is better
kept in meta-opie in any case (where we already have the OE-Classic
version of this class).
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>