Richard Purdie [Tue, 24 Jan 2012 17:09:30 +0000 (17:09 +0000)]
gcc-cross: Don't reference machine specific variables
gcc-cross is installed into a package architecture specific directory
and is not meant to be machine specific. This patch replaces MACHINE_ARCH
with PACKAGE_ARCH to ensure this is really the case.
This was found by examining sstate checksums.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Darren Hart [Wed, 25 Jan 2012 05:20:54 +0000 (21:20 -0800)]
bootimg: Fix a math thinko in the block count calculation
Fixes [YOCTO #1852] ... again.
The conversion from sectors to blocks was multiplying by 2 instead
of dividing by 2. Blocks are 1024 bytes, sectors are 512 bytes. The
result was images being much larger than intended.
Reported-by: Tom Zanussi <tom.zanussi@intel.com> Signed-off-by: Darren Hart <dvhart@linux.intel.com> CC: Joshua Lock <josh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 24 Jan 2012 17:11:14 +0000 (17:11 +0000)]
lib/oe/sstatesig.py: Exclude common machine specific dependencies from task signatures
Where we have machine specific recipes with well defined behaviour, it makes
no sense to rebuild recipes with these as dependencies whenever the machine
changes. This patch lists those well behaved recipes and excludes them from
the task signatures so we can change MACHINE without invalidating existing
PACKAGE_ARCH binaries.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 24 Jan 2012 14:33:37 +0000 (14:33 +0000)]
shadow: Split securetty into a separate recipe
The securetty file is machine specific whilst the rest of the shadow recipe
is not. Unfortunately making the recipce machine specific is both inefficient
and also causes dependency problems since parts of the system such as the useradd
code depend upon it and this introduces a machine specific element to sstate
checksums which should not be machine specific.
To resolve this, this patch separates out the file into a separate recipe
meaning the machine specific components are isolated.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changes in WORKDIR were changing the do_patch stamps between gcc-crosssdk
and gcc-cross. This excludes the variable since in this case, we don't
need want those changes to affect the signatures.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Shane Wang [Sun, 22 Jan 2012 11:33:18 +0000 (19:33 +0800)]
distro_tracking.inc: update the info for recipes upgraded recently
This patch is to update the information for the recipes upgraded recently, including strace, pciutils, ed, ofono, iproute2, bluez4, bluez-hcidump, kexec-tools, tremor, iptables, polkit, libxcb, xcb-proto, pixman and util-macros.
And add the new recipe for mobile-broadband-provider-info, which is depended on by ofono v1.3.
Shane Wang [Sun, 22 Jan 2012 08:31:48 +0000 (16:31 +0800)]
mobile-broadband-provider-info: bring a new recipe into poky
This patch is to bring a new recipe mobile-broadband-provider-info into poky because the latest version ofono v1.3 depends on it.
And the patch is imported from the OpenEmbedded server (http://git.openembedded.org/openembedded/tree/recipes/mobile-broadband-provider-info) as of commit ids
Shane Wang [Sun, 22 Jan 2012 08:01:11 +0000 (16:01 +0800)]
iproute2: upgrade to 3.2.0
This patch is to upgrade iproute2 to tag 3.2.0.
And the tag is not fully testd by the upstream and has build error.
We use the next commit of tag 3.2.0 which fixs the error.
Shane Wang [Sat, 21 Jan 2012 14:27:32 +0000 (22:27 +0800)]
iptables: upgrade to 1.4.12.2
This patch is to upgrade iptables to 1.4.12.2, and introduce a patch not to check unknown symbols.
Otherwise, when it is compiled, it will report "libxtables.so.7" from LD_PRELOAD cannot be preloaded.
Saul Wold [Mon, 23 Jan 2012 00:40:53 +0000 (16:40 -0800)]
gcc: move shared .a to their own package
Keep the *_nonshared.a in the libgcc-dev package as
required for linking, moved the other *.a libraries
into their respective packages (libstdc++ and libssp).
COMMERCIAL_LICENSE no longer exists; the equivalent functionality is
now has been replaced by LICENSE_FLAGS_WHITELIST, so replace the
COMMERCIAL_LICENSE warning with a similarly equivalent warning.
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Tom Zanussi [Sat, 31 Dec 2011 19:46:26 +0000 (13:46 -0600)]
base.bbclass: replace COMMERCIAL_LICENSE code with LICENSE_FLAGS code
The COMMERCIAL_LICENSE mechanism has been superseded by LICENSE_FLAGS
so remove the code that implements COMMERCIAL_LICENSE and replace it
with the corresponding LICENSE_FLAGS version.
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Tom Zanussi [Sat, 31 Dec 2011 19:06:39 +0000 (13:06 -0600)]
license.bbclass: add support for LICENSE_FLAGS
LICENSE_FLAGS are a per-recipe replacement for the COMMERCIAL_LICENSE
mechanism.
In the COMMERCIAL_LICENSE mechanism, any package name mentioned in the
global COMMERCIAL_LICENSE list is 'blacklisted' from being included in
an image. To allow the blacklisted package into the image, the
corresponding packages need to be removed from the COMMERCIAL_LICENSE
list. This mechanism relies on a global list defined in
default-distrovars.inc.
The LICENSE_FLAGS mechanism essentially implements the same thing but
turns the global blacklist into a per-recipe whitelist. Any recipe
can optionally define one or more 'license flags'; if defined, each of
the license flags defined for a recipe must have matching entries in a
global LICENSE_FLAGS_WHITELIST variable.
The definition of 'matching' is simple, but there are a couple things
users need to know in order to correctly and effectively use it.
Before we test a flag against the whitelist, we append _${PN} to it,
thus automatically making each LICENSE_FLAG recipe-specific. We then
try to match that string against the whitelist. So if the user
specifies LICENSE_FLAGS = 'commercial' for recipe 'foo', the string
'commercial_foo' should be specified in the whitelist in order for it
to match.
However, the user can also broaden the match by putting any
'_'-separated beginning subset of a LICENSE_FLAG in the whitelist,
which will also match e.g. simply specifying 'commercial' in the
whitelist would match any expanded LICENSE_FLAG starting with
'commercial' such as 'commercial_foo' and 'commercial_bar' which are
the strings that would have been automatically generated if those
recipes had simply specified LICENSE_FLAGS = 'commercial'
This allows for a range of specificity for the items in the whitelist,
from more general to perfectly specific. So users have the choice of
exhaustively enumerating each license flag in the whitelist to allow
only those specific recipes into the image, or of using a more general
string to pick up anything matching just the first component(s).
Note that this scheme works even if the flag already has _pn appended
- the extra _pn is redundant, but doesn't affect the outcome e.g. a
license flag of 'commercial_1.2_foo' would turn into
'commercial_1.2_foo_foo' and would match both the general 'commercial'
and the specific 'commercial_1.2_foo' as expected (it would also match
commercial_1.2_foo_foo' and 'commercial_1.2', which don't make much
sense as far as something a user would think of specifying in the
whitelist). For a versioned string, the user could instead specify
'commercial_foo_1.2', which would turn into 'commercial_foo_1.2_foo',
but which would as expected allow the user to pick up this package
along with anything else 'commercial' by specifying 'commercial' in
the whitelist, or anything with a 'commercial_foo' license regardless
of version by using 'commercial_foo' in the whitelist, or
'commercial_foo_1.1' to be completely specific about package and
version.
The current behavior of COMMERCIAL_LICENSE is replicated as mentioned
above by having the current set of COMMERCIAL_LICENSE flags
implemented using LICENSE_FLAGS = "commercial".
That being the case, the current COMMERCIAL_LICENSE can equivalently
be specified in the new scheme by putting the below in local.conf:
# This is a list of packages that require a commercial license to ship
# product. If shipped as part of an image these packages may have
# implications so they are disabled by default. To enable them,
# un-comment the below as appropriate.
#LICENSE_FLAGS_WHITELIST = "commercial_gst-fluendo-mp3 \
# commercial_gst-openmax \
# commercial_gst-plugins-ugly \
# commercial_lame \
# commercial_libmad \
# commercial_libomxil \
# commercial_mpeg2dec \
# commercial_qmmp"
The above allows all of the current COMMERCIAL_LICENSE packages in -
to disallow a particular package from appearing in the image, simply
remove it from the whitelist. To allow them all in, you could also
specify LICENSE_FLAGS_WHITELIST = "commercial".
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Richard Purdie [Fri, 20 Jan 2012 15:54:38 +0000 (15:54 +0000)]
bitbake.conf: Switch to the OEBasic signature generator
This signature generator will allow easier customisation of which task
dependencies get included in the signatures using the code in
lib/oe/sstatesig.py. Compared the the regexp, this function is much
easier to understand and customise.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 20 Jan 2012 15:50:59 +0000 (15:50 +0000)]
lib/oe: Add sstatesig, OE specific signature generator classes
This patch adds SignatureGenerator classes specific to OE. For now,
these emulate the previous behaviour with the exception that
dependencies on quilt-native are now ignored for checksum purposes.
The intent is to allow easier experimentation and customisation of
this code in future as a result of these changes.
Note that these changes require pending bitbake patches.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 19 Jan 2012 19:22:44 +0000 (19:22 +0000)]
gcc: Ensure that the shared source directory shared the same sstate hashes
The fetch/unpack/patch/headerfix tasks are shared and hence their sstate hashes
should also match. Sadly this is not the case since:
a) gcc-runtime applies an additional patch
b) The do_headerfix task was missing from libgcc
c) The do_headerfix task is a shell task and hence depends
on all exported variables which can vary between cross and target
recipes.
To fix this, the patch moves the patch to the common code, adds
the headerfix task to a common include file and disabled shell
dependencies on the do_headerfix task since its clear in this case
we don't need thsoe dependencies since we just call sed.
With this patch applied, all these recipes now share common sstate checksums.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Thu, 19 Jan 2012 10:32:12 +0000 (10:32 +0000)]
buildhistory_analysis: include related fields in output
Sometimes, when a value changes in the buildhistory it is useful to
know when a related (but not necessarily itself monitored) value
changes as it can help explain the change. For example, when the list
of installed packages for an image changes it could be caused by a
change to one of the image-related variables.
Related field changes are recorded as sub-items of each change.
Currently the only way to visualise these is via the buildhistory-diff
tool, so an example would be:
Changes to images/qemux86/eglibc/core-image-minimal (installed-package-names.txt):
locale-base-de-de was added
procps was added
* IMAGE_LINGUAS: added "de-de"
* IMAGE_INSTALL: added "procps"
Here we see that two additional packages have been added to the image,
and looking at the related changes to the two variables IMAGE_INSTALL
and IMAGE_LINGUAS we have the explanation as to why.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Thu, 19 Jan 2012 13:59:15 +0000 (13:59 +0000)]
classes/patch: avoid backtrace when patch does not apply
We don't need to see a Python stack backtrace when a patch does not
apply, just the error output from patch, so trap these kinds of errors
and ensure that we display the message and fail the task and nothing
else.
Fixes [YOCTO #1143]
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Martin Jansa [Thu, 19 Jan 2012 13:51:44 +0000 (14:51 +0100)]
task-base: rename VIRTUAL-RUNTIME-alsa-state to use underscore
* in http://lists.linuxtogo.org/pipermail/openembedded-core/2012-January/016226.html
we talked about
VIRTUAL-RUNTIME_alsa-state, but
VIRTUAL-RUNTIME-alsa-state was used instead, which is inconsistent with other VIRTUAL-RUNTIME vars
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Thu, 19 Jan 2012 10:32:11 +0000 (10:32 +0000)]
buildhistory_analysis: improve field handling robustness
Avoid errors when comparing changes for KEY = value files (package info
files and image-info.txt):
* Handle keys appearing and disappearing - this will help to handle PE
in package info files (which is only written when it is not blank) and
when we add additional fields in future.
* Handle when old value is 0 for numeric field (avoid division by zero)
* Report when numeric field was empty or missing rather than 0 (but
still treat it as 0 for comparison purposes)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Thu, 19 Jan 2012 10:32:10 +0000 (10:32 +0000)]
buildhistory_analysis: correctly handle whitespace when splitting lists
Don't specify any argument to the split() function when handling changes
to list type variables (e.g. PACKAGES) so that the values are split by
any whitespace and only split once for a block of multiple whitespace
characters.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Thu, 19 Jan 2012 10:32:09 +0000 (10:32 +0000)]
buildhistory: record additional image info
Record some additional information about images - the uncompressed size
of the final image as well as the values of various variables that may
have influenced its contents. This is recorded in a machine-readable
"image-info.txt" file similar in structure to the package history files.
Also add some code to analyse changes to these values. (Most of the
variable values aren't monitored directly but will be used as contextual
information when they change at the same time as the content of the
image changing.)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Nitin A Kamble [Tue, 17 Jan 2012 19:11:01 +0000 (11:11 -0800)]
grub-efi-native: fix errors with automake 1.11.2
This commit replaces earlier patch
(grub-1.99_fix_for_automake_1.11.2.patch) which did not work on all distros.
Fixes these errors observed with automake 1.11.2
The useof pkglibhas become more strict compared to the earlier release
of
automake resulting in these failures.
Fixed the files related to automake to avoid the issue.
| conf/Makefile.common:140: `pkglibdir' is not a legitimate directory
for `DATA'
| grub-core/Makefile.am:5: `conf/Makefile.common' included from here
| conf/Makefile.common:140: `pkglibdir' is not a legitimate directory
for `DATA'
| Makefile.am:6: `conf/Makefile.common' included from here
| autoreconf: automake failed with exit status: 1
| ERROR: autoreconf execution failed.
| conf/Makefile.common:150: `pkglibdir' is not a legitimate directory
for `SCRIPTS'
| grub-core/Makefile.am:5: `conf/Makefile.common' included from here
| conf/Makefile.common:140: `pkglibdir' is not a legitimate directory
for `DATA'
| grub-core/Makefile.am:5: `conf/Makefile.common' included from here
| conf/Makefile.common:150: `pkglibdir' is not a legitimate directory
for `SCRIPTS'
| Makefile.am:6: `conf/Makefile.common' included from here
| conf/Makefile.common:140: `pkglibdir' is not a legitimate directory
for `DATA'
| Makefile.am:6: `conf/Makefile.common' included from here
| autoreconf: automake failed with exit status: 1
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Khem Raj [Thu, 19 Jan 2012 05:39:16 +0000 (21:39 -0800)]
gnutls: Fix configure issue wrt to rm
Add -f option so if the files dont exist then we can
still continue. Fixes errors like
| + do_configure
| + for dir in . lib libextra
| + rm ./aclocal.m4 ./m4/libtool.m4 './m4/lt*.m4'
| rm: cannot remove `./m4/libtool.m4': No such file or directory
| rm: cannot remove `./m4/lt*.m4': No such file or directory
Khem Raj [Wed, 18 Jan 2012 03:01:05 +0000 (19:01 -0800)]
e2fsprogs_1.42.bb: Fix build fallout for uclibc
e2fsprogs 1.42 onwards uses fallocate() which uclibc
does not implement(yet). In most of places its use
is controlled and it only used when configure detects
fallocate being present but in this one case it missed
to check for fallocate being available so here we
add the check
Bruce Ashfield [Wed, 18 Jan 2012 17:07:55 +0000 (12:07 -0500)]
linux-yocto: restore WORKDIR as a patch source directory
In the switch to using src_patches and using patches in their
source directory, the scanning of WORKDIR migrated items like
config fragments was dropped. Adding WORKDIR back as a patch
directory restores the old functionality.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Saul Wold [Thu, 19 Jan 2012 00:00:57 +0000 (16:00 -0800)]
pkgconfig: Move pkg.m4 from -dev to package
If pkgconfig is installed you're doing development work and the -dev package
makes little sense in the pkgconfig case. Keeping the .m4 file associated with
the main package therefore makes more sense than having the user install both.
Andrei Gherzan [Mon, 16 Jan 2012 18:31:50 +0000 (20:31 +0200)]
libsoup: Update package from v2.2.100 to v2.2.105
I included a patch as well to solve a compile error. In this package, a dfprinf function
is declared. It will fail as eglibc provides it's function as well. So i renamed libsoup's
dprintf function into dprinfsoup.