The packages which start with "rtld" are ok
[YOCTO #3440]
(From OE-Core rev: 1bb3f44065d0470dd2f6950e267ef991c2ce6fd5)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This function has different behaviour if the split directory doesn't exist
depending on the recursive argument: non-recursive uses os.listdirs which throws
an exception, recursive uses os.walk which doesn't.
do_split_packages should silently handle non-existent directories because it's
mainly used for plugin directories, which may end up being empty though changing
the distro configuration (for example, connman without wifi distro feature).
So, add an early exit if the split root doesn't exist.
(From OE-Core rev: 937101e3fdd6afd00f6f8a8be411a67110c4ae78)
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>
Allow INCOMPATIBLE_LICENSE to be a whitespace-separated list of
incompatible license strings and/or glob patterns.
Also fix wildcarding: the string in INCOMPATIBLE_LICENSE was clearly
intended to match with wildcards (e.g. "*GPLv3" to match both GPLv3
and LGPLv3), but this was broken because of a bug in return_spdx()
which would die with a runtime error when there was no SPDXLICENSEMAP
entry for the string.
(From OE-Core rev: 8a8d00f4c9f7fe5f9f173b43b86cd18a6c75435c)
Signed-off-by: Andy Ross <andy.ross@windriver.com>
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>
This commit (0b0674ebcd) was also changing
the populate_sdk_deb.bbclass but the deb backend does not support
multilib just yet. So, when compiling the standalone toolchain tarball,
we ended up with an empty tarball if the deb package manager was chosen.
Reverting the deb part until the multilib support is added to deb.
[YOCTO #3532]
(From OE-Core rev: 34baee37caccced13fb26f446b865c9f25edf339)
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 current maze of IPKG_ARGS variables is hard to understand and worse,
not even used in some places. This simplifies the code and specifies the
options in one place.
(From OE-Core rev: 5e482b278c3775b0acecc621cf2d3b90ee516f26)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Having to include some dummy class is suboptimal and we no longer need to
do this. Also move this check to populate_sdk_base since we then don't
need to include it in toolchains specifically.
(From OE-Core rev: 2ee979ff71d31e497be856ea1443667c6d799d34)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake now supports empty expansions for inherit usage so we can simplify
these statements.
(From OE-Core rev: 77cd2ef06bdf701b047c4f8c817b364b8b4b8837)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
As locale packages are installed on the image, we should
be including them in the package/license manifest.
This ensures that the manifests are accurate and complete.
[ YOCTO #2461 ]
(From OE-Core rev: 4578b708ada1ffb99ab542da793977ffb90a9b50)
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When using update-alternatives, there should be a runtime dependency on
${VIRTUAL-RUNTIME_update-alternatives}. Without this, it's possible to
get into a situation where the package is not installable.
(If VIRTUAL-RUNTIME_update-alternatives is not defined, no requirement
is added.)
(From OE-Core rev: 8a4c5765fb56d17c3d82ff6db47863e934c9fcbe)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch addresses an SDK installer issue on older distributions if
the installation takes place in another directory than the default one. In
fact, is all about the 'file' utility version used for determining if a
file is a text file. For example, for a perl script, newer 'file' versions
return:
"...script, ASCII text executable"
while older versions return:
"...script text executable"
Hence the regex pattern didn't match the scripts.
Also the patch contains two unrelated minor fixes:
* return an exit code of 1 instead of -1 when installation machine is
not supported. That because on an older distribution we also get this
error message: "exit: 9: Illegal number: -1";
* remove unnecessary $SUDO_EXEC prefix to grep;
[YOCTO #3538]
(From OE-Core rev: e7e23a1e5aae4028e21e37ec09e9d431a9adfbcb)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This would be useful for doing siginfo compares to understand why a build
is not reusing something when using SSTATE_MIRROR. No error will be reported
if it fails to find the .siginfo file
[YOCTO #2898]
[RP: Small tweaks]
(From OE-Core rev: 6d86690330f0d43839b904fced4b4b02cb27b8c6)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In order to make the PRS use regexes for the versioning
of packages who have the distros on sourceforge and
for those who have faulty reports.
(From OE-Core rev: 2fe52b23c643d2125867dc9fcc9c01a184a9e238)
Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- adapt the PRServer to generate an incremental number for every revision set
associated with a (PN, PV)
- use one incrementing value rather than several
- PV becomes 0.1+gitAUTOINC+deadbeefdecafbad_decafbaddeadbeef
- if PV contains 'AUTOINC' set PKGV to the same thing with AUTOINC replaced
with the "auto PR" value
- if the PRServer isn't running replace AUTOINC with 0 (no package feeds, but usual
image creation would work)
- use the PR table with "AUTOINC-${PV-without-SRCREVs}" as key
- modify prexport/primport to address the generated srcrev entries
- this patch addresses the following proposal:
http://lists.linuxtogo.org/pipermail/bitbake-devel/2012-November/003878.html
(From OE-Core rev: b27b438221e16ac3df6ac66d761b77e3bd43db67)
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>
packages/apr/apr-util,apr use this, but it not been in the class
patch the config files to be 'installed' and not point to the build
and source-directory.
From OE-Classic:
http://git.openembedded.org/openembedded/commit/?id=030992bdd415c8892cf2925cf6fbe888226be046
[YOCTO #3267]
Orignal Author: Holger Freyther <zecke@selfish.org>
(From OE-Core rev: ab56f1063a666df5faddd97f44758c8ae378e51c)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This change will allow for the icon cache generation at rootfs time and
only once, at the end. So, even though there will be many packages
depending on gtk+, the icon cache generation will be done once.
Hopefully, this will lower the target's first boot time significantly
by using the power of the host machine to generate the cache.
(From OE-Core rev: 74e34f6828771095a25d2c2de89f468b33e359f7)
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>
In order for the postinst scriptlets to be able to run once we need to
export the location of the intercept scripts and also the location of
native sysrootfs. The gdk-pixbuf binaries will need the latter because
in order to generate the loaders.cache it will need to scan some shared
libraries that must be native. Even though the output is a text file.
(From OE-Core rev: 927fabf549bb79cc179d2cb0a953dcd515acf464)
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>
This patch will allow the repeating postinst scriptlets to be run
only once, on host, at do_rootfs time. This will lower the time for
rootfs generation and, also, instead of running some time consuming
scriptlets at target's first boot, we will do on the host.
(From OE-Core rev: 0d239328b1c6b9e4afadad75972d359181fbe1a5)
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>
Touch a file that is later greped to make sure it exists.
(From OE-Core rev: a17bf5d840b5777918f324d26e085498dec86b76)
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>
Replace ( or ) with __. This allows RPM style dependencies to be satisfied
in deb style packages.
(From OE-Core rev: 12acb6bb00ba665571fcfbdb0ef4668ca0a98d5b)
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 the scriptlets are processed in RPM, they have a different dependency
set then the core package. OE has no way to specify dependencies for the
pre/post scriptlists, so we simply make the runtime dependencies scriptlets
as well.
(From OE-Core rev: c1acac8c46aa75d78634c30de773b28a1466070c)
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>
* without this patch:
Python 2.7.3
>>> sstate_search_cmd = "grep -rl /OE/jansa-test/shr-core/tmp-eglibc/pkgdata/armv7a-vfp-neon-oe-linux-gnueabi/runtime-reverse/vim-common /OE/jansa-test/shr-core/tmp-eglibc/sstate-control --exclude=master.list | sed -e 's:^.*/::' -e 's:\.populate-sysroot::'"
>>> cmd_array = sstate_search_cmd.split(' ')
>>> search_output = subprocess.Popen(cmd_array, stdout=subprocess.PIPE).communicate()[0]
grep: |: No such file or directory
grep: sed: No such file or directory
* Adding shell=True and using cmd string instead of array makes it work:
>>> search_output = subprocess.Popen(sstate_search_cmd, shell=True, stdout=subprocess.PIPE).communicate()[0]
>>> print search_output
manifest-armv7a-vfp-neon-gvim.package
manifest-armv7a-vfp-neon-vim-tiny.package
manifest-armv7a-vfp-neon-vim.package
But still isn't 100% reliable, I guess it's caused by some other package
being removed from sstate while grep is already running.
So sometimes grep can show error on STDERR
>>> search_output = subprocess.Popen(sstate_search_cmd, shell=True, stdout=subprocess.PIPE).communicate()[0]
grep: /OE/jansa-test/shr-core/tmp-eglibc/sstate-control/manifest-armv7a-vfp-neon-systemtap.package: No such file or directory
(From OE-Core rev: d84f7d7a12b4271f7b2bfde9fb356d750abff15d)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The value of subprocess.Popen().communicate()[0] is a string.
Checking for '!= None' will always match causing bogus warnings
regarding already staged files.
(From OE-Core rev: acdd76482efc3caf80e9e0b7359be7ca724ae09a)
Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* fixes a lot of QA warnings about unpackaged /usr/share/share
(From OE-Core rev: 10457e343b27e63b35e0278b00e9c25106b0cc1b)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
My previous patch removed the mkdir and added it at the end of the
"gaining SUDO rights" block in order to fix directory creation when
installing in a location without proper rights. Unfortunately this
messed up the directory creation as normal user as it will ask for
sudo right in order to create it...
Hopefully, this will fix both cases.
(From OE-Core rev: 86286287d0134ade73f6a282158dde86bf0159e8)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
mkdir was in the wrong place and missing sudo rights. Hence, the
installation to default location (or any other for which the user didn't
have rights) would fail. Unless the installer itself is run with sudo.
(From OE-Core rev: 555d03c466490ab12b2b1d049736593da2334e97)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We should always leave the tree on a BSP branch or master when
do_validate_branches completes to avoid modifying version tracked
files are part of the build process. Modifying these files will lead
to errors when changing branches, since the contents would be lost.
This is evident in the case that a the meta branch is reset to a
known SRCREV and the tree was left on the meta branch. This branch
tracks the meta/meta-series, and other artifacts of the original
tree construction. When the build process runs, it updates these same
files, which creates a conflict when switching branches.
This has been fixed in the tree construction scripts to not track
these files, but a secondary fix is also required of not leaving
the build on these branches, to allow arbitrary trees to be built.
[YOCTO #3413]
(From OE-Core rev: 57397592ff8ec16922604d398c18d53a589be41f)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The shell archive that populates the external SDK should fail if it
cannot find the ld-linux.so else it will corrupt all binaries because
a random path will be used from the list of executables when dl_path
is empty.
(From OE-Core rev: 206aa794933d41dfb037e9c654c818cd4d4f956d)
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A regression was introduced by commit:190cb591 that it doesn't
consider the situation that some archs contain "_" originally, so it
results in issues when dealing with archs like qemux86_64, x85_64.
Added a conditional statment in to handle that case.
(From OE-Core rev: 8567991639fda8d2a1e88169b86c72e14cc6c82d)
Signed-off-by: Ming Liu <ming.liu@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
1.Adds a sudo passwd prompt during installation if the
user couldn't install on the dir.
2.Adds option -d <dir> to enter dir without prompt.
3.Adds option -y for automatic yes to all prompts, a non-
interactive method.
[YOCTO# 3153]
[YOCTO# 3309]
(From OE-Core rev: e85e1aace604626914a06dab4663094d6dd9b035)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* it was introduced in 2010 by 8c3a7ebac8
but doesn't seem needed anymore
* also such do_rootfs failure is good indication that runtime packages
installed are not sane, ignoring this error in do_rootfs just
transfers the issue to end user when he does "opkg upgrade" later
on device
* tested on SHR images with whole feed included and only issue was
gstreamer/gst-plugins-* locale packages (and there is patch for this
on oe-core ML)
(From OE-Core rev: 1f7d3a2e9071ff78170c06ebf58c7400a5ee09bf)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
list_installed_packages should output uniform formatted archs for all
packaging system(deb, rpm and ipk), for they are used by common code to
grab the package infos. Otherwise, it will lead some -dbg packages to be
missed processing in come cases.
It's introduced by commit: fc985f51, package_rpm.bbclass: fix the arch
(replace "-" with "_").
Fixed by replacing "_" back to "-" in list_installed_packages, make it
output real arch values which can be safely used.
(From OE-Core rev: 554f2436435bf96c6735827f491c1b78b198c016)
Signed-off-by: Ming Liu <ming.liu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch contains two fixes:
* if the user wants to install the SDK in a directory that already
contains a SDK for the same architecture, a warning will be shown;
* when the symbolic links are relocated use -n option. Otherwise,
symbolic links to existing directories will be created in the
directory itself;
[YOCTO #3401]
(From OE-Core rev: cd035f170a2448b9ebcf0cfac5d4c0fa472b7049)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The force_postinstall option was missing and some packages were
configured on target rather than on host at rootfs time.
(From OE-Core rev: dfadfaa0b38678029ffebe14f15e2dbc148cb1fb)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently there is some odd behaviour of the packagegroup class in relation
to sstate since it sets PACKAGE_ARCH = "all" but does not use the allarch class
leading to it being undetected by sstate.
Previously it was not possible to use allarch as the recipe couldn't "undo"
settings made by the allarch class. Since this no longer happens when
PACKAGE_ARCH != all, we can use the allarch class.
This patch also fixes up one case we need to preserve TRANSLATED_TARGET_ARCH
and ensures sstate only assumes allarch when PACKAGE_ARCH is "all".
(From OE-Core rev: 591fa7c1ab9e9ff75fdce602c77ecdeda3a255d9)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We have cases where we'd like to inherit this class by default but allow
special cases to override it. This change makes the code of the class
conditional on PACKAGE_ARCH remaining set to "all", allowing it to be
overridden. packagegroup usage is one case this is desirable.
(From OE-Core rev: 7dd91402b719ac62b51088f234354f82bfa9c4b6)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In the interests of simplifying things, remove P and PN from FILESPATH,
instead relying on the BP and BPN versions which work in 99% of cases.
In any problematic case such as a -native only recipe, either the patch
directory can be renamed or the recipe can set FILESPATH specifically.
(From OE-Core rev: fb359583b659cda643973fa285002aaffb729a51)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Files are very rarely, if ever placed in ${PF}. If a recipe needs to do this,
it can easily append to FILESPATH so it makes sense to drop this from the
default search path.
Equally, using FILE_DIR as part of the search path leads to 'bad' SRC_URI
entries and/or file layouts which are not preferred. I'm therefore of the
opinion we should also remove this from FILESPATH and encourage people to
cleanup any places this breaks my correcting the layouts to match the standard
or worst case adding to FILESPATH in recipes that need it.
These changes work towards making the system more friendly as users won't be
greeted with huge search paths we rearely use making the "correct" layout
more obvious.
(From OE-Core rev: 3efa13cd76bbd5611805021945fc9def88d9fd93)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some bad logic in license.bbclass misses certain package level
LICENSEs.
(From OE-Core rev: c5a171d5817233c0371e6f5b19f57f3c4b84f5ac)
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These test look for programs in / that depend on programs in /usr. After
a brief discussion in #oe, we decided these tests should be disabled so
we can focus on more serious QA issues.
If you are working on a system where / and /usr are on different partitions,
you should turn these tests back on and resolving the QA warnings.
(From OE-Core rev: 2fb58da56e8e7044de21fd10fe9164d204587236)
Signed-off-by: Philip Balister <philip@balister.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some images override IMAGE_BASE_NAME in the recipe causing targets using image-{live,vmdk} to fail.
(From OE-Core rev: 7e000fef0bf917f27dcad66dd90fae6c155c4d1d)
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Clean up and clarify the populate_sysroot task dependencies. Target sysroot
packages do need their dependencies installed, as do some target/cross
relationships. We can whitelist the *-initial dependencies as these are
never needed indirectly.
(From OE-Core rev: eeec307917234d97be2674beeadef71599fb1487)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For example gcc-cross depends on linux-libc-headers and needs it to be present
to build/work correctly.
(From OE-Core rev: 43ce7a1d86bf82d976ad241057a4207b1a340b3b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Having a meta branch is not strictly required by the tools (and
recipes like linux-yocto-custom do not have meta branches), but the
comments in the kernel-yocto.bbclass could lead someone to think that
it was required.
This commit clearifies the comment to the following:
# We can fix up the kernel repository even if it wasn't a bare clone.
# If KMETA is defined, the branch must exist, but a machine branch
# can be missing since it may be created later by the tools.
[YOCTO #3422]
(From OE-Core rev: 421a2e2523a8f2c461479a1c0d44908cc1eaca6b)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This was needed when do_package for target recipes was target specific
however since it now isn't we can remove these stale references.
(From OE-Core rev: 1c54d8c3639659bc8cf8fa2786a1aa9ed785b723)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>