Calling split on the same expression, once per loop iteration is
inefficent and pointless, particularly in a function called by
every recipe during parsing.
(From OE-Core rev: 566c0e874fc1610f3f97737b5601ef22026c918a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With this recently introduced exclusion, <multilib>-meta-toolchain-sdk
throws errors about missing DEPENDS that don't exist since it needs the
PROVIDES/DEPENDS remapping. This patch tweaks the class tests to fix
the errors.
(From OE-Core rev: 9cc18fe12bd8d1c73df291b4057aab6167ef6b16)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With the change to WORKDIR layout, splutting PN and PV into two directories,
the debugsrc splutting code layout became suboptimal. This changes things to
include the information as it was before. Ideally this code would be written
to more generically support other layouts buts it not clear that the tools
would even support that right now so this is the best immediate fix.
(From OE-Core rev: 432cfbb403f0e864d1fad383c2bbb6f9bdb80770)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This change means we have more flexibility about when to schedule the license
task and if it changes, we don't repackage everything (which is pointless).
(From OE-Core rev: ee1293446936c5444ece42b60e3ab94189b2fbc3)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This means some of the hacks we have to tell where the package name ends and
the version starts in the directory layout becomes obsolete, simplifying the
work of some of the cleanup scripts. It also makes the layout slightly more
intuitive to the user.
It does force a rebuild onto the user but it will reuse sstate successfully.
(From OE-Core rev: 05075cf3138d1c61f5cf4fe0e1a4587acc00c692)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since the packaging functions now reference the pkgdata files written out during
do_package, we need to reference this dependency explicitly.
(From OE-Core rev: 1e9c9d164f8d12c8de205e04bf7c1dae3660f12a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is a first attempt at logic to determine when a sstate dependency needs
to be installed and when it does not. Its a start at the logic and errs on the
side of caution, as it gets wider testing, we can refine the logic as needed.
This code should allow a significant performance speedup to certain workflows, for
example "bitbake xxx-image -c rootfs" will not populate the target sysroot.
(From OE-Core rev: b43faba37816817edc5240a139361d16e07c6131)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Otherwise when a recipe using DEPENDS=, the cmake-native dependency disappears.
(From OE-Core rev: 2b35539d96325d8e687451543d4f52f1a07bf1c6)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Check if package names match the [a-z0-9.+-]+ regular
expression
[YOCTO #3139]
(From OE-Core rev: 55dd271be1aee21e36d130359f4f21841623c425)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The recent preveeding sstate directory layout fixes made the code do what it
was originally intended to do, as can be clearly seen from the code.
Unfortunately this changed the contents and layout of the sstate files
themselves since the bug was leading to a directory prefix being missing.
This is now resulting in chaotic messages on the console since things
are getting confused with the two different layouts. The simplest way to
resolve this is to bump the version number, hence moving the new layout
into its own new namespace.
Its worth noting that whilst the failure messages are scary, the failure
mode is relatively harmless since it will just fall back to building the
data rather than installing from sstate.
Usually I'd give more notice of a change like this but under the
circumstances, I'm just going to push this in to resolve the failures
people are seeing. Initially I thought the problem was limited to
some of the -cross packages and therefore of low impact but that is
clearly not the case.
(From OE-Core rev: b53ea6687b6201c8c5ab5cb0d2a845ef7e7b2abe)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix missing parameter to endswith and pass paths through normpath to remove
any duplicate "/" characters which would corrupt other calls like basename.
(From OE-Core rev: 172a74c540378149eec493c37c030e9f42f9603d)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If sstate-inputdirs and sstate-outputdirs don't match with ending '/'
characters, the manifest file can end up corrupted. This change
ensures the metadata is consistent in ending do_populate_root tasks
with this character to avoid manifest file corruption.
(From OE-Core rev: 3910eaf88d14904eef85b9e391387547df7fc54e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The manifest file can become corrupted if sstate-inputdirs and sstate-outputdirs
don't have matching endings. This patch ensures that even if set incorrectly,
the code functions as intended, thereby handling manifest corruption safely.
(From OE-Core rev: 0109a3623a19f9ae289952a4f054e53c3eca4eaa)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Depending on the eglibc configuaration, the directory may or may not exist.
(From OE-Core rev: aa89b80a42297196c7bbba55fe2396ba1f98acc7)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If SDKMACHINE is not set, the toolchain will be built but the tarball
installer will not run. A better choice is to use SDK_ARCH because, even
if SDKMACHINE is not set, SDK_ARCH is set, by default, to BUILD_HOST.
(From OE-Core rev: b6d391903ae8baf902fa142a58533857ade6afd3)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gnome-common is a build-only dependency so we should depend on the native
variant. This also resolves an (incorrect) GPLv3 license issue in gnome-common
at build-time.
This will also remove the pointless gnome-common-dev RRECOMMENDS in any -dev
package that uses gnomebase.
(From OE-Core rev: 6a4f394bc1280f5d58d928a2f7cff7cce4eb3b2b)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Do not allow installer to continue if the installation machine architecture
does not match the intended SDK machine architecture.
[YOCTO: #3269]
(From OE-Core rev: 1f78e2c97f978f0f02e884870e7c495751f0802c)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The overrides virtclass-native and virtclass-nativesdk are deprecated,
which should be replaced by class-native and class-nativesdk.
[YOCTO #3297]
(From OE-Core rev: 9fbeab63315fef0dbcc91c5e7051665764758a6e)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
After recent changes to terminal.bbclass, variables like PATH were no longer
preserved within the devshell. This change ensures they are inherited into
the environment of devshell and PATH for example has the correct values.
(From OE-Core rev: f2dfc50bdf403719d40d04488245fd37655b5480)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If this isn't done, various terminals fail to launch correctly
with "No such file or directory" errors. This adds back the environment
manipulation removed in the addition of "custom" terminal command
support but shouldn't regress that additional functionality
(From OE-Core rev: 424d2339b462081010af6e7525a71f64d97ff05e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In the previous version, tar extraction use the --strip-component
option with "4" hard coded value.
If we set another SDKPATH, with a different depth, the sdk installation
fails.
This patch computes the level from the SDKPATH value.
(From OE-Core rev: 7aee4e9438755c230e1399bd5226d6c8e7fcca31)
Signed-off-by: Fabien Proriol <fabien.proriol@jdsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Present the manifest file that contains the matches for
files being installed to a location that already contains
that file. This will help to determine which is the correct
recipe to fix when this occurs.
[YOCTO #3191]
(From OE-Core rev: 56268f6e4ed1fc11143173bb1717a8be78c728a5)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The n32 architecture is odd, in that it's a mips64 ABI which happens
to be 32-bit. To handle this, we need something in the environment
which can be used to distinguish it. The obvious place to stash this
is the ABI suffix, so we use "n32" as an ABI suffix. This allows
a couple of improved checks:
1. In insane.bbclass, we can use "linux-gnun32" to discern that it's
okay for a mips64 binary to be a 32-bit binary in some cases.
2. In multilib_header, we can check for the n32 ABI, and use a distinct
value.
3. In siteinfo, add linux-gnun32 as a synonym for linux, similar to
what's done for linux-gnux32, and tell the mips*-linux-gnun32 variants
to pick up the corresponding mips-linux site configs.
Note that the multilib header wrapper already has n32 hooks in it, there
was just nothing creating -n32 header variants.
(From OE-Core rev: c8e8e8ba22eaa335ac72f0e5b317f804035133e2)
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>
Update the host toolchain list, for cross-canadian toolchains, to ensure
that all of the supported multilibs are built and installed. This
dynamically generates the dependnecy set based on the current multilib
configuration.
(From OE-Core rev: 54bc658416ea5679bbfdc76e3ef8767c0a15211c)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When multilibs are enabled, there will be more then one environment
file created. We need to be sure to process each environment file.
The next function can simply use the last environment file processed
to get the magic value(s) that it requires.
(From OE-Core rev: 6f0537c835c35dcff5154de0bec066ec3e71a4f8)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Crosssdk packages are not actually multilib packages, so treat them
the same as other nativesdk packages in the multilib, base, and
classextend components.
(From OE-Core rev: 15834451525453e0f7ceac25d4f98117f1825f37)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add support for the generation of cross-canadian packages.
Each cross-canadian package has:
PN = "pkg-cross-canadian-${TRANSLATED_TARGET_ARCH}"
in order for that to be evaluated properly with multilibs enabled, it was
necessary to detect both the presence of the cross-canadian packages and
then update the vars using the OVERRIDE for the multilib. Additional checks
were made to ensure that any dependency that sais "cross-canadian" did not
get prefixed with the MLPREFIX.
Also, make sure that even when building multilib cross-canadian packages,
we only use the single SDK PACKAGE_ARCH, we don't want or need variants.
(From OE-Core rev: 132a182e2f6c330aa645de42c1aeb386e43bddd3)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There maybe no rpm postinst script (e.g., core-image-minimal), then the
"*" is not expanded, and there would be error:
head: cannot open `rpm-postinsts/*' for reading: No such file or directory
Check whether it exists or not will fix the problem.
[YOCTO #3172]
(From OE-Core rev: 966c72e00c8d378d7d189f0e4b626f6782d23a25)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is used by:
openembedded-core/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb
meta-openembedded/meta-oe/recipes-support/maliit/maliit-framework_git.bb
(From OE-Core rev: c67f64e5846bb2a6774e61a4f3719c5f82fc3bd8)
Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
While removing packaging data files in rootfs_ipk_do_rootfs use the
remove_packaging_data_files function. By using this function we ensure
that /var/lib/opkg directory is created. opkg needs this directory to
create lock files.
(From OE-Core rev: 1f3300766b827ed73daaa01572017775305105b2)
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Now that xserver provides driver ABI names, all drivers should depend on the ABI
version that they have been built against.
All drivers that include xorg-driver-input.inc or xorg-driver-video.inc will get
these automatically, so this should only impact binary drivers.
(From OE-Core rev: 800b256390b22c3d3d8d6a69f6fb668376a5030b)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We seem to be mostly installing modules into vendor_perl nowadays.
Make sure that the .debug data from there is captured appropriately.
Also, expand ${PERLLIBDIRS} at the point of assignment so we don't
call the python again and again.
[RP: Fixup to whitespace]
(From OE-Core rev: ed7690bf5cc964b5cee55f5ef13c10c75d8e3463)
Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When copying the source files needed for the -dbg package, use hardlinks
where possible. This saves some disk space and hence helps performance
of the builds.
(From OE-Core rev: 6775feb9fe935ab01fd9cae2b2d3fce5824a9a72)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The symlink from uImage-3... to uImage is not created at image creation
time and not properly update on kernel upgrades. This is fixed by removing
the chdir. The other users of update-alternative do not change the directory
before calling it.
(From OE-Core rev: c77ca9ee901468c93570b5264b226f7d17a41c16)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Without this, we'd rerun packaging for every machine since this variable contains
a machine specific component.
(From OE-Core rev: 61131828c59178c923b3d5b5fcacf0dbcba275a5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Now that PACKAGES_DYNAMIC is more standardised, starting with ^ anchors,
the variable manipulations performed by clsextend for multilib don't work.
This patch at least improves it to hack around the problem and enable
mulitlib builds to work again. If this code doesn't do the right thing, the
recipe is free to override the variable with the correct multilib case.
(From OE-Core rev: 593faec6e0155bdd7a43ee84c24de8ee20287681)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Now do_package isn't machine specific, we're only left with do_populate_sysroot as a
machine specific task. This change marks only the machine specific manifests as machine
specific, defaulting to PACKAGE_ARCH for everything else.
This means we do less work where there are multiple machines using the same
core package architecture and we can start to clean up the sstate duplicate files
whitelist.
(From OE-Core rev: febeaf3d1b8917b660c7279b008d8b03337568e9)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently, do_package is machine specific since the shlibs data is installed
into each machine specific sysroot. This change moves the shlibs data to the
pkgdata structure, at the expense of having to iterate over a set of shlibs
directories instead of a single one.
It turns out this isn't any particular hardship for the code and as a result,
do_package stops being machine specific leading to optimisations for builds
that use a common PACKAGE_ARCH.
(From OE-Core rev: cc088489d70fb27d460c3dbe35d6ea382123c134)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These variables correspond to the PACKAGE_ARCH list combined with the TARGET_VENDOR
and TARGET_OS values. These can be used to traverse the pkgdata structure.
Setting these once in base.bbclass stops pkgdata needing to recalculate the values
and is also useful for the reworked shlibs code in a patch that will follow this.
(From OE-Core rev: f91322edc8b9f2a5906f3908bde2508ae97f2816)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-modules is always added to PACKAGES later in python code and
needed to be defined as PACKAGES_DYNAMIC
* add it to PACKAGES directly and set
ALLOW_EMPTY_kernel-modules
FILES_kernel-modules
DESCRIPTION_kernel-modules
outside populate_packages_prepend like for other packages and set only
RDEPENDS_kernel-modules from python code
(From OE-Core rev: 0884bdbbf39f2b3a8a342918812f29ddcd3b1e6f)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake uses PACKAGES_DYNAMIC as regexp
^ could make matching faster (and it will be more clear that we're expecting regexp not glob)
* made all those last '-' optional, use .* (or nothing)
(From OE-Core rev: 2f3ebdfa5f42dae51063b043cc4b0fbe20b40064)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The compilation routine for the kernel has an explicit call to
build version.h, which works fine for most kernels, but the
location of it has recently changes.
commit d183e6f5 [UAPI: Move linux/version.h]
commit 10b63956 [UAPI: Plumb the UAPI Kbuilds into the user
header installation and checking]
moves the file to include/generated/linux/version.h and then to
include/generated/uapi/linux/version.h.
As a result kernel builds of 3.7 or bisection builds of intermediate
kernel commits will fail with:
make[2]: *** No rule to make target `include/linux/version.h'. Stop.
Making the explicit version.h build conditional on the version, or
via a file test would fix the problem, but it introduces some complexity
to the build.
Even without an explicit call to build version.h, it is always produced
by the kernel build, so it can simply be removed.
This extra make line was originally so that the kernel version could be
determined, so that then different instructions could be executed depending
on whether it was a 2.4 or 2.6 kernel. Since we no longer support 2.4, this
code is no longer needed.
[YOCTO: #3293]
(From OE-Core rev: 4cb20fa89e571ffbc448c579a758db0b9074acf4)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For builds that don't use gettext, config.rpath may not exist in the target
datadir. This change uses the native directory where it will always
be present due to gettext-minimal-native (which allows us to autoreconf
recipes using gettext even if we don't have gettext built).
(From OE-Core rev: 0ea24447842e6b76ccfee0881f557e1a82e89ef1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the link is absolute then we might end up reading from a host binary
or a nonexistent path, neither of which will produce useful results and
may result in objdump failure and python backtrace spew. If the link
does point to a binary within the installation root then we will scan the
pointed-to file at some point anyway so there is no need to do it again.
(From OE-Core rev: 91769af1c1175ac9bb43d16d05fb1c8736dd9287)
Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Various different QA checks are based on essentially the same data from
the ELF program headers. Calling objdump to extract it repeatedly is
inefficient, particularly if the shell is involved. Instead, let's
cache the output from objdump inside the qa.elf object and allow it to
be reused by multiple tests.
Also, using objdump instead of scanelf to check for bad RPATHs (in the
same way that the useless-rpaths check was doing already) allows the
dependency on pax-utils-native to be dropped.
(From OE-Core rev: bf19eeb9f65e91bf2b5d89e7c0b099c55d7c15ff)
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Otherwise it will fail if these two directories are not the same.
(From OE-Core rev: 491823fdc65d124093f1fed5a56173917443e1d6)
Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gettext m4 macros don't use the usual versioning/serial mechanism used by
aclocal. It therefore won't update them over and above any local version of
the macro. Equally, we don't run gettextize due to it doing slightly crazy
things to the build.
When we put the aclocal directory as a -I option to aclocal, if this was
found first compared to any recipe provided macros, the correct version
of the gettext macro would still "win". With the switch so correctly override
the system directory, older recipe provided macros may get used.
This patch manually removes the problematic m4 macros in the case we're using
gettext and need to use the correct m4 macros.
This patch also always ensures the gettext manipulations happen, even in the
-native case since missing or stale gettext files could cause build failures.
(From OE-Core rev: e9645d2bbeabaa5251d49edd659ab320fd66d0ee)
(From OE-Core rev: 841ea3c1c18e50e77fccbd5f44d6a79a50913b67)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The previous steps taken to address races over the aclocal macro directory and the removal
of files hasn't been sufficient since aclocal still looks at that directory as part of its
default search path. This patch passes the aclocal-copy directory into aclocal as its system
directory, removing any chance of it accessing the original aclocal directory.
Hopefully this should therefore fix the race issues once and for all.
In order to do this, cp-noerror needs to not error if the directory already exists.
Its also been noticed that aclocal defaults to using STAGING_DATADIR_NATIVE even when
building for the target. Only using the target directory would cause errors such as
missing pkgconfig macros (since we only depend on pkgconfig-native, not pkgconfig).
This patch processes both sets of macros maintaining existing behaviour. At a future
date we could look into potentially optimsing this.
[YOCTO #3216]
(From OE-Core rev: ad29b331e0d61708e68ef772cdb19154956fa67e)
(From OE-Core rev: f362cc419e5a480acd16c71c802636dbedc932d9)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The network tests in sanity.bbclass can now be trigerred explicitly
by firing the NetworkTest event. This is part of the fix for bug #3026.
[YOCTO #3026]
(From OE-Core rev: f1f43d55dbb020a0145c58731d4259fd906d9d1e)
Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We've noticed failures on the project autobuilders where a shared sstate
directory is used across multiple builders and the clocks become skewed.
Most of the time this causes harmless building but if this happens where
an environment is changed (make install vs make in qt4-x11-free for example),
the build can fail.
This avoids modification times in the future and should make builds safer
in shared environments sstate was designed for.
(From OE-Core rev: 8f1bdb4f4afd7f5f4c121be8ba82f4675f73e300)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This tests for /usr/libexec as we are moving things to /lib/.
the test is ignored if the distro defaults to /usr/libexec.
Currently this test will be disabled by default since the current
value of ${libexecdir} is "/usr/libexec". Also this tests needs
to be enabled in the WARN_QA list.
[YOCTO #2915]
(From OE-Core rev: 4c60c2779dde6962f342f9c9b61713cf2d3a564c)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If you wish to change the install/unpack method of the sdk, this can now be done by making
your own create_shar method, and setting a SDK_PACKAGING_FUNC variable to your
new create_shar function.
(From OE-Core rev: 3955c8eced352226bb4c9ceb710dbe02474b9024)
Signed-off-by: Thomas Kristensen <thkriste@cisco.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since e3d7890cac or so, base.bbclass has
considered invalid LICENSE settings to be a fatal error. This means we
will never see them so there is no point checking for that.
(From OE-Core rev: e2d71503847f72f55666143a2a320925838fd26f)
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It's sometimes useful to have this function available to recipes which
don't wish to use module.bbclass for whatever reason.
(From OE-Core rev: 7632b44e7f487180811d47fbe9c29aa8e58868a2)
Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The update-modules mechanism is something of a historical relic and it isn't
entirely clear that it has a great deal of value nowadays. Also, it causes a
problem when building a read-only rootfs since update-modules itself refuses
to configure offline.
Allow DISTROs to circumvent this whole thing by declaring (via DISTRO_FEATURES)
that they don't wish to use update-modules. This is backfilled for existing
distributions and will have to be marked as CONSIDERED by those who actually
don't want it.
(From OE-Core rev: 14bf8ed115453077b4d4042b4b70ed6b3bca2a9f)
Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There seems to be no benefit in having them be different and this
appears to cause a certain amount of confusion about paths for
the native modules.
(From OE-Core rev: 3926a45a26c2d23d9c2fc9c3956f780f607ec7a4)
Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Just because a recipe uses pkgconfig, it doesn't mean that it's -dev
package should RDEPENDS on pkgconfig. I can understand the thinking
that lead to this but it makes sense to be able to install the package
when pkgconfig hasn't been built.
Currently you can also get failures where pkgconfig wasn't built yet
a -dev package is included that depends on it leading to rootfs failures.
I considered making this a RRECOMMENDS but it should probably be an
RSUGGESTS at best given the tenuous pkgconfig requirement any given
-dev package has.
(From OE-Core rev: 8f41b69578eef5ea750e8f93dcd9d37375ce7d88)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The virtual-locale-* packages are provided by libc which may or
may not have a matching locale for any given recipes's provided locales.
Certainly, we shouldn't get a failure if the locale package isn't
available.
This patch therefore makes the dependency optional rather than
required, allowing the locale packages in question to install. This
resolves errors like:
virtual-locale-eo is needed by bash-locale-eo-4.2-r5.i586
virtual-locale-en+boldquot is needed by bash-locale-en+boldquot-4.2-r5.i586
virtual-locale-en+quot is needed by bash-locale-en+quot-4.2-r5.i586
(From OE-Core rev: 2be67f95abaa7e8655a1ca8f4ffe66b3e099a650)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The names used to generate the binary-localdata packages need to match the location
the dependencies are added. In one case the dash replacement is made, in the other it
is not leading to packages which cannot be installed:
eglibc-binary-localedata-af-za.iso88591 is needed by locale-base-af-za.iso-8859-1-2.16-r22.i586
eglibc-binary-localedata-cs-cz.iso88592 is needed by locale-base-cs-cz.iso-8859-2-2.16-r22.i586
eglibc-binary-localedata-ru-ru.koi8r is needed by locale-base-ru-ru.koi8-r-2.16-r22.i586
eglibc-binary-localedata-pl-pl.iso88592 is needed by locale-base-pl-pl.iso-8859-2-2.16-r22.i586
eglibc-binary-localedata-hu-hu.iso88592 is needed by locale-base-hu-hu.iso-8859-2-2.16-r22.i586
eglibc-binary-localedata-de-at+euro.iso885915 is needed by locale-base-de-at+euro.iso-8859-15-2.16-r22.i586
eglibc-binary-localedata-sv-fi.iso88591 is needed by locale-base-sv-fi.iso-8859-1-2.16-r22.i586
This fixes things so the names are consistent.
(From OE-Core rev: 17e1bfe2b1260add9749b5ff73c72d57c0215fdc)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Also ensure that we always cleanup the temporary install manifest files,
some of them will cause problems if they exist in multiple install
attempts.
Finally verify that the lists remain uniquely sorted otherwise the
complementary install may install the same files numerous times,
triggering a failure.
(From OE-Core rev: 4f2a290cbcc6c21afbb2a6e6148efdef4d135b41)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This avoids errors where gcc/binutils get installed to the native sysroot
in the same location for multiple package architectures. Ultimately making
these native recipes with ${PACKAGE_ARCH} appended to PN will resolve this
but hide the warnings until this gets sorted out.
Also hide the python and docbook catalog warnings since they're known about,
nothing to worry about and we'll aim to clean them up properly in the 1.4 cycle.
(From OE-Core rev: 5bae58a5b59c04d8947f4842f19837a914c29b52)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Without this, path components like // could break comparisions with the whitelist leading
to warnings being displayed to the user unintentionally.
(From OE-Core rev: d3c46ca56fab2f07bf16b61514f30765543a8747)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
some packages use M4 variable from environment and sometimes
its hardcoded to /usr/bin/m4 if not found in environment. Lets
define it such that it is picked from path
(From OE-Core rev: 06c5593d15f206458b9a5b45ed1229abfee16e95)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In order for the RPATHs in 32bit toolchain binaries to be relocated
properly, chrpath >=0.14 is needed.
[YOCTO #3161]
[YOCTO #3201]
(From OE-Core rev: 71c71b972100803d33fbb062a237e8a15167387b)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix the distro check functions for the change of nativesdk
being a suffix to a prefix. Also added crosssdk as another
case for converting to PN for matching in the distro_tracking
(From OE-Core rev: ae9dbd0e1e26ba2b35cbd08ec731aee62adedc23)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We need to iterate over the dictionary pulling out the values, not take the top
level keys. If we don't do this, we end up with dependencies on the values of
PACKAGES, not library dependencies.
(From OE-Core rev: 7219bca11f554fbe2ed30f1537491987d65e9316)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Without this, circular dependencies are found when attempting to build
multilib versions of qt4 (or bitbake world in a multilib enabled build).
(From OE-Core rev: b2e8cc5ae227656211fb7f32260e7dc4e2fb556e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Versions earlier than 0.14 can't cope with 32 bit binaries on a 64 bit
system and vice versa. This results in problems for certain SDKMACHINE
combinations on certain hosts. By ensuring we build
chrpath-replacement-native we avoid this problems and the binaries work
correctly.
[YOCTO #3161]
[YOCTO #3201]
(From OE-Core rev: f89bced26de055817100d0b0e03094b031fcfd48)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This converts the option to maintain the existing behaviour unless the option is
specified. We do specify the option during the builds themselves to ensure what
the users expects is built.
(From OE-Core rev: 0cc479699fe885049625d54c712b500c1b719e75)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The test for network error in sanity.bbclass was negated.
(From OE-Core rev: 9fcd0866f0e30a50182434f6bcae13bf9575807f)
Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The bb.utils.explode_dep_versions function has issues where dependency information
can be lost. The API doesn't support maintaining the correct information so this
changes to use a new function which correctly handles the data.
This patch also fixes various points in the code to ensure that we do not have any
duplicates in things that use explode_dep_versions.
A new sanity test to test the contents of the R* variables is also added.
[Some changes from Mark Hatle <mark.hatle@windriver.com>]
(From OE-Core rev: 16a892431d0c0d03f8b561b92909cf2f11af4918)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
People keep copying this code and its confusing and unnecessary. Remove the
bad examples to try and stop this happening.
(From OE-Core rev: 48aa4b00cfb7f01195c6d20b7ba660715fe792ef)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In deb and ipk, < means <=, while > means >=... there is a different
operator << and >> that means < and >, so we map them when constructing
the packages.
(From OE-Core rev: bbcc78d8ff03725ce5b3b65ce24025c3da45f2ab)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the STAGING_DIR_KERNEL is set in the multilib.conf, then it may be
set incorrected. The evaluation happens before TMPDIR and LIBC are
defined in other components.
Moving the definition process to the multilib.bbclass ensures that
everything has been loaded before it is set.
(From OE-Core rev: 6bd87edc383b40e300b0ef4bf851c39b698305cd)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When building target packages, it used to be enought to check for PN == BPN, however
with the multilib configurations, this can lead to subtle errors. Change instances
of PN == BPN, to ${CLASSOVERRIDE} == 'class-target'.
(From OE-Core rev: acc988272b4e74a9ad1e6da5af5b2d208584197b)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This ensures consistent build results and avoids build failures when compiler flags
change for example.
(From OE-Core rev: a5ff8396cad130f809f8f8da49bb38e6f80f923c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
do_package is a machine specific task at the moment due to packagedata. This means
do_package tasks and their dependencies rerun between different machines
with various duplicate file installations. There are plans to fix this but they're
too invasive before release.
This patch relaxes the whitelist for sstate duplicate file detection to account
for this. Post-release, we re-enable stricter settings once do_package is not
machine specific.
(From OE-Core rev: c858259ce1881c6284f1fc2790c225c81e4a751e)
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>
This requires the changes to bitbake.conf that allow parsing of
license.conf.
As we should now be parsing license.conf, we can move some globals
out of license.bblcass and into the conf file.
(From OE-Core rev: 03e6a7cd27ed109a011fac09cf04412f87f31c3a)
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The variable mentioned in license.conf is LICENSE_PATH. The variable
used in license.bbclass is LICENSE_DIR. Conforming to what is in
license.conf
(From OE-Core rev: c6e13d9cd26d016ab06e7447b307d413e1331aa0)
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If we fail a network test, a special flag is set in the SanityChekFailed
event. This helps Hob identify the network error properly and display
a special message to the user.
[YOCTO #3025]
(From OE-Core rev: 7877c4344db89237bba5f9a03342bfd9a03aebbf)
Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- add check_bblayers_conf bitbake function which does the bblayers.conf
v4 -> v5 update if necessary (every layer should make its specific
bblayers.conf upgrades appending to the check_bblayers_conf function)
- we ask the user to re-run bitbake because we can't trigger reparsing
without being invasive
[YOCTO #3082]
(From OE-Core rev: 03ad4edace5db9c6e15ca776d06d20b7d4e42afc)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This reverts commit aa66ef6598c84231577d139ec7be413e73fac2b1 since
bdwgc-native fails to build after it. Anything which runs with a
sub-configure will fail after this change. It therefore needs
rethinking.
(From OE-Core rev: f95a9e2c292a1551861220270838cf1eaaba85b9)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix autotools.bbclass to use relative paths for acpaths instead of
absolute ones. Since absolute paths may cause potential autoreconf
error like:
Can't exec "/bin/sh": Argument list too long ...
This error occurs while building coreutils with long TMPDIR, because
it has bunch of m4 files need to be expanded.
[YOCTO #2766]
(From OE-Core rev: aa66ef6598c84231577d139ec7be413e73fac2b1)
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Based on the previous commit 604d46c686d06d62d5a07b9c7f4fa170f99307d8
(Convert tab indentation in python functions into four-space), the
cml.bbclass was not converted, and in order to properly extend it
with external bbappend's it needs to be converted.
(From OE-Core rev: e4c1c37bb37e9eba635bc0a9308ab593abd299ec)
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The platform and platform_extra will be written to /etc/rpm/platform,
the rpm's arch has changed the "-" to "_", so the value in platform
should also be updated.
[YOCTO #3159]
(From OE-Core rev: 9880a5261ca509c69efbafa27cddd9b2b8ca08f0)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is no initial_solution.manifest in the second build when
incremental rpm image generation, since the initial solution has been
skipped. So we should check it before cat it.
[YOCTO #3128]
(From OE-Core rev: ad17fa82a481ab3c9f17a8338ebad1eb07c0f9d8)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
ipk_log_check uses a case-sensitive grep (which is correct) when deciding
whether there were any errors or not. But if it decides that there were, it
then uses a case-insensitive grep to display them. This results in a large
amount of irrelevant and confusing output which makes it hard to see the real
errors amongst the noise.
Suppress this by removing the unwanted -i.
(From OE-Core rev: 57dcacbd6f35ae2d6b505f044bbefad35da66959)
Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This was added to allow detection of duplicate files being installed by sstate.
There is a much simpler way, just check if the file already exists. This
effectively uses the kernel VFS as the cache which is much more efficient.
This resolves a significant performance bottleneck (lock contention on a
single file) when running builds that are just being generated from sstate
cache files.
(From OE-Core rev: 603daf343ad3f18c8adb799e3625ae2a18d94f56)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The current multilib search path code for packagedata is flawed since it
doesn't correctly handle changes in the TARGET_VENDOR/TARGET_OS that
multilib may make. This patch enhances the code to correctly build the
search paths so multilib packagedata is found correctly.
(From OE-Core rev: f50c5d36b2da9b36d56d95a7d89404509a1a3e9b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We need to split this variable before using it. Otherwise a single "/"
character in the list whitelists every overlapping sysroot file which
was not the intention making the whole thing useless.
We'll start seeing warnings about overlapping files now this is working
correctly after this patch.
(From OE-Core rev: 9e31c748327e92b809330f4ad7b6aaecb2edf559)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This avoids the hardcoding of ${libdir}/locale which is all over the place,
and will facilitate use of ${exec_prefix}/lib/locale instead of
${libdir}/locale.
This doesn't actually change any output at this time. Verified this with
buildhistory against the packages produced from core-image-base.
(From OE-Core rev: b744f4cc2912334b8493a89525fd02af8e9b8edf)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Passing the data store will be needed for firing a custom event
for the screen class.
(From OE-Core rev: 5ccff8d44626bfd3d1af2a7f81f0567997277809)
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If all postinsts have already been run during rootfs construction then
there's no point in having run-postinsts in the installed system.
Clean it up at the same time that update-rc.d and suchlike are being
removed.
(From OE-Core rev: b260cf9fbeb6f029c1ce45e77edd03968caa8288)
Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It isn't supported to mix multilib and nativesdk in the same target, so
explicitly skip multilib processing if nativesdk is inherited. As a
bonus this fixes a bunch of related "missing file" warnings from the
file checksum code during parsing because BPN was not correctly stripped
for these targets.
Second half of the fix for [YOCTO #3146].
(From OE-Core rev: d9a1eb5054d487affb94431374a9cb1a735e2122)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We need MLPREFIX to be set so that oe.utils.prune_suffix() (as used for
the value of BPN) can derive the bare name from the multilib-extended
name for image recipes. BPN being set correctly avoids missing file
warnings during parse from the file checksum code for (unusual) images
that set SRC_URI, such as build-appliance-image.
First half of the fix for [YOCTO #3146].
(From OE-Core rev: ddec9a1b45159c75e97e92abe9a940268acd84b2)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For reasons that are now shrouded in obscurity, autotools.bbclass
has long contained a special heuristic to avoid attempting to run
autoreconf when building autoconf or automake themselves. However,
the wildcard test against PN which is used there is problematic when
trying to build another package whose name happens to start with
"autoconf", and in any case it is silly to do this test at runtime
for every package. The individual recipes for autoconf and automake
can just as easily suppress the behaviour that they don't want by
providing a custom do_configure() method which just runs configure.
(From OE-Core rev: a87db6f8dea71cbb7ead9285ff8af0e28cf75604)
Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Define an ALL_QA variable which can be used to determine which tests to
run. Improve the libdir test to work in the case it is set to raise an
error rather than a warning.
(From OE-Core rev: 069992a502658e8e44b870601e2e189cd9596ec9)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Check in ${PKGD} for libraries in wrong locations.
Trigger a warning if so.
Eg. Catch recipe installing /lib/bar.so when ${base_libdir}="lib32"
or installing in /usr/lib64 when ${libdir}="/usr/lib"
[Yocto #2038]
(From OE-Core rev: 534fa3a55de19f249583207aaeec58fec8154a1d)
Signed-off-by: Radu Moisan <radu.moisan@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch will allow one to run the installer from another directory
than the one where it's actually located.
Suppose the installer is in /home/user/test/my/sdk and the current
directory is in a different place. With this patch, one can run the
installer like this:
$ sh ~/test/my/sdk/poky-eglibc-x86_64-arm-toolchain-gmae-1.2+snapshot-20120920.sh
[YOCTO #3135]
(From OE-Core rev: 3c7aac33cb63dc63b989db4e9d7389a7f4d3c18d)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The directory usr/libexec/ in the SDK sysroot contains the default
symlinks to the toolchain binaries and these, too, need to point to the
correct toolchain path.
[YOCTO #3090]
(From OE-Core rev: 6e4923c0c9b218271fd44d78df9987b5cabb1c03)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The SDK installation scripts should not canonicalize symlinked
directories because the entire relocation would be done to the directory
to which the symlink points. Instead, if the installation is a symlink,
use that path to relocate the binaries.
For example, if we have the following symlink: /opt/sdk -> ~/my/test/sdk
the binaries will be relocated to /opt/sdk not ~/my/test/sdk as it is
done now.
[YOCTO #3102]
(From OE-Core rev: 9e6a25e2e9a7f37c3baa0b2949a43ac4127868da)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
oe-core removed the prerequisite to have sh as bash. POSIX doesn't define
any options and furthermore allows 'echo -e' to be the default behavior.
This means that in dash 'echo -e' will actually print '-e' and interpret
backslashes by default. We use instead 'printf' builtin command with or
without '\n' to simulate 'echo -e' or 'echo -n'.
'printf' needs format while 'echo' can be used without any arguments. So
'echo >' was replaced by 'printf "" >'.
'echo' without '-n' flag adds a new line by default so to keep the same
behavior of two new lines while using 'echo "\n"', 'printf "\n\n"' is
used.
[YOCTO #3138]
(From OE-Core rev: a19880ad10ccb5d7d909dcf9de5c3dc58a0ebcd3)
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This removes the dependency on a seperate binary which we
don't seem to have. So, use mksquashfs's -comp lzma to
replace that functionality
[YOCTO #3126]
(From OE-Core rev: 8e82713724dfcb40f2ae24a166ec94f50f8b4cd0)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
RPM does not name it's packages with the Multilib prefix,
but the rootfs_rpm class keeps track of the Multilib prefixs
in a list. Use that list to re-attach the prefix for use with
the license bbclass, buildhistory bbclass will also use this
and make it more accurate between multilib and non-multilib.
Use the embedded "Platform" information to ensure we get all
the correct matching.
(From OE-Core rev: f72abd80b0cc9d27aad2e31ecb548b4ab0fd8f67)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- Use mkdtemp for generating temp dir names
- Use bb.utils.remove for removing temp dirs
- Add comment for explaining the "patch" workaround
[YOCTO #3070]
(From OE-Core rev: fbe9fc4d5ece1e66b03b4c4bce9b7ffad3b5b138)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It was reported that the kernel configuration checks for custom yocto
kernels had the following output:
NOTE: validating kernel configuration
grep: /meta-series: No such file or directory
grep: /meta-series: No such file or directory
WARNING: Can't find any BSP hardware or required configuration fragments.
WARNING: Looked at //cfg///hdw_frags.txt and //cfg///required_frags.txt in directory: //cfg//
NOTE: Tasks Summary: Attempted 375 tasks of which 367 didn't need to be rerun and all succeeded.
which is not inspire confidence in the output of the process.
Completely inhibiting the check is one option to remove the messages,
but that removes the ability see output, which can help move users to
a better or more fully configured linux-yocto based kernel.
To fix this, we have to ensure that the path to the meta-series is
always valid, and that the tools can deal with not all files existing
in the audit directory.
Since custom yocto kernels do not set KMETA (they don't have a meta branch),
we ensure that a default of 'meta' is passed to the audit ('meta' is always
valid), and that kconf_check itself can deal with an incomplete set of
input audit files.
The net result is output like this (using a defconfig with invalid options
for the kernel being built):
NOTE: validating kernel configuration
This BSP sets 19 invalid/obsolete kernel options.
These config options are not offered anywhere within this kernel.
The full list can be found in your kernel src dir at:
meta/cfg/standard/qemux86/invalid.cfg
There were 1 instances of config fragment errors.
The full list can be found in your kernel src dir at:
meta/cfg/standard/qemux86/fragment_errors.txt
The full list can be found in your kernel src dir at:
meta/cfg/standard/qemux86/missing_required.cfg
(From OE-Core rev: 4d1b7dae063ee4c35c426306d0e22f11ce112c72)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If we round up ROOTFS_SIZE to IMAGE_ROOTFS_ALIGNMENT before checking if
base_size is greater then IMAGE_ROOTFS_SIZE, we can end up adding an
unaligned value to IMAGE_ROOTFS_SIZE. Obviously, if
IMAGE_ROOTFS_EXTRA_SPACE was overwritten with an unaligned value. So
let's add the round up code after the base_size calculus and it's
comparison.
(From OE-Core rev: 726c1617077da6b49606ac1a2cae64d2d02e6214)
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 must use one TMPDIR per process (/tmp/${PID}) so that the patching
processes don't generate the same temp file name (the "patch" program
uses the TMPDIR environment variable for deciding where to create the
temp files).
[YOCTO #3070]
(From OE-Core rev: 16dbf505c4fdd9fe1820d950ab05c8ea99ad7505)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cosmetic change, settle all found licenses into one line and report warning
about missing licenses loudly.
(From OE-Core rev: f015a9eb8265c485da0b20009ba72119035599b1)
Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Trivial change, do not cut off plus symbol from license name, otherwise
information about package license is corrupted.
(From OE-Core rev: ba53de38e96833ea82ddd0f1e336cd7ddfa0c2d1)
Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Trivial change, process LICENSE_${pkg} and LICENSE values. This fixes multiple
cases, when license is not specified at all in license.manifest
(From OE-Core rev: 8fd734e6f9159921d0d148c4d5c0fa37c882b21a)
Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cosmetic change, which improves code perception. Also check for locale
packages firstly, this shall improve performance a little.
(From OE-Core rev: 100e457de4b223defb1a844d3b85af812caf2f79)
Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cosmetic change, saves space and reduces code line length.
(From OE-Core rev: 0ac50f848cf0f897333cff9340976519fc95fdc4)
Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Unfortunately whilst rerunning configure and make against a project will mostly
work there are situations where it does not correctly do the right thing.
In particular, eglibc and gcc will fail out with errors where settings
do not match a previously built configuration. It could be argued they are
broken but the situation is what it is. There is the possibility of more subtle
errors too.
This patch adds removal of the build directory (${B}) when configure is
rerunning, the sstate checksum for do_configure has changed and ${S} != ${B}.
We could simply use a stamp but saving out the previous configuration checksum
adds some data at no real overhead.
If we find there are things where we want to disable this behaviour with
CONFIGURESTAMPFILE = "" in the recipe, or users could disable it globally.
[YOCTO #2774]
[YOCTO #2848]
This is particularly helpful for eglibc and gcc which use split builds by default and
are a particular source of reconfigure type problems.
(From OE-Core rev: f15f61af77cc4e52a037f509f8e49e1ea530cf35)
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>
We can now rely upon the minimum BitBake version having the
SanityCheckFailed event, so remove the code to handle if this is not
there.
(From OE-Core rev: ba17572c9c11efb45a92ba97914ce1f6d84002c8)
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>
If there is no valid machine configuration it's almost guaranteed that
the tune checks will fail, so just suppress them in that case.
(From OE-Core rev: 629c585e687cda9290efcffd18dd92fdf16009ab)
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>
When called with the complementary install option, the first step is to
backup the install manifest so that we can avoid installing items previously
installed. However, this backup process skipped the initial_install portion
of the manifest, causing early install items like libc6, bash, and base-files
to be installed a second time.
Fix this by cating the files to original_solution. This is done as an append to
allow multiple calls to package_install_internal_rpm to work.
(From OE-Core rev: af9fd7566a5de4716a202922f5eabb13a412f2fb)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the image.bbclass is called with arguments, and these arguments are not
"populate_sdk", they will be passed in as the expected GLOBS.
This enables external components and scripting to use the
rootfs_install_complementary code.
(From OE-Core rev: f44c5f227a170290f567d0a0a24baaa870048788)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Appending to EXTRA_SSTATEMAPS is better than just hardcoding a value. Also
add a comment about why this is necessary.
(From OE-Core rev: d4f4a57b8d564d57256017d937ed2eabf94c36ae)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Instead of using a rather error-prone method of looking for output
package files in order to determine if a package got created, use the
.packaged file within pkgdata.
This fixes two separate issues:
* Some packages apparently not being found by this code e.g. all
apm/apmd packages when using ipk packaging.
* Buggy implementation of this checking code which triggered an
exception during the event handler if PKGV was overridden on a
per-package basis (as it is with external-sourcery-toolchain), which
blocked Hob from completing parsing at 99% - fixes [YOCTO #2651].
(From OE-Core rev: 48169c6bc44c546cecaa06207b6c36da558b81f7)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This allows root to login over ssh with an empty password just like
dropbear when the debug-tweaks are enabled, it's important to disable
debug-tweaks for a production system as this will leave open a security
hole!
Thanks to Marc for the settings.
Cc: Marc Ferland <marc.ferland@gmail.com>
[Yocto #3078]
(From OE-Core rev: 13e6aa8bba6ab1ebba1efa23f94af379a8fcb6a9)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Check ${target_rootfs}/etc/passwd rather than
${target_rootfs}${rpmlibdir} to make sure that it has been previously
installed.
* Remove the "--nodeps" when incremental image generation, it should
take care of the dependencies. Still use "--replacefiles --replacepkgs" in
case there are conflicts.
[YOCTO #3047]
(From OE-Core rev: 2b3df2ec7979a49842df172be442a8794fe68fff)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is used for the binary package recipe, it's been suggested that it
would be a useful feature to be able to easily take an RPM or similar
containing a software binary from a 3rd party software vendor and
integrate it into an image created by the build system.
* Brief introduction
- The binary pkg can be .rpm, .deb, .ipk and other formats which can
be unpacked by bitbake fetcher.
- Let bitbake unpack the bianry package, just like unpack the source
package.
- Skip the do_configure and do_compile.
- Install the files to ${D}
- Other steps are similar to the source package's recipe.
* Note:
- The "subdir" parameter in the SRC_URI is useful for the binary
package recipe, so I added an example in the comment.
- I have sent a patch to bitbake-devel mailing list to support
unpack the .rpm, .ipk, and .deb files.
[YOCTO #1592]
(From OE-Core rev: 7037f52909b8226d2afed4ac73c902d410afc112)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
rpm can't use the "-" as the arch, which causes problem, e.g., when
MACHINE = "beagleboard":
* The arch should be armv7a-vfp-neon, but rpm only takes the armv7a,
this is incorrect since it is mixed with real arch armv7a.
* The nativesdk's arch should be i686-nativesdk (or x86_64-nativesdk),
but rpm only takes the i686 (or x86_64), this in incorrect since it is
mixed with the arch i686 (or x86_64).
Replace "-" with "_" when rpm package and the rootfs generation would
fix the problem, I think this is fine since it doesn't change the tune's
arch, the package manager doesn't care about the arch's name, but it
needs a unify arch system to avoid confusing. This is similar to what we
have done on the deb which fixed the arch i486, i586 and so on to i386.
[YOCTO #2328]
(From OE-Core rev: fc985f511da86400e4fa7d17555216c12eb51666)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This mirror entry which maps to itself plus a slash, if matched, put the
fetcher into a circular loop until the stack space is exhausted. A patch
has been sent to fix this issue in BitBake, but we should remove the
bogus entry as well.
(Note that this entry does not actually trigger the issue with current
master because the gnutls recipe now uses GNU_MIRROR instead of
ftp.gnutls.org, thus the bogus mirror entry is not matched.)
(From OE-Core rev: 0de1827a9601143b090f751ea702fdb65a936b77)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a new variable "IMAGE_EXTENSION_live" for Hob to map image type
"live" with real image file extension names.
This is for Hob to remove the hard-coded maps.
(From OE-Core rev: fe0973df7c72b1acec7feae03a4e13c1f49c8b1f)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ensure this listing is complete. (Comment change only.)
(From OE-Core rev: f9df0be3790ca837e43c41633d17e6ee851cb01d)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
As nothing in oe-core uses gsettings, it wasn't noticed that the whitespace is
wrong.
(From OE-Core rev: 1c2afda021f7abf88bc08400beba53c603912382)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix borrowed from OE-Classic. This should fix build failures during
do_configure of Qt applications with the p1022ds machine from
meta-fsl-ppc, for example.
(From OE-Core rev: a19fc8e19a6cc6885a1e0616b1f42cc49c8f2c9f)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If we don't do this, users can get extremely confused errors since the sanity tests
happen too late (after parsing) and don't see the warnings.
Also cleanup messages about merging configuration file changes to give better
hints at where the updated files may be.
(From OE-Core rev: 7b8a68cda7ef8186e834b39e73ee12a55b33f85b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
do_validate_branches ensures that the desired SRCREV is at
the tip of every branch that contains the revision. To do this,
it looks for containing branches and processes them.
This processing was mistakenly placed before the check for an
invalid SRCREV, hence a git error message is seen in the log
if a bad SRCREV is used, rather than a clear message.
reordering the checks, and fixing a check for master, ensures
that clear messages are generated in all cases.
(From OE-Core rev: 7e4518bf88af53b09536a3bafcd4c392a094023f)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When patches fail to apply, the status of all pending patches should
be exported to the logs and to the user. Currently, a missing export
of GUILT_BASE makes it look more like an internal error, than a 'normal'
patch failure:
| [ERROR] unable to complete push
| pending patches are:
| Patches directory doesn't exist, try guilt-init
With this variable exported, we have this:
| [INFO] validating against known patches (qemux86-standard-meta)
| error: patch failed: Makefile:2
| error: Makefile: patch does not apply
| To force apply this patch, use 'guilt push -f'
| [ERROR] unable to complete push
| pending patches are:
| links/files/0002-makefile-patch.patch
(From OE-Core rev: b2b2512cbc4196fa0f814be3677517dab30e5b52)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This provides one package group, packagegroup-core-apps-console, which
is usually brought in by adding "apps-console-core" to IMAGE_FEATURES.
Aside from the naming inconsistencies, this is a group of mostly
unrelated packages, none of which are actually "apps". Handling each
one:
* dbus: should mostly be brought in by package runtime dependencies
* avahi-daemon: if you are using packagegroup-base (as all images that
inherit from core-image do) this is brought in by having "zeroconf" in
DISTRO_FEATURES.
* portmap: not very useful by itself; should be brought in by selecting
NFS server/client through other means.
* psplash (or whatever SPLASH is set to): this has been changed to be
an explicit item "splash" in IMAGE_FEATURES. Since this is a fairly
fundamental feature, a piece of code has been added to automatically
handle this for images still using apps-console-core (and show a
warning).
(From OE-Core rev: 592d6e602466628d10704835a7b07d3d713f58e1)
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>