Khem Raj [Wed, 20 Jun 2012 15:18:38 +0000 (08:18 -0700)]
binutils: Add with-sysroot to target binutils
Also rearrange the recipes to have common bits
in inc files and not include the target bb file
everywhere. This lets us add specific options
to specific recipes particularly target recipe in
this case
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Liang Li [Wed, 20 Jun 2012 14:31:40 +0000 (10:31 -0400)]
recipes-kernel: make perf a standalone package
perf has been coupled to the kernel packages via kernel.bbclass.
While maintaining the build of perf out of the kernel source tree
is desired the package coupling has proved to be awkward in
several situations such as:
- when a kernel recipe doesn't want to build/provide perf
- when licensing of dependencies would prohibit perf and hence
the kernel from being built.
To solve some of these problems, this recipe is the extraction of
the linux-tools.inc provided perf compilation into a standalone
perf recipe that builds out of the kernel source, but is otherwise
independent.
No new functionality is provided above what the linux-tools.inc
variant provided, but the separate recipe provides baseline for
adding new functionality.
Signed-off-by: Liang Li <liang.li@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Wed, 20 Jun 2012 14:31:39 +0000 (10:31 -0400)]
kernel: save $kerndir/tools and $kerndir/lib from pruning
The kernel source tree in the sysroot has all unecessary source
code removed. The existing use case is to support module building
out of the sysroot, but as more toolsa are moved into the kernel
tree itself there are new use cases for the kernel sysroot source.
To avoid putting dependencies on the kernel, and to be able to
individually build and package these tools out of the source tree,
we can save $kerndir/tools and $kernddir/lib from being removed.
This enables tools like perf to be built our of the kernel source
in the sysroot, without significantly increasing the amount of
source in the sysroot.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fixes:
* Remove the "echo '# Remove manifest padding....' > remove.manifest,
The remove.manifest would be used via "rpm -e `remove.manifest`",
there would be error since there is no pkg called: Remove, manifest or
padding
* The incremental.manifest can't be null when used by rpm, so check it
before use.
* The rpm needs:
--root "${target_rootfs}/install"
when use:
-D "_dbpath ${target_rootfs}/install"
Otherwise it would use the ${target_rootfs} as the root, and use the
${target_rootfs}/var/lib/rpm as the dbpath, this is OK in a fresh
installation, but there would be errors when increment rpm generation.
[YOCTO #2617]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Mon, 18 Jun 2012 17:55:56 +0000 (18:55 +0100)]
conf/bitbake.conf: fix reparsing after -p is used
The bitbake wrapper script is set up such that the -p (--parse-only)
command line option is not executed under pseudo, and it sets the
PSEUDO_BUILD variable to indicate whether or not pseudo is being used.
Since PSEUDO_BUILD is allowed through into the environment via
BB_ENV_EXTRAWHITE it influences the data hash and thus if you run
"bitbake -p" and then run bitbake again to actually build something, the
change to PSEUDO_BUILD causes the cache from the -p execution not to be
used. This is fixed simply by adding PSEUDO_BUILD to
BB_HASHCONFIG_WHITELIST in bitbake.conf so that it doesn't influence the
data hash.
Fixes [YOCTO #2600].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Paul Eggleton [Mon, 18 Jun 2012 15:50:50 +0000 (16:50 +0100)]
classes/cml1: ensure -c menuconfig forces a rebuild next time
Ensure the following results in the kernel being rebuilt, repackaged and
re-deployed in the final step:
bitbake virtual/kernel
bitbake -c menuconfig virtual/kernel
[ make changes to the kernel configuration and save ]
bitbake virtual/kernel
If there are no changes to the configuration saved, the rebuild will not
be triggered.
Note that this relies on a function recently added to BitBake and
requires full hashing (i.e. BB_SIGNATURE_HANDLER must be set to a
signature handler that inherits from BasicHash) - if this is not the
case or the function is not available in the version of BitBake being
used this change will do nothing.
Fixes [YOCTO #2256].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Martin Jansa [Sat, 16 Jun 2012 06:43:35 +0000 (08:43 +0200)]
openssl: add deprecated and unmaintained find.pl from perl-5.14 to fix perlpath.pl
* openembedded-core/meta/recipes-connectivity/openssl/openssl.inc
*
* is using perlpath.pl:
*
* do_configure () {
* cd util
* perl perlpath.pl ${STAGING_BINDIR_NATIVE}
* ...
*
* and perlpath.pl is using find.pl:
* openssl-1.0.0i/util/perlpath.pl:
* #!/usr/local/bin/perl
* #
* # modify the '#!/usr/local/bin/perl'
* # line in all scripts that rely on perl.
* #
*
* require "find.pl";
* ...
*
* which was removed in perl-5.16.0 and marked as deprecated and
* unmaintained in 5.14 and older:
* /tmp/usr/lib/perl5/5.14.2/find.pl:
* warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl
* core distribution in the next major release. Please install it from the
* CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]},
* line @{[(caller)[2]]}.\n";
*
* # This library is deprecated and unmaintained. It is included for
* # compatibility with Perl 4 scripts which may use it, but it will be
* # removed in a future version of Perl. Please use the File::Find module
* # instead.
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Martin Jansa [Tue, 19 Jun 2012 07:42:10 +0000 (09:42 +0200)]
kernel.bbclass: pass KERNEL_VERSION to depmod calls in postinst
* without this, kernel upgrades where KERNEL_VERSION is changed
e.g. 3.4.2 -> 3.4.3 generate .dep for running 3.4.2 and after reboot user ends
up without any module loaded to make it worse after reboot nothing is upgraded
to trigger another kernel(-module) postinst to generate .dep for now running 3.4.3
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Saul Wold [Wed, 13 Jun 2012 20:56:29 +0000 (13:56 -0700)]
libtool: add ${PN} in middle of package list to ensure .m4 get with ${PN}
With the new order scheme, ${PN} needs to be in the middle
for the .m4 files to be packaged, otherwise the move the
-dev package which is wrong in this case.
Saul Wold [Wed, 6 Jun 2012 08:16:39 +0000 (01:16 -0700)]
bitbake.conf: add PN-bin and cleanup lib_package.bbclass
Since we now have PN as the end of the package list, we can almost get rid of
lib_package, each recipe can just add PACKAGES =+ PN-bin instead of the inherit
Saul Wold [Tue, 5 Jun 2012 11:52:21 +0000 (04:52 -0700)]
bitbake.conf: reorder PACKAGES list
This change re-orders the PACKAGES list to move PN to the end of the list
this will ensure that base package gets the final bits since the packaging
is greedy. We can then have -dev and other package get bits first.
Kang Kai [Fri, 15 Jun 2012 02:20:18 +0000 (10:20 +0800)]
cleanup-workdir: update the way to check obsolete dirs
Update the way to check obsolete directories.
According to package and its version construct a list of all packages'
current build directory. If any directory under $WORKDIR/*/ is not in
the list will be removed.
At same time, all the files(vs. directory) under $WORKDIR and
$WORKDIR/*/ will be removed because they are not created by poky.
Adding a skeleton/refrence recipe for using a subset of the yocto
kernel tools against kernel git repositories.
Sample/reference configuration fragments, features and a patch are
provided and documented in the recipe.
From the recipe itself:
Provides an example/minimal kernel recipe that uses the linux-yocto
and oe-core kernel classes to apply a subset of yocto kernel
management to git managed kernel repositories.
Notes:
kconfig(s): the kernel must be configured with a defconfig, or via
configuration fragment(s). Either of these can be added
via bbappend.
patches: patches can be merged into to the source git tree itself, added
using standard bbappend syntax or controlled via .scc feature
descriptions (also via bbappends)
example configuration addition:
SRC_URI += "file://smp.cfg"
example patch addition (for kernel v3.4 only):
SRC_URI += "file://0001-linux-version-tweak.patch
example feature addition (for kernel v3.4 only):
SRC_URI += "file://feature.scc"
Warning:
Building the sample kernel tree (kernel.org) without providing any
configuration will result in build or boot errors. This is not a bug
it is a required element for creating a valid kernel.
[YOCTO #2397]
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Khem Raj [Mon, 4 Jun 2012 22:09:10 +0000 (15:09 -0700)]
libzypp: Fix build with uclibc
cstdio is included indrectly with eglibc based systems
but not with uclibc based systems and use of functions
like ::eof are then reported as warnings. Therefore
we include cstdio explicitly.
Mark Hatle [Thu, 14 Jun 2012 19:50:59 +0000 (14:50 -0500)]
busybox: Fix syslog configuration file
When update alternatives was modified, the syslog configuration file
alternative was incorrectly defined to be "busybox". Fix this by
enabling the proper target file.
[YOCTO #2557]
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Laurentiu Palcu [Thu, 14 Jun 2012 13:01:05 +0000 (16:01 +0300)]
core-image-gtk-directfb, qt4e-demo-image: Remove module-init-tools from IMAGE_INSTALL list
As module-init-tools package does not exist anymore there's no reason to
have it in the IMAGE_INSTALL package list. If RPM package manager is
used, build will fail with:
Unable to find package module-init-tools (module-init-tools)!
The PLUGIN_HEADERS is too long before sort, so the "echo" can't handle
it, use the $(sort list) of GNU make which can handle the too long list
would fix the problem, the header would be short enough after sorted.
The "tr ' ' '\012'" was used for translating the space to "\n", the
$(sort list) doesn't need this.
This doesn't impact the output, so it doesn't need the PR bump.
[YOCTO #2591]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Khem Raj [Mon, 4 Jun 2012 22:09:10 +0000 (15:09 -0700)]
libzypp: Fix build with uclibc
cstdio is included indrectly with eglibc based systems
but not with uclibc based systems and use of functions
like ::eof are then reported as warnings. Therefore
we include cstdio explicitly.
Khem Raj [Mon, 4 Jun 2012 22:06:52 +0000 (15:06 -0700)]
sat-solver: Fix build on uclibc
futimes is not available on uclibc so use utimes
qsort is also not as expected by sat-solver therefore
for uclibc we resort to using internal version of
qsort
Saul Wold [Thu, 14 Jun 2012 21:54:34 +0000 (14:54 -0700)]
distrodata: cleanup after moving distro_tracking_fields
Remove some of the older fields that are not in the new list as we
are able to better automagically generate this directly from the
recipe files the extra files will go away.
To use this, one will have to include the appropirate files, such
as maintainers.inc, upstream_status.inc
Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bogdan Marinescu [Tue, 12 Jun 2012 07:59:08 +0000 (10:59 +0300)]
strace: update to 4.7
Removed the x32 specific patches, since they seem to be fully
integrated into 4.7. Also removed the sigmask patch, since the
new version doesn't seem to use sigmask anymore.
Saul Wold [Wed, 13 Jun 2012 05:18:29 +0000 (22:18 -0700)]
beecrypt: add patch for build issue on Fedora 17
../../x86_64-linux-libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -isystem/intel/poky/builds/f17/tmp/sysroots/x86_64-linux/usr/include -isystem/intel/poky/builds/f17/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -Wa,--noexecstack -c -o Properties.lo Properties.cxx
x86_64-linux-libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -isystem/intel/poky/builds/f17/tmp/sysroots/x86_64-linux/usr/include -isystem/intel/poky/builds/f17/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -Wa,--noexecstack -c Properties.cxx -fPIC -DPIC -o .libs/Properties.o
In file included from ../../include/beecrypt/c++/util/Hashtable.h:42:0,
from ../../include/beecrypt/c++/util/Properties.h:36,
from Properties.cxx:25:
../../include/beecrypt/c++/util/AbstractSet.h: In instantiation of 'bool beecrypt::util::AbstractSet<E>::equals(const beecrypt::lang::Object*) const [with E = beecrypt::util::Map<beecrypt::lang::Object, beecrypt::lang::Object>::Entry]':
Properties.cxx:228:1: required from here
../../include/beecrypt/c++/util/AbstractSet.h:59:27: error: 'containsAll' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
../../include/beecrypt/c++/util/AbstractSet.h:59:27: note: declarations in dependent base 'beecrypt::util::AbstractCollection<beecrypt::util::Map<beecrypt::lang::Object, beecrypt::lang::Object>::Entry>' are not found by unqualified lookup
../../include/beecrypt/c++/util/AbstractSet.h:59:27: note: use 'this->containsAll' instead
../../include/beecrypt/c++/util/AbstractSet.h: In instantiation of 'bool beecrypt::util::AbstractSet<E>::equals(const beecrypt::lang::Object*) const [with E = beecrypt::lang::Object]':
Properties.cxx:228:1: required from here
../../include/beecrypt/c++/util/AbstractSet.h:59:27: error: 'containsAll' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
../../include/beecrypt/c++/util/AbstractSet.h:59:27: note: declarations in dependent base 'beecrypt::util::AbstractCollection<beecrypt::lang::Object>' are not found by unqualified lookup
../../include/beecrypt/c++/util/AbstractSet.h:59:27: note: use 'this->containsAll' instead
Saul Wold [Wed, 13 Jun 2012 23:39:49 +0000 (16:39 -0700)]
eglibc: added ac_cv_path_ to CACHED_CONFIGUREVARS
On Fedora 17, bash has moved to /usr/bin/bash and the configure process finds it
on the host machine there, this ensures that it is set correctly for the target.
Saul Wold [Wed, 13 Jun 2012 23:39:24 +0000 (16:39 -0700)]
quilt: added ac_cv_path_BASH to CACHED_CONFIGUREVARS
On Fedora 17, bash has moved to /usr/bin/bash and the configure process finds it
on the host machine there, this ensures that it is set correctly for the target.
Saul Wold [Thu, 7 Jun 2012 12:00:00 +0000 (05:00 -0700)]
curl: enable ssl support
This patch enables ssl support for curl to allow git to clone from
https / ssl sites. We do not want to enable gnutls for native or
nativesdk, as it adds additional dependency and increase build time
Bruce Ashfield [Mon, 11 Jun 2012 20:39:59 +0000 (16:39 -0400)]
linux-yocto/3.4: update yaffs2 and drop rc6
Updating the 3.4 SRCREVs to pickup a yaffs2 update and the removal
of a feature that was required in the 3.2 kernel tree.
1/2 [
meta: rc6: remove rc6 patches for snb
The sandybridge rc6 patches are part of the released v3.4 kernel.
Hence there is no need to keep these patches in the 3.4 linux
yocto kernel repository.
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
]
2/2 [
yaffs2: update core support
Uprev yaffs2 to latest version as of 2012-05-29
To include the following commits:
662466a yaffs2 checkpointing: Add further checkpoint data sanity checking d9cae0a yaffs2: Make checkpoint block scanning skip bad blocks. eb12d56 Remove trace that should not be in mounting. 9ee5d06 yaffs for u-boot: Cleanups to make patches acceptable for u-boot 83d9993 Merge remote branch 'origin/master' 07353dd Clean up checkin. Do not use 00ebf30 Update timothy test Makefile 1658295 yaffsfs: Allocate directory searches from a table rather than via malloc. 8dae7f1 Fix compilation of python tests. 14ff4e1 yaffs u-boot: Fix problem if an illegal nand chip number is entered. 8b34846 Set up u-boot glue code and patching scripts. 1a17e3a Add more descriptive comment for using the yaffs commands. 80f8530 Add files to hook up yaffs direct to u-boot 95ff7ef Merge branch 'master' of ssh://www.aleph1.co.uk/home/aleph1/git/yaffs2 e49491a Put both the summary and checkpoint version stamps together, update checkpoint version 468d72b Fix compilation of mkyaffsimage and mkyaffs2image 87166df Fix resizing of large files. eeb0f17 Fix summary header validation d308180 Add a summary header 7862c13 Remove extra line from banner. d14c6a6 Add script to handle common Linux and direct files 6518138 Change Makefiles to support new way to structure yaffs_strxxx renaming for yaffs direct 8429784 Update README about linux patching 6ee2533 Update Makefiles for new sed-based way case-insensitive handling 2369fad Set up new version of case insensitive code using sed 4d8ae2f Add large file support changes to yaffs_vfs_single.c ce0a5fb Merge branch 'big-files': Merge in large file support 80d031a Add Waldemar's patches for Linux 3.2 a7ae50c yaffs large file support: Fix max file size issue that prevented the scanning working. a7cb3a3 WIP Changes to tests 2360446 yaffs large file support: Add more tests 0ed6086 yaffs large file support: Saves and restores large files fine under yaffs direct. fc4028b large file storage WIP. Can save and verify a large file under yaffs direct. 20de150 WIP large file support b4d93e2 First cut of changes to support large files.
Signed-off-by: Michel Thebeau <michel.thebeau@windriver.com>
]
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-i, --interactive start in active mode
-f FORMAT, --format=FORMAT
image format: svg, pdf, png, [default: svg]
-o PATH, --output=PATH
output path (file or directory) where charts are
stored
-s NUM, --split=NUM split the output chart into <NUM> charts, only works
with "-o PATH"
-n, --no-prune do not prune the process tree
-q, --quiet suppress informational messages
--very-quiet suppress all messages except errors
--verbose print all messages
[YOCTO #2403]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Robert Yang [Wed, 6 Jun 2012 06:10:11 +0000 (14:10 +0800)]
pybootchartgui: split the output chart into multiple ones
Split the output chart into multiple ones to make it more readable, it
only works with "-o path", which means that it doesn't work if the user
doesn't want to save the chart to the disk. For example:
$ ./pybootchartgui.py /path/to/tmp/buildstats/core-image-sato-qemux86/201205301810/ -f svg -s 5 -o /tmp/
bootchart written to /tmp/bootchart_1.svg
bootchart written to /tmp/bootchart_2.svg
bootchart written to /tmp/bootchart_3.svg
bootchart written to /tmp/bootchart_4.svg
bootchart written to /tmp/bootchart_5.svg
[YOCTO #2403]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Robert Yang [Wed, 6 Jun 2012 06:00:48 +0000 (14:00 +0800)]
pybootchartgui: make the build profiling in pictures
The original patch is from Richard, I rebased it to the up-to-date
upstream code, here are the original messages from him:
We have just merged Beth's initial buildstats logging work. I was
sitting wondering how to actually evaluate the numbers as I wanted to
know "where are we spending the time?".
It occurred to me that I wanted a graph very similar to that generated
by bootchart. I looked around and found pyboootchartgui and then hacked
it around a bit and coerced it to start producing charts like:
http://tim.rpsys.net/bootchart.png
which is the initial "pseudo-native" part of the build. This was simple
enough to test with.
I then tried graphing a poky-image-sato. To get a graph I could actually
read, I stripped out any task taking less than 8 seconds and scaled the
x axis from 25 units per second to one unit per second. The result was:
http://tim.rpsys.net/bootchart2.png
(warning this is a 2.7MB png)
I also added in a little bit of colour coding for the second chart.
Interestingly it looks like there is more yellow than green meaning
configure is a bigger drain on the build time not that its
unexpected :/.
I quite enjoyed playing with this and on a serious note, the gradient of
the task graph makes me a little suspicious of whether the overhead of
launching tasks in bitbake itself is having some effect on build time.
Certainly on the first graph there are some interesting latencies
showing up.
Anyhow, I think this is the first time bitbake's task execution has been
visualised and there are some interesting things we can learn from it.
I'm hoping this is a start of a much more detailed understanding of the
build process with respect to performance.
[YOCTO #2403]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Saul Wold [Tue, 12 Jun 2012 14:03:27 +0000 (07:03 -0700)]
distro_tracking_fields: move to meta-yocto as seperate files
We are going to take a phased approach of breaking up the
distro_tracking_fields, first is to remove it from oe-core,
then create new files in meta-yocto. We are doing this because
the distro_tracking_fields is getting unweildly and some of
the data can be part of a burn down list instead continually
stored, thus it will get split up.