[YOCTO #1388]
This change is needed to correctly add the dependencies for the do_package
task which bitbake is unable to automatically detect itself.
(From OE-Core rev: 0614b9aa62a46f81d334ca4230080cc707347f3c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This reverts 19fb07bf337e1d724798e2eb4479c35fc45b1941 and restores
the behaviour of the code to the way it was prior to 561d875404.
See http://lists.linuxtogo.org/pipermail/openembedded-core/2011-August/007407.html and subsequent messages.
(From OE-Core rev: e5810439cc394d8ebfc264b05e1fbfad19e8fcd3)
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently it uses ${TARGET_SYS}-. This is inconsistent, as the recipe
and kernel bbclass both use the prefix. While there aren't many cases
where the two differ, it is harmless to ensure that we are behaving
consistently.
(From OE-Core rev: 8aec52f4fd1ad3e4148e2ad32700a4378e69dcd3)
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- Don't use a variable reference in the IMAGE_DEPENDS
- Inherit kernel-arch to get UBOOT_ARCH
- Don't include the .bz2 variants, since the base types aren't in
oe-core
- Add the new types to IMAGE_TYPES
- Inherit image_types, to be certain we load after it
(From OE-Core rev: f67789b83599b86be052b3f2d686791cbf24f540)
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use KERNEL_OUTPUT variable to find the generated kernel image rather than
duplicating the existing path. This also means it can be overridden simply.
(From OE-Core rev: de5b502330ded38c0efe2c4e30967ef12dbad72a)
Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Initscripts are missing in target image in multilib case. This commit
adds the renaming logic for the related variables in multilib.bbclass.
This fixes the no response of mouse/keyboard in target system due to
the missing of udev startup script.
(From OE-Core rev: 477fc6e2fc034c68a250005461774bc8ecf91a52)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add "pkg_postinst" and "pkg_postrm" as renaming elements, which fixes
missing post install/rm scripts in target image.
(From OE-Core rev: a5c9f8af79c1632d2f3de5dd9627a7ca24fa0b76)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In the orignal logic, the renaming will not work for "FILES_" if defined
variables as:
PACKAGES = "${PN}"
FILES_abc = "/usr/include/abc.h"
It is because ${PN} is "lib64-abc" so it will not be contained in
pkgrename.
This commit enumerates all element in PACKAGES, getting the original
packages and multilib packages, then doing renaming for "FILES_",
"RDEPENDS_", etc. This fixes a lot of missing files and incorrect
dependencies.
(From OE-Core rev: ea7c196b4097d64b4f42faccaf075334c297ba20)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add support for a gzipped vmlinux kernel by specifying:
KERNEL_IMAGETYPE = "vmlinux.gz"
(From OE-Core rev: cb17b6c2a72f260c61b0ec46887c2a04ac5b3f80)
Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For image type of recipes, we need to define do_package_write as its
do_build recrdeptask, which ensures that all packaging types listed in
PACKAGE_CLASSES will be built out.
[YOCTO 1370]
(From OE-Core rev: b68cd33673fdc17711d7b9fde9cc23b0d8498c17)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Switch to use the checkstatus fetcher API for the network connectivity test,
this has several advantages:
* we no longer print any messages to the console whilst the check is
being run
* we don't actually download anything, removing the need for tidy up and
making the code more concise
(From OE-Core rev: 81aa4bfbde871af1d569b64499c34a315bf6218e)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #892]
Use the new cached site config files generation mechanism in
toolchain-script.bbclass.
(From OE-Core rev: 445d6426197579a9c0317498cc6919bb63e7f726)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #892]
Modify the function toolchain_create_sdk_siteconfig to collect the
cached site config files which are specified by
TOOLCHAIN_NEED_CONFIGSITE_CACHE in runtime.
Also added task dependency to ensure the cached site config files are
generated.
(From OE-Core rev: 9e87f1347788beed181476dc4563085db14a4729)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When using binary locales rootfs generation fails with:
| Unknown package 'locale-base-en-us'.
| Collected errors:
| * opkg_install_cmd: Cannot install package locale-base-en-us.
This is due to:
$ dpkg-deb -I ipk/armv7a/locale-base-en-us_2.12-r16_armv7a.ipk | grep Depends
Depends: eglibc-binary-localedata-en.us
Note the '.' seperator
$ ls ipk/armv7a/ | grep binary-localedata-en | grep us
eglibc-binary-localedata-en-us_2.12-r16_armv7a.ipk
Note the '-' seperator vs the '.' in the locale-base packages.
(From OE-Core rev: 19fb07bf337e1d724798e2eb4479c35fc45b1941)
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This should resolve the devshell issue people are seeing.
(From OE-Core rev: 332f2a9febfc3697ed4a20fca3016e0399ae90eb)
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-n is not a POSIX option and does not work on some systems (e.g. Debian
Lenny); in any case it is not strictly necessary here, so remove it.
(From OE-Core rev: 13e14763f14b5b84051ecb158404dcef937cc4e0)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Change to a proper sentence and add a reference to the
COMMERCIAL_LICENSE variable so that the user knows where this can be
controlled.
Addresses remainder of [YOCTO #846]
(From OE-Core rev: 463d1719cc627ef22089282acfe70d7fcb835419)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* if there is multiple .bbappend files with FILESEXTRAPATHS_prepend := "/:"
then the one parsed last is causing trailing ':' and that's causing empty element in
path = extrapaths.split(:) + path
* it's hard to keep all .bbappends from foreign layers to follow this rule, so it's better
to be able to handle trailing ':'
(From OE-Core rev: 3b5591d423324da076d038ad335af47b616a7903)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Save the kernel image name into sysroot so it can be used during image
build if need. This is used by O.S. Systems products and probably
useful to others.
(From OE-Core rev: 19a587cb98a20f0e659483541fc8cec874f6afa9)
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
SANITY_TESTED_DISTROS, if specified, is expected to be a
newline-delimited list of distro identifier strings, e.g.
SANITY_TESTED_DISTROS = " \
Ubuntu 11.04 \
Fedora release 14 (Laughlin) \
"
(spaces, tabs etc. are trimmed)
If SANITY_TESTED_DISTROS is defined, we will attempt to detect the host
distribution. If the distribution is not in SANITY_TESTED_DISTROS or we
could not detect the distribution then we show a warning during sanity
checking.
Provides the mechanism for fixing [YOCTO #1096].
(From OE-Core rev: 75e3875341ddc8940e9ee2ccbbb2ec18194a68e6)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
New users sometimes delete files in tmp/deploy/images assuming they will
be re-created just by re-running the build, and then are confused when
this doesn't work. To discourage people from doing this, create a file
called README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt in
tmp/deploy/images containing an explanation of what needs to be done to
re-create files there.
Fixes [YOCTO #1315] and [YOCTO #1346].
(From OE-Core rev: 4316c5e9eec67d71f4699102a63a5f968bd8d1d9)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fixes [YOCTO #1276]
As of Linux kernel version 3.0.1, and much earlier, the make clean target
removes arch/powerpc/lib/crtsavres.o. As this object is present in
KBUILD_LDFLAGS_MODULE, it is required to build external modules, and should
therefor not be removed by make clean.
While I do not advocate fixing buggy kernels in the generic kernel classes,
we should probably account for this one in kernel.bbclass as it affects
such a long list of kernel versions.
(From OE-Core rev: 2e83e6755441cb14bd907d306974338c15173189)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
CC: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Task endtime got left out of recent changes. Adding it back in.
(From OE-Core rev: f1e4b049438218347922f13de810782be0205c3d)
Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Partial sync of qmake_base from meta-oe.
* Add a matching rule for *linux-uclibceabi-oe-g++, to make qmake_base.bbclase more
similar to the version in meta-oe.
(From OE-Core rev: 2a1fa5b3f1424e9264d29027c589b55cf2feb109)
Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #1345]
The new variable ALL_MULTILIB_PACKAGE_ARCHS contains all the values of
PACKAGE_ARCHS for each multilib variants. The opkg backend now uses this
new value insteald of the PACKAGE_ARCHS to update the opkg indexes and
to generate the opkg configuration files. This allows the normal
packages and multilib packages may be installed into the same rootfs.
(From OE-Core rev: b774bf44ef004276da12a83ebd69715c00b596ac)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When dynamically setting RDEPENDS, we need to add MLPREFIX to adapt
multilib case.
[YOCTO #1368]
(From OE-Core rev: 2ed808b764f023c074fa3aabef18b4f874cd82c7)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
do_package task will write information into pkgdata and
do_package_write_rpm will read them out. Take lib32-dates as an example,
one of its RDEPENDS is li32-gtk+, and PKG_lib32-gtk+ = "libgtk-2.0",
these info is stored at:
tmp/pkgdata/x86_64-pokymllib32-linux/runtime/lib32-dates.
Function "mapping_rename_hook" in do_package_write_rpm is to handle
those renamed packages. However before it executes, translate_vers
has stripped the multilib prefix out, making it failed to find PKG_gtk+
value in pkgdata.
This commit moves the strip_multilib out of translate_vers and call it
after "mapping_rename_hook".
[YOCTO #1368]
CC: Mark Hatle <mark.hatle@windriver.com>
(From OE-Core rev: 216a1cfe7973e99e3e79585040e91f7a6e298884)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The previous logic could only strip MLPREFIX from the first element in
an array, take an example, strip_multilib the [lib32-a lib32-b lib32-c]
will result in [a lib32-b lib32-c]. We need to strip prefix one by one.
This commit change the logic to strip all elements' multilib prefix.
[YOCTO #1368]
CC: Mark Hatle <mark.hatle@windriver.com>
(From OE-Core rev: ca729de4b261e4feba74fdf0b2578890bc80ea90)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
"virtclass-multilib" is set to OVERRIDES in multilib.bbclass, remove the
duplicated settings here.
Besides, DEFAULTTUNE has overrided and it can be directly used.
[YOCTO #1368]
CC: Mark Hatle <mark.hatle@windriver.com>
(From OE-Core rev: dc78cdb318671862c5cd15711364c1c4462d9ece)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When CMake is looking for perl, it only searches in the specific directories
that it's told about and ignores ${PATH}. If perlnative is in use, ensure
that the appropriate installation path is added to the list of places that
cmake will look for perl, otherwise it won't ever be found.
(From OE-Core rev: add9e4e30e0b1e0f93479b43ce61953efb90985d)
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
1. Added variable MULTILIB_VARIANTS to store all the instance variants
for multilib extend.
2. Added function all_multilib_tune_values to collect the variable
values for all multilib instance.
3. multilib bbclass handler will save the orignal value of all variables
defined in MULTILIB_SAVE_VARNAME.
(From OE-Core rev: 18bba910e04bff75460f408e4557d4bae21ad592)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #1325] [YOCTO #1366]
Packages that were in the PACKAGE_ATTEMPTONLY and SUGGESTS were not
being properly found, which was causing image creation failures.
In PACKAGE_ATTEMPTONLY, when an item was not found, it caused an
error. This should have been a note, followed by skipping the
package.
The SUGGESTS processing was simply broken. It was using a
non-existant function, due to an apparently typo.
In addition to the above, the MLPREFIX processing was not being
done properly, preventing multilib packages from working in this
with PACKAGE_ATTEMPTONLY. (SUGGESTS doesn't need this as the names
are munged when creating the packages.)
(From OE-Core rev: 4fb6723ab1ee14cf539f0ef2df63a3ee1b978de6)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When constructing the /etc/rpm/platform file, we need to ensure that
the any, all, and noarch platforms will allow any "linux" variant to
be installable, not just matching variants.. i.e.
arm-oe-linux-gnueabi should be able to install noarch-oe-linux
Also ensure that we pass the full canonical arch via the --target=
parameter. This allows us to define the proper platform settings
for all packages.
(From OE-Core rev: c6bb9445de90cfb46db9c40842dbe1bfbb5b8ce8)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Magic file path should be given for rpmbuild in
_rpmfc_magic_path define so that build system default file
is not used by accident. Not doing this caused many
packages to fail building in several systems.
Fixes [YOCTO #1358]
Signed-off-by: Jani Uusi-Rantala <jani.uusi-rantala@nokia.com>
Currently its hard to figure out if/when sstate is checking for possible
packages to speed up builds. This patch adds level 2 debug output which
better indicates what files are being searched for an why.
[YOCTO #1259]
(From OE-Core rev: a752b23767189f2678367e47ca0b41f49c56a631)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In the new implementation, each known terminal is defined as a class in
oe.terminal, as a subclass of bb.process.Popen. terminal.bbclass wraps this
functionality, providing the metadata pieces. It obeys the OE_TERMINAL
variable, which is a 'choice' typed variable. This variable may be 'auto',
'none', or any of the names of the defined terminals.
When using 'auto', or requesting an unsupported terminal, we attempt to spawn
them in priority order until we get one that's available on this system (and
in the case of the X terminals, has DISPLAY defined). The 'none' value is
used when we're doing things like automated builds, and want to ensure that no
terminal is *ever* spawned, under any circumstances.
Current available terminals:
gnome
konsole
xterm
rxvt
screen
(From OE-Core rev: 69f77f80965fa06a057837f8f49eda06855c4086)
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
IMAGE_FEATURES is analagous to DISTRO_FEATURES and MACHINE_FEATURES, for
root filesystem construction. Currently, the only supported features are
any defined package groups, as used by the oe.packagegroup python
module.
Example usage:
PACKAGE_GROUP_myfeature = "vim iptables"
IMAGE_FEATURES += "myfeature"
(From OE-Core rev: f9f4416a8cfbd37c7d3a8eb19ee82820e2e6b38c)
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For x86_64 new ABI : x32, there is a new
name for the TARGET_OS: linux-gnux32
(From OE-Core rev: 9dd0a7bf64ca2ca3613ab45dc779e9dcc1592342)
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #1350]
Since do_kernel_configme is added before the standard do_configure task
we needed to add CCACHE_DIR so when the kernel builds it's host configure
tools the CCACHE_DIR exists.
(From OE-Core rev: 564d5fd5a289be0ca47d53608e43f9b78d5c6ee0)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When building an external tree or bootstrapping a BSP the
external branch may not have been checked out. The tools now ensure
that the tree is ready for configuration, so we no longer need to
force the checkout of the external branch.
This change is coupled with some kern tools tweaks as follows:
40d9bab updateme: allow the location of board descriptions based on defines
59859ca createme: use branch name when creating meta data
91b4275 configme: determine meta branch based on directories, not branch naming
f5a915c kgit-meta: make branch creation and renaming more robust
(From OE-Core rev: 02c82bf5255b09bb27a0a4509861a3d2bd84b09f)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
To support the mapping of any oe/yocto MACHINE to a kernel
branch that may not share that naming structure we have
KMACHINE and KBRANCH. To allow the mapping to work, we
actually have to pass KMACHINE into updateme and not MACHINE.
(From OE-Core rev: 658f2cc721b121c0a9a9e7aa8b41463952314c0b)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Only the package with the icons needs it
[Squashed laster RDEPENDS fix from koen into commit]
(From OE-Core rev: 34fca51d84d4629d82880aa0f47123db86de256b)
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #1335] Using BPN instead of BP to decide the DEPENDS content for
multilib cases.
(From OE-Core rev: 32faad3b901345a31978664fd1743c9a1729c67d)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This fixes do_rootfs breaking because OE didn't resolve the RDEPENDS added with python
(From OE-Core rev: fbb7ecaf9b49d2d7570e6440fe84b4046ec08fd2)
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
KERNEL_LD was using ${LD} in it's definition, which is not correct for
different ABIs such as x32 or i386 on x86_64 machine. This brings it
into sync with the corresponding gcc settings, likewise the same with
the KERNEL_AR variable.
[RP: Updated commit message]
(From OE-Core rev: 9c525241c564a458db8ecd9ba325edeb13ec1c58)
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We might redefine ${base_libdir} from being set to just /lib.
(From OE-Core rev: 7615f81f86bb5ccfe52b84b38eb9ae80a852d214)
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit adds disk-io statistics functionality on a build
and per-task basis.
It pulls measurements for whatever partition TMPDIR exists on.
This data could be off if SSTATE_DIR and DL_DIR exist on
a different partition/volume.
Notes on what this pulls:
ReadsComp: Total number of reads complete
ReadsMerged: Total number of adjacent reads merged
SectRead: Total number of sectors read
TimeReads: Total number of m/s spent reading
WritesComp: Total number of writes completed
SectWrite: Total number of sectors written
TimeWrite: Total number of m/s spent writing
IOinProgress: Total amount of IO in progress at the time of
we look at /proc/diskstats.
TimeIO: Total number of m/s spent doing IO
WTimeIO: Weighted time doing I/O. From iostats.txt:
"This field is incremented at each I/O start, I/O completion, I/O
merge, or read of these stats by the number of I/Os in progress
(field 9) times the number of milliseconds spent doing I/O since the
last update of this field. This can provide an easy measure of both
I/O completion time and the backlog that may be accumulating."
(From OE-Core rev: eeebcebf0d695358e72f3aed753f66cddd5e0e61)
Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is comming from x32 need to pass special parameters to ld & as.
(From OE-Core rev: 96931af89f9cc3056e413cff437a85eca85b3b75)
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* The menuconfig target exists in places other than the kernel that use kernel style config.
(From OE-Core rev: 1ceaf45f634d11b65aab0f591a86865df49c8c90)
Signed-off-by: Noor, Ahsan <noor_ahsan@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #1306] Fixing.
Added and unified version related variables in all environment files
generated by package meta-toolchain, meta-ide-support,
meta-environment-xxx.
(From OE-Core rev: 5fbea0f2614d5bc9aec0819a337cdec9b5331f71)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tested with gnome-icon-theme and libsoup recipes on angstrom.
(From OE-Core rev: 229ba02322ce49d13e2d64eff6bb637f23f1f16b)
Signed-off-by: Koen Kooi <koen@openembedded.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In multilib support, it iterate values in PACKAGES and then extend name
for variables like "FILES_xxx", "SUMMARY_xxx", etc.
However eglibc-gconv is dynamically put in PACKAGES by
package_do_split_gconv function. Therefore the name will not be
extended automatically.
Specially handle the FILES variable for eglibc-gconv to fix the issue
of missing "lib32-eglibc-gconv" issue in doing multilib do_rootfs.
Also when set PACKAGES, add the MLPREFIX.
(From OE-Core rev: 4a5cc82218fa730b898c553875accfeb6800f9a4)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently, if a file is provided as an alternative link within the package, rpm
doesn't see the dependency. This works out badly for dependencies such as /bin/sh
which scripts might require.
Since rpm detects and adds these dependencies we do need to ensure the dependency
information in the packages is correct. This patch does so for the rpm backend
ensuring internal consistency whilst the approach for addressing this problem in
the other package backends is considered.
(From OE-Core rev: 102fc29b9c9eae8435b29edb41b5090ace2373c5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If something removes .m4 files from the aclocal directory whilst aclocal is
running it gets upset. To avoid this we need to take a copy of the aclocal
directory and build against this instead.
[YOCTO #861]
(From OE-Core rev: 6a4778e21341f031569f561e7699d2c616b60af0)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
During SDK generation the multilib_sanity_check function is being called,
however it is not available unless we've been called from the image.bbclass.
Disable the check if MULTILIB_CHECK_FILE (also set in image.bbclass) doesn't
exist or is empty.
(From OE-Core rev: 0611cceca1595ea4656ebcb985cbd92bb9774ec8)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In order for things to be easier to maintain in the future, sync up
the sdk and rootfs versions.
(From OE-Core rev: 3c78da15457d8d20c9964cd845f6e021d442aaae)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add SDK_PACKAGE_ARCHS to avoid the sed operations we were previously doing
inside of the variouns populate_sdk functions and related items.
Also add documentation to populate_sdk to explain when the various functions
are expected to be doing.
Finally fix a bug in populate_sdk_rpm where the wrong value was being set,
noticed while working on this change.
(From OE-Core rev: 587c1d5bac71fa6faa65ee3a271391cbf931e8f7)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
in packages_rpm.bbclass:
Cleanup the way package_update_index_rpm works. Break this out into two
functions, one for common functionality and one for controlling target vs
sdk package processing.
Similar change to package_generate_rpm_conf.
Usage of IMAGE_ROOTFS should actually be "target_rootfs", this fixes a problem
with the SDK case.
in rootfs_rpm.bbclass:
Minor re-order of the values, and avoid multiple uses of IMAGE_ROOTFS in order
to make the merge with the SDK behavior easier.
(From OE-Core rev: 46559f36d8a39655060b45d3d235de44a2c4c09b)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
fix the MLPREFIX referrence typo which cause multilib rpm
do_rootfs failure
CC: Mark Hatle <mark.hatle@windriver.com>
(From OE-Core rev: 9653089620ad5aef7876b582708561c3a315a064)
Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Earlier iterations of the multilib patch used "TUNENAME", which was later
renamed to DEFAULTTUNE. This file was missed in the rename.
(From OE-Core rev: fdd39925df8268ad41c1ff643a0761b03fad8e08)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Its possible we get duplications if we explicity add TUNE_PKGARCH to
PACKAGE_ARCHS so instead just add a sanity check to verify it.
(From OE-Core rev: b2ae0444eb1984b86c02e571bb1efeaacdeafcf1)
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fixed [BUGID #1299]. OLD_MULTIMACH_TARGET_SYS is no longer available.
Use new recipe-scope variable REAL_MULTIMACH_TARGET_SYS instead.
(From OE-Core rev: b69a2be2f30dc633597399d42d6c87d9f0910c1a)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This makes debugging the new tune code easier since it doesn't involve staring at 'bitbake -e' output anymore.
(From OE-Core rev: c1903b1221e9b419aefe49e40a8acd61575de797)
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Support install multiple multilib in opkg backend.
The installation is done in 3 phases.
Phase 1: install normal packages to IMAGE_ROOTFS.
Phase 2: install multilib packages under MULTILIB_TEMP_ROOTFS. Packages
belongs to the same multilib arch would be installed to a unique
directory.
Phase 3: check file confliction between IMAGE_ROOTFS and
MULTILIB_TEMP_ROOTFS, install multilib packages to IMAGE_ROOTFS only if
the sanity check passed.
(From OE-Core rev: 9d81c2166be7ed388e5616e01ca2b4059e524c8e)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
1. Added MULTILIB_PACKAGE_INSTALL for multilib instances of packages to
be installed in the rootfs.
2. MULTILIBRE_ALLOW_REP contains the regular expression to match the
files allow to be replaced by the conflicting files.
3. MULTILIBRE_FORCE_SAME contains the regular expression to match the
files allow to be replaced only if the conflicting files are identical.
4. Added shell function multilib_sanity_check() to check whether the
overwring for multilib situation is allowed.
(From OE-Core rev: 137a4626a7e8107fc8a71724d5124f44236293b9)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is a first pass at adding multilib support to the RPM package
and image handling code.
(From OE-Core rev: 1939a4395997098862912e013a2b13ed2f385f9f)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
in multilib case, the PACKAGE_DYNAMIC is overrided with multilib
prefix. Take multilib:lib64-perl as example. the "perl-module-*"
will become "lib64-perl-module-*"
the output_pattern in do_split_packages is designed to work with
PACKAGE_DYNAMIC, so it should be applied with the same logic, i.e.
overriding with multilib prefix. otherwise the do_split_package will
split incorrect files
this patch implements the mulitlib override logic for do_split_packages
We also need to rename the extra_depends to support multilib case
(from Dongxaio Xu).
(From OE-Core rev: a4bc86713892502aeefbbdb3053e8cf1e1fc0bdb)
Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Xu Dongxiao <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch adds the core multilib class which can be used along with a
parameter specifying the mutlilib to use in BBCLASSEXTEND.
The MLPREFIX variable is added and can be used in cases where its too
difficult to dynmaically work out where a mutltilib prefix is needed
to be added to a variable.
This includes:
* SHLIBSDIR and PACKAGE_ARCH fixes from Lianhao Lu.
* PACKAGE_DYNAMIC mapping from Yu Ke
* PACKAGE_INSTALL mapping from Yu Ke
* RPROVIDES mapping from Yu Ke
* TARGET_VENDOR fix from Mark Hatle
* Ignorning *-native-runtime dependnecies as well as *-native from Yu Ke
* Map PKG and ALLOW_EMPTY from Dongxiao Xu
* Ensure RCONFLICTS and PKG field dependencies are remapped (from Dongxiao Xu)
* Ensure PN and MLPREFIX are set at the same time to ensure consistent BPN values (Yu Ke)
(From OE-Core rev: 5d9453049915db48ec4b5972e12287417ebb61a2)
Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Xu Dongxiao <dongxiao.xu@intel.com>
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This means if PKGARCHCOMPAT_ARMV7A is set, "armv7a-vfp-neon" is renamed
to be "armv7a". Other compatibility mappings can be added as needed.
(From OE-Core rev: 08c0b7060009113e8dffdef51ff6b9b4b7f28894)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We switch to using os.lchown in order to avoid following a symlink.
We also now check if an item is a symlink, if so we avoid the
os.chmod as a symlink inherits the mode of it's target.
(From OE-Core rev: c64d075b3d367e6c76aafa17782585d026b1f31e)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This helper function and associated header will allow us to
resolve two/three header files that conflict due to contents
that change based on wordsize and ABI.
(From OE-Core rev: 1fe66d01b7bce70a37245d47b1abce155fae926e)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This creates a live image as an IMAGE_FSTYPES, thus removing the
need to have additional -live.bb recipes. To create a live image
one just needs to add live to the IMAGE_FSTYPES list
(From OE-Core rev: b3ff63796cd6629975ff0a726ba18cc168e0a2b2)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This ensure that the command line options from the creation of the wrapper
are actaully passed into the wrapper.
(From OE-Core rev: 190b4f17f5fc9879e680278dd0e31e26e5f5bca0)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
I believe that powerpc-linux is now a common file across 32bit/64bit
linux for powerpc be it uclibc or glibc. I compared the differences
between powerpc-linux-uclibc and powerpc-linux files and it
powerpc-linux was more uptodate and all the new stuff it had was needed
for uclibc anyway so we do not need to keep exact copy of powerpc-linux
as powerpc-linux-uclibc instead we use powerpc-linux for powerpc/uclibc
targets.
Secondly linux specific files were added in archinfo dictionary
which I think logically belongs to targetinfo dictionary therefore
moved them to targetinfo
now uclibc/powerpc is buildable again
(From OE-Core rev: 0fc798640ba60cbb9074d617ba18518b113b7186)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some of these entries are required by the GUI to enable the expected workflow
of the ADT, namely a compressed rootfs image.
(From OE-Core rev: dad2169cfb331b7af5c6d380347ea279a59bd716)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is this discrepency in spelling. Lets fix it in
core. There are lot of layers using SITEINFO_ENDIANNESS
This was shielded since meta-oe had its own copy of
siteinfo class. But that class has now been deleted in
favor of oe-core
(From OE-Core rev: 54a54778fad39931ac7d43daaf37ce7c1946a29b)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch removes the variables BASE_PACKAGE_ARCH, BASEPKG_HOST_SYS,
BASEPKG_TARGET_SYS and also removes the immediate assignments in
several core classes as these are no longer required.
This should make it clearer what some of the core variables do and
simplfy some overly complex and confusing class code.
(From OE-Core rev: d5521be2dcbaf213c140b0d12a4176380874426b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is currently consideradble confusion over how the tune files operate
and how these interact with the rest of the build system. This update/overhaul
changes things so the tune files are primarily resonsible for setting:
TUNE_ARCH - What was formerly set as TARGET_ARCH and is the value that
represents the architecture we're targetting.
TUNE_PKGARCH - The value that represents the tune confuration that this set
of tune parameters results in.
This allows the significant improvement that the core can now always determine
the target architecture value, even when TARGET_ARCH needs to be reset to
something different and likewise, there is one package architecture variable
the core can reference allowing simplification of the BASE_PACKAGE_ARCH, PACKAGE_ARCH
and FEED_ARCH variables.
(From OE-Core rev: a10de4cf8b424ee95c8e283e75d486be5b3b8eac)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add the ability to dynamically change the library directory from "lib" to
other values. This allows the tune files to specifiy altnerative ABIs
which can be dynamically enabled by the multilib BBCLASSEXTEND code.
A variety of approaches have been attempted with this, the immediate
expansions in cross.bbclass being problematic as they are they are expanded
before the bbclass extend event hander runs. This approach ensures the
${baselib} variable is retained in the expressions resolving that complication.
Derived from some ideas from Mark Hatle.
(From OE-Core rev: aeea22da699b276a97ca1a17e3c53176c9afd9de)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Now that we have a unique powerpc32-linux config, we share powerpc-linux
between ppc32 & ppc64.
(From OE-Core rev: 405a9a90f756c215e7454a4231179bc49c77ad1d)
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
powerpc-common was really Linux PPC32 specific. So move all the options
in it to powerpc32-linux and we can refactor out common bits shared
between into powerpc-linux and powerpc-common.
(From OE-Core rev: 6ba64ae1030c879021f0ee0789bee4f8d3c135c0)
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For kernel's that use a split source/object build the copy
of defconfig to {S} in the base kernel class is problematic.
The previous solution for this was to override the do_configure
of the base kernel class in a subclass. While this is still
a viable/valid option, it does mean that changes to the base
do_configure will be missed.
The solution to this is to copy a defconfig to {B} which is
typically the same as {S}, so most kernel recipes won't see or
care about this change.
With this change in place, linux-yocto.bbclass can drop its
override of do_configure.
Tested with linux-yocto and oe linux recipes.
(From OE-Core rev: 4f03d922ce32f602a5a407cf422d82a0d036e4a0)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In oe.dev we have a sets to pick out hostos/hostarch/etc site
files out of and include things like a common-linux site file.
This should also help out with adding multilib-specific site files
(ie x32). In oe.dev we have an iterator but at Richard's request
we continue to return a list of files in siteinfo_get_files().
(From OE-Core rev: cb3d7cd1c0f2bbcd448abbb832074ca965e0af5e)
Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
On hosts where we may already be past the #! limit this is required
and this is safe on the target as well. This is be7fe31 in oe.dev.
Related to this we now bump all PRs for recipes that inherit cpan.
Note that in oe.dev we mangle for perl but here we use the new
nativeperl script.
(From OE-Core rev: 682a213dc732074985bf86f508305fc6eafe18d9)
Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Make it more obvious which file, and which recipe, are at issue.
(From OE-Core rev: 207a2176bdebe217daf81d5c5b1d2ab4ab2e6adc)
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
nls disabling is target specific but USE_NLS=no will
disable nls even for other kind of recipes. We should
let them build with nls
(From OE-Core rev: 7be58f695aaa8b111fcf79a3505964e9f49b108a)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With help2man no longer being required by sanity.bbclass we need to
make sure that if we are going to build autotools stuff that help2man
will be there as it's a frequent implicit dependency.
(From OE-Core rev: fd03530b4e2fb0660212a5ffb849c2169076585c)
Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is a 'side port' of current oe.dev versions. PR is kept in sync
but we drop out the target recipes in order to punt on potential perl
problems. Here we do re-configure as we don't have a dance with
perl-native to deal with. Now that we can build it, don't require it.
(From OE-Core rev: 9673d7aa1f9e1c88ba69047b2e22636c755edaaa)
Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We have no hg URIs in the metadata, so don't require and don't
ASSUME_PROVIDED it either. meta-oe has a mercurial-native recipe
if hg URIs are added in a recipe later.
(From OE-Core rev: 6473c9096bf4995c21147e737322d800219c89ab)
Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The problem occured when unzip-native is not yet staged, and ZIP
archive unpacking already started resulting in failed do_unpack task.
(oe.dev has a NEED_UNZIP_FOR_UNPACK variable we did not bring over)
[RP: Use srcuri from already existing variable]
(From OE-Core rev: 6ca80453618fa308cc2d6329450aaf5dfdf2d610)
Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
Signed-off-by: Koen Kooi <koen@openembedded.org>
Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Recent versions of qemu seem to be happy enough building with gcc 4.x, and indeed most modern distributions aren't shipping gcc3 any more, so there is no point checking for its presence as part of sanity.
Also remove the check_gcc3 function from base since nothing else uses it.
(From OE-Core rev: ec5c68e9368111bd51c1cfd6a9a135c53b82ceca)
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These classes are not used within oe-core and really belong in an upper
layer that makes use of them, if they are still useful:
* mozilla.bbclass
* openmoko*.bbclass
* srec.bbclass
* xfce.bbclass
(From OE-Core rev: fa8779452de5e1a8ded92bdf4a952158fda6160a)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
All of these classes are currently unused in oe-core and meta-oe; several
are no longer in use even in OE classic:
* base_srpm.bbclass
* ccdv.bbclass
* flow-lossage.bbclass
* patcher.bbclass
* singlemachine.bbclass
* tmake.bbclass
* xlibs.bbclass
patcher.bbclass and singlemachine.bbclass probably still work but it is
unlikely that anyone is still using them.
(From OE-Core rev: 7416bdaf01daaeb183b1cc8d13a043e244c464e1)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* during an unfortunate round of tests right before commiting the patch
* do_configure[depends] became kernel_do_configure[depends]
* Nonsense!
* As documented in commit 4dfef62dfe54a3b2c557a6df81d155adc1e03ccb
* of OpenEmbedded git server, this must be in do_configure[depends]
* to do the magic.
(From OE-Core rev: df31400ef89c14b45860feb906d4355d5f7de0c7)
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It isn't safe to make assumptions about the order of the entries in the dynamic section. Fix the ldflags test to cope with the case where GNU_HASH comes before NEEDED and/or INIT.
Also, add a new warning for binaries which contain useless (but benign) rpath entries pointing to the default search locations.
(From OE-Core rev: 9adac72a77dafd2a203e29beec0b65f0ef5f2cb6)
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is for use in the Hob GUI to enable the user to change the type of the
generated image.
(From OE-Core rev: 12600138721262ce02e9dd243bcf44e52e065179)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
when libdir set to non /usr/lib like /usr/lib64, there is do_configure error:
"
-- Libraries will be installed in /usr/lib
CMake Error at /home/kyu3/sdb/lib64/tmp/sysroots/x86_64-linux/usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:91 (MESSAGE):
Please install 'check' and 'check-devel' packages (missing: CHECK_LIBRARY)
Call Stack (most recent call first):
/home/kyu3/sdb/lib64/tmp/sysroots/x86_64-linux/usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:252 (_FPHSA_FAILURE_MESSAGE)
cmake/modules/FindCheck.cmake:17 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:35 (FIND_PACKAGE)
-- Configuring incomplete, errors occurred!
"
The reason is that cmake did not search /usr/lib64 for libcheck, thus report error
add ${libdir} to the CMAKE_SYSTEM_LIBRARY_PATH can fix this issue.
(From OE-Core rev: f4de87ce30a37bb2f09855d442b34d153ada8c0e)
Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The kernel and module recipes have very few dbg/dev packages, however
they can easily have false positive results from the rdepends QA checks
(e.g. kernel-module-lirc-dev). Thus disable these tests for any recipe
that inherits kernel or module-base.
(From OE-Core rev: 7a383f8ae8433c14b6995966216b9e6e81ea6a51)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* "All 2.6 Linux kernels contain a gzipped "cpio" format archive, which is
* extracted into rootfs when the kernel boots up."
* (http://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt)
*
* In some cases it can be useful to take advantage of this ability and embed your
* customized rootfs ("the move to early userspace is necessary because finding
* and mounting the real root device is complex").
*
* Therefore, some code was added and since 2009 OpenEmbedded metadata
* provides a convenient way to include your initramfs by setting
* INITRAMFS_IMAGE = "your_initramfs_image.bb"
* and specifying the chosen output format in the initramfs image recipe, e.g.
* IMAGE_FSTYPES = "cpio.gz cpio.lzma"
*
*
* Patch was imported from the OpenEmbedded git server
* (git://git.openembedded.org/openembedded)
*
* Add satndalone task "builtin_initramfs".
* commit 72761e468bb3e905459f2b81ce1bc4d80419481f
* (From OE-Core rev: 19bda7f2c2dac6363468a49295c38f2095c67c98)
Signed-off-by:Paul Sokolovsky <pmiscml@gmail.com>
*
* 'Remove usage of non-standard variables (DEPLOY_TO) and random renaming
* of output.'
* commit 456ba7ffd159821e86ad7ad4b66ec7d5790bd054
* Richard Purdie <rpurdie@rpsys.net>
*
* 'Fis typo in do_builtin_initramfs.'
* commit 37f2fe4b801df832e93553a08eff24fec736c7d4
* Signed-off-by:Paul Sokolovsky <pmiscml@gmail.com>
*
* 'comment initramfs stuff till rootfs locking works properly (initramfs
* should be optional as well)'
* commit 2818d8b7be1a0d9a59ad3528091d47517d59328b
* Signed-off-by: Koen Kooi <koen@openembedded.org>
*
* 'get initramfs stuff working
* commit 1642b3e8fc81c666713951fdd4e7ff9a50d1c5a8
* Signed-off-by: Thomas Kunze <thommycheck@gmx.de>
*
* 'Fix INITRAMFS logic to stop breaking builds for people not using it'
* commit dcf3049eb9eedf0838af59969b3f70a43298d3d7
* Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
*
* '-change initramfs-logic'
* commit 3e3f297457138e96e2b652658675796853eb0293
* Signed-off-by: Thomas Kunze <thommycheck@gmx.de>
*
* 'move initramfs stuff to configure so we can do postprocessing
* on it with do_configure_append'
* commit fc03e2be0b4470748a8b7707cea7293303adc424
* Signed-off-by: Koen Kooi <koen@openembedded.org>
*
* 'copy gz, lzo, lzma initramfs cpio images.'
* commit 572abc3fdd1076ca35d8c15d269cc9d862101805
* Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
*
* 'move the kernel size check to linux-kexecboot.inc.'
* commit 45f82a941c77e9d747814fa1e337ba803475d327
* Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
*
* Finally, two refinements as discussed on openembedded-core
* mailing list:
* - replace "if image != '' and image is not None:" with "if image"
* - add cpio.xz support
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Once we add support for building kernel containing initramfs images
* we expect compressed cpio archives.
* Thus, add support for lzma and xz compressors for the initramfs images.
* While there, add support for tar.xz as done in org.openembedded.dev.
*
* Patch was imported from the OpenEmbedded git server
* (git://git.openembedded.org/openembedded)
*
* 'bitbake.conf: add cpio and ext4 .xz support'
* commit 7977d3325a09e2edf4a8a1b02f48085f88f7a631
* (From OE-Core rev: 38334acdc60432baf4f89f95663d64fab240131b)
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
*
* 'bitbake.conf: Define tar.xz image types.'
* 1fca8dc50a821f4589fa5e339e6e279dd3c0dafe
* Signed-off-by: Tom Rini <tom_rini@mentor.com>
*
* 'bitbake.conf: add XZ_INTEGRITY_CHECK and LZMA_COMPRESSION_LEVEL variables'
* commit 312b42bcf2cc9b11266ba497ade68e8ddabb3007
* Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
*
* 'bitbake.conf: unbreak and improve lzma image compression handling and adapt
* linux-kexecboot.inc'
* commit c382a9ce64bf4291572665652138aa01b2e54306
* Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
As discussed on IRC on 30/06/11, this patch adds support for
BAD_RECOMMENDATIONS to rootfs_ipk, which is a list of packages NOT to
install if suggested or recommended by a recipe. Taken from
http://thread.gmane.org/gmane.comp.handhelds.openembedded/30417.
Note that current support for this in oe.dev may also be broken,
depending on the version of opkg in use.
(From OE-Core rev: 2b6900ad73919a0ecb8c5f1de31744ce7afe65f5)
Signed-off-by: Chris Elston <celston@katalix.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
currently, the libdir in native.bbclass is inherited from target libdir
defined in bitbake.conf. This is not correct in concept, instead, it
should be inherited from libdir_native. Current code works because both
the target libdir and libdir_native are the same value "/usr/lib".
But if libdir changes (e.g. to /usr/lib64), then build will break.
This patch make libdir generated from libdir_native to fix this issue.
(From OE-Core rev: fe45ef3d77d963136a13687bc14165a30e170d23)
Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #1171]
This is a temporary fix to address the fact that zypper's db configuation
uses a large amount of /var space. When the correct'ed zypper config can
be applied, this fix can be removed. The zypper bug for yocto is 1174
http://bugzilla.pokylinux.org/show_bug.cgi?id=1174
(From OE-Core rev: 05995abe8d74ed8a460f6c29b686f812f62b3d92)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix package_qa_handle_error so that it returns the correct values in order
to determine error/warning status.
(From OE-Core rev: a66ed717f5f5991ee4072df67428564677e7d220)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add the missing check in package_qa_check_rdepends to allow dependencies
from non-development packages on development packages to be skipped.
(From OE-Core rev: 26fd8892337e60aa439cedde51b15c42a6fd8540)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some classes, as for example nativesdk, defines CPPFLAGS and CXXFLAGS
to be passed to compiler. Using those makes more sense and avoid some
hacks on packages using CMake.
(From OE-Core rev: de60d1d91b28c3f5568b132a8eb29d9a754e68a0)
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently if there are locales to install in the image the appropriate
packages might not automatically get built since there is no dependency
being exposed to bitbake.
This patch exposes the missing dependencies to bitbake through the RDEPENDS
field hence ensuring images build successfully when locales are added but
not depended upon anywhere else in the build.
[YOCTO #1215]
(From OE-Core rev: 2f731352aa21b43b35247eafd873de775eb0de34)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Add microblaze little endian target information
Endian little, 32 bits
(From OE-Core rev: d0e55b37763932036eb4c19b14cc7265af838c46)
Signed-off-by: Adrian Alonso <aalonso@secretlab.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Add microblaze little endian target info to
package_qa_get_machine_dict
(From OE-Core rev: 33679729f0dafedb143e2dd6174472de46fc36fe)
Signed-off-by: Adrian Alonso <aalonso@secretlab.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* In map_kernel_arch function return valid arch for
microblazeel target arch.
if TARGET_ARCH = "microblazeel" return "microblaze"
(From OE-Core rev: 86e36055dc61279c9c3616ad4bc47695f83bad06)
Signed-off-by: Adrian Alonso <aalonso@secretlab.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Sanity test to verify files can be fetched from the network using git, http
and https fetchers point users at a page to help get set up in the case of a
failure.
Requires a variable CONNECTIVITY_CHECK_URIS to be set, using the same pattern
as SRC_URI, of URI's to test against.
The variable CONNECTIVITY_CHECK_MSG can be set to provide a custom error
message, such as a pointer to some help, when this check fails.
Addresses [YOCTO #933]
(From OE-Core rev: 8fdea2a1ac8875a42b3a57f0fd7b530f851c20e9)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
kernel-source do not exist in STAGING_KERNEL_DIR any longer.
Remove the exported KERNEL_SOURCE as the STAGING_KERNEL_DIR can
be used in module recipes directly.
(From OE-Core rev: b67ef579db4c1906d6e508a8451cd2b01b7b62ab)
Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If you include a bitbake variable as a comment in a shell function
then it gets expanded by the bitbake signature handling code.
This could be classed as a bug or a feature depending on your viewpoint
(e.g. a multiline variable included in a comment could actually contain
executable code).
Since we don't always want kernel-yocto to reparse this changes the
syntax of the comment so it doesn't trigger the problem.
(From OE-Core rev: 512be74ee0d7ad7e76c1be62d1e0f499aa51d174)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Based on some code from Phil Blundell but reworked against insae.bbclass changes.
(From OE-Core rev: 2e06a1a843756e9d50291c4533b10096af2d852b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The patch removes METADATA_BRANCH and METADATA_REVISION, and treats the meta/
in the same way as other layers.
In the case some layers belonging to the same repo, the branch and revision
are only printed once, but all the layer names are still printed.
An example output can be:
OE Build Configuration:
BB_VERSION = "1.13.1"
TARGET_ARCH = "i586"
TARGET_OS = "linux"
MACHINE = "emenlow"
DISTRO = "poky"
DISTRO_VERSION = "1.0+snapshot-20110702"
TARGET_FPU = ""
meta
meta-yocto = "dcui/banner_v3:4b712dba68a98c827b8f3d0242da9153c4f65473"
meta-emenlow
meta-sugarbay
meta-n450 = "dcui/test1:76d1178ba1a43cf6457c89717134aeb9f1275fae"
(From OE-Core rev: f271498638a9da271ed5da973666fe4a7bd0ac63)
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It is now unused.
(From OE-Core rev: 18a0f1dfd9d36e53a3adba74f30e756769a74a0b)
Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Change to only depend on virtual/*/depmod.
Change all calls to only use depmod.
Do not install depmod as depmod-2.6
Bump PR in module-init-tools-cross.
(From OE-Core rev: 351e352c2e44a3d8103594ca7e1d8404979a220c)
Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch means the warning/error handling can be controlled from local.conf
and/or from the distro level and no longer uses numbers but strings instead.
The system becomes extensible so that other classes can extend the path QA
checks at least.
It also removes all th duplicate error message code, we should have *one*
good error message.
Much work remains including making INSANE_SKIP take the classes of QA test
to skip but its a start.
(From OE-Core rev: 0fbe849b56d6457b6547a1202c4938d35316d8b8)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This removes a couple of megabytes of QA warnings!
(From OE-Core rev: 69c2f6f7a9133cc8d64560fefa42e5852322f716)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This class is to be used by recipes that need to set up specific
user/group accounts and set custom file/directory permissions.
(From OE-Core rev: a82885db00956734922291d8a17eb135461204fa)
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a new function that is responsible for fixing directory and file
permissions, owners and groups during the packaging process. This will fix
various issues where two packages may create the same directory and end up
with different permissions, owner and/or group.
The issue being resolved is that if two packages conflict in their ownership
of a directory, the first installed into the rootfs sets the permissions.
This leads to a least potentially non-deterministic filesystems, at worst
security defects.
The user can specify their own settings via the configuration files
specified in FILESYSTEM_PERMS_TABLES. If this is not defined, it will
fall back to loading files/fs-perms.txt from BBPATH. The format of this
file is documented within the file.
By default all of the system directories, specified in bitbake.conf, will
be fixed to be 0755, root, root.
The fs-perms.txt contains a few default entries to correct documentation,
locale, headers and debug sources. It was discovered these are often
incorrect due to being directly copied from the build user environment.
The entries needed to match the base-files package have also been added.
Also tweak a couple of warnings to provide more diagnostic information.
(From OE-Core rev: 8c720efa053f81dc8d2bb604cdbdb25de9a6efab)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Set 'CCACHE_DIR' in 'bitbake.conf' and create the dirs for every
package before task 'do_configure' started.
[RP: Merge dirs variables into one]
(From OE-Core rev: fe03f78fb0bf7d54b9472832e43764e882f918a1)
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bitbake now allows the umask to be specified per task. The
following tasks will have a umask of 022 set by default:
do_configure
do_compile
do_install
do_package
do_populate_sysroot
do_rootfs
do_configure and do_compile need a umask of 022 set because -many- recipes
directly copy generated files out of recipe's build directory. Instead of
fixing each existing and future recipe, it was shown to be much easier to
just set the umask.
(From OE-Core rev: 0cfa7ebcf661aa0645c6d4d858b04946ebacb7e4)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Avoid fractions like 80.72 and round them to whole numbers.
(From OE-Core rev: 70b80215a08b2f1a3a813ac9a3948e39a1b26dd4)
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
By passing the data object to the less frequently run test harnesses
(check_sanity_tmpdir_change(), check_sanity_sstate_dir_change() and
check_sanity_version_change()) we can run tests against BitBake data here
too.
(From OE-Core rev: 7df8376c28d991dd07c0915d3ccade4cf51c2fee)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fixes [YOCTO 1136]
linux-yocto adds some configure steps that are necessary to prepare the source
tree after the do_patch task. This causes a "-c menuconfig" to fail in a clean
build tree. Typical use of menuconfig should be to modify the config provided
by the recipe being built. It therefor makes sense for the menuconfig task to
come after the configure task. This also happens to fix the issue seen with the
linux-yocto kernel recipe.
(From OE-Core rev: 829dd1d7ca99ec6228d2705cdece4727232797d3)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We need to check if we know of the task type, before we attempt
to process it. In order to reproduce the problem build with:
PACKAGE_CLASSES = "package_ipk"
Then change it to:
PACKAGE_CLASSES = "package_rpm"
Build again -- and then try bitbake -c cleansstate <recipe>
(From OE-Core rev: 8870ba9d261d3cacbe5d1219fdd95840c05ecf9e)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-{common,package}.bbclass: fix shlib renaming for the C library
Without this you'd end up with eglibc_2.12.ipk instead of libc6_2.12.ipk as before
* eglibc-locale: don't make versions go backwards after split from eglibc
eglibc was way beyond PR = "r1" at the time of the split, so increase PR to make package upgrades work
[RP: Fixup PR merge conflict]
(From OE-Core rev: 477ede7472db0bacd5daacb96e97f849d1be84ee)
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
After the recent locale changes there were warnings about many unpackaged files.
Fix this by directing libc-package.bbclass to operate directly on the files in
the sysroot and adding packaging for .debug files in this package.
Also sync up the eglibc and glibc versions of this code more closely.
(From OE-Core rev: 1a3a76e4652b95b640c287cb3672ccc146b023ca)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch eliminates the warning "not been run using the bitbake wrapper..."
when we run bitbake-layers.
(From OE-Core rev: 547f4ea9ac4be2e656f846e658df99b0ecff7a29)
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch will check whether the recipe is an extened recipe, if yes, some informaiton couldn't be got, so collect those information(like maintainer information or lastcheckversion) from non bbextended recipe.
(From OE-Core rev: 8e8648b26fd4d66db2d7c484ad56dfb300e2070a)
Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently the only way to get anything to build is to set USE_NLS="yes"
for glib-2.0. We might as well do this in the recipe by default for
now and simpllify the code.
The magic handling of USE_NLS_<recipename> is also removed since this
can be done in the form USE_NLS_pn-<recipename> using overrides these
days.
(From OE-Core rev: 2e3727b05ae58aaf1eed88967c13cae085e7a702)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Replace the hard coded libdir for locale generating to meet the multilib
requirement.
(From OE-Core rev: 1609fd2b6582667106a6f065cfa031f68cee7552)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
*libc's do_package will cost a lot of time due to the locale handing,
which may delay the other recipe's do_package task and affect the build
performance.
This commit moves locale handling into a separate recipe *libc-locale.
[RP: Add fixup with recent eglibc commit conflict for FILES_pn-dbg and PACKAGES]
(From OE-Core rev: c6d3242f7642f537b02870bb4eb650f0e2094b85)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The old versions of cvs and iptables may meet compile error under some architecture
- cvs 1.11.23 fails on x86-64 host and iptables 1.4.9 fails on arm host. Update them
to latest version could solve these build error.
Meanwhile, 240s timeout is set for sudoku becasue 120s is not enough to finish
compile.
Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
During native recipe processing we want to intercept any calls to chown
and do nothing. This prevents errors and allows the same recipes to be
used for both native and target recipes.
(From OE-Core rev: 7fd8287d3320231db83c36d09f2b841e520fcfe9)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
do_install was putting files directly into the sysroot which means sstate
had no knowledge of them. This meant they didn't get cleaned along with the
other files from the task amongst other issues.
This patch puts them in ${D} where they were supposted to be.
Tested-by: Tom Rini <tom_rini@mentor.com>
(From OE-Core rev: 983197c10104bbbcb6cfd6e923a3bf11152b3001)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There were some odd instances where the PKGV could not be loaded in the old
way. Change to verify that PKGV exists before attempting to retrieve the
value from the key.
(From OE-Core rev: c2ce3573fb2816cd2023a56b364fae4c0f4455ae)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Without this, images will fail now that kernel-abiversion is back.
(From OE-Core rev: 3dbe49b13e7513e449f13515591d02a7d2f560ae)
Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This fixes external module recipes that need $KERNEL_VERSION. It got removed by
commit a9d41062e24a6b99661b3a5256f369b557433607
Author: Darren Hart <dvhart@linux.intel.com>
Date: Tue Mar 8 17:09:10 2011 -0800
kernel/bbclass: rework kernel and module classes to allow for building out-of-tree modules
seemingly as an oversight.
(From OE-Core rev: 6978774595f892e6a819ee64c932d475c67a6a0f)
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Acked-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The perf component is built with the kernel, so ensure that it gets the
debug information associated with it.
Also bump the PR in the linux-yocto-* to ensure they get rebuilt.
(From OE-Core rev: 17f76de8ab8b7c9e62c1149017a3fa78866d9300)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We clearly state now if we are:
* Skipping an empty package
* Creating a (full) package
* Creating an empty package
(From OE-Core rev: 3db9d865ef7d65e3712eb7f9a659bb31cb3cb75e)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Add support for using SOC_FAMILY in the COMPATIBLE_MACHINES
setting for a recipe.
* This will allow recipes to work for entire families of
devices without having to maintain/update the compatible
devices as new devices are added into a family
Based on 07076390358f211bd96779bec2d6eb5eaa0ad699 by Chase Maupin <chase.maupin@ti.com>
(From OE-Core rev: dc303cbf25cf48aa98ff1979882820dd25f8cd9d)
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is a verbatim copy of the corresponding class from oe master.
(From OE-Core rev: fa32b087888bab399a5cd1e3f16213575fe396e2)
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
OVERDIDES is the key variable that needs to be set prior to data finalisation.
The other variables should be manipulated after finalisation so any
DEPENDS_prepend and _append are accounted for. This patch ensures this is
the case.
The PACKAGES maniupulations are not enabled at this time as they
don't function 100% correctly yet.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is particularly important since the file doens't use BBCLASSEXTEND
and PN is therefore misleading
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This massively cleans up the dependency handling in the two classes
when interacting with BBCLASSEXTEND.
This change has a dependency on the bitbake override handling change
and also the existence of the RecipePreFinalise event.
(From OE-Core rev: f183c7cfe377fa6ed2777605c3590a9dda2060df)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Instruct RPM to use the on-disk permissions, owners, groups,
and directory permissions, instead of defaulting to root:root
Code changes suggested by Mark Hatle.
(From OE-Core rev: a6464f9484f56f596e3215184ad56ac6769ebb0c)
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sometimes it's usefull to remove only sstate cache and keep downloaded sources for rebuild
(From OE-Core rev: e071bc9982fc3ace3a32a990905884929392c4b6)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If not overridden it gets the value which is for target recipes
usually defined in machine tune files
(From OE-Core rev: 7efd372eead4185e8b763c6f7ee1943485f7d84d)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
To support translation, qmake based projects usually call lrelease and
lupdate however OE changes the binary names so this needs some mangle
to work out of box.
(From OE-Core rev: 2a52f806f3789f717219651b97dc64fec3881f7f)
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Acked-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We don't package /etc/rpc and do_install() makes some effort to remove
that file so as to avoid the "installed but not shipped" diagnostic. But,
due to a typo in the command line, the file wasn't actually being removed
and the diagnostic continued to be issued.
(From OE-Core rev: 5b09d5dbac044277b5f1145057d1fc716ec35b9a)
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If all the postinsts were successfully run in offline mode, and
package-management hasn't been requested as an IMAGE_FEATURE, the opkg
metadata is now redundant and can safely be deleted.
Also, the update-rc.d and base-passwd packages can be removed since
they will serve no further purpose in this situation.
If some packages are still unconfigured at this point then we need to
keep their metadata around so that either opkg or the awk script can
configure the packages at boot time. In theory it would be possible to
strip out the data for packages that have already been configured, but
right now we just hold on to the whole status file in that situation.
(From OE-Core rev: 87780fc09b066525e47d0f50ee5497db54d304cd)
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is a backport of 952e5e2b7a5c1deefc939594d40b81a71fb16a54 from oe master.
Without this the script mangling goes very wrong if ${prefix}="". There
isn't really any way to fix this in the completely general case, but
this patch does work with the two cases I tested (freetype and
gpg-error) which were unusable previously.
(From OE-Core rev: 854b15bf631452150d1979dfd8286b306f108688)
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Having a generic word like "all" as an override is dangerous as this is an override
and can cause issues for function names like "sysroot_stage_all". This patch changes
it to "allarch" to help avoid this kind of problem. The field is only used in the
name of directories anyway.
(From OE-Core rev: 5d7d4e1ed9bedf2b6510796d76ea8f94739b9de2)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The existing PACKAGE_ARCH = "all" mechanism of sharing packages is problematic
with sstate since there are a variety of variables which have target specific
values and the sstate package therefore correctly changes signature depending
on the MACHINE setting.
This patch creates a new "allarch" class which sets:
PACKAGE_ARCH = "all"
(as per the existing convention)
INHIBIT_DEFAULT_DEPS = "1"
(since its not target specific and therefore can't depend on the cross
compiler or target libc)
TARGET_ARCH = "all"
TARGET_OS = "linux"
TARGET_CC_ARCH = "none"
(since these variables shouldn't change between the different packages and
target compiler flags shouldn't be getting used)
PACKAGE_EXTRA_ARCHS = ""
(since we shouldn't be depending on any architecture specific package architectures)
Not all PACKAGE_ARCH = "all" recipes can use this class since some run configure
checks on the compiler. This means they have target specific components and therefore
the "all" classification is incorrect.
(From OE-Core rev: 26e5e5feb695864b11e47e24017e254c28f14494)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Value of USE_PR_SERV is either "1" or "0" looking at
settings in bitbake.conf
USE_PR_SERV = "${@[1,0][(bb.data.getVar('PRSERV_HOST',d,1) is None) or (bb.data.getVar('PRSERV_PORT',d,1) is None)]}"
So we compare the strings
(From OE-Core rev: 5f6179324ac3956ad87123005bfcab4e8f30e67b)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This fixes two bugs. When populate_lic was hitting | it was going
into an infinite recursion of the node.
Also, some LICENSE fields may start with "(". We want to avoid
invalid python syntax here, so we strip out the whitespace.
(From OE-Core rev: 160621bd9679201e352cc80b22aa2f6e25827576)
Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is a first pass at sane license parsing, using python
abstract syntax trees.
A few notes on this since ast is not generally used. I massage
the LICENSE field to be more pythonesque and then create an ast.
I then dump the ast and using a LicenseVisitor class, recurse
through the tree, looking for licenses. I then copy and link.
It's cleaner, allows for easier addition of logic and while it
takes slightly more CPU, it's also slightly faster in initial
small scale tests.
It doesn't recognize the '+' or '*' modifiers to the licenses yet
nor does it know what to do with bitors (|), since I'm not even
sure what to do with them.
(From OE-Core rev: 2a90a3a41978a5470962b315e007351b8e80820c)
Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use PKGE/PKGV/PKGR to build various package feed in tasks of pacakge_write_xxx.
(From OE-Core rev: c2872315905fcdf6e4bf11fe96e5ca62af3475f8)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
1. Added package_get_auto_pr to PACKAGEFUNCS to get the auto
incremented value(PRAUTO) from remote PR service.
2. use PKGV/PKGR for pkgdata which will be used by package_write_xxx.
3. Added supporting functions in prserv.bbclass.
(From OE-Core rev: b1f6120c04731d3d66f322ce550b0d223c118dab)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fixes [YOCTO 1102]
Path variables are typically : delimited. White space is allowed in paths, so
is not a good choice for separating paths. Currently utils.bbclass performs the
following:
extrapaths = (bb.data.getVar("FILESEXTRAPATHS", d, True) or "").split()
This splits FILESEXTRAPATHS on whitespace. It later splits overrides on : and
reassembles them all together as : delimited.
There is only one user of FILESEXTRAPATHS in oe-core (qt4-tools-native, which
uses : anyway) and none in oe.
Change the split() in utils.bbclass to split on : instead of whitespace. When
splitting on a defined string (":") we must be careful to handle the empty
string case which returns [''] instead of [].
Tested building qt4-tools-native and core-image-minimal for surgarbay from
meta-intel with a couple extra layers with FILESEXTRAPATHS modifications added.
(From OE-Core rev: a6a892f520d22ef8020c98528d38ee08f6cda034)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Cc: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* this makes fix for [YOCTO #1074] in bitbake 139b8a625818225c358a1b8363518d7ed6913188
much more usefull for people using rm_work
(From OE-Core rev: 36386f3b8cadf283954f5c6db6ac6ee463c395de)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #886]
This address 2 needs after the IMAGE_ROOTFS_SIZE is cleaned up, by
removing the _ext2/3 overrides it allows for a cleaner override
using IMAGE_ROOTFS_SIZE to create a large rootfs, or by setting the
IMAGE_ROOTFS_EXTRA_SPACE, will allow for extra space allocated in Kilobytes
above the base size (determined by du of the rootfs * IMAGE_OVERHEAD_FACTOR,
default of 1.3).
(From OE-Core rev: 367934ada7c081ba3fc95f02dc14c7d6f97bfccb)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This basic cleanup removes the _ext2/3 overrides from places they
no longer belong since they did not allow further overrides. In doing
this the core-image-minimal* recipes can now set a reasonably small
rootfs so that it's a realistic size for minimal.
The new default for minimal is 8M and will be adujsted upward by the
IMAGE_OVERHEAD_FACTOR (default of 1.3).
This also fixes the ROOTFS_SIZE usage in the IMAGE_CMD_<fstype> code
(From OE-Core rev: d3f6e1e6106ab539e73c19037915b2e4a5f2efa9)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This includes some utility functions for dealing with groups of packages
defined in the metadata. Metadata syntax:
PACKAGE_GROUP_<group> = "<list of packages>"
If the packages in the group are optional:
PACKAGE_GROUP_<group>[optional] = "1"
(From OE-Core rev: 4df212e9c2a1dd7c80d180fd13b67e9f2799d3e1)
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This can be useful if we need the imports from another config parsed event
handler, and can't rely upon the base one running before that one.
(From OE-Core rev: dc579ce4dcf9a3743ced9eae4fe510a079961faf)
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The current mechanism makes it easier for classes to add new oe modules to be
automatically imported, and thereby made available to python snippets (${@}).
(From OE-Core rev: 0c560a2a7954412f714db86b1aaadb7acbe72d1b)
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This implementation consists of two components:
- Type creation python modules, whose job it is to construct objects of the
defined type for a given variable in the metadata
- typecheck.bbclass, which iterates over all configuration variables with a
type defined and uses oe.types to check the validity of the values
This gives us a few benefits:
- Automatic sanity checking of all configuration variables with a defined type
- Avoid duplicating the "how do I make use of the value of this variable"
logic between its users. For variables like PATH, this is simply a split(),
for boolean variables, the duplication can result in confusing, or even
mismatched semantics (is this 0/1, empty/nonempty, what?)
- Make it easier to create a configuration UI, as the type information could
be used to provide a better interface than a text edit box (e.g checkbox for
'boolean', dropdown for 'choice')
This functionality is entirely opt-in right now. To enable the configuration
variable type checking, simply INHERIT += "typecheck". Example of a failing
type check:
BAZ = "foo"
BAZ[type] = "boolean"
$ bitbake -p
FATAL: BAZ: Invalid boolean value 'foo'
$
Examples of leveraging oe.types in a python snippet:
PACKAGES[type] = "list"
python () {
import oe.data
for pkg in oe.data.typed_value("PACKAGES", d):
bb.note("package: %s" % pkg)
}
LIBTOOL_HAS_SYSROOT = "yes"
LIBTOOL_HAS_SYSROOT[type] = "boolean"
python () {
import oe.data
assert(oe.data.typed_value("LIBTOOL_HAS_SYSROOT", d) == True)
}
(From OE-Core rev: a04ce490e933fc7534db33f635b025c25329c564)
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- KERNEL_VERSION may contain characters unsuitable for package
names, e.g. underscores. Use legitimize_package_name to replace
those characters.
(From OE-Core rev: 8c6bf9f6775fc5aaa8bc2c77924c95a00f1c1890)
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #1024]
Currently package-index.bb only supports ipk. This commit adds the support
for rpm and deb, too.
------------------------------
How to generate and use repos:
1) run "bitbake package-index" after building some target,
e.g., core-image-sato-sdk;
2) export ${DEPLOY_DIR_RPM}, ${DEPLOY_DIR_IPK} and ${DEPLOY_DIR_DEB} by a
webserver on the host, assuming the host IP is 192.168.7.1, at
http://192.168.7.1/rpmhttp://192.168.7.1/ipkhttp://192.168.7.1/deb
3) inside the target, according to the packaging system (rpm, ipk or deb) used
when we generate the target image, we can use different ways to manage
packages:
3.1) RPM
run "zypper addrepo http://192.168.7.1/rpm main; zypper refresh"
to retrieve info about the repo; next, we can use "zypper install/remove"
to manage packages.
3.2) IPK
add the repo info into opkg config file, i.e., in
/etc/opkg/arch.conf, we can add something like
"src i586 http://192.168.7.1/ipk/i586", and next, we run "opkg update" to
make opkg update the list of available packages. And later, we can use
"opkg install/remove" to manage packages.
3.3) DEB
Currently in target, some important config files, like
/var/lib/dpkg/status and /etc/apt/sources.list, for deb/apt are missing. So
we can't install/remove package in target at present.
(From OE-Core rev: 01e34bdb43e0cc27c1cfffd6730c384f40c404c1)
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This ensures you look up the symbolic link to get the full path
(From OE-Core rev: a10bd976f4cef54ac50b0c82f885c17a26e5989f)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This ensures you look up the symbolic link to get the full path
(From OE-Core rev: 9215d23fd26c62d250749b8084a52f383cb16fba)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Move to meta-extras
Also remove yaffs2 from image_types.bbclass
(From OE-Core rev: 6a97657ae834945ae26e5933d29bd94d0f7fea67)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Pass -N option to prelink so that no cache file is generated (obviates need for deleting it afterwards).
Use symbolic names, ${sysconfdir} et al., rather than hardcoded paths.
Pass explicit -c option to prelink in case ${sysconfdir} and ${sysconfdir_native} are different.
(From OE-Core rev: 78a3cc9e8588e37badcd2ea02d2cf3b5a25ee5b8)
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is a backport of the corresponding package.bbclass functionality
(which is needed by micro) from the openembedded tree.
(From OE-Core rev: 600dbb7cb384c2290af38b993a9bea3a4dfc4494)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This allows distros that don't want ldconfig to turn it off.
(From OE-Core rev: cd9662ff326de05332afabea3ec35bbbd861687c)
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
PRINC which should add to base PR value has a problem when
the PR is single digit e.g. r0 - r9. Current algorithm
needed atleasts 2 digits to successfully populate end and begin
markers.
We reimplement the incrementing algorithm using regular expressions
which addressed the above mentioned problem and
simplifies the logic a bit and gets rid of loops and conditionals
(From OE-Core rev: 9aeaae7b786a42d213ad4224743dfd49e2324077)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
distro_check.py: Create a new function called create_log_file to reduce a lot of repeat code in distrodata.bbclass.
We needn't to create log file in function save_distro_check_result, because the log file has been generated in check_eventhandler.
Another bug is that we maybe access the /tmp/Meego-1.0 before we create this file.
Add a judge statement to decide whether we need to create this file firstly.
distrodata.bbclass: Add a new task checklicense to collect missing text license information.
This can help package-report system to know how many recipes are missing license text.
(From OE-Core rev: b41148cda9f0cc292b662a8473f26bc1ee0148f3)
Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When a BSP or layer specifies an AUTOREV for SRCREV, the logic
that matches expected vs real branch heads doesn't apply. We
always want the latest.
To solve the issues with invalid git revs causing validation
failures, we detect the AUTOINC value and do a early return,
skipping validation.
(From OE-Core rev: b4f1845f7cf42059984112e3f41a323b4c9d6dfd)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This writes a qt.conf inside WORKDIR to properly configure projects
based on CMake. This is required since qmake variables (returned
by -query command) are fixed into the binary and can only be
changed using a qt.conf file.
(From OE-Core rev: b137f47a68272da1205fd4a26e9c57fbcfd494b7)
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Sync with OE at 3b7d83362027fde4f6850533ab83277d95dda961 however
without changing the way of generating the toolchain file and making
it branding agnostic.
(From OE-Core rev: ee98c2b095b991901b6c2125b2428985c873b4bd)
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Re-add powerpc-linux-gnuspe, from OpenEmbedded. Also adds support
to poky.conf so that minimal-core-image builds with DISTRO=poky,
[RP: Synced with recent diso file reoorg]
(From OE-Core rev: 701a725d118c1a2edd1e54798d85e864b45e19a2)
Signed-off-by: Leon Woestenberg <leon@sidebranch.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There are valid reasons to build repositories without meta
data present and there are times when this is an error. This
change adds sanity tests to the build process to detect missing
meta data and throw an informative error message.
Sanity checking is only triggered from recipes (linux-yocto)
that always require meta data to be present. Other recipes
are not impacted and can auto-generate meta data as required.
Without this change the build process suceeds, but incorrect
meta data will be used (with no user knowledge), which is not
the desired behaviour.
(From OE-Core rev: adf9f92e2f8f6cc3deba72a194ded85e160ad9e3)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Instead of hardcoding target vendor string "-poky"
use TARGET_VENDOR information in case of using external
toolchains
(From OE-Core rev: 0638c470410b7ac3057d8f64ae0d389b5c3da838)
Signed-off-by: Adrian Alonso <aalonso@secretlab.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* In function mklibs_optimize_image_doit
* Add microblaze arch case for setting the dynamic_loader
used by "mklibs" call
(From OE-Core rev: 473314d9978dfee53cddc45e4ee1863266eb01e1)
Signed-off-by: Adrian Alonso <aalonso@secretlab.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Add microblaze target info
* Microblaze soft CPU can be configured as big-endian/little-endian
* Currently target info support for microblaze big endian, using prebuilt
toolchains.
(From OE-Core rev: e91c0813e6bba84a8585a5f4d5116533e46b5664)
Signed-off-by: Adrian Alonso <aalonso@secretlab.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Add Microblaze target to valid arch list definition
(From OE-Core rev: 709a199bd18478b5d7af6bf6130e5210793c7ad2)
Signed-off-by: Adrian Alonso <aalonso@secretlab.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_qa_get_machine_dict
* Add microblaze dic entry for QA
* Prebuilt toolchain triplet microblaze-unknown-linux-gnu-
* TARGET_OS is linux-gnu for this toolchain
(From OE-Core rev: 0fb36b3232de531b4b3d5ca9e39dd610646d5e8c)
Signed-off-by: Adrian Alonso <aalonso@secretlab.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some recipes do not defined EXTRA_OECONF in such cases += drops
the --enable|--disable-nls options. In another case where recipe
defines EXTRA_OECONF instead of adding/appending to it then
--enable|--disable-nls options are lost from EXTRA_OECONF
We define EXTRA_OECONF = "" in bitbake.conf so the variable exists
always.
We use _append instead of += so the option is added at very end
and not lost.
We only return empty gettext dependencies if its a target recipe
in case when USE_NLS is not set because the native/cross/nativesdk recipes still
need the gettext dependencies
(From OE-Core rev: c47c783ddca8427aa7381e1df254a8d29ff0fe78)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fixes yocto [BUGID #876]
boot-directdisk.class looks in the wrong location for the bzImage to
install. Make it look in the right place.
(From OE-Core rev: 173d04ea828e7f790ede40929c8ffd7340b4c077)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The BSP bootstrap and -dev use cases can be applied against
unbranched or repos without meta data. To allow the proper
and safe processing of those repositories, slight modifications
to the tools are required to pass the branch on the command
line (rather than detecting it always) and to only checkout
branches that exist.
(From OE-Core rev: ae754be8b43677604a853ec6f62b2490a91d8836)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
To support quick uprev and testing, it is desireable to build
repositories that do not have embedded meta data. In this scenario
the meta data can be automatically created or provided externally.
This commit supports the first situation by detecting the lack
of meta data and then automatically creating a base set of meta
files.
(From OE-Core rev: 32c56cd6a5756f21d19d8a32239b783a7854aed3)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Enable toolchain automation tests in qemuimagetest framework. 3 C/C++ test
projects are added to test toolchain - cvs, iptables and sudoku-savant. User
needs to set TEST_SCEN to "toolchain" in local.conf to enable tests. Test case
will check if toolchain tarball exists under "${DEPLOY_DIR}/sdk". And it will
extract toolchain tarball into /opt. It requires user to chown /opt to non-root
user, who will run qemuimagetest.
Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Checking for gettext is not needed when --disable-nls is used
Let user know what variant of gettext is missing e.g. gettext-native,
gettext-nativesdk etc, reveals a bit more for user
Check for virtual/gettext
(From OE-Core rev: 7d4cb46017616867dea589be03973897a02991eb)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The new logging.bbclass replaces the oe* logging functions with bb* equivalents.
There are no longer any users of the oe* API within oe-core. Remove the oe*
functions.
(From OE-Core rev: 168d94be0e28fcbefda9df07d6d1b0cfd96e75fc)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The new bash logging class provides bbnote, bbwarn, bbfatal, and bbdebug
replacements (as well as bbplain and bberror) for the oe* equivalents. Use the
new bb* API in preparation to delete the oe* logging API.
This patch was automatically generated by a sed script. The result has been
visually inspected and used to build core-image-sato for qemux86.
(From OE-Core rev: a1f09fce5caba389d0484b169f0cde85d64514fa)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The following logging mechanisms are to be used in bash functions of recipes.
They are intended to map one to one in intention and output format with the
python recipe logging functions of a similar naming convention: bb.plain(),
bb.note(), etc.
For the time being, all of these print only to the task logs. Future
enhancements may integrate these calls with the bitbake logging infrastructure,
allowing for printing to the console as appropriate. The interface and intention
statements reflect that future goal. Once it is in place, no changes will be
necessary to recipes using these logging mechanisms.
I opted to write new functions instead of modifying the oe* logging functions
from base.bbclass (and utils.bbclass in oe) for a couple reasons. First, one of
my goals was to generate a uniform logging API between bash and python in
recipes. Second, there are no users of oe* logging in meta (oe-core) or
meta-yocto, while several oe recipes do use them. I wanted to make a clean start
with the freedom to change behavior without forcing the oe recipes to change or
experience unexpected logging changes. Eventually, the oe recipes can be
migrated to the new bb* logging routines and the existing oe* routines can be
retired (deleted).
(From OE-Core rev: 7cb3f0206619b725e404282fa7a3ac50b4609f1e)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Cc: Chris Larson <clarson@kergoth.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When the existing test for loglevel fails, the syntax used results in the recipe
exiting with a silent failure. Performing any bash command after the test block
resolves the problem, such as "shift" or "echo ''". Rewriting with 'if []; then'
blocks provides a cleaner syntax and also resolves the failure.
(From OE-Core rev: 5857516404411040598b69c85d184ccdfc0af2e0)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Distributions can then override this variable if needed
useful e.g. when building uclibc/eglibc both using
same tmpdir
(From OE-Core rev: 839e6e7f3717cc69cf8fc5b1c51bac63ec00655e)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This makes sure that native perl .so can get loaded at the buildtime, and
avoids following kind of errors while building perl modules:
Nitin A Kamble <nitin.a.kamble@intel.com> 2011/04/20
+ perl Makefile.PL
EXPATLIBPATH=/disk0/pokybuild/build0/tmp/sysroots/qemux86/usr/lib
EXPATINCPATH=/disk0/pokybuild/build0/tmp/sysroots/qemux86/usr/include
*** Module name IN:
/disk0/pokybuild/build0/tmp/sysroots/qemux86/usr/lib/perl/5.12.2/Cwd.pm
*** Module name OUT:
/disk0/pokybuild/build0/tmp/sysroots/qemux86/usr/lib/perl/5.12.2/Cwd.pm
*** Module name IN:
/disk0/pokybuild/build0/tmp/sysroots/qemux86/usr/lib/perl/5.12.2/Fcntl.pm
*** Module name OUT:
/disk0/pokybuild/build0/tmp/sysroots/qemux86/usr/lib/perl/5.12.2/Fcntl.pm
Can't load
'/disk0/pokybuild/build0/tmp/sysroots/qemux86/usr/lib/perl/5.12.2/auto/Fcntl/Fcntl.so'
for module Fcntl:
/disk0/pokybuild/build0/tmp/sysroots/qemux86/usr/lib/perl/5.12.2/auto/Fcntl/Fcntl.so:
wrong ELF class: ELFCLASS32 at
/disk0/pokybuild/build0/tmp/sysroots/qemux86/usr/lib/perl/5.12.2/XSLoader.pm
line 79.
at
/disk0/pokybuild/build0/tmp/sysroots/qemux86/usr/lib/perl/5.12.2/Fcntl.pm
line 215
BEGIN failed--compilation aborted at
/disk0/pokybuild/build0/tmp/sysroots/qemux86/usr/lib/perl/5.12.2/Fcntl.pm
line 216.
Compilation failed in require at
/disk0/pokybuild/build0/tmp/sysroots/qemux86/usr/lib/perl/5.12.2/File/Temp.pm
line 146.
BEGIN failed--compilation aborted at
/disk0/pokybuild/build0/tmp/sysroots/qemux86/usr/lib/perl/5.12.2/File/Temp.pm
line 146.
Compilation failed in require at inc/Devel/CheckLib.pm line 12.
BEGIN failed--compilation aborted at inc/Devel/CheckLib.pm line 12.
Compilation failed in require at Makefile.PL line 5.
BEGIN failed--compilation aborted at Makefile.PL line 5.
ERROR: Function 'do_configure' failed (see
/disk0/pokybuild/build0/tmp/work/i586-poky-linux/libxml-parser-perl-2.40-r0/temp/log.do_configure.16956
for further information)
(From OE-Core rev: 485e41f618286d048162fea0077f314e2ff4f4da)
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When a package is built, some installation scripts must be
performed on the target. In the case of a complete image,
these scripts are run by a separate step at init time, but
only during the first boot (other package install scripts
can just be run when the package is installed on the target).
This patch lets the distribution (or user) decide when these
postponed install scripts should run. The default is normally
near the end of init, but there may be times when it's beneficial
to run them earlier so the "when" can be overridden.
(From OE-Core rev: a46466893407d44dd16ab37ae70e1bee14bdde0a)
Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A stray echo and du command from my development of the following patch remain in
kernel.bbclass. Remove them.
commit 3b49416fc7
Author: Darren Hart <dvhart@linux.intel.com>
Date: Tue Mar 8 17:09:10 2011 -0800
kernel/bbclass: rework kernel and module classes to allow for building
out-of-tree modules
(From OE-Core rev: f28bd758bd9a4c59375874853609893546835346)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Cc: Tom Zanussi <tom.zanussi@intel.com>
Cc: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fixes [Yocto #987]
The following commit introduced a build failure:
Commit 3b49416fc7
Author: Darren Hart <dvhart@linux.intel.com>
Date: Tue Mar 8 17:09:10 2011 -0800
kernel/bbclass: rework kernel and module classes to allow for building
out-of-tree modules
Resulting in:
| install: cannot stat
`/usr/local/test/intel-bsp/build/tmp/sysroots/n450/kernel/bzImage': No such
file or directory
| ERROR: Function 'build_boot_bin' failed (see
/usr/local/test/intel-bsp/build/tmp/work/core2-poky-linux/poky-image-minimal-live-1.0-r0/temp/log.do_bootimg.1106
for further information)
The bzImage file was not being copied to sysroot, correct that.
(From OE-Core rev: 65cb39826370d3e35229bcc5fe0c8da8b2ab409b)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Cc: Tom Zanussi <tom.zanussi@intel.com>
Cc: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Non-verbose logs are really annoying when trying to debug a build
failure. A lot of projects are copying in the flag to use
AM_SILENT_RULES which automake gained recently. We need to undo
this.
We'll get a warning from configure if it's not recognized, but that's
fine.
(From OE-Core rev: 86a760d8b573cfffaf1ac633fcffdfec748663cb)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix [YOCTO #964]
A recent commit 25a6e5f9(sstate: use only unique set of SSTATETASK) breaks
the ordered mapping between SSTATETASKS and SSTATETASKNAMES. As a result,
in sstate_cleanall, the line
taskname = tasks[namemap.index(name)]
gets an incorrect result, and "bitbake -c cleanall" doesn't really remove
the files populalted by do_populate_sysroot.
(From OE-Core rev: 2f6505f0e795b6c8cad641a6918739c3faac1f99)
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For easy view the check package result, merge the two files into checkpkg.csv, after that, the package report system will use checkpkg.csv instead of get_pkg_info.log.
(From OE-Core rev: e75d5808aef42733c83d1ca0151068503fe4d82c)
Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When building one of the native, nativesdk or crosssdk packages TARGET_*
variables' values are no longer related to the target we set via MACHINE
variable, they are now related to the BUILD (native) or SDK (nativesdk,
crosssdk) targets instead. We need to change TARGET_FPU variable
accordingly or some of the recipes (the ones that check for TARGET_FPU
value, most notably gcc and eglibc) might be confused.
It's probably cleaner not to reset TARGET_FPU but to change it to
something like ${BUILD_FPU} (for native) or ${SDK_FPU} (for crosssdk and
nativesdk) but as long as BUILD and SDK are x86 it's safe to just reset
TARGET_FPU.
(From OE-Core rev: 0d4ea5d7486dc35001582bef3ff6ebfad0606bda)
Signed-off-by: Ilya Yanok <yanok@emcraft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The failure of ldconfig was not getting logged anywhere before.
(From OE-Core rev: 880b0a222fdc11ee088bcaf8c832edae23bc28a7)
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is taken from openembedded.master:
commit 9d0d70da60ca8ef278916f442125d41161846f38
Author: Chris Larson <chris_larson@mentor.com>
Date: Mon Aug 23 13:03:55 2010 -0400
patch: allow importing patches into other dirs
Use the 'patchdir' flag. If relative, it's assumed to be relative to ${S}.
It creates a patchset class per patch directory, so for quilt this results i
multiple .pc/patches directories to manage each of the patchsets.
(From OE-Core rev: 01e4609ee8441c8212725fd062782313caae0708)
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This helps when SSTATE_MANIFESTS is overridden by external layers
(From OE-Core rev: 246cbbb076ea91eccbc373bd277684f69a8ab4dc)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The point we need to take the lock is when the rpm files are written into the
deploy rpm directory. Since sstate makes the actual installation of the files,
that is the point we need to take the lock. This also stops the deploy/rpm
directory being accessed for a lock before it exists.
[YOCTO #797]
[YOCTO #925]
(From OE-Core rev: 833a1e970f087dfcb32967cee3e24540f041cde0)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Image generation code in .conf files is hard to read as it needs to be
single line. By moving this to a separate class, multiline functions
can be used instead improving readability. It also declutters
bitbake.conf.
There is no real functional change with this patch but it highlights
the need for improvements in places such as the IMAGE_EXTRA_OPTION
ext* specific variable which makes no sense.
(From OE-Core rev: a5c403f0fc71f38c0669691da7f637303ea09a27)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Image type specific size overrides for IMAGE_ROOTFS were being ignored.
Moving the size calculation to after the overide expansion point addresses
this problem.
[YOCTO #928]
(From OE-Core rev: 2f676dadebebc461c1e01e0b6da3cb2258829048)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The quoting in get_imagecmds() is hard to read. We can simplify the constuction
a little to make this easier to parse and reduce complexity slightly.
(From OE-Core rev: da5d038f955bf47155a0f217dba2f96e263bcad8)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>