But there is a typo in:
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=78ac027f2ac6c6663fff7080eabbd3d09c1241bb
It missed to remove an extra "--with-wctype-functions" in EXTRA_OECONF
LSB 4.1 Library Check: fix unable to find library libqt-mt.so.3
The libqt-mt is tested by lsb-dist-checker and lsb-test-desktop,
and it locates in meta-qt3 layer.
So if meta-qt3 is not added, there should be a warning to call
attention; if added, it will add libqt-mt to RDEPENDS.
Jason Wessel [Sat, 14 Sep 2013 00:08:58 +0000 (00:08 +0000)]
cdrtools-native: Update from 3.00 to 3.01a17
The update is needed to support generation of EFI boot images that
work with optical media. Specifically the "-eltorito-platform efi"
capability for mkisofs is needed.
Jason Wessel [Sat, 14 Sep 2013 00:08:57 +0000 (00:08 +0000)]
bootimage.bbclass: Move fat image creation into a function
In order to call the fat image creation multiple times it needs to be
in its own function. A future commit will make use of the new
function to additionally create EFI image files for use with an ISO.
Robert Yang [Sun, 15 Sep 2013 09:13:12 +0000 (09:13 +0000)]
coreutils: set acpaths to avoid "Argument list too long" error
There would be an error when the TMPDIR is long/deep, for example when
len(TMPDIR) = 350 while our supported longest value is 410:
[snip]
aclocal: error: cannot open xxx
autoreconf: aclocal failed with exit status: 1
ERROR: autoreconf execution failed.
[snip]
Let aclocal use the relative path for the m4 file rather than the
absolute would fix the problem.
Another fix is that we can modify autotools.bbclass to let it use the
relative path rather than the absolute, but I don't think that we have
to do that based on the following 2 thoughts:
* The coreutils is the only recipe which has this issue as far as we
know when len(TMPDIR) <= 410, because it has the most amount of m4
files (more than 400 ones).
* That would impact all the recipes which use autotools.bbclass, and we
are not sure about the side effect, for example, it would break the
build there is a sub-configure.
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> 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>
Randy MacLeod [Sun, 15 Sep 2013 16:21:47 +0000 (16:21 +0000)]
vala: add bison-native depends for vala-native
vala-native builds were working because most systems have
bison installed on the host. Add an explicit dependency on
bison-native since bison isn't a sanity checked host tool.
Some of the external USB devices has internal USB hub, which
make them look like "fixed" rather than "removable". And USB
autosuspend does not work with some of these devices resulting
in inoperable pointing device.
Now the code detect these false "fixed" devices by looking at their
parents. If any of their parent is "removable", then USB autosuspend
is not enabled for that device, which keeps the pointing device
functional.
Ross Burton [Tue, 17 Sep 2013 09:22:17 +0000 (10:22 +0100)]
libxml2: remove patch for CVE-2012-2871
This CVE patch is actually against Chromium as they ship an internal fork of
libxml2 and breaks ABI. The real issue has been resolved in libxslt 1.1.27, and
we're shipping 1.1.28.
Commit 5992830145c fixes the autobuilder needing to rename
qemux86-64 to qemux86_64 however in order to maintain autobuilder
compatibility with prior releases we need to bump LAYERVERSION.
Richard Purdie [Sat, 14 Sep 2013 16:59:24 +0000 (16:59 +0000)]
bitbake: bb.fatal: Raise a BBHandledException instead of exiting
With new bitbake UIs having the cooker exit at 'random' points
in the codebase is problematic. This patch raises an exception
which matches the siutation instead.
Richard Purdie [Mon, 16 Sep 2013 07:45:50 +0000 (07:45 +0000)]
bitbake: data_smart: Cache the fact a variable accesses another even if its unset
If a variable references another but it isn't set at present, the
reference wasn't stored. It really should be marked as a reference
and the higher level dependency code can handle as appropriate.
Richard Purdie [Mon, 16 Sep 2013 07:43:30 +0000 (07:43 +0000)]
bitbake: data_smart: Allow expansion of flags in getVarFlags
Allow a list of flags to expand to be passed into getVarFlags. This
is useful within bitbake itself to optimise performance of the
dependency generation code.
Alexandru DAMIAN [Mon, 16 Sep 2013 07:40:20 +0000 (07:40 +0000)]
bitbake: data_smart: Add explict None checks
Simple if xxx checks end up calling len(xxx). We're interested in the specific case
of None which means we can break out the iterator much earlier after the first
item. This adds in the specific tests for None in what is a hot path in the
data store code which gives small performance gains.
Richard Purdie [Mon, 16 Sep 2013 07:33:48 +0000 (07:33 +0000)]
bitbake: data: Use direct iteration, not keys()
Profiling shows the creation of keys() has overhead and we're better using
an iterator rather than the memory associated with the huge list of keys
when iterating the whoe datastore. We minimise the number of times
we do this to twice only per recipe.
Richard Purdie [Mon, 16 Sep 2013 07:25:08 +0000 (07:25 +0000)]
bitbake: data_smart: use the expand_cache in VariableParse
When in VariableParse, use the expand_cache if possible rather than looking
up data. Ultimately it would come from the same place but this short cuts
a heavily used code block for speed improvements.
Debugging showed the variable expansion regexp was catching python
expressions (starting with @). Since these are caught by their own
dedicated regexp, stop matching these for the plain variable expansion
for small performance improvements.
Richard Purdie [Mon, 16 Sep 2013 07:18:34 +0000 (07:18 +0000)]
bitbake: siggen: Use lookup cache exclusively
All the values we need are already guaranteed to be in the lookupcache
so rather than fetch variables again, just use the cache. This gives a
small performance improvement and simplifies the code.
Richard Purdie [Mon, 16 Sep 2013 07:13:38 +0000 (07:13 +0000)]
bitbake: data: Be explicit in data_db check
The if statement current causes the size of parent to be calcuated which
is like a len() operation on a datastore. Since we're only interested
whether the value is none, checking explictly for this gives a
small performance gain.
Alexandru DAMIAN [Mon, 16 Sep 2013 12:46:01 +0000 (12:46 +0000)]
bitbake: runqueue: add runQueueTaskSkipped event
Adding a runQueueTaskSkipped to notify that the tasks that are not
run either because they are set-scened or they don't need an update
(timestamp was ok).
Bruce Ashfield [Fri, 13 Sep 2013 16:54:58 +0000 (12:54 -0400)]
linux-yocto/3.10: genericx86 meta data factoring
Updating the 3.10 meta branch to import the following commits from Darren
Hart:
285f93b meta/common-pc-64: Add USB 3.0 support 75072e4 meta/common-pc*: Refactor common-pc-64 to reuse common-pc drivers da06bde meta/common-pc: Split out CPU and Drivers config fragments 5f55e40 meta/common-pc: Cleanup common-pc.cfg and common-pc-gfx.cfg 0a3f784 meta/common-pc: Add common Wifi drivers f4b9f5e meta/common-pc: Add common Realtek and Atheros Ethernet drivers 4d9d3eb meta/common-pc: Build Ethernet and Wifi drivers as modules 13141ee meta/common-pc: Refactor Ethernet and Wifi options
These are in support of a new genericx86 multi-target BSP.
Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
boot-directdisk: Allow for EFI-only boot direct disk images
Condition building PCBIOS legacy images on MACHINE_FEATURES containing "pcbios"
or not containing "efi". This ensures existing BSPs will continue to get the
old PCBIOS legacy-only images. New BSPs can add "efi", "pcbios", or both. The
images created likewise support one or the other or both.
elfutils-native: Fix build on distros with gcc 4.8
The patch redhat-portability.diff causes this issue
so lets revert the portion which was using %a instead of %m
thats recommended anyway, redhat patch seems to be targetting
old compilers.
LSB Command Check: fix install_initd and remove_initd not found
The install_initd and remove_initd are linked to /sbin/chkconfig for lsb
core test, but chkconfig has been moved from /sbin to /usr/sbin in order
to fix QA warning about unsafe references in binaries.
(In commit e486242db83297701803866bea971a2f1a1135fe)
Let install_initd and remove_initd link to /usr/sbin/chkconfig could fix
this issue.
Richard Purdie [Fri, 13 Sep 2013 11:18:14 +0000 (12:18 +0100)]
linux-libc-headers: Add big warning about antisocial behaviour
I'm getting concerned with the number of people forking this recipe
and not understanding what they're doing. I'm therefore proposing
adding in a suitable warning to people thinking of copying it.
Stefan Stanacar [Fri, 13 Sep 2013 12:48:18 +0000 (15:48 +0300)]
lib/oeqa/runtime: timeout increases
Increase the timeout for smart commands as under load for qemumips
it's still to small. Also give ping more time fixing a potential
timeout for sato systemd.
Richard Purdie [Fri, 13 Sep 2013 12:35:31 +0000 (13:35 +0100)]
bitbake.conf/package: Collapse PKGDATA_DIR into a single machine specific directory
Currently we have a hierarchy of pkgdata directories and the code has to put together
a search path and look through each in turn until it finds the data it needs.
This has lead to a number of hardcoded paths and file globing which
is unpredictable and undesirable. Worse, certain tricks that should be
easy like a GL specific package architecture become problematic with the
curretn search paths.
With the modern sstate code, we can do better and construct a single pkgdata
directory for each machine in just the same way as we do for the sysroot. This
is already tried and well tested. With such a single directory, all the code that
iterated through multiple pkgdata directories and simply be removed and give
a significant simplification of the code. Even existing build directories adapt
to the change well since the package contents doesn't change, just the location
they're installed to and the stamp for them.
The only complication is the we need a different shlibs directory for each
multilib. These are only used by package.bbclass and the simple fix is to
add MLPREFIX to the shlib directory name. This means the multilib packages will
repackage and the sstate checksum will change but an existing build directory
will adapt to the changes safely.
It is close to release however I believe the benefits this patch give us
are worth consideration for inclusion and give us more options for dealing
with problems like the GL one. It also sets the ground work well for
shlibs improvements in 1.6.
Paul Eggleton [Thu, 12 Sep 2013 11:04:52 +0000 (12:04 +0100)]
bitbake.conf: include machine name in DEPLOY_DIR_IMAGE
This allows a clean seperation between image outputs from different
machines, and makes it possible to have convenience symlinks to make
the output ready to deploy.
This did require some surgery in runqemu; if explicit paths to the image
and kernel are not supplied then DEPLOY_DIR_IMAGE needs to be determined
from bitbake or set in the environment. However the script does try to
avoid requiring it unless it really is needed. Corresponding changes
were made in the automated testing code as well.
Based on an RFC patch by Koen Kooi <koen@dominion.thruhere.net>
Robert Yang [Thu, 12 Sep 2013 09:33:36 +0000 (05:33 -0400)]
icu-native: do_install: Segmentation fault
There was a "Segmentation fault" error when build icu-native when the
TMPDIR is in a deep directory (for example, when len(readlink -f $TMPDIR
== 410)), use LARGE_BUFFER_MAX_SIZE for cmd rather than
SMALL_BUFFER_MAX_SIZE would fix the problem, this should be a misplay
because other cmd uses LARGE_BUFFER_MAX_SIZE.
If not every combination of BB_NUMBER_THREADS and PARALLEL_MAKE have
been tested by bb-matrix.sh, e.g., by using BB_RANGE="04 08 10 12 16"
and PM_RANGE="04 08 10 12 16", then the graph that gnuplot generates by
default looks very jagged due to the missing data points. By using
splines to interpolate the missing data the graph looks a lot better.
This should not change graphs where all data points are available in any
way, only improve sparse graphs.
Richard Purdie [Mon, 9 Sep 2013 14:14:39 +0000 (15:14 +0100)]
bitbake.conf: Stop providing ${P} and ${PF} by default
For a long time we've provided PN-PV and PN-PV-PR by tweaking PROVIDES. This looks
nice at first glance however it turns out to be a bit problematic. Taking make as an
example where there are two versions, 3.81 and 3.82, what should "bitbake make-3.81" do?
Currently it builds make-3.81 and make-3.82 and breaks in interesting ways. Is that
a bitbake bug? Well, it certainly shouldn't try and run the build. Why is it building
3.82 though? Its due to finding a dependency on "make-dev" and then trying to figure
out what provides it? The answer is "make" and the default version of "make" is 3.82.
So arguably, finding "make-3.81" should infer PREFERRED_VERSION_make = "3.81". Doing
so resolved the above problem since now "make" resolves to "make-3.81".
So what about if we have Recipe A:
DEPENDS = "make-3.81"
and Recipe B:
DEPENDS = "make-3.82"
That is clearly an error, easy. So finally what about if we have Recipe A:
DEPENDS = "make-3.81"
and Recipe B:
DEPENDS = "make"
The first recipe infers the PREFERRED_VERSION_make = "3.81" and then forces that
version on everything else. Is that desired? Probably not in most cases, at least not
silently.
As mitigation, we could print a WARNING about this happening. The final part of the problem
is that we can ony figure this out within bitbake itself. That means we'd have to teach bitbake
about the PN-PV format of PROVIDES which is breaking the separation between bitbake and the
metadata. We can't win :(.
Nobody that I know of is using or relying on this functionality so perhaps we should
just remove it instead which is what this patch does. Opinions?
bb-matrix: Clean before, rather than after, building
This makes sure the the first build starts from a clean state. Otherwise
one could have the first build affected by any leftover state from
a previous build.
This also leaves a working state behind after the final build.
Roy.Li [Tue, 13 Aug 2013 08:20:18 +0000 (16:20 +0800)]
sstate.bbclass: fix parallel building issue
sstate_package creates hardlink from sysroot to SSTATE_BUILDDIR, then
sstate_create_package will store SSTATE_BUILDDIR into a archive file by
tar, but once other packages install the same file into sysroot, the
creating the archive file will fail with below error:
DEBUG: Executing shell function sstate_create_package
tar: x86_64-linux/usr/share/aclocal/xorg-macros.m4: file changed as we read it
This kind of error is harmless, use --ignore-failed-read to ignore it.
The error in tar occurs when the timestamp of the file changes and this
can happen when the number of symlinks change. The file will be included
in the archive.
Richard Purdie [Fri, 13 Sep 2013 16:34:42 +0000 (17:34 +0100)]
bitbake: cooker: updateCache should rause exceptions, not sys.exit
Exiting from the server is antisocial, instead we should raise an exception. This
will correctly fail the current command and reset the server state. We use
the handled exception since for these conditions to occur, something was
already displayed to the user.
Richard Purdie [Fri, 13 Sep 2013 16:32:53 +0000 (17:32 +0100)]
bitbake: cooker/command: Add finishcommand to reset cooker state
After running a command on the server, it needs to reset to the initial
state. This ensures that subsequent clients start from a known state
and notice any configuration changes.
Ultimately we may want to do more than this buts a good start and better
than nothing.
Richard Purdie [Fri, 13 Sep 2013 16:31:54 +0000 (17:31 +0100)]
bitbake: cooker: Rename confusing 'stop' state to 'forceshutdown'
The shutdown state causes the server to finish what its doing, stop was
them meant to completely stop it. It doesn't mean the server is stopped
though. Renaming the current stop event for forceshutdown gives more
meaning to what it actually does. The stopped namespace then becomes
available to indicate a completely stopped server.
Richard Purdie [Fri, 13 Sep 2013 16:31:09 +0000 (17:31 +0100)]
bitbake: cooker: Clean up init/reset configuration code
Currently the cooker event data isn't rebuilt upon reset and the cache
configuration cannot be changed after init. These are both bad things
and this patch refactors the init/reset code so that it is possible
to reconfigure the server.
Richard Purdie [Thu, 12 Sep 2013 13:06:22 +0000 (13:06 +0000)]
bitbake: data_smart: Account for changes in append/prepend/remove in the config hash
bitbake wasn't reparsing when _remove items were added to its configuration
and equally, appends/prepends were also being badly tracked. This
change enrures these variables are accounted for in the configuration
hash.
Scott Rifenbark [Wed, 11 Sep 2013 21:44:00 +0000 (14:44 -0700)]
ref-manual: Added information for OEROOT and build environment
Fixes [YOCTO #4980]
Added a new glossary entry for OEROOT.
Added significant information to the local.conf and bblayers.conf
reference sections to describe how the root build directory is
derived.
Also, some unrelated formatting to the DL_DIR variable description
was mixed in here because I forgot to commit that separatey and it
lives in the same variables.xml file.
Scott Rifenbark [Tue, 10 Sep 2013 22:15:28 +0000 (15:15 -0700)]
dev-manual: Added new section on how to exclude a package
Fixes [YOCTO #4079]
The changes here address the documentation component of this
bug. There is now a new section in the dev-manual in the
"Working With Packages" section that describes and introduces
the three variables the user can use to control this feature:
BAD_RECOMMENDATIONS, NO_RECOMMENDATIONS, and PACKAGE_EXCLUDE.
Scott Rifenbark [Tue, 10 Sep 2013 19:13:25 +0000 (12:13 -0700)]
documentation: Added the memory-resident BitBake feature
The main changes are captured in a new section devoted to the
oe-init-build-env-memres script within the ref-structure.xml
file and in the variables.xml file in a BBSERVER variable entry
in the glossary.
All other changes were necessary to integrate the new functionality
into areas where running the setup script are discussed. Before
this feature, there was a single setup script (oe-init-build-env).
Consequently, wordings and such were designed exclusively for this
single method. With the introduction of a second possible method
to initialize the build environment, tweaks to many sections were
needed. Beside the wording tweaks, appropriate cross-referencing
was also needed.
All these changes cover the integration of the new feature.
Scott Rifenbark [Mon, 9 Sep 2013 22:35:29 +0000 (15:35 -0700)]
ref-manual, mega-manual: Updates to config and package splitting figs
Fixes [YOCTO #2808]
Found some errors in how I was labeling the various directories
created in the Build Directory upon image configuration. I corrected
the labeling by editing these two figures.
Scott Rifenbark [Mon, 9 Sep 2013 21:34:57 +0000 (14:34 -0700)]
ref-manual: Created new "Closer Look" chapter
Fixes [YOCTO #2808]
I extracted the section that takes a closer look at the YP
development process into its own chapter. Feedback during the
review indicated that this information should not be buried as
it was in a section but rather pulled higher out for visibility.
So, The changes create a new chapter three that is dedicated to
this topic.
Scott Rifenbark [Mon, 9 Sep 2013 20:36:30 +0000 (13:36 -0700)]
ref-manual: Re-ordered flow for detailed process sections.
Fixes [YOCTO #2808]
Based on feedback from Dave Stewart, I have rearranged the sub-
section flow of the topics to match that of an actual build.
This meant moving the BitBake section higher up in the order.
Scott Rifenbark [Mon, 9 Sep 2013 18:30:54 +0000 (11:30 -0700)]
ref-manual, mega-manual: Updated the configuration figure
Fixes [YOCTO #2808]
Updated the configuration-compile-autoreconf.png figure so that
the general shape of the BitBake box represents the "spatula"
form used in the general overview figure.
Scott Rifenbark [Mon, 9 Sep 2013 18:09:11 +0000 (11:09 -0700)]
ref-manual, mega-manual: Updated the source fetching figure
Fixes [YOCTO #2808]
Updated the figure to use the "spatula" type version of the
general BitBake box. Also had to adjust the width a bit to
get the figure to display correctly.
Scott Rifenbark [Tue, 3 Sep 2013 13:32:20 +0000 (16:32 +0300)]
ref-manual: Updated DEPENDS and RDEPENDS variable descriptions.
I have added more information to both these variables to help
explain their use better. Based on email from Paul Eggleton.
Each entry now features a simple example.
Scott Rifenbark [Tue, 3 Sep 2013 13:06:55 +0000 (16:06 +0300)]
ref-manual: Added section on linux kernel image names using PE
Fixes [YOCTO #5089]
In the "Migration" section for going from 1.3 to 1.4, I have
added a new section to describe how the value of PE is now in
the generated Linux kernel image filename.