As of OE-Core revision 72d1048a8381fa4a8c4c0d082047536727b4be47,
rpmresolve is now required for complementary package installation during
do_populate_sdk.
(From OE-Core rev: 8a71c1a507289d38a0f675584ab206abfa9aad9a)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We set do_populate_sdk[depends] in populate_sdk_*.bbclass, but since
these are inherited at the top of populate_sdk_base.bbclass, those
values are wiped out by using = at the end of the latter class. Use +=
to avoid this.
(From OE-Core rev: a87b5d6cab34579cf3abe03f4663d9a72e218397)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Linux 2.6.x kernels did not (all) have the bounds.h file, so copy
only iff exists.
(From OE-Core rev: 02ac0d1b65389e1779d5f95047f761d7a82ef7a4)
Signed-off-by: Leon Woestenberg <leon@sidebranch.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If do_package needs to be re-run and packages are removed/renamed as a
result, we want the corresponding stale pkgdata files to no longer be
present; for that we need to ensure all of the old pkgdata files are
cleaned out prior to creating the new ones. This is particularly
important now we rely on pkgdata more heavily (for complementary
packages, license manifest, etc.).
(From OE-Core rev: 5dee47b476a6f715ab02af5e758441a2a934eea3)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Reduce the number of calls to the packaging tool, especially in the case
of rpm, using helper utilities to gather the required information more
efficiently where possible.
(From OE-Core rev: d0b8a98c5b46c305afd389fc862b3bf0c6f1eaab)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a staticdev-pkgs feature that can be added to IMAGE_FEATURES in
order to install all staticdev packages.
Fixes [YOCTO #2531].
(From OE-Core rev: 3ba9c0757eb51a0bb5873f4faae023587a33cc1d)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use a similar mechanism that was previously used to install locales at
rootfs generation time to install other "complementary" packages (e.g.
*-dev packages) - i.e. install all of the explicitly requested packages
and their dependencies, then get a list of the packages that were
installed, and use that list to install the complementary packages. This
has been implemented by using a list of globs which should make it
easier to extend in future.
The previous locale package installation code assumed that the locale
packages did not have any dependencies that were not already installed;
now that we are installing non-locale packages this is no longer
correct. In practice only the rpm backend actually made use of this
assumption, so it needed to be changed to call into the existing package
backend code to do the complementary package installation rather than
calling rpm directly.
This fixes the doc-pkgs IMAGE_FEATURES feature to work correctly, and
also ensures that all dev/dbg packages get installed for
dev-pkgs/dbg-pkgs respectively even if the dependency chains between
those packages was not ensuring that already.
The code has also been adapted to work correctly with the new
SDK-from-image functionality. To that end, an SDKIMAGE_FEATURES variable
has been added to allow specifying what extra image features should go
into the SDK (extra, because by virtue of installing all of the packages
in the image into the target part of the SDK, we already include all of
IMAGE_FEATURES) with a default value of "dev-pkgs dbg-pkgs".
Fixes [YOCTO #2614].
(From OE-Core rev: 72d1048a8381fa4a8c4c0d082047536727b4be47)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Improve the performance of the RPM backend during do_rootfs by
performing most of the package name to file resolution in a separate
utility written in C, processing the entire list of packages at once
rather than running rpm on the command line which loads the RPM database
for every package.
(From OE-Core rev: 9135d351ba7cb21e50239d2b310565680bd4fdca)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch adds the lsb name and revision to the path used for sstate files.
This means that reuse of sstate files between different distributions is restricted
by default. The behaviour can be configured using mirror urls, for example:
SSTATE_MIRRORS = "file://Ubuntu-11.10/(.*) file://Ubuntu/\1 \n"
would map Ubuntu 11.10 to a more generic "Ubuntu" named sstate feed.
Usually, more modern distros have increased libc versions for example
so whilst more older native/cross sstate packages will usually work on newer
distros, the opposite is not true. This patch allows development of policy
to better handle this although no default policy is currently being used.
(From OE-Core rev: 9360fc318cec5c873b17f59b817dd6312c81ee27)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently all sstate files are placed into one directory. This does not scale and
causes a variety of filesystem issues. This patch adds a two character subdirectory
to the layout (based on the first two characters of the hash) so that files
can be split into several directories.
This should help performance of sstate in most cases.
(From OE-Core rev: 5d45c7b025f6635b2232d7bf92b7c1aba350396b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This can then be used by the sstate code to mark native and cross packages
as being specific to a given distro.
(From OE-Core rev: 8556eb98be8bd9f02ee11a0d8a889c1895c86460)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
"error_promt" -> "error_prompt" changed in both places
"subfolers" -> "subfolders" since it's not referenced anyway
(From OE-Core rev: cc1f824778c023686b4ea75c64a182a138ff2267)
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Make dbg package dependencies added via DEPCHAIN_POST less aggressive -
only add dependencies on dbg packages for shared library dependencies.
This avoids dragging in extraneous packages (such as eglibc-dbg forcing
bash-dbg to be installed) whilst preserving the ability to easily debug
into shared libraries in use by an application by just requesting the
installation of the single dbg package for that application.
For task recipes however we preserve the previous behaviour, since when
you install task-xxx-dbg you expect the dbg packages for every package
in the task to be installed. Unfortunately not all of our tasks inherit
from task.bbclass so we just use a name match - this should be tidied up
later.
Fixes [YOCTO #2599].
(From OE-Core rev: 352522d474cb75992d7865545b6fbe4e157a5f99)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Avoid adding dependencies to dev and dbg packages on themselves via the
DEPCHAIN_* handling code. These don't actually cause any problems, but
they do complicate dependency graphs.
(From OE-Core rev: ecdf7874470cff24cb23b7fd2723096b15aead31)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If something is listed in ASSUME_PROVIDED but also manually built (like bzip2-native and
bzip2-replacement-native), we need to ensure that the installed binaries are only accessed
for things which list the provider in DEPENDS.
This patch adds a generic mechanism to handle this instead of everything reinventing the
wheel. EXTRANATIVEPATH += "perl-native" will ensure that ${STAGING_BINDIR_NATIVE}/perl-native
is added to PATH.
This means that:
a) Such providers should install to ${bindir}/xxx-native
b) Should PROVIDE += "xxxx-replacement-native"
c) That users should DEPEND on xxx-replacement-native and have EXTRANATIVEPATH += "xxx-native"
This patch enables this at the core level, the bzip2 recipe still needs adjusting to work
like this along with adjustment of the users of bzip2-replacement-native (python-native?).
(From OE-Core rev: 14b70cd222519e5bccaca955334787f123d9fc54)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If we want to query the PACKAGE_ARCH from the installed package (as we
do in order to be able to do a pkgdata lookup for example) then we need
to have this stored in its own field as this is not always the same as
the Architecture field for deb packages.
(From OE-Core rev: 3f4f6726646e18ae21919e2f361b669332796aef)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
While generating license.manifest package information is searched in:
filename=`ls ${TMPDIR}/pkgdata/*/runtime/${pkg}| head -1`
This is ok as long as package name is the same as the package name
after packaging.
For example dbus is packaged as dbus-1. So, searching
ls ${TMPDIR}/pkgdata/*/runtime/dbus-1 will fail because there is no file
with this package name.
Create a symlink to the pkgdata file in a runtime-reverse directory so
that these reverse lookups are possible.
Fixes [YOCTO #2638].
(From OE-Core rev: 76ef414b8a017557cf5f3ad7b3ca8a324f7aad29)
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The intent of the uImage code in this class includes the following
1) be able to specify custom load addresses without needing to patch the kernel
2) add better information to the uImage description field
The current state is a NOP anyway, the kernel will always build a uImage when you tell it to 'make uImage'.
weakly Set KEEPUIMAGE to 'yes' in default-distrovars.inc which preserve the
current OE-Core behavior. Machines which are being ported from oe.dev and need to
regenerate uImage can set this to be empty
(From OE-Core rev: 72a7049526ee107005bd39c7bdd814ed71345829)
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Without that fix we have the following while compiling compat-wireless.
include/linux/mmzone.h:18:30: fatal error: generated/bounds.h: No such file or directory
Note that the compat-wireless recipe will be added in another commit.
make -C $kerneldir _mrproper_scripts deleted this file along with
other things so we resurrect it with this patch.
(From OE-Core rev: 2d114fd0cdf7486f18e53f2bf41c4f559e4b4a8d)
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is a fix to Ross' series, we need to run gtkdocize in case anything
was built from source control and the appropriate files are missing.
(From OE-Core rev: aaf762bf20635a92d16e7aad6c154891d9d689c4)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
allarch sstate packages could be marked as machine or package_arch specific. This
change ensures they are not.
(From OE-Core rev: f3104240ad5bb542c339ee29b2672523ad3ae50c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Normally do_package is machine specific but this makes little sense for allarch
recipes. This patch unsets the appropriate variable.
(From OE-Core rev: 79e52a9825240a72b49a5c3f3ad8e0dbc74ad9f1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In do_kernel_checkout(), replace the creation of ${S}/.git with just
the creation of ${S} since the .git subdirectory is created only a few
lines later using a "mv". Here's the original code:
rm -rf ${S}
mkdir -p ${S}/.git
echo "WARNING. ${WORKDIR}/git is not a bare clone."
echo "Ensure that the SRC_URI includes the 'bareclone=1' option."
# we can fix up the kernel repository, but at the least the meta
# branch must be present. The machine branch may be created later.
mv ${WORKDIR}/git/.git ${S} <-- See? There it is.
There's no functional change here, it's just less confusing.
(From OE-Core rev: f0d318177096a7a1c7406642663ae4ce28010d12)
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(From OE-Core rev: 072476bb6468d984ae3246f478fd5b3a21f7c8d6)
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Update python-native to install the binaries in the python-native directory,
add pythonnative.bbclass to let recipes that need python-native use the
binaries and update disutils access the new binaries. Update distutils-base
to inherit pythonnative.
(From OE-Core rev: a2e554f731437545e9483a7a73e6847c03f6f48a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Many people don't understand the nuances of PATH/BBPATH, so help them by clarifying
the warning and displaying the parsed list element-by-element.
(From OE-Core rev: 6f7be2498134402b5e0f766df5c57e1f496d0d06)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is a package-index.bb which will update the index, but the
DEPLOY_DIR_RPM may not exist, for example, when "bitbake package-index"
in a fresh build.
Only the package_rpm.bbclass needs this, the package_ipk.bbclass and
package_deb.bbclass doesn't need.
[YOCTO #2753]
(From OE-Core rev: 72e18bb4171698a386b277b12d973e3d0fd7c4cc)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #1919]
Create a basic EFI installer script modeled after the existing installer
and add it to a new initramfs-live-install-efi recipe. Update the
init-live.sh script to distinguish between LABEL=install and
LABEL=install-efi and select the appropriate script. Add the efi
installer to core-image-minimal-initramfs.
Update grub-efi.bbclass to use "LABEL=install-efi" when it detects a
label of "install". This is clearly not ideal, but a proper fix would
involve decoupling the LABELS assignment from the image-live.bbclass
usage of SYSLINUX_LABELS. We should be able to address that in a
follow-on clean-up series.
V2: Include missing initramfs-live-install-efi_1.0.bb
V3: Rebase after Radu's console_params fix
(From OE-Core rev: 4bce3417917a3e88ba6529db394525fba82e0699)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
I found that some files were not getting removed from the sysroot, despite them
clearly being removed by the recipe. I found SYSROOT_DESTDIR is only ever copied
into, not cleaned. This patch ensures its empty when the task starts so that
stale files are removed and not persisted.
(From OE-Core rev: 8a313f6d32ae0bdac0393887712b09f1b685aaa5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is no point in having doc, manpage or info files in the staging directory. They
just bloat the sstate package size and waste time as they're copied around.
We never used to stage these but it crept in when we started staging $datadir. This
patch corrects that so they're removed and stop making it into the sysroot.
(From OE-Core rev: ec4fea852bde2294ad7a7a703ccf11eb9a109c31)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The bb and os modules are always imported so having these extra import calls
are a waste of space/execution time. They also set a bad example for people
copy and pasting code so clean them up.
(From OE-Core rev: 7d674820958be3a7051ea619effe1a6061d9cbe2)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
TARGET_PREFIX already has the dash included.
(From OE-Core rev: ca30b6587841f5e9a42aaedb8e0b89ff5a4a6a37)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This catches up with the STAGING_KERNEL_DIR location change
and uses the correct variable to future proof this issue.
[YOCTO #2783]
(From OE-Core rev: 28715eff6dff3415b1d7b0be8cbb465c417e307f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Many people don't understand the nuances of PATH, so help them by clarifying
the warning and displaying the parsed PATH element-by-element.
(From OE-Core rev: 47e6ab41f0f84e6bed7d337ebf96c954ec6909e8)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Originally, git was something new, not installed everywhere and had commandline
stability problems. This has changed and git it no longer makes sense to
continually build this when the system installed version is likely sufficient.
This speeds up build since recipes no longer have to wait for git-native to build
if they're fetched from a git:// SRC_URI.
Also add git to the sanity checks and drop the no unneeded svn reference.
(From OE-Core rev: 79e24186481770181565a18d177584d0d72399fe)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #2761]
This patch fixed the issue that after "bitbake meta-ide-support" and try to start qemu and it will fail. This is due to the meta-ide-support lacking dependency for qemu native and ended up using qemu under /usr/bin. Fix the issue by adding dependency for qemu native in meta-ide-support and also add the path info in the environment-setup script.
(From OE-Core rev: 3ea597249c18d73417abe7d7a9d32bba00499914)
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The build system passes specific TUNE (fundamental) flag values to various
tools instead of using a shell wrapper or similar. It is important that the
build system and ADT/SDK match the behaviors exactly, or we are likely to
have differences in the way build-system and external components are built
leading to configuration, compilation and/or run-time problems.
(From OE-Core rev: 2bd0aaf98c5d586638d82f5f22c1c24122a889a3)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The class adds a setscene dependency on base-passwd as well as adds this to DEPENDS.
The DEPENDS version will be auso-converted to include MLPREFIX whilst the setscene
dependency will not. This result in errors about non-existent tasks.
This patch ensures MLPREFIX is added when it is needed and fixes various
build failures. Whether we should have two base-passwd recipes in a multilib
system is a question which would need to be addressed by future changes.
(From OE-Core rev: 22dff7f36e985f9f7275b47e874147bc7bdc9473)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
kxgettext.o is generated when building ppc kernels
so we end up with packaging errors like
> ERROR: QA Issue: Architecture did not match (20 to 62) on
> /work/virtex5-poky-linux/linux-xilinx-2.6.38-r00/packages-split/kernel-dev/usr/src/kernel/scripts/kconfig/kxgettext.o
(From OE-Core rev: 77278bd23617834c7f90b3b24a9945ec081dbb38)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
I ran across this problem when apt 0.7.14 was not fetchable
from regular debian mirrors and existing snapshot mirror
did not have it either since we did not use proper syntax
so it was not hitting that.
(From OE-Core rev: 5a5f67e5486837b4d7e5a89cc27a5c8f8c8598ef)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If EXTRA_OECONF_FPU is left set, certain ARM variables related to hard-float
can get pulled in and trigger rebuilds of the crosssdk code. The best solution
is to simply force the variable to a known correct value for the SDK targets
currently supported in the same way as TARGET_FPU.
There is some slight rearrangement of the gcc code to ensure the variable is
always used to call the fpu function.
(From OE-Core rev: 410990445ada8cdcfaec4e6fa5791cee9a5b8983)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There was a bug showing up where the crosssdk recipes were being installed as machine
specific in the sstate-control directory. This turned out to be due to the architecture
fields used by sstate being set incorrectly. The problem is that the crosssdk inherits
the cross class. It therefore needs to be listed in this if statement block before
the cross check, not after.
This should resolve some package architecture issue of crosssdk sstate files.
(From OE-Core rev: 79fe28e6033273f9632ca7549d1599d3fd1463ef)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Having XZ_COMPRESSION_LEVEL on -e -9 and -T 0 will make xz eat more
than 6Gb memory. Reduce this to -6 to make xz to use about 471Mb
on the tested machine.
(From OE-Core rev: cfd201ecda95d00bc5d70aa5045c649b98ffe8b8)
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Default this variable to 0. This will make xz use as many threads as there are CPU
cores on the system.
(From OE-Core rev: 81c8e8a81e90ce95042e9fff8bac6fa011c416d1)
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Having -c modifier makes xz to output the compressed data to stdout. In this
way the needed data will be in the do_rootfs log.
Redirect data to ${IMAGE_NAME}.rootfs.${type}.xz .
(From OE-Core rev: 7ceea61636d6a6f886002e3c29941da3356157ac)
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We should not just replace CCFLAGS with CFLAGS while compiling, because
this may cause run-time errors with perl's DynaLoader.pm.
Tested on qemux86 with new libnet-libidn-perl bb recipe:
root@qemux86:~# perl -e "use Net::LibIDN"
Not a CODE reference at /usr/lib/perl/5.14.2//DynaLoader.pm line 213.
END failed--call queue aborted at /usr/lib/perl/vendor_perl/5.14.2//Net/LibIDN.pm line 213.
Compilation failed in require at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
(From OE-Core rev: 855211ae7a224f96663862d4a0e58a90d945dd48)
Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It turns out "apt-cache showpkg" does return some information when a
package does not exist but another package recommends it, which can
occur for empty *-dev packages; so use "apt-cache policy" with a
different line count instead.
(From OE-Core rev: ac62761a9cacdfd0225d2db5a75584e6c85469a8)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In the usual case, the computed path used for debugedit to fix
up path references for the target filesystem is correct. However,
prebuilt binary components, such as prebuilt toolchains, can
have debug paths that do not reflect paths within the local
build directory. Providing an override lets us continue to use
the standard debugedit logic in package.bbclass.
(From OE-Core rev: 32b1fde106bf423873a4a56e1111f230494e2d4a)
Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Package install failures due to issues in post install rules.
package_do_shlibs only looks for libraries in a directory "lib", this should be
modified to the variable baselib.
ldconfig_postinst_fragment failure observed on systems without /sbin/ldconfig
[ -x /sbin/ldconfig ] && /sbin/ldconfig
results in the post install rule returning a failure. Modify to
if [ -x /sbin/ldconfig ]; then /sbin/ldconfig; fi
(From OE-Core rev: 3f85ab6d0d05a4e34fe73fa343d2b3b942fc69b7)
Signed-off-by: Amy Fong <amy.fong@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This ensures a rebuild does really build from scratch when ccache is in use.
[YOCTO #2696]
(From OE-Core rev: ddf52d0161096b089fad8f3ace69b6515d7b7226)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the kernel version string uses characters or symbols that
need to be santized for the package name, we can end up with a
mismatch between module requirements and what the kernel
provides.
The kernel version is pulled from utsrelease.h, which contains
the exact string that was passed to the kernel build, not
one that is santized, this can result in:
echo "CONFIG_LOCALVERSION="\"MYVER+snapshot_standard\" >> ${B}/.config
<build>
% rpm -qp kernel-module-uvesafb-3.4-r0.qemux86.rpm --requires
update-modules
kernel-3.4.3-MYVER+snapshot_standard
% rpm -qp kernel-3.4.3-myver+snapshot-standard-3.4-r0.qemux86.rpm --provides
kernel-3.4.3-myver+snapshot-standard = 3.4-r0
At rootfs assembly time, we'll have a dependency issue with the kernel
providing the santizied string and the modules requiring the utsrelease.h
string.
To not break existing use cases, we can add a second provides to the
kernel packaging with the unsantized version string, and allowing the
kernel module packaging to be unchanged.
RPROVIDES_kernel-base += "kernel-${KERNEL_VERSION}"
% rpm -qp kernel-3.4.3-myver+snapshot-standard-3.4-r0.qemux86.rpm --provides
kernel-3.4.3-MYVER+snapshot_standard
kernel-3.4.3-myver+snapshot-standard = 3.4-r0
(From OE-Core rev: 7be043178f5b9d16d9a06696bc0b96689f202a8d)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is useful for the scenario where we want to add 'gcc' to
the root file system for all multilib variants
(From OE-Core rev: 7cd54693363882854cd026ebe071e9f2e03d364e)
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Prepend the license manifest creation call to ROOTFS_POSTPROCESS_COMMAND
instead of appending to ROOTFS_POSTINSTALL_COMMAND. The latter is not
implemented for the deb backend (and probably ought to just be removed
completely), and by using _prepend we can still ensure it occurs before
package info is removed (and before buildhistory in case it is needed
there in future).
(From OE-Core rev: 56fafe083fdb63f156a081344fb1d836e3182bf0)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There will be errors when the length of the tmpdir is longer than 410:
1) Longer than 420:
Can't exec "/bin/sh": Argument list too long at /usr/lib/perl/5.10/IO/File.pm line 66.
This error happens on both Ubuntu 10.04 and 10.10 when the pkg needs run
"autoreconf", this is because it passes many files with absolute path to
aclocal, aclocal passes them to perl, this is a limitation of the perl
on Ubuntu 10.04 and 10.10, and the perl-native is not ready at this very
early stage.
2) Longer than 490:
bitbake/lib/bb/persist_data.py", line 197, in connect(database=...)
> return sqlite3.connect(database, timeout=5, isolation_level=None)
OperationalError: unable to open database file
This error happens on Ubuntu 10.04, 10.10 and Fedora 17. This is because
the length of the database in sqlite3 module (host's) can't be longer
than 490 (or little smaller). The python-native is not ready at this
very early stage.
The 2 errors are host related, I think that limit the length of the
TMPDIR to 410 is OK for most of the build, rarely build sets TMPDIR's
longer than 410.
[YOCTO #2434]
(From OE-Core rev: ebcf949853ff667478a1ea1d3f1f8f41d643e708)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Enable the remapping for SDK generation, this is required to be able to
create an SDK that targets an alternative multilib. Note, this work does
not finish SDK/multilib support, but it is one more step toward making
it work properly.
(From OE-Core rev: d66d2bdf6214939e8b131f47db2f35d3c64e7dd2)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When constructing a multilib based image, it's possible to end up with
the same package listed in multiple steps of the install. During resolution
we use the --replacepkgs option to avoid errors, as the resulting install
solution will be as expected. (We do not enable the replacepkgs option
for the final install step, only the generation of the install solution.)
(From OE-Core rev: 68ea7d827710ae7c5cf402887d4c12319038e064)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
An anonymous python chunk configures some multilib settings for both
populate_sdk_rpm and rootfs_rpm. The two classes should contain identical
versions to ensure that the generated multilib configuration is the same
for the SDK and the rootfs.
(From OE-Core rev: 0f60722ef460fa826e4f02e7457004e64ca41d76)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bootimg.bbclass using STAGING_DIR_HOST/kernel instead of
STAGING_KERNEL_DIR, resulting in build failure of live images.
| install: cannot stat `/usr/local/dev/yocto/fishriver-test/build/tmp/sysroots/fishriver/kernel/bzImage': No such file or directory
Replace it with STAGING_KERNEL_DIR.
(From OE-Core rev: 8f16811a8d51982a8b3d70e6087aef4a41926840)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Tested-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(From OE-Core rev: 0b79c730f3e5c3c5329e439dffd137f2605b6cba)
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
On x86, an ELF image file may be stored as a coreboot payload.
The image file is constructed, using the mkelfimage utility,
from a kernel and an initrd.
(From OE-Core rev: 93e9de4e27919f59b6783d53f314df6e49ccb436)
Signed-off-by: Raymond Danks <ray.danks@se-eng.com>
Acked-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This will allow the reporting of these errors as either WARNINGs (default)
or ERRORs if installed_vs_shipped is added to the ERROR_QA of the policy
file (such as a <distro_name>.conf file.
V2: found the code I had intended to send instead of that other junk,
was just not watching what I pushed on that one, sorry. (this is edit in
no in the actual commit message)
(From OE-Core rev: 20d4205a4e408b6a99db392d4df458156113106a)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since this check effective is not a change becase the package
order that was in this file has not really changed no PR Bumps
are needed.
(From OE-Core rev: d807d5dd5bd0e161057ee115256dc050dbe8609b)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #1614]
Add the kernel headers to the kernel-dev package. This packages what was
already built and kept in sysroots for building modules with bitbake.
Making this available on the target requires removing some additional
host binaries.
Move the location to /usr/src/kernel
Before use on the target, the user will need to:
# cd /usr/src/kernel
# make scripts
This renders the kernel-misc recipe empty, so remove it.
As we use /usr/src/kernel in several places (and I missed one in the
previous version), add a KERNEL_SRC_DIR variable and use that throughout
the class to avoid update errors in the future.
Now that we package the kernel headers, drop the
kernel_package_preprocess function which removed them from PKGD.
All *-sdk image recipes include dev-pkgs, so the kernel-dev package will
be installed by default on all such images.
(From OE-Core rev: 6125ea40d4483965f793bd847b3ce14b668a5b1e)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
CC: Tom Zanussi <tom.zanussi@intel.com>
CC: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This also deletes the buildall task since I seen usecases for it.
(From OE-Core rev: 8229fb5d7205f5e5b198ab2860fbcc02054476eb)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
IMAGE_FEATURES such as 'ssh-server-dropbear' and 'ssh-server-openssh'
can't be both enabled. User can use the following variables to define
the relationship of image features:
IMAGE_FEATURES_REPLACES_foo = "bar" means including image feature "foo"
would replace the image feature "bar".
IMAGE_FEATURES_CONFLICTS_foo = "bar" means including both image features
"foo" and "bar" would cause an parsing error.
(From OE-Core rev: e36d12a9c1cf69540079e48a1dfadbc343758e48)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This appears to be an oversight in the original implementation. All of the
host package types were being ignored except for the SDK cross-canadian type.
(From OE-Core rev: 750f99d4e2c805985cd87a2358b0625a808ecf4d)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When building an image recipe, you can now build a companion SDK by
calling the populate_sdk task:
bitbake -c populate_sdk core-image-minimal
Note: there are still issues w/ the SDK not working completely with
multilibs.
A lock is required between rootfs and populate_sdk activities to prevent
configuration file clashes and similar package management problems in ipk
and deb based systems. (RPM already had a lock for a different reason.)
(From OE-Core rev: a0de2a56f19ae4d8cd88e46e96917a7a019fe1ab)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Most of the time skipping per file dependency generation is a bad idea, but
when building a nativesdk or similar you may be required to pickup host
dependencies. These host dependencies can not always be reconciled within
the scope of other nativesdk components, so if we skip them we can facilitate
this unique situation.
(From OE-Core rev: a1ca125de55a8e7cab402e2ba5737a56d4e890c2)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The libc-common attempts to rewrite the package information in a way similar
to debian.bbclass. When it does this, it should be appending to the
dependency variables (RPROVIDES, RREPLACES, and RCONFLICTS), instead
of simply setting a hard coded value. Otherwise the lib package can not
tailor the dependency variables to suite it's needs.
(From OE-Core rev: fa1c7b797593cbd5e82dc264bde2667620eb0515)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When configure fails, it usually says "see config.log" yet nobody ever shares
the config.log file meaning the person trying to help invariably has to ask
for more information.
This patch dumps all the config.log files into the main bitbake log files when
configure fails, meaning all the information is present to help someone debug
such failures. It does make the log rather larger but this is preferable to
not having enough information in most cases.
[YOCTO #2463]
(From OE-Core rev: 7ad08f5b73aa949a877adc5641b4bb1d007de750)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In order to enable basic multilib support for the export of an SDK
image, a number of minor changes had to be made:
The value of MULTIMACH_TARGET_SYS needs to be variable. This way we
can define the value to the appropriate multilib. (Also in some cases
the default PACKAGE_ARCH is set to MACHINE_ARCH which is incorrect for
the SDK.) Add a companion REAL_MULTIMACH_TARGET_SYS, based on code
from meta-environment, to allow for this.
We have to convert the do_populate_sdk into a python call, and then
break up the previous items into three parts.
* Image construction
* Setup of environment files
* Generation of the tarball
Then we can iterate over the multilibs to populate the environment files.
Finally, matching changes were needed in the toolchain-scripts file. And
what I presume is an optimization of immediate evaluation for
TOOLCHAIN_CONFIGSITE_NOCACHE and ..._SYSROOTCACHE needed to be done at
runtime, otherwise the wrong values may be used.
(From OE-Core rev: 42545ffbb37f2646a2a8c20999c21d3300e24f59)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If we combine the do_populate_sdk with the image generation, we want
to avoid the dependency processing unless do_populate_sdk is run.
This requires the bitbake change to implement task based rdepends.
(From OE-Core rev: 5fa9f980248e7813ce74f48a29c4b7d94e308cf9)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We want to be able to supply attempt only packages in the SDK in order to
support more advanced SDK images that more closely match specific image
recipes.
(From OE-Core rev: 9b9efa96537f4977b158c29151e53d02600d2294)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
populate_sdk was renamed to populate_sdk_base in order to allow for changes
that may break existing SDK recipes. Any such changes need an analog
in populate_sdk (new version) to restore previous desired behavior.
In addition to the rename, one minor change was made. The _base version
only had the do_populate_sdk as an added task, but no before or after defined.
For compatibility, populate_sdk has do_populate_sdk defined as "after"
do_install and before do_build, this is identical to the original behavior.
(From OE-Core rev: bde224ba44c16edc1892cea1b33ab973ae971115)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When a recent change, the path to log files may be contained within an
arbitrary directory. To generate the manual log files in the correct path
we should be using the ${BB_LOGFILE}'s path instead of always assuming the
logs go into ${WORKDIR}/temp.
(From OE-Core rev: 779db325d407f0bade84572ef99fdad4d0c88011)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These variables all take package name extensions and should be considered in sstate
dependency processing.
This may also fix some multilib alternatives issues (unconfirmed).
[YOCTO #2056]
(From OE-Core rev: 64422f7c5da160050a5454817c8fa9d070104b34)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If we don't do this it will match on expressions like "NOTE:" which
are not fatal errors.
(From OE-Core rev: 8f4e160ce0b0c755545d62b06db14decd45b9f1e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
I noticed this when qemu-native failed to build and a rootfs was not generated
which is not the intended behaviour.
Also update the syntax to use appendVarFlag instead of get/setVarFlag
(From OE-Core rev: fa13e83ec3f91dce866ac212e91b62db24b6486d)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(From OE-Core rev: ff3f912eed0270afa14d706fc1e57f8a1de2614b)
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The autogen-native built error on FC17:
ccache: failed to create /dev/null/.ccache
This is because the default gcc command of FC17 is a symlink to ccache,
so the ccache will always be used regardless to the setting of CCACHE,
ccache uses $HOME/.ccache as the CACHE_DIR by default, but autogen set
HOME=/dev/null, so the error happens.
Disable ccache explicitly if it is not enabled would fix the problem,
otherwise it would always use ccache regardless to the setting of CCACHE
on Fedora 17.
The ccache 3.1.7 has a bug, it would always create $CCCHE_DIR/.ccache
even CCACHE_DISABLE=1.
Unset CCACHE_DISABLE in ccache.bbclass, since ccache only checks whether
there is a CCACHE_DISABLE in the environment or not, it doesn't care about
its value, so we need unset it explicitly when enable ccache.
[YOCTO #2554]
(From OE-Core rev: dd2bab9b6a973d8086dfb6282e781fd79d30b05a)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This function can miss packages whose license is in
"COPYLEFT_LICENSE_EXCLUDE" and tarball packages with license in
"COPYLEFT_LICENSE_INCLUDE".
[YOCTO #2473]
(From OE-Core rev: 4800bed394ebd7fb50552a96d6a5f83d98fe790f)
Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Previously this was installing schemas in the sysroot, which is wrong for native
packages as nothing should touch the sysroot directly, and even more wrong for
non-native packages as the sysroot is irrelevant.
So, export the environment variable that stops the registration happening at
install time. The postinst script will handle the non-native case, and for the
sysroot I've opened #2648. This isn't a massive problem as nothing to my
knowledge actually installs schemas to the sysroot.
[YOCTO #2245]
(From OE-Core rev: f9f2e0309a03a4dc9ed5e6cff7db6f29962b7d60)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This was needed since it was after the sysroots and thus in some cases
the native sysroot chown was being found and used instead of the script
provided by native-intercept/chown. This was noticed by the non-gplv3
build since it's coreutils depends on coreutils-native.
(From OE-Core rev: bb5095d3f73a00222f50f9dd2cf8dc27cc72b4a2)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Updating the kern-tools SRCREV to pickup the following functionality:
- buildall: provides the ability to build all kernel branches
without a build system, only a cross compiler and configme
are required.
- robustness/cleanups: obselete/unused code removal and general robustness
fixes from Paul Gortmaker and Bruce Ashfield
The following kern-tools commits are part of this series:
b8dfd3d buildall: add whitelist/blacklist support
0ef039c configme: catch errors found during fragment sanitization
5b6498c buildall: remove all instances of it using/reading scc files
2e57550 buildall: support semi seamless restarts
4b5dd4d kconf_check: simplify cmdline args, dont store data per branch
58fbb6e configme: relieve it of all knowledge of scc files
a03e291 configme: strip out alternative meta series logic.
96d2bcf kgit-init: check for valid branchpoint
5598db6 buildall: allow a max cap on the number of builds done
b46abec buildall: add support for randomizing build order
68a04e9 buildall: dont copy failed build logs into main build dir
5575d85 buildall: script to independently build all board kernels
86d6200 configme: delete unused variable
8d4e29d configme: delete unused KPROFILE setting
7e15436 configme: ensure we have a valid machine type set
152b9cb scc: remove depreciated/unused commands
bb4e96a scc: allow includes within conditional statements
7da7951 configme: derive path to tools from $0
152dc45 configme: test for BUILD_DIR != ""
129f7b0 kgit-scc: add warnings about bad input args.
e977662 kgit-scc: add text for no arg and invalid arg case.
[YOCTO #843]
(From OE-Core rev: be3cff86d55db6255e036d68e943e527802b4f4c)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Allow empty passwords login so that the default root user can login in
through openssh.
(From OE-Core rev: 39ef0a705ca059f9a7c68aa1710c81411fb7c762)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Rather than pause for 5 seconds, test the return code of the command and
require user input before exiting on failure. This avoids pausing after
successful command execution as well as possibly not waiting long enough
if the user happens to be doing something else for 5 seconds.
(From OE-Core rev: d99cc2b70bbda9a0cbc09a4430b871c287113041)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
perf has been coupled to the kernel packages via kernel.bbclass.
While maintaining the build of perf out of the kernel source tree
is desired the package coupling has proved to be awkward in
several situations such as:
- when a kernel recipe doesn't want to build/provide perf
- when licensing of dependencies would prohibit perf and hence
the kernel from being built.
To solve some of these problems, this recipe is the extraction of
the linux-tools.inc provided perf compilation into a standalone
perf recipe that builds out of the kernel source, but is otherwise
independent.
No new functionality is provided above what the linux-tools.inc
variant provided, but the separate recipe provides baseline for
adding new functionality.
(From OE-Core rev: ab883d0c1a05bd99e97e5d71bc7bed05cb1ae8c8)
Signed-off-by: Liang Li <liang.li@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The kernel source tree in the sysroot has all unecessary source
code removed. The existing use case is to support module building
out of the sysroot, but as more toolsa are moved into the kernel
tree itself there are new use cases for the kernel sysroot source.
To avoid putting dependencies on the kernel, and to be able to
individually build and package these tools out of the source tree,
we can save $kerndir/tools and $kernddir/lib from being removed.
This enables tools like perf to be built our of the kernel source
in the sysroot, without significantly increasing the amount of
source in the sysroot.
(From OE-Core rev: e6cadd9074b18798f2df7c3f89dc35a98c29b6e5)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fixes:
* Remove the "echo '# Remove manifest padding....' > remove.manifest,
The remove.manifest would be used via "rpm -e `remove.manifest`",
there would be error since there is no pkg called: Remove, manifest or
padding
* The incremental.manifest can't be null when used by rpm, so check it
before use.
* The rpm needs:
--root "${target_rootfs}/install"
when use:
-D "_dbpath ${target_rootfs}/install"
Otherwise it would use the ${target_rootfs} as the root, and use the
${target_rootfs}/var/lib/rpm as the dbpath, this is OK in a fresh
installation, but there would be errors when increment rpm generation.
[YOCTO #2617]
(From OE-Core rev: 7d702c637b84c028c9763246b3ac355d10083ea3)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ensure the following results in the kernel being rebuilt, repackaged and
re-deployed in the final step:
bitbake virtual/kernel
bitbake -c menuconfig virtual/kernel
[ make changes to the kernel configuration and save ]
bitbake virtual/kernel
If there are no changes to the configuration saved, the rebuild will not
be triggered.
Note that this relies on a function recently added to BitBake and
requires full hashing (i.e. BB_SIGNATURE_HANDLER must be set to a
signature handler that inherits from BasicHash) - if this is not the
case or the function is not available in the version of BitBake being
used this change will do nothing.
Fixes [YOCTO #2256].
(From OE-Core rev: 9bf6b60e1599cf5dd87089d42584583cdfd6807a)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* without this, kernel upgrades where KERNEL_VERSION is changed
e.g. 3.4.2 -> 3.4.3 generate .dep for running 3.4.2 and after reboot user ends
up without any module loaded to make it worse after reboot nothing is upgraded
to trigger another kernel(-module) postinst to generate .dep for now running 3.4.3
(From OE-Core rev: 4bd5c17f55bc96ce6bbaccf6559aa4ea123ff4cb)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since we now have PN as the end of the package list, we can almost get rid of
lib_package, each recipe can just add PACKAGES =+ PN-bin instead of the inherit
(From OE-Core rev: 7acdd6177fda4643d2f04f45eb7490e45a3d491e)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since we have re-order the full PACKAGES list, we do not need to reset
the -dev list, we still need this since the -bin package needs to be inserted.
(From OE-Core rev: cb43d97988475646074c53a264f563bf0cb2907a)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is part of the the package reorder, by having binconfig add -config
will the files first due to the order being greedy.
(From OE-Core rev: df651f5c30acb7cccbc0a0abf4b91a07f1a72e1f)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Using the host objdump can lead to errors like:
objdump: library.so.1.0.0: File format is ambiguous
objdump: Matching formats: elf32-littlearm elf32-littlearm-symbian elf32-littlearm-vxworks
with certain configurations of binutils.
(From OE-Core rev: 6d761ae17ddbd3d936e7fe985b40825ad62b2418)
Signed-off-by: James Limbouris <james@digitalmatter.com.au>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Remove some of the older fields that are not in the new list as we
are able to better automagically generate this directly from the
recipe files the extra files will go away.
To use this, one will have to include the appropirate files, such
as maintainers.inc, upstream_status.inc
(From OE-Core rev: f159ea18cf2a3f0c94d7324a2b63a6f0aabf73f2)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If BBPATH references the working directory, the user is warned and asked
to fix the problem.
[Yocto #1465]
(From OE-Core rev: 73f10ae955ba217078fa2c5288b736ae8a30b184)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently, the task just exits if something goes wrong. This adds the
ncurses-native dependency. It also adds a small delay before closing the
window so any messages displayed there can be seen.
Trying to get the kernel build system to correctly find and link with
our copy of ncurses is some kind of nightmare. I ended up having to add
it to HOST_LOADLIBES globally for this task which is rather nasty but I
couldn't find any other way.
[YOCTO #2513]
(From OE-Core rev: fe417e8a4d625c6933de72163d2fee52ac47f571)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
An empty manifest will cause a failure condition. We ensure that any install
actions occur only with a manifest larger then size 0. Also ensure that padding
is added to the end of the manifest, instead of the beginning to enable this
size check. (Padding is required for very small manifest files..)
(From OE-Core rev: 9b115181a8b10ec1eb8eac355405695f63e2e011)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Move the creation of the database configuration files to just before we
perform the install actions. This ensures they will exist even in SDK or
other non-target filesystem images.
(From OE-Core rev: 113e015afd46e46c9ba0413ca15f0316fa2eec24)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add functionality to RPM to directly query the packageorigin (path) from
the resolver database, instead of having to do this via an indirect method.
This results in a minor performance improvement.
(From OE-Core rev: a8ff3141fd78442bf328c9d3a489db88ad27486b)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
RPM 5.4.8 requires db 5.3.x, so both are upgraded together.
(From OE-Core rev: c5898ef3fc3820ff9c44bc5b1b16e5def64aa877)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Upstream Gnome projects are starting to migrate to the .xz compress format,
so we need to add this to allow recipes to override the default of .bz2 as
the upstreams make the transition.
[YOCTO #2241]
(From OE-Core rev: 0eddc176e73e74d4b1a7d3163d65f619fcd4baf0)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In some cases we need to specify linker flags and right
now we do not have a way to communicate that to cmake
based systems. cmake defines CMAKE_C_LINK_FLAGS and CMAKE_CXX_LINK_FLAGS
for these needs. This patch therefore defines two local variables
namely OECMAKE_C_LINK_FLAGS and OECMAKE_CXX_LINK_FLAGS which
can be altered by recipes to tweak linker flags
(From OE-Core rev: 9e00a74749ba8e1cf0d15efe8e16af60b189e080)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The rpmlib was removed when images that add
"remove_packaging_data_files" to ROOTFS_POSTPROCESS_COMMAND, which would
make the increment rpm image generation doesn't work in the second
build, since list_installed_packages would get incorrect value in the
second build, move the rpmlib to ${T} rather than remove it, and move it
back when INC_RPM_IMAGE_GEN =1.
[YOCTO #2440]
(From OE-Core rev: c30e79510c06701f10f659eedaa0fe785538ac17)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The content to modify this bbclass is as follow:
- Use the existing functions to get license as a directory instead of
rewriting it for avoiding code duplication.
- Use SPDXLICENSEMAP to map licenses
[YOCTO #2473]
(From OE-Core rev: 31bee6e7b0a23efc1555ab739ef10041803d5bb1)
Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Remove the long obtuse sysroot path from the ldd output.
Make the error message significantly easier to read and understand.
Old Style:
WARNING: QA Issue: keyutils: /home/mhatle/git/oss/oe-core/build-i386/tmp-eglibc/work/i586-oe-linux/keyutils-1.5.5-r1/packages-split/keyutils/sbin/request-key links to something under exec_prefix
WARNING: QA Issue: ldd reports: libkeyutils.so.1 => /home/mhatle/git/oss/oe-core/build-i386/tmp-eglibc/sysroots/qemux86/usr/lib/libkeyutils.so.1 (0xdead1000)
libc.so.6 => /home/mhatle/git/oss/oe-core/build-i386/tmp-eglibc/sysroots/qemux86/lib/libc.so.6 (0xdead2000)
/lib/ld-linux.so.2 => /home/mhatle/git/oss/oe-core/build-i386/tmp-eglibc/sysroots/qemux86/lib/ld-linux.so.2 (0xdead3000)
New style:
WARNING: QA Issue: keyutils: /sbin/request-key, installed in the base_prefix, requires a shared library under exec_prefix (/usr): libkeyutils.so.1 => /usr/lib/libkeyutils.so.1 (0xdead1000)
(From OE-Core rev: 1583a8e2db6dd4843ff45acee458d4924f7d6ced)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This fixes an ugly way I was trying to find pkg runtime
data for package and license manifest creation.
rootfs generation times for core-image-minimal:
Prior to patch
real 0m41.570s
user 1m40.466s
sys 0m6.768s
With patch
real 0m27.527s
user 0m9.833s
sys 0m3.496s
(From OE-Core rev: 664bbf3207c229eef5ef94a08713a652f33a8466)
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Conflicts:
meta/classes/license.bbclass
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Per request, adding the package version to the package manifest
file.
(From OE-Core rev: bf216369f3131ad38c0b2b92620e4805ca9eecb9)
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The usability of the archiver classes can be improved, beyond the
simple addition of default values for the variables. A user could
well inherit just archiver rather than the individual useful classes,
and not realize it will do nothing.
[YOCTO #2472]
(From OE-Core rev: ce91f495e0c4ef3bf53ee8b2ea570061da38e14f)
Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If there is a patch to Makefile.PL, a Makefile.PL but no Makefile
will be placed in ${B}/.pc/xxx.patch/ after do_patch.
And no Makefile will be generated for *this* Makefile.PL.
While do_configure, the original code tries to sed Makefiles
matching with each Makefile.PL in {B}, so this would fail.
(From OE-Core rev: 7c99105d70a16aa9e42429224abed28743e627b2)
Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
After the class changes, absolute symlinks are not being handled correctly
by the class file. This adds handling for absolute symlinks to account for the
pkgdest directory, removing dangling symlink messages from recipes like bzip2.
(From OE-Core rev: ecea2fab2063a3c478a63e62ba0e80305674c5e0)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
'//' in a FILES variable causes hard to track down issues with
packaging. This adds a warning and attempts to auto-correct the issue to
try and make the problem more user friendly.
[YOCTO #2448]
(From OE-Core rev: 0e33e314b1d2d3779658696f13a274b20d698667)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This reverts commit e83d8e58a6b107eea87df0ec233a1bc932b2c6e as the conversion
is not correct. Its replacing readlines() calls which generate an array with
what are effectively strings. There are split("\n") calls missing in many
cases so this needs to be reverted until it gets fixed.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently, ccache is used if it is present. When building from scratch it gives
no performance improvement and creates a ton of empty directories even when its
not in use.
This change moves ccache support to a bbclass file which the user can choose to
enable. This should make builds more determinstic and make it easier/clearer
to the end user when its being used and when it is not.
(From OE-Core rev: 2acf8da4f13c175ea818b9514677b7059de1e3e2)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently we copy the aclocal directory to the build so that autotools
doesn't see .m4 files disappear when its processing them. This can happen
if for example, package X is being rebuilt at the same time as Y and it
gets uninstalled from sstate (assuming there are no dependencies between
X and Y). This code making the copy was added to avoid races but introduces
a race of its own, namely that the files can disappear during the copy.
This patch adds a cp-noerror script which silently ignores such errors
and gives the behaviour we need in this case. It hence fixes issues which
crop up for users and the autobuilder occasionally.
[YOCTO #2485]
(From OE-Core rev: 0f81fbc0df73675aeb79c724858799a3b6a02f85)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In order to show a friendlier error message within Hob that does not
bury the actual sanity error in our typical preamble about disabling
sanity checks, use a separate event to indicate that sanity checks
failed.
This change is intended to work together with the related change to
BitBake, however it has a check to ensure that it does not fail with
older versions that do not include that change.
Fixes [YOCTO #2336].
(From OE-Core rev: 49d8b7b8c3b18da64583637db207f1f064a5bdb2)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The variable name has been typo'd as TARGE_ARCH since it was introduced
some time ago, so the check has never worked. Fixing the typo shows that
the test is not quite functional, so let's just remove it:
http://lists.linuxtogo.org/pipermail/openembedded-core/2011-October/010613.html
(From OE-Core rev: 897a9b1dddef385253b16ea7c193483e0ea679b6)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Replace os.popen with subprocess.Popen since the older function would
fail (more or less) silently if the executed program cannot be found
There are both bb.process.run() and bb.process.Popen() which wraps the
subprocess module, use it for simplifying the code.
Note: We don't need the "2>/dev/null" or "2>&1" since bb.process.run()
can handle it, it will raise exception when error occurs, we should
handle the exception ourselves if we want to ignore the error.
More info:
http://docs.python.org/library/subprocess.html#subprocess-replacements
[YOCTO #2454]
(From OE-Core rev: e83d8e58a6b107eea87df0ec233a1bc932b2c6ea)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Replace os.system with subprocess.call since the older function would
fail (more or less) silently if the executed program cannot be found
More info:
http://docs.python.org/library/subprocess.html#subprocess-replacements
[YOCTO #2454]
(From OE-Core rev: a07d03cc6f67c88feb9813ae7deb6e4a93552dfe)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In order to better support multilib processing, switch from PN
to BPN.
(From OE-Core rev: 75f70ab534f6dfef961906fb5c252f9e5310d38f)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Refactor in order to:
* Deprecate the old interfaces, but keep them for compatibility
* Provide a new, interface -- capable of working with split packages
* Each update-alternative will now set proper "per-file" provides
Note: this adds a warning message when the older deprecated behavior is
used. The older behavior has been fully tested using oe-core.
(From OE-Core rev: 309117d26de6a87b16406a44a0cefcbaaf7b5d7a)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some image classes such as bootimg save files into ${S} as part of rootfs
generation. For correctness we should therefore clean this at the start of
image generation to ensure reproducibility.
I found this issue when some files I thought should disappear from my rootfs
would not disappear.
(From OE-Core rev: 363424cdc78cafa278008f973c2b4288297ebf8c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When trying to understand why a QA wanring such as:
ERROR: QA Issue: foo rdepends on bar-dev
it is very difficult to figure out where the bar-dev dependency
comes from, since many of them are added dynamically.
This adds a debug statement that says which dependency adds an
rdepends to the system.
Also, while doing this work, it was noted that the same dependencies
were being scanned for over and over. Instead we shorten the list
by only added to the dep list if the dependency was not already there.
(From OE-Core rev: 257b9e371143421b78a6991ef5401e564918c164)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The following functions in meta/classes/utils.bbclass were not
used by anyone, and they didn't work when I tried to use them:
def oe_popen_env(d):
def oe_run(d, cmd, **kwargs):
def oe_popen(d, cmd, **kwargs):
def oe_system(d, cmd, **kwargs):
There error was:
AttributeError: type object 'str' has no attribute 'getVar'
We have bitbake/lib/bb/process.py to instead, so remove them.
[YOCTO #2489]
(From OE-Core rev: 15ad62ab1be060d8a7cdc2d28167ea3af4cfd5d5)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This enables a user to use bitbake -e even when the sanity checks are
failing.
(From OE-Core rev: be317df78535120137ecaadf797e3f4dfe04119e)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The call to bb.mkdirhier() in check_create_long_filename() can fail with an
OSError, explicitly catch this and report something useful to the user.
(From OE-Core rev: b066906477eb0496a2babb3d8e87682a1b7df0de)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the user does not have write permissions to SSTATE_CACHE, detected by
the check_create_long_filename() test failing with a "Permission denied"
value in strerror, then suggest they might want to use the location as
an entry in SSTATE_MIRRORS.
(From OE-Core rev: 719d44305508c75a9f2decacdff6558ca14277bb)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Each failure in the sanity message should be reported on a new line.
(From OE-Core rev: 9362702aa9dd82fed7e6d6e3cb1289521b802075)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Replace calls to data.getVar(VARIABLE, data_object, expand) to
direct calls to the getVar method the the data_object.
(From OE-Core rev: 41ee978b62a9c40f36f8ad0acef147e36edffa17)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
At the ConfigParsed event the datastore has yet to be finalised and thus
appends and overrides have not been set.
To ensure the sanity check is being run against the configuration values
the user has set call finalize() on a copy of the datastore and pass that
for all sanity checks.
(From OE-Core rev: 71142172efc0f44a50216550c2b6cc3094fdc21d)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This has caused problems for several users, including the Yocto Project
autobuilder. Since the message was added in order to be more user friendly
revert the change.
This reverts commit 0c0c4efbf92bcf0f8942f17c18525a4b4ed1798c.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Deleting .pyo files causes them to get compiled on the target.
* First boot gets *really* slow for python based projects.
* No space gets saved on the target.
* The package manager doesn't know about the files and
therefore fails to uninstall them, occupying space and causing
uninstalled python scripts to remain executable.
* It's inconsistent, because python itself and autotools based
projects already ship .pyo files.
* Probably .pyo files were deleted because .pyc files were
available earlier, but this has changed and OE-Core's python
now only generates optimized .pyo files. Deletion of .pyo was
introduced in 2008, python/04-default-is-optimized.patch
was introduced in 2009.
(From OE-Core rev: 25e186ad5b75bd2f93435857580bd16698e18e21)
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix the incremental rpm image generation, it didn't work since the code
has been changed.
The btmanifest should have a ".manifest" suffix, so that it can be moved
to ${T} by rootfs_rpm.bbclass:
mv ${IMAGE_ROOTFS}/install/*.manifest ${T}/
Note: The locale pkgs would always be re-installed.
[YOCTO #2440]
(From OE-Core rev: 5149630746626c6d416f26ab9dd1c7213fcd8c50)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Connect the new fetcher file checksum code so that we get a list of the
files to be checksummed at parse time.
The file-checksums flag will not be read unless we are using a version
of BitBake that supports the function we call within it, so it is safe
to include this change even when the metadata will still be used with
older versions of BitBake.
Implements [YOCTO #2044].
(From OE-Core rev: f26065629b6397d129db930268b72164f8e5d3e4)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
needed for new architecture support
(From OE-Core rev: 75167eb890d8e4683f1e3852e3b77c67d160bea7)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jason Wessel noticed that a package without any fixmepath entries would
generate a sed warning about no input files. This patch resolves that
by ensuring that an empty fixmepath file never gets written into the
sstate archive. Also we avoid a second message by only doing xargs if
we got input.
(From OE-Core rev: 326563d5a897ae2dba7cfd8d73579d3d979d72c8)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Added a new PACKAGEFUNCS function to check the multilib packages'
dependency.
(From OE-Core rev: f193729cdf0f3eccf96a8ce7bf5f599eca89a0d0)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Added multilib prefix to the locale related package names/dependencies.
(From OE-Core rev: a52f7cf2cc90d918e3250c410995dcc1f3bfd5ee)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The user needs read and write permissions to SSTATE_DIR, check
whether they have sufficient permissions and if not recommend
use of SSTATE_MIRRORS.
(From OE-Core rev: 0c0c4efbf92bcf0f8942f17c18525a4b4ed1798c)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add two default set(SOURCE_ARCHIVE_LOG_WITH_SCRIPTS, \
SOURCE_ARCHIVE_PACKAGE_TYPE) to archiver.bbclass for avoiding \
building error when forgetting to assign to them.
(From OE-Core rev: 5bda8f33b6763fb519543d0f9e35c970a31d39b8)
Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In order to make sharing sstate files easier chmod them with 0664 permissions so that they are readable and writable by the user and any other members of their group.
(From OE-Core rev: dae9ad8a0ba0343e3083694cdcb20f0d02927ad0)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It's common to provide a non-machine-suffixed link in DEPLOY_DIR_IMAGE, so
let's be consistent and do so here as well.
(From OE-Core rev: c1c8d2f3cffc540380c0a5fcdda48d64cbec333a)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If you point to snapshot.debian.net/archive/pool then it will fetch
you a html page which will end up in corrupt download. The locations
have changed for archives and here we point the mirror to right
location.
(From OE-Core rev: 15e8aa4cd773022b36a66f70e4f6436289f3d1bc)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The fixmepath file that is generated contains a list of all of the files
that need their paths fixed. In the previous version the fixmepath was
generated to include all of the files that sed may have changed. In the
new version, we first grep the files to see if they contain a path that
needs to be changed, only then do we perform the sed operation on those files.
This results in a modest performance increate in the creation of the sstate
file. The following numbers include the do_package and do_populate_sysroot
tasks on the perl recipe.
Before the change:
real 4m23.018s
user 1m57.067s
sys 1m33.327s
After the change:
real 4m13.083s
user 1m54.062s
sys 1m26.064s
However, a more significnt performance gain is felt during the
extraction/install of sstate cache files, as the fixmepaths file now has a
significantly smaller list of files to modify.
Before the change:
real 0m39.798s
user 0m11.158s
sys 0m12.642s
After the change:
real 0m25.511s
user 0m8.408s
sys 0m5.077s
(All numbers above were recorded with a cold filesystem cache on a machine
with 12 GB of ram.)
(From OE-Core rev: 46067264bedeff8248a2b2441733420fe6651f84)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If a + character appears in a version specification within the list of
package dependencies, the version will not be removed from the list in
list_package_depends/recommends leading to garbage appearing in the
dependency graphs generated by buildhistory. To avoid any future
problems due to unusual characters appearing in versions, change the
regex to match almost any character.
Fixes [YOCTO #2451].
(From OE-Core rev: 36d1717e2ad4ca1620ee9f01b524b5ff2f499b26)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
As the comment says, using packages[0] is rather broken and can be incorrect,
as demonstrated by the recent gdk-pixbuf change. Replacing it with PN is
a bit more correct and more likely to do what was originally intended
by this function.
(From OE-Core rev: 5d0144fe6bd1febc2d1e651bbcff891c80f20b88)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
One of the patch backends to linux-yocto is guilt, which normally
tracks patches under .git. But .git isn't something that can be
checked into a SCM and repeated. So it has been moved under meta/patches
and committed to the meta branch.
If devshell is used, GUILT_BASE isn't set, so patch manipulations will
fail. We export GUILT_BASE and point it at the meta directory when
devshell is invoked for linux-yocto.
(From OE-Core rev: 10546e42a0db6a9585488536e29759239ef6e73b)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The usage of this function renaming and it being called using
bb.build.exec_func() causes needless indirection loops, confusing log
files and seems generally pointless.
This simplification makes the process much simpler and faster. I can't
come up with a good reason why the export_functions functionality is
needed for this function.
(From OE-Core rev: 74daad03ca29a03b0005f7d2b90a0347d5b583a5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In a pathological case, lots of files to process, the sstate_installpkg
performance was very poor. It interated over each file and ran 3
individual sed commands per file. Changing this to keep iterating
but running only a single command took about 1/3 time time.
However, when looking at the corresponding sstate_hardcode_path
function, it was clear we could optimize this further.
Using the same encoding logic to specify only the minimumal sed
operation necessary, and using xargs to avoid the os.system call the
install step was able to be performed in 13% of the original time.
Example timing numbers for perl:
3m7s original code
1m20s single sed, but interating
0m26s using xargs and limited sed
(From OE-Core rev: d9f655753fbdc8cbd8e705577430fed4f23732b3)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Empty components in $PATH have the same effect as a . in $PATH,
and are a common side-effect of inserting a misspelled or unset
shell variable in $PATH.
(From OE-Core rev: ac4201b714c83c614113bfa735d0a2fc6f64db99)
Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Revise the handling from ANGSTROM_BLACKLIST to PNBLACKLIST[pn].
Refactor the code to eliminate references to the distribution and recipe
name in the message.
Change the skipPackage message message from:
ERROR: <recipe> was skipped: <distro> DOES NOT support <recipe> because <reason>
to:
ERROR: <recipe> was skipped: Recipe is blacklisted: <reason>
(From OE-Core rev: 0893457465e184550906844fbab2dec397201835)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We need to add MLPREFIX when set RDEPENDS by setVar() function.
(From OE-Core rev: 9407895c88e46490d0ef9bb185f73466e7204c15)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This introduces a sanity check for the toolchain, which verifies
each tuning (including any multilibs), producing meaningful diagnostics
for problems, and also provides some higher-level tuning features.
The TUNEVALID and TUNECONFLICT/TUNECONFLICTS settings were not
implemented. Listed one or two missing features in TUNEVALID,
also (in a previous patch) fixed the references to
features which didn't exist.
This patch also provides a whitelisting mechanism (which is completely
unused) to allow vendors providing prebuilt toolchain components to
restrict tunings to those based on or compatible with a particular ABI.
(From OE-Core rev: 2a91ff0ba0d587c516a5a972553280364853faa4)
Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In order to support repositories of various types (with or without
meta data, branched, pristine, custom, etc) information about the
type of processing that is required was passed to the processing
phases via variables.
The combination of variables involved in coordinating the processing
creates a learning curve and overly complicates recipe extensions.
With minor tweaks to the kern-tools, adding flexibility and keying
off the existence of the meta branch it is possible to remove all
of the variables that were added to support different repository
types.
(From OE-Core rev: 06e5f45c8f38925cd5902a3a3f436f5e9451dd16)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some versions of the screen utility provided from the host OS vendor
write the socket directory to $HOME/.screen. When using a shared home
directory across many servers, one sets the SCREENDIR environment
variable to avoid collisions in the shared home directory. This
results in problems launching a devshell where it is not entirely
obvious what happened because the SCREENDIR environment variable
got stripped from the environment prior to setting up the screen
in detached mode.
Example:
% bitbake -c devshell busybox
# ...Please connect in another terminal with "screen -r devshell"
% screen -r devshell
There is no screen to be resumed matching devshell.
The temporary work around was to do something like:
sh -c "unset SCREENDIR; screen -r devshell"
This patch adds SCREENDIR to the white list to ensure screen
works properly on systems where a developer needs to use
the SCREENDIR with shared home directories.
(From OE-Core rev: 5568a8f5a1c65bae021b2e36d735d3153acc6d72)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The echo line here was merging multiple lines into one, and the result
was that if both image and package changes had to be comitted then only
the image changes were being committed and the package changes could
potentially be merged into the next package change. Quoting the variable
reference fixes this.
Fixes [YOCTO #2411]
(From OE-Core rev: 2086bb86885951d0a74342e30ff205c24cb93f0d)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If KERNEL_IMAGETYPE is vmlinux, the expectation is most likely that there will
be no kernel image package, but we still want a vmlinux package for debugging,
so move kernel-vmlinux in front of kernel-image in PACKAGES.
(From OE-Core rev: b62a44a9bf7b268296aeed64469390aa7efc2e73)
Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There were a couple problems with the handling of precompiled locales.
- it gathered the list of locales from the directories - this breaks due to
the naming mismatch, e.g. en_US.UTF-8 vs en_US.utf8.
- it retained its hardcoded assumption that the non-suffixed locale (en_US, as
opposed to en_US.*) is UTF-8, while the others are otherwise. Hardcoding
this is both inflexible and just plain wrong for some toolchains. It's most
common in desktop distros for 'en_US' to be non-utf8, and ''en_US.UTF-8' is
utf8, and this is the case in some external toolchains as well.
The code now uses the SUPPORTED file to hold the knowledge it needs. This file
not only holds the list of locales to generate, but also maps the locale names
to the charsets they correspond to. The code now uses this to assemble its
charset map, falling back to the '.' suffix as charset when the locale is not
in the map. For precompiled, it now uses the locale->charset knowledge it has,
thereby allowing non-utf8 non-suffixed locale names, whereas for
non-precompiled, it reverts to the previous assumption, renaming the utf8
locale and forcibly suffixing the others.
So, a person maintaining an external toolchain recipe is responsible for
ensuring that the SUPPORTED file they provide matches up with the compiled
locales in the toolchain, if they want to utilize precompiled locales.
I believe in the long term the compiled case should do the same thing
precompiled does, and use SUPPORTED or a similar mechanism to encode the
knowledge, and if people want all the non-suffixed names to be utf8, they can
change that file to do so. This would avoid the hardcoded assumption in the
code, as well as consolidating the behavior between the compiled and
precompiled cases.
(From OE-Core rev: 3f36058923ccda25a3dd85046542e65b6034c09e)
Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This change farms the solvedb creation out to a separate script which
handles creation of the index, only if mtime of any of the packages
has changed.
For a core-image-minimal set of rpm's this saves ~20s of a 45s rootfs
build. For core-image-sato it saves 1 minute of a 5 minute rootfs build.
The more packages in the system, the bigger the saving will be.
(From OE-Core rev: 3021136e7b42ab64ca16f30c88467c4b00d51ee0)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The existing shell script is a fork bomb and forks off hundreds of
grep/cur/wc calls as it reads from its input stream and iterates over
the file data table for each line of input. This patch replaces the
shell code with python code which doesn't exec anything and hence runs
much faster without the exec() overhead. This speeds up rpm packaging
considerably, as can be measured simply by timing it, or watching the
processor utilisation.
(From OE-Core rev: 2fb5f72b47840ed7f540df181595878e3f5ba4c6)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We have currently no override to detect a recipe being build cross, crosssdk
or for target at times we can use virtclass-native and virtclass-nativesdk to
override stuff in recipes but we dont have way to modify a variables
based on recipe type always.
This patch adds in such an override and in particular makes a target override
class available.
With this change now we can say:
EXTRA_OECONF_class-target = "...."
EXTRA_OECONF_class-native = "..."
EXTRA_OECONF_class-nativesdk = "..."
EXTRA_OECONF_class-crosssdk= "..."
Based of an original patch by Khem Raj
(From OE-Core rev: cf332fd9bf685f6d42b11c1f0c37b934c7f5bcbe)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* depmod already gets executed by pkg_postinst_kernel-image.
* If you build a module using module.bbclass, pkg_postinst returns 1 in
do_rootfs, causing pkg_postinst to run again on first boot. To improve
this situation, I copied pkg_postinst from kernel.bbclass to module.bbclass.
This was rejected by Koen, because he doesn't like the code from
kernel.bblcass, which uses ${STAGING_DIR_KERNEL}. Richard then suggested
that calling depmod during do_rootfs wasn't necessary at all, because
it already gets done by kernel-image.
(From OE-Core rev: c7809c03080925b5e9171df5c9175c7c6420b376)
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* indentation was with spaces and tabs, unify to use tabs instead of
spaces, for shell code and populate_packages_preppend,
because "python populate_packages" expects tabs (or 8 spaces)
* and use 4 spaces for anonymous python
(From OE-Core rev: 24472a794e1787ebcd700dde66018a31069aa50b)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* allows to detect ENTRYPOINT from kernel binary marked with UBOOT_ENTRYSYMBOL
used e.g. by ben-nanonote
(From OE-Core rev: 9ce6bd1d58b4418d3a53be417c18a0e57314462a)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For example, pseudo-native wants to set LD_LIBRBARY_PATH but setting this
into the environment here causes the existing pseudo (running during do_install)
to poke into paths in /opt and this breaks builds.
The simplest fix is simply not to do this. Comments tweaks to match the code.
(From OE-Core rev: 1efa999ed02186c9c58cb48418e0c62ecdc82ac7)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This allows iso images to be written to usb keys and booted on systems which
have a BIOS which support this. There is no real down side to tweaking the iso
images in this way.
[YOCTO #1763 partial]
(From OE-Core rev: 9a946554e4843841c2ec3cbb2575e80d0ccdc29f)
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Remove /etc since it is empty, when creating a machine that does not
deliver any module config files, the /etc is empty and is then warned
about not being shipped, so we remove it.
This occurs in the routerstationpro with the following warning:
WARNING: For recipe linux-yocto, the following files/directories were installed but not shipped in any package:
WARNING: /etc
(From OE-Core rev: 963742f5a9bce2dfedd58350af754d256e2211cb)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
patch.bbclass orignally pointed at /usr/bin/quiltrc for an empty
version to ensure that no user setting were picked up, change this
to /etc/quiltrc in the Native sysroot since we now have a native
sysconfdir.
Make sure that the quiltrc is actually installed in the Native
sysconfdir, not the target, so fix this after the recipe split.
(From OE-Core rev: 1af73900cea82e63fb0f94e6f057144f723146ec)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Judge if "SanityCheck" event is received, it will issue the
sanity_check() and send "SanityCheckPassed" back if succeeded.
(From OE-Core rev: 19704f9e69ecf09531687385b478b47f49fe372d)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It's useful for Hob to be able to disable the sanity checks completely
without marking them as passed so that the user can get into the GUI to
configure their settings, etc.
Add a variable, DISABLE_SANITY_CHECKS, to do so.
(From OE-Core rev: b022641f939bcfcdaddddc4db3af4d2dc70de832)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kernel modules are not marked as executable but we do expect to strip them.
This patch adds in missing code to ensure we do this. Without this images
are getting sigificantly bloated in size.
(From OE-Core rev: 00b0a5f2f51bb3f88bbb9ae558c2859e3c1c406c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In particular, this overwrites the value from cross-canadian.bbclass in
some cases which isn't the desired behaviour and unnecessarily
complicates/breaks the dependency chain.
(From OE-Core rev: 751ead4fa7d4120de906a1d9cb1d5a29357bebad)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For beagleboard platform, the PACKAGE_ARCH for certain recipes is
"armv7a-vfp-neon", however, the architecture label in RPM file name is
"armv7a" due to a potential bug in RPM backend.
This commit is a workaround to make Hob work in this case.
(From OE-Core rev: 00bd4589b21fe3a716ff2732ea55651c4abd77e4)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We call re.sub here, so we need to "import re" or an error occurs
(tested on OpenSuSE 12.1).
(From OE-Core rev: cb1f7cffc171e6b182f33a69ff688d76b7f1baed)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Any trailing whitespace needs to be stripped before comparing it to the
SANITY_TESTED_DISTROS list.
(From OE-Core rev: bea0311a6478febe8ab4884fb1c479f610856534)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In fixing an existing patch migration bug, the list of valid extensions
got out of sync from the core patch class. As a result, valid patches
were not being applied to the tree.
Updating the tools to migrate .diff files fixes the issue.
Also in this fix is the removal of .patch in the find_sccs() routine, since
it will never be returned by patch.bbclass when all non-patches are
requested, it is simply confusing.
(From OE-Core rev: 0ade3f26f40b67d7296725b1e956c46be9a86089)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the sanity tests fail, we still were writing out the stamp which means
they'd get skipped the next time we run bitbake. This is clearly wrong
and we should only write out the stamp file if the sanity tests complete
successfully.
(From OE-Core rev: b99acaa8aa06dcbca46c3f7048124d6f8d643a8b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>