Khem Raj [Sat, 15 Feb 2014 07:19:27 +0000 (23:19 -0800)]
rootfs.py: Check for LDCONFIGDEPEND being empty string
We override LDCONFIGDEPEND to be empty string for uclibc
however the current check is for it being None as a result
the function is still executed but ldconfig-native is not
built as dependency for rootfs when building with uclibc
Fixes errors like below
File:
'/home/kraj/work/angstrom-repo/sources/openembedded-core/meta/lib/oe/rootfs.py',
lineno: 191, function: _run_ldconfig
0187: def _run_ldconfig(self):
0188: if self.d.getVar('LDCONFIGDEPEND', True) is not None:
0189: bb.note("Executing: ldconfig -r" +
self.image_rootfs + "-c new -v")
0190: self._exec_shell_cmd(['ldconfig', '-r',
self.image_rootfs, '-c',
*** 0191: 'new', '-v'])
This change appears to cause more problems than it fixes since the
compression commands usually work in the deploy dir but the archive ones
have always worked in the rootfs dir (which is clear from the tar command
we use).
Koen Kooi [Sat, 15 Feb 2014 15:28:55 +0000 (16:28 +0100)]
bitbake-prserv-tool: make help text show .conf suffix
'export' will accept any output filename, but 'import' needs a '.conf'
suffix to work. Otherwise you'll get:
koen@beast:/build/v2013.12$ bitbake-prserv-tool import x.txt
ERROR: Traceback (most recent call last):
File "/build/v2013.12/sources/bitbake/lib/bb/cookerdata.py", line 162,
in wrapped
return func(fn, *args)
File "/build/v2013.12/sources/bitbake/lib/bb/cookerdata.py", line 172,
in parse_config_file
return bb.parse.handle(fn, data, include)
File "/build/v2013.12/sources/bitbake/lib/bb/parse/__init__.py", line
100, in handle
raise ParseError("not a BitBake file", fn)
ParseError: ParseError in x.txt: not a BitBake file
ERROR: Unable to parse x.txt: ParseError in x.txt: not a BitBake file
Importing from file x.txt failed!
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Scott Garman [Sat, 15 Feb 2014 19:04:47 +0000 (11:04 -0800)]
runqemu: add ability to skip using an existing tap device
Support the sitauation where a user could have another VM running
which uses tap devices. To prevent runqemu from trying to use the
same tap device, runqemu will skip using a tap device if it finds
a filename tapX.skip within its lock directory.
This fixes [YOCTO #5815]
Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Sun, 16 Feb 2014 01:45:25 +0000 (01:45 +0000)]
openssl: Fix build on uclibc
we need to map OS string correctly to include linux-uclibcspe
which is what we use with ppc+spe on uclibc, additionally move
gnuspe triplet mapping to same code as well
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ming Liu [Mon, 17 Feb 2014 08:48:15 +0000 (16:48 +0800)]
rpm: fix a endian incompatible error in generating tag
A flaw was found in the way rpm generating arbitrary tags, which leads to a
incorrect query result, this issue is introduced by a incompatible endianess
when the generating process is executed on different architectures.
This patch resolves it by taking the byte order that host uses.
Signed-off-by: Ming Liu <ming.liu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We don't need to depend on do_package anymore after the split out of
do_packagedata (which happened a while back in OE-Core commit 6107ee294afde395e39d084c33e8e94013c625a9). We do need dependencies on
do_packagedata though since the SDK construction needs to make use of
the pkgdata files.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Mon, 17 Feb 2014 14:22:29 +0000 (14:22 +0000)]
classes/populate_sdk_base: fix race condition with do_rootfs
do_rootfs has ${S} in cleandirs, and during do_populate_sdk we call
exec_func() several times, which by default uses ${B} as the working
directory. If do_populate_sysroot and do_rootfs race against eachother,
the directory may not exist at the exact instant that the setup code
for do_populate_sdk tries to cd into it. We don't actually use ${B}
for do_populate_sysroot so we can set it to something else just for that
task to avoid the race.
NOTE: because this task name contains an underscore, the override will
not work; the BitBake patch that changes these to hyphens for the
task override is required for this patch to work (but won't break things
without it.)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Mon, 17 Feb 2014 14:22:28 +0000 (14:22 +0000)]
eglibc-locale: add eglibc-gconv to PACKAGES_DYNAMIC
If you try to add eglibc-gconv to an image, you'll get a NoProvider
error because nothing at parse time states that it provides this (it's
added to PACKAGES in populate_packages). This problem manifests itself
in Hob for example when customising an image.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Valentin Popa [Thu, 13 Feb 2014 13:45:20 +0000 (15:45 +0200)]
weston: upgrade to 1.4.0
(*) added fbdev backend in case the user will
want to use weston even if drm fails.
(*) removed tablet-shell flag because in 1.4
tablet-shell has been removed from src.
(*) tested on qemux86 and genericx86 with
core-image-weston and core-image-sato.
Josua Mayer [Fri, 14 Feb 2014 15:02:24 +0000 (16:02 +0100)]
package.bbclass: do_split_packages should always return something.
So far, when do_split_packages is passed a non-existing folder, it will return nothing.
While building Mesa with PACKAGECONFIG="egl gles" for qemux86, do_package threw a nice exception on a line reading "pkgs += do_split_packages":
"Exception: TypeError: 'NoneType' object is not iterable"
I think a function should always return something, and in this specific case, returning an empty list should be right.
This patch simply fixes the return statement to do just that.
Paul Eggleton [Tue, 11 Feb 2014 18:00:15 +0000 (18:00 +0000)]
classes/cpan-base: fix signatures changing when perl is in sysroot
The previous fix for this same issue (OE-Core rev f31f6a70ec24e8c9515d69c5092e15effc5e7d4d) was not sufficient - we are
setting the PERLVERSION variable from the get_perl_version function, but
we're setting it using immediate expansion; thus the value is going into
the signature and is still different between the time the recipe is
cached on an empty TMPDIR and after perl is in the sysroot and we run
bitbake -S perf. We could remove the immediate expansion, but that would
mean the get_perl_version function would be called more often, so just set
vardepvalue on the PERLVERSION variable to fix the problem instead.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Richard Purdie [Sun, 16 Feb 2014 16:29:25 +0000 (16:29 +0000)]
lib/oe/package_manager: Make empty package directories non-fatal
Its perfectly reasonable to call -c package-index with empty package
directories. This ensures the builds don't fail in such cases,
resolving autobuilder failures.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Laurentiu Palcu [Fri, 14 Feb 2014 17:45:12 +0000 (17:45 +0000)]
package_manager.py: move multilib prefix list computation function to RpmIndexer
Since the code from anonymous function in rootfs_rpm.bbclass has been
removed, MULTILIB_PREFIX_LIST variable was never set. Hence not all
directories got indexed.
This commit will move the multilib prefix list computation function from
RpmPM class to RpmIndexer, since the indexer needs it too. I was hoping
to avoid this but, unfortunately, I couldn't.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
So we add it into our default standard and preempt-rt kernel types, the
overhead is small and having this always configured allows init system
switching, without a kernel rebuild.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Fri, 14 Feb 2014 19:13:56 +0000 (14:13 -0500)]
linux-yocto/3.10: add minnow-io feature to LTSI
The initial merge of the LTSI 3.10 content was missing the minnow-io feature.
This has now been added to standard/ltsi and merged to all branches in the
tree. We also update the meta branch to ensure that the existing feature
will not attempt to apply patches to the tree, since they have now been
integrated.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Nitin A Kamble [Fri, 14 Feb 2014 18:18:08 +0000 (10:18 -0800)]
systemtap_git: update to newer version to fix a build issue
This build issue was observed with the 2.4+git version of the systemtap.
.../x86_64-linux/systemtap-native/2.4+gitAUTOINC+9190b3acfe-r0/git/tapsets.cxx: In function 'void validate_module_elf(Dwfl_Module*, const char*, base_query*)':
.../x86_64-linux/systemtap-native/2.4+gitAUTOINC+9190b3acfe-r0/git/tapsets.cxx:1998:10: error: 'EM_AARCH64' was not declared in this scope
.../x86_64-linux/systemtap-native/2.4+gitAUTOINC+9190b3acfe-r0/git/tapsets.cxx: In constructor 'sdt_uprobe_var_expanding_visitor::sdt_uprobe_var_expanding_visitor(systemtap_session&, int, const string&, const string&, const string&, stap_sdt_probe_type, const string&, int)':
.../x86_64-linux/systemtap-native/2.4+gitAUTOINC+9190b3acfe-r0/git/tapsets.cxx:5613:31: error: 'EM_AARCH64' was not declared in this scope
This is a known issue, and it is already fixed in the upstream tree.
Updating the recipe to get the commit which fixes the issue.
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
image_types bbclass: use compression framework for jffs2 sum images
I got hit by a missing dependency in generation of sum.jffs2 images - at
runtime, when images are generated using bitbake pool, it is possible
for sum.jffs2 image to be scheduled for generation before jffs2 image is
fully generated.
Insted of adding additional hacks, reimplement sum.jffs2 generation as a
compression scheme on top of plain jffs2 images. For now support for
sum.jffs2 images is left in, it will be removed by the subsequent
commit.
Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Andreea Proca [Fri, 14 Feb 2014 11:58:43 +0000 (13:58 +0200)]
report-error.bbclass: new class to save build information when errors occur
Class is used to save data about errors after every task that failed.
Errors saved as json files in ERROR_REPORT_DIR (defaults to tmp/log/error-report).
To use this class one has to add INHERIT += "report-error" to local.conf.
scripts/send-error-report is a simple script that sends the json file
to a HTTP server that collects data (git://git.yoctoproject.org/error-report-web
is a Django web interface that can be used to receive and visualize
the error reports). The script will give you an URL where you can
find your report.
Signed-off-by: Andreea Proca <andreea.b.proca@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Laurentiu Palcu [Fri, 14 Feb 2014 11:01:05 +0000 (13:01 +0200)]
package_manager.py, rootfs.py, sdk.py: add Indexer class
Because the package-index.bb needs to create package indexes outside
do_rootfs environment, move the indexing capability out of
PackageManager class to a smaller Indexer class.
This commit:
* simply moves the indexing functions for ipk/deb with no changes;
* rewrites the RPM indexing function so that it can be easily moved out
of the PackageManager class;
* removes some RPM duplicate code, moves it into a method inside
RpmPM class and changes the RpmPM constructor so that the new method
is effective;
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Laurentiu Palcu [Thu, 13 Feb 2014 11:55:26 +0000 (13:55 +0200)]
lib/oe/rootfs.py: fix RPM multilib issue
For some odd reason (at least I couldn't find an explanation to this,
yet), if a multilib version of a package is installed after the main one
(that is: in a different smart session), the main package binaries are
not overwritten.
This commit restores the functionality to the original one, before
migrating to python: feed all the packages to smart, apart from attempt
only ones which are installed separately.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Otavio Salvador [Wed, 12 Feb 2014 15:54:17 +0000 (13:54 -0200)]
kernel.bbclass, base.bbclass: Fix support for old kernel configuration
This solves a regression introduced by OE-Core:9b75f6a (kernel:
use oldnoconfig before yes '' | make oldconfig).
The original oe_runmake explicitly calls 'die' command in case of
failure so the fallback code never runs. The fallback code needs
to handle the oe_runmake return code to call the backward
compatible callback so we introduced a new command called
oe_runmake_call which is used by oe_runmake.
This does not change the functional behaviour of oe_runmake so it
avoids any change except for the code which does need to handle
the oe_runmake exit code.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit whitelists some common directories, so the multilib sanity
checks pass and also fixes an issue in lib/oe/rootfs.py when the
compared files do not exist.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 12 Feb 2014 12:12:23 +0000 (12:12 +0000)]
package: Remove the before do_build constraint of the do_package task
Currently, if you bitbake xxxx, it will restore the package_write_,
packagedata, populate_sysroot *and* the package data from sstate.
We generally care about the packagedata and the actual packages, we
no longer need/care about the do_package data itself unless something
is going to repackage.
By relaxing this constraint (and relying on the packagedata target), we
can save things being installed from sstate and hence speedup build times.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 12 Feb 2014 12:11:34 +0000 (12:11 +0000)]
meta/recipes: Remove virtclass references
The virtclass overrides will go away at some point (apart from the multilib one).
Change them all to class-xxx instead since people enjoy copy and pasting them.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 11 Feb 2014 22:48:09 +0000 (22:48 +0000)]
systemd-serialgetty: Update to match version in recent systemd
Whilst debugging other issues I noticed this was out of sync with the code
in systemd itself. This brings things back into sync and shouldn't hurt
anything.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Tue, 11 Feb 2014 22:43:04 +0000 (22:43 +0000)]
initscripts: mask initscripts from systemd
Many of the init scripts in here will do nasty things if systemd decides to run
them. Mask the obviously bad ones so that systemd won't attempt to invoke them
if initscripts is installed with systemd.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Koen Kooi [Tue, 11 Feb 2014 09:54:54 +0000 (10:54 +0100)]
curl: fix https certificate problems
point CA bundle to /etc/ssl/certs/ca-certificates.crt instead of using the buildhost location, Configure would look at the buildhost and hardcode the bundle location for there into the target. This leads to non-working https support.
Also remove the empty and now useless curl-certs packages since it's empty and no ALLOW_EMPTY has been set.
Apart from making https work again with curl cmdline this also fixes libcurl which means git can fetch https repos as well instead of erroring out.
Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Laurentiu Palcu [Tue, 11 Feb 2014 14:58:02 +0000 (16:58 +0200)]
gmp: add configure.ac patch to append user provided compilation flags
gmp configure script is pretty good at auto detecting the ABI and the
tune flags that need to be passes to the compiler. However, the user
provided flags (CFLAGS, CXXFLAGS, CPPFLAGS) take precedence and the ABI
detection may fail, leading to configure errors like the one below:
| configure: error: Oops, mp_limb_t is 32 bits, but the assembler code
| in this configuration expects 64 bits.
| You appear to have set $CFLAGS, perhaps you also need to tell GMP the
| intended ABI, see "ABI and ISA" in the manual.
One solution would be to change the recipe and add the ABI manually, or
let gmp do the job.
So, this patch will:
* allow the configure process to auto-detect the ABI and tune flags
properly;
* append our flags to the detected ones;
[YOCTO #5783]
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 11 Feb 2014 14:52:22 +0000 (14:52 +0000)]
sstate: Exclude SSTATE_EXTRAPATH from checksums
After the change to allow target recipes to depend on native recipes, the
native checksums becomes all the more critical. Add to this that we're now
accounting for pre/postfuncs and we have a cache reuse issue since the
distro LSB string is getting coded in when it shouldn't be.
This excludes that string and allows one set of native sstate to share
checksums with another set from a different host distro. They're separated
into different directories so this is fine for our use cases.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Postfuncs are now incorporated into task signatures as of BitBake
rev b84d010144de687667cf855ddcb41c9b863c236e, so we need to exclude
the one we're adding to do_fetch. The change to the SSTATEPOSTINSTFUNCS
variable value was also entering the signatures of do_populate_sysroot
and probably other tasks, so we need to use a slightly hacky trick to
avoid that as well.
Apart from the final do_rootfs / do_populate_sysroot, this now means
that adding and removing INHERIT += "buildhistory" will not cause tasks
to be re-run.
Also update the copyright date, properly this time.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mark Hatle [Mon, 10 Feb 2014 19:28:26 +0000 (13:28 -0600)]
useradd-staticids: Adjust USERADD_ERROR_DYNAMIC condition and error message
The USERADD_ERROR_DYNAMIC needs to check that both users and groups that are
defined need to be represented as static ids, or an error should occur.
For the user check, we want to make sure the uid is a numeric value. (The gid
can be name, as the GROUPADD check will validate for a number there -- or
during install useradd will fail if that group is not defined.)
For the group check, we verify that the gid is specified and not left as a name.
Also two statements that can be uncommented for debugging were added so that
future development work on this code would be easier to do.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mark Hatle [Mon, 10 Feb 2014 19:28:25 +0000 (13:28 -0600)]
useradd-staticids: Fix groupadd when --user-group is selected
When --user-group is selected (it's on by default as well) we want
to translate that to a groupname and disable the --user-group. Before
we just disabled --user-group, but didn't always add the group to the
system.
This change ensures that we add the group (as long as we have enough
information to actually add the group), and we disable --user-group
in that case. If a static groupid is not specified we continue to
use the groupname, but via an explicit groupadd.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Darren Hart [Thu, 6 Feb 2014 04:02:44 +0000 (20:02 -0800)]
linux-yocto: Use PACKAGE_ARCH in build dir
The current linux-yocto build dir (B) includes MACHINE. This has been
appropriate as kernels are typically built machine-specific. We have
recently introduced an intel-common type kernel which can be shared
across multiple machines sharing a common base (intel-core2-32,
intel-corei7-64). In these cases, the kernel is built for a something
more generic than MACHINE, and the current mechanism results in
something like this when building for MACHINE=sys940x (using intel-common):
Note the descrepancy between core2-32-intel-common and
linux-sys940x-noemgd-standard-build. This becomes counterintuitive at
the very least when switching to another machine and attempting to reuse
this build. This patch swaps MACHINE for PACKAGE_ARCH (which is
typically MACHINE_ARCH for linux-yocto), resulting in the following
build path:
The impact to existing MACHINEs is a replace of - with _ if MACHINE
contains one or more - charachters.
Signed-off-by: Darren Hart <dvhart@linux.intel.com> Cc: Bruce Ashfield <bruce.ashfield@windriver.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Fri, 7 Feb 2014 19:04:51 +0000 (14:04 -0500)]
linux-yocto/3.10: add powermanagement config to 32 bit common-pc
The introduction of LTSI has exposed a missing dependency on cpufreq
being enabled. To fix the build, we enable power management in the
32 bit BSP, which aligns it with 64 bit.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Koen Kooi [Tue, 21 Jan 2014 09:47:12 +0000 (10:47 +0100)]
package.bbclass: fix strip and split logic
Marks original commit message and variable documentation state that stripping and splitting are independent of eachother, but package.bbclass ANDs the two INHIBIT flags to see which files can be stripped and/or split.
Original behaviour:
INHIBIT_PACKAGE_STRIP: no strip, no debug split
INHIBIT_PACAKGE_DEBUG_SPLIT: no strip, no debug split
Behaviour after this patch:
INHIBIT_PACKAGE_STRIP: no strip, no debug split
INHIBIT_PACKAGE_DEBUG_SPLIT: strip, no split
Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Thu, 6 Feb 2014 13:39:01 +0000 (13:39 +0000)]
python-smartpm: really ignore conflicts during install with --attempt
The original patch added in OE-Core commit bdf07b1698d228dc7ff555199a269b1ff8ceca19 was supposed to ignore
conflicts, but it was unable to do so because it wasn't raising errors
in the right place. When the --attempt option is used (as is done in
complementary package installation for RPM), raise errors immediately
on conflicts, catch errors at the right point so that requested packages
and their dependencies can be ignored, and print appropriate warnings
when doing so.
Fixes [YOCTO #5313].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Thu, 6 Feb 2014 13:33:45 +0000 (13:33 +0000)]
conf/bitbake.conf: default HOMEPAGE to blank instead of unknown
The default value for HOMEPAGE of "unknown" has been in place since the
early OE-Classic days, but it doesn't really make sense - "unknown" is
not a valid URL and it just means we have to explicitly check for this
hardcoded string if we're displaying the value in some form of UI, such
as Toaster.
This has required some changes to the packaging classes as they
previously did not expect the value to be blank.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Stefan Stanacar [Sun, 9 Feb 2014 10:39:31 +0000 (12:39 +0200)]
testimage: fail if no package manifest is found
Sometimes we may forget to actually build the image
we want to test (when testimage task is called manually).
Instead of an ugly traceback we should fail nicely.
The manifest is written after the rootfs so this ensures
the image was actually built.
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
kernel: use oldnoconfig before yes '' | make oldconfig
When using a defconfig, using yes '' | make oldconfig may not result in
the correct configuration being set. For example:
$ ARCH=mips make qi_lb60_defconfig
#
# configuration written to .config
#
$ grep USB_ETH .config
CONFIG_USB_ETH=y
# CONFIG_USB_ETH_RNDIS is not set
# CONFIG_USB_ETH_EEM is not set
$ cp arch/mips/configs/qi_lb60_defconfig .config
$ yes '' | make ARCH=mips oldconfig
[...]
$ grep USB_ETH .config
CONFIG_USB_ETH=m
# CONFIG_USB_ETH_RNDIS is not set
# CONFIG_USB_ETH_EEM is not set
Using make olddefconfig solves that but we'll use the oldnoconfig alias
for backward compatibility with older kernels.
$ cp arch/mips/configs/qi_lb60_defconfig .config
$ make ARCH=mips oldnoconfig
scripts/kconfig/conf --olddefconfig Kconfig
#
# configuration written to .config
#
$ grep USB_ETH .config
CONFIG_USB_ETH=y
# CONFIG_USB_ETH_RNDIS is not set
# CONFIG_USB_ETH_EEM is not set
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Mon, 10 Feb 2014 20:15:29 +0000 (15:15 -0500)]
kernel: stop using -exec rm for deleting files
Removing files from the source tree via find, exec and rm is not the
most efficient operation, due to (among other things) the many forked
processes.
If we use -delete, it saves a significant amount of time. But -delete
does not work with -prune (since it forces -depth). To maintain the
lib, tools and scripts source files, we can hide them temporarily,
skip their hidden directories and then finally restore them.
Time for install before this change:
real 2m48.563s
user 0m35.220s
sys 0m33.036s
Time for install after this change:
real 1m21.301s
user 0m33.160s
sys 0m28.388s
We could further speed this up by using inline perl to delete the files,
but that complexity is avoided for now.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Laurentiu Palcu [Mon, 10 Feb 2014 07:32:04 +0000 (09:32 +0200)]
lib/oe/package_manager.py: RpmPM: fix issue with multilib builds
Use python sets instead of lists, to avoid duplicates. When doing a
multilib build, "smart channel --add" fails because it tries to add
'all' channel twice.
Laurentiu Palcu [Fri, 31 Jan 2014 16:49:12 +0000 (18:49 +0200)]
lib/oe/package_manager.py: do not use stamps
Using stamps shortens rootfs/image creation because the package indexes
are not created again if no new package was installed in the deploy dir.
Unfortunately, there are some syncronization issues with
do_package_write_*() and the indexes are not properly created.
Will have to revisit this issue in the near future. For now, lose it.
Laurentiu Palcu [Thu, 30 Jan 2014 19:40:24 +0000 (21:40 +0200)]
lib/oe/package_manager.py: OpkgPM/DpkgPM fixes
This commit:
* adds missing mark_packages() function for OpkgPM. This is needed to
* manually change the packages installation status in the status file;
* fix OpkgPM remove_packaging_data() issue;
* fix OpkgPM handle_bad_recommendations() issue;
* improve OpkgPM/DpkgPM mark_packages() regex pattern;
* fix DpkgPM list_installed() problem;
* fix DpkgPM _create_configs() problem: status file should not be
truncated if it already exists/
Laurentiu Palcu [Tue, 28 Jan 2014 08:39:32 +0000 (10:39 +0200)]
scripts/postinst-intercepts: do not redirect errors to /dev/null
The redirection was necessary with the old bash code because the log
checking routine was searching for error strings in the log and abort
the build in case failures occured. With the new python code,
redirecting the intercept stderr is no longer necessary. This also makes
the intercept hooks easier to debug.
Laurentiu Palcu [Tue, 28 Jan 2014 08:28:30 +0000 (10:28 +0200)]
lib/oe/rootfs.py: warn the user if intercept hooks fail
The idea of postinstall intercept hooks is to run CPU intensive
postinstalls (like the ones generating font/pixbuf/icon caches) on host,
at rootfs generation time. So, ideally, the user would like to know if
the intercepts fail on host.
With this patch, the user will see warnings on console if intercept
hooks fail to execute.
Laurentiu Palcu [Tue, 28 Jan 2014 08:24:22 +0000 (10:24 +0200)]
lib/oe/package_manager.py: RpmPM fixes
This commit:
* fixes a crash when handling interecept hook failures which happened when
MULTILIB_GLOBAL_VARIANTS was not set;
* convert dashes to underscores and use sets (so that we make sure the
items are unique) when creating RPM repos;
* uses a regex pattern to search for packages in the feeds list. The
old method could match also strings in the middle. For example: 'rpm'
matched 'kernel-module-lttng-probe-rpm" in qemux86_64 feeds;
* issue a bb.fatal if smart returns error while installing packages.
Otherwise we might end up with an incomplete image...
* fixes the /etc/rpm/platform file creation;