The 'armel' override for DKPG_ARCH was causing the meta-toolchain
build to fail. The assignment was moved to an anonymous fragment
of Python code, so it doesn't affect the assignments in
cross-canadian.bbclass anymore, thus fixing the issue.
[YOCTO #4080]
(From OE-Core rev: 6f86fe5d66e401377bccd9f635270033b99a9f4b)
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>
srpm archiving doesn't need to be handled as a different case
when deciding what archive tasks to add.
When srpm is selected as the archiving type, the scripts and logs
archive staging directory ${WORKDIR}/script-logs is cleaned, and
its contents moved out to ${WORKDIR}.
Now that we are including ${WORKDIR}/script-logs in sstate-inputdirs,
the directory must be preserved.
[YOCTO #4032]
(From OE-Core rev: 0c80286a3383b436a0a63a0b00eb357dd9dea4fb)
Signed-off-by: Kevin Strasser <kevin.strasser@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When processing the blacklists, we should avoid cross-canadian packages, as they
will not have any multilib prefixes to expand.
Similarly look for "virtual/nativesdk-" in addition to the existing "nativesdk-".
These items should also be ignored.
Finally, in order to avoid undeterministic variable key expansion, such as:
MYVAR = "foo"
PREFERRED_PROVIDER_${MYVAR} = "bar"
PREFERRED_PROVIDER_foo = "foobar"
during the multilib processing of PREFERRED_VERSION and PREFERRED_PROVIDER,
the code was changed to rename the variable key, to the final key. This along
with the existing code avoids the problems.
(From OE-Core rev: 1416613e94af46c6e74532bca0f026d1540becbb)
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>
* different shells different behavior?
bash prints 'type: update-rc.d: not found' on stderr
busybox's sh on stdout
(From OE-Core rev: 45e22312c48b23480bd6dff98702b0691a48f7d1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gtk-update-icon-cache-native is the only provider now
(From OE-Core rev: 7e437aa3e0ec862aac69a4434be0b2b652d26972)
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Under some conditions (ACLs enabled, NFS) mv can interactively prompt
before overwriting files. Avoid hanging builds in that case by using
-f which should be harmless in other cases.
(From OE-Core rev: b1a085db9d8ad2a3117af6f50e510bc9c2f9407b)
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
commit 61001aa [kernel-yocto: respect SRC_URI modified branch selection]
changed branch processing such that a branch specified in the SRC_URI
would set the branch forced as the build branch.
This change broke compatibility with the yocto-bsp, linux-yocto-custom
based recipes. These recipes specify the branch to be built via KBRANCH,
but allow the fetcher to use master for keeping the repository up to
date. This means that no explicit branch is set in the SRC_URI and the
routines return the default branch of 'master', which is not what is
set in KBRANCH.
To support this case, we simply pass a default branch into the routine
returning the branch to build, and ensure that the default is KBRANCH
so if no branch is passed in the SRC_URI, KBRANCH is always built.
[YOCTO #4145]
(From OE-Core rev: 0c389f41d7ea0697a5468c73cce295a2fa64e9e0)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Extended the functionality of packageinfo.bbclass
so that the sistem retrieves information about the
files brought in by each package. This is done
(without activating buildhistory) by parsing
the packages-split directory for each package.
(From OE-Core rev: 108bae276fe7e462378073207a3bdca7326f8e57)
Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Booting an image generated with squashfs-lzma results in a kernel
error: "Filesystem uses "lzma" compression. This is not supported".
Currently (well at least in Linux 3.8) the officially supported
decompressors are:
* LZO
* XZ
* ZLIB
This change makes sure we use a supported compression algorithm for
squashed root filesystems.
(From OE-Core rev: d915e2e084257830c43f7f21af3aec24b7e1a211)
Signed-off-by: Marc Ferland <ferlandm@sonatest.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Collect SRCREV information in a separate task and write it out in a
format which is more consistent with the rest of the buildhistory
output. Using a task means that SRCREV values will also be recorded for
native recipes and not just target ones, and the new formatting also
correctly handles multiple entries in SRC_URI.
Also adds scripts/buildhistory-collect-srcrevs which will report on all
of the recorded SRCREV values in a format suitable for use in global
configuration (e.g. local.conf or a distro inc file) to override AUTOREV
values to a fixed set of revisions. Example output:
# emenlow-poky-linux
SRCREV_machine_pn-linux-yocto = "b5c37fe6e24eec194bb29d22fdd55d73bcc709bf"
SRCREV_emgd_pn-linux-yocto = "caea08c988e0f41103bbe18eafca20348f95da02"
SRCREV_meta_pn-linux-yocto = "c2ed0f16fdec628242a682897d5d86df4547cf24"
# core2-poky-linux
SRCREV_pn-kmod = "62081c0f68905b22f375156d4532fd37fa5c8d33"
SRCREV_pn-blktrace = "d6918c8832793b4205ed3bfede78c2f915c23385"
SRCREV_pn-opkg = "649"
Some notes on using this script:
* By default only values where the SRCREV was not hardcoded (usually
i.e. AUTOREV was used) are reported - use the -a option to see all
SRCREV values.
* The output statements may not have any effect in the face of overrides
applied elsewhere; use the -f option to add the forcevariable override
to each output line to work around this.
* The script does not do any special handling for multiple machines;
however it does place a comment before each set of values specifying
which triplet they belong to as shown above.
Relates to [YOCTO #3041].
(From OE-Core rev: 2179db89436d719635f858c87d1e098696bead2a)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
1. Split out run-postinsts script into separated package, sometimes only the
postinsts script is required to run all postinsts scripts in /etc/rpm-postinsts/
instead of the whole rpm package.
2. Set ROOTFS_PKGMANAGE_BOOTSTRAP to rpm-postinsts
(From OE-Core rev: 056490ddbfdbb6cc6fa0d8ff8716d64819d6b16c)
Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Its generally useful for devshell to end up in the fakeroot environment. If
a user needs to exit it, PSEUDO_UNLOAD=1 <command> works, its usually
harder to enter the envionment.
[YOCTO #3374]
(From OE-Core rev: e6ffc747a8ca5142c9bc6fbd2b06b5808bb38b02)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We need to get in after complementary package installation, so use
_append instead of +=.
(From OE-Core rev: 8be32b8f30f63691f6b7a9592361b0975c6f8d7a)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Rename SYSTEMD_BBCLASS_ENABLED to INHIBIT_UPDATERCD_BBCLASS to reflect the
action, for clarity.
(From OE-Core rev: cf43320c343437659aee94acd005bf7712f273cd)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With both sysvinit and systemd features enabled these postinsts may actually run
on a target without systemd, so check that systemctl is present before using it.
(From OE-Core rev: ac00e56cb9daacef17a6fdebe7b8ca1667b7e1c4)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Run the helper if the sysvinit feature is present, or if the systemd feature is
present but the systemd class hasn't been inherited. We want to run in the
latter case as systemd has sysvinit compatibility, but we don't want to always
run so that pure systemd images don't have redundant sysvinit files.
(From OE-Core rev: a3856ab19f1d4ae312f559521785ad4384700729)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This really functions as a blacklist, not a whitelist, since we are
listing recipes to exclude. To avoid any possibility of confusion, since
this was a recent addition, rename the variable.
(From OE-Core rev: 4d56de8018d550b3d181d451900cbfb698d64141)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If runqemu (or qemu itself) fails we need to know why, so tee out to a
log file and print it when we can't find the qemu process or determine
its IP address.
(From OE-Core rev: 827106a57ca88760a19f9309d859b500c5c4fe97)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
After the recent cached path operation improvements, we need to tell
the cache about directory changes. /usr/src/debug was was cached as
not created and this was leading to bugs in file ownership. This
change updates the cache and avoids this issue.
(From OE-Core rev: 553a8010e81448629a94ab04fd989e6e49066f2b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The command for generating debug sources appends to the file, therefore we need
to ensure it does not exist before we run the command else we end up doing
more work that we should have to.
(From OE-Core rev: 48dfd61901ce07491ef913cf04dbd9de9a52759f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If an error occurs in subprocess.call() we currently don't catch it. In particular
we have issues where debugedit is segfaulting unnoticed. This fixes up
various code paths to catch the errors.
[YOCTO #4089]
(From OE-Core rev: 262a69ffd33e9d001a7a15fc73671a015e3b5dd1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This fixes build failures introduced with "classes/buildhistory: implement history
collection for SDK" by moving the functions to files where only the specific image
type which is enabled is inherited. The failures occured when multiple PACKAGE_CLASSES
were enabled.
(From OE-Core rev: 9a414a57ad69a426a8d8a2970c42ca7427240615)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Split out the packages added for Eclipse remote debugging to a separate
package group so that we can avoid pulling them in if not using Eclipse.
Fixes [YOCTO #3251].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These are mildly annoying when viewing git diffs of the buildhistory
repository, so let's just get rid of them.
(From OE-Core rev: c257f292bf75061647e380889487c7e2625592de)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
SDKs are constructed in a similar manner to images, and the contents can
be influenced by a number of different factors, thus tracking the
contents of produced SDKs when buildhistory is enabled can help detect
the same kinds of issues as with images.
This required adding POPULATE_SDK_POST_HOST_COMMAND and
SDK_POSTPROCESS_COMMAND variables so that data collection functions can
be injected at the appropriate points in the SDK construction process,
as well as moving the list_installed_packages and
rootfs_list_installed_depends functions from the rootfs_{rpm,ipk,deb} to
the package_{rpm,ipk,deb} classes so they can also be called during
do_populate_sdk as well as do_rootfs.
Implements [YOCTO #3964].
(From OE-Core rev: c3736064483d4840e38cb1b8c13d2dd3a26b36aa)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
1. check if gcc_test is really generate before os.remove("gcc_test") to avoid
following error:
ERROR: Execution of event handler 'check_sanity_eventhandler' failed
Traceback (most recent call last):
File "check_sanity_eventhandler(e)", line 4, in check_sanity_eventhandler(e=<bb.event.ConfigParsed object at 0x3151450>)
File "sanity.bbclass", line 107, in check_sanity(sanity_data=<bb.data_smart.DataSmart object at 0x11ba110>)
File "sanity.bbclass", line 22, in check_gcc_march(sanity_data=<bb.data_smart.DataSmart object at 0x11ba110>)
OSError: [Errno 2] No such file or directory: 'gcc_test'
2. set result to False when build failed with -march=native to ensure
-march=native is appended to BUILD_CFLAGS when host gcc really supports this flag,
otherwise following error appears when build native packages.
| cap_text.c:1: error: bad value (native) for -march= switch
| cap_text.c:1: error: bad value (native) for -mtune= switch
(From OE-Core rev: 4a4228fe250c8b23a5deeb25825d61c6e84a47a2)
Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The tclibc file for uclibc already empties IMAGE_LINGUAS, so there's no point
to this conditional as far as I can tell, and it can cause issues for certain
values of TARGET_OS.
(From OE-Core rev: 0fdda5840452c7715ed775d5d18d9f850396f483)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This was removed from package_rpm and package_ipk years ago, and shouldn't be
needed, installing the packages from package_linguas should be sufficient.
(From OE-Core rev: e9485c7077e5a9508371bbbbebdaaf1e9685da61)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Truncated all git MD5 sums to 7 digits
* Added regex checking for git packages as well
(From OE-Core rev: bc830ab3f6e9704c830e934c6f39c85ef11f867d)
Signed-off-by: Emilia Ciobanu <emilia.maria.silvia.ciobanu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The previous syslinux menu code did not support using both a serial
and vga console, but this has worked for years in syslinux so there is
no reason not to take advantage of it. The previous menu looked like:
-------------------------------------------------------
Linux Boot Menu
The following targets are available on this image:
boot: None
install: None
-------------------------------------------------------
This commit makes it look something more like a traditional grub menu
on both the serial console and vga console as well as providing the
option to continue on using either the serial or vga console with the
correct kernel arguments.
You can see the screen shots attached to the bugzilla.
https://bugzilla.yoctoproject.org/show_bug.cgi?id=3944
[ YOCTO #3944 ]
(From OE-Core rev: 7032d559c04bae09e6b7c39ddeb1bf35acc0584c)
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>
Currently, various standard library operations like os.walk(),
os.path.isdir() and os.path.islink() each call stat or lstat which
involves a syscall into the kernel. There is no caching since they could
conceivably have changed on disk. The result is that for something like
the do_package task of the kernel we're spending over two minutes making
868,000 individual stat calls for 23,000 files. This is suboptimal.
This patch adds lib/oe/cachedpath.py which are a set of replacement
functions for these operations which use cached stat data rather than
hitting the kernel each time. It gives a nice performance improvement
halving the build time of the kernel do_package.
(From OE-Core rev: 556dee0c4d6d8a87c0cddbd2f60fe5917d009f18)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When creating images containing many partitions, rootfs.$type
may not be available.
(From OE-Core rev: cf8e9d8942fdddaac21fca46137120da959c814c)
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This change allows ${B} != ${S} builds to work which use binconfig.
(From OE-Core rev: dc175a20d3a269c08691d92ecf13afff8c1340dd)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* During the base kernel_do_deploy function the directory is
changed to DEPLOYDIR in order to do some cleanup and symlinking.
However, the directory is not changed back to the original
starting directory ${S} at the end. For append functions this
means that the starting directory is not ${S} as expected but
instead ${DEPLOYDIR}.
For functions like the do_deploy_append in
recipes-kernel/linux/linux-dtb.inc there is an assumption that
you are still in the source directory and not the DEPLOYDIR.
Without this change the .dtb files are not copied because the
check for the existence of ${DTS_FILE} which is a relative
path from the ${S} directory fails. This means that the .dtb
files are not copied into the deploy directory and subsequently
the deploy/images directory.
In the log.do_deploy file you will see lines like:
Warning: arch/arm/boot/dts/xxxxx.dts is not available!
(From OE-Core rev: fd5d80ab1a405cb4ef94f2cde25f8c251da490f0)
Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use RM_WORK_WHITELIST to inhibit rm_work per recipe. In this way,
one can use rm_work for the most of the recipes but still keep the
work area for the recipe(s) one is working on.
As an example, the following settings in local.conf will inhibit
rm_work for icu-native, icu and busybox.
INHERIT += "rm_work"
RM_WORK_WHITELIST += "icu-native icu busybox"
If we comment out the RM_WORK_WHITELIST line and do a rebuild, the
working area of these recipes will be cleaned up.
[YOCTO #3675]
(From OE-Core rev: 6c930c3c06f2e698540626c87bd7f7f571df35ef)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With the addition of sstate, ensure that archiving tasks are only
added to the build if they produce output in the directory specified
by the 'sstate-inputdirs' flag.
Move calls to 'tar_filter' and 'not_tarball' out to
archive-*-source.bbclass in order to filter out packages before their
archiving tasks are added to the build.
Additionally, negate the return value of copyleft_should_include in
tar_filter, so that packages that do not pass are in turn filtered out.
(From OE-Core rev: 392562a21d9f2deb6fe6f8bb5378b09f4c5918d4)
Signed-off-by: Kevin Strasser <kevin.strasser@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Log and script archives are only generated when explicitly enabled by
setting the environment variable SOURCE_ARCHIVE_LOG_WITH_SCRIPTS to
'logs_with_scripts'. When left disabled, the path specified to be
handled by sstate is never created, resulting in a build error.
Only attempt to archive scripts and logs when explicitly enabled.
(From OE-Core rev: 7f1f3e6b6db9a50f5e68bc8dff95549e692153b1)
Signed-off-by: Kevin Strasser <kevin.strasser@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We used to export this in the days an external script handled the image
generation. This is no longer the case and hence we no longer need this
export.
(From OE-Core rev: 919613c0e75362ee0eace99b51cc77d34a05372f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
grep will throw "No such file or directory" errors for all invalid
symlinks. To overcome this, move the search after the symlinks have been
changed to point to the new location.
(From OE-Core rev: 239a43fc4037bfe941bb60dd077ee477de177b7c)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The previous change to this function fixed one manipuation at
the expense of the other, depending on ow expanded the versioned
dependency string was when the AUTOINC substitution was made.
This update ensures we cover both cases and ensures the classextended
version works as as well as the normal case.
(From OE-Core rev: 0f8447a7d99d2645b932eac1c24149f0c2d3791e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* exclude ICECC_PARALLEL_MAKE (like PARALLEL_MAKE is)
* add ICECC_DISBLED to be able to disable whole icecc functionality
while keeping icecc enabled. This is useful when you want multiple
builders sharing same sstate-cache, but only some of them using icecc.
* inheriting icecc changes all checksums because of do_*_prepends calls,
but because icecc should not influence binary output of task we should
get same checksums for tasks build with and without icecc
* ICECC_DISABLED when set (to any non-empty value will disable icecc env
modifications but while keeping same sstate checksum
(From OE-Core rev: f46cf86d0ec3b80ce526b4dad1b1eac5995969ec)
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>
* same as original and default version, but does not package source files in PN-dbg
(From OE-Core rev: 3c8452c3abae74a42989c0fbd5ba303788528750)
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>
If a recipe has versioned dependencies on another package within
the same recipe, there are potentially races where the version
remapping may not happen correctly.
This issue triggered with neard in multilib builds since it
uses a "-" character in its PV which is illegal in an rpm version
field. The remapping to "+" was not occuring.
It only triggers in the multilib case since in this case, expansion
of the datastore happens at slightly different points.
The correct fix is to search for PV, not PKGV but substitute the
PV value.
(From OE-Core rev: bd03014c8fd080e04dd0a96a6b4b9211568c1cf1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The bitbake -S <image> has errors, e.g.:
NOTE: Reparsing files to collect dependency data
ERROR: Bitbake's cached basehash does not match the one we just generated
(/buildarea/lyang1/poky/meta/recipes-core/images/core-image-minimal.bb.do_rootfs)!
ERROR: The mismatched hashes were 8e44f2296f2d6cdf2ccb0236910ef59b and
46357d5e36713646b47b0fe2233e3c8c
This is caused by the BUILDNAME which is defined in cooker.py:
if not self.configuration.data.getVar("BUILDNAME"):
self.configuration.data.setVar("BUILDNAME", time.strftime('%Y%m%d%H%M'))
The time changes during the first parsing and reparsing, so there is the
error, we already have:
do_rootfs[vardepsexclude] += "BUILDNAME"
but what we need is
rootfs_xxx_do_rootfs[vardepsexclude] += "BUILDNAME"
The do_rootfs doesn't depend on BUILDNAME directly, but indirectly, the
depends tree is:
do_rootfs -> rootfs_xxx_do_rootfs -> BUILDNAME
So add BUILDNAME to rootfs_xxx_do_rootfs[vardepsexclude] would fix the
problem.
[YOCTO #3299]
(From OE-Core rev: 9d039f482c84dde264564fde93f39764113cc0d3)
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>
It's too easy to cause rebuilds because the DISTRO_FEATURES have changed in
meaningless ways (such as re-ordering or duplicate items). Help stop this by
checking if the feature to be back-filled is already present.
(From OE-Core rev: 63c7192119d54b92d908441109ed4e4fff761cba)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- the system should be using "armel" by default, not "arm"
[YOCTO #3741]
(From OE-Core rev: 74c671a609172a3801e53fe93e2853c4f0eb93b1)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The hook function is appended to ROOTFS_POSTPROCESS_COMMAND
properly to support the 'read-only-rootfs' image feature.
[YOCTO #3406]
(From OE-Core rev: 05182ee354a9f773c8ab2f4cd7f1fdf552e7fcda)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
read_only_rootfs_hook: this funtion is invoked only if 'read-only-rootfs'
is in IMAGE_FEATURES. It tweaks some basic files and makes populate-
volatile.sh script run at rootfs time.
For now, it has real effect only if the init system is sysvinit.
[YOCTO #3406]
(From OE-Core rev: cae51a169e37b54becc08162aaa643acd53ffe2f)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* it was generating invalid RDEPENDS when KERNEL_MODULES_META_PACKAGE had
RDEPENDS set already without trailing space
(From OE-Core rev: 5ff26f61b6860e56c255b2b6a2b0215be75b1db9)
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>
This patch cleans up ptest implementation in recipes by moving ptest
specific code parts into dedicated *_ptest functions.
(From OE-Core rev: 1e4d267a3cbd2135a5de10519814087050b766b7)
Signed-off-by: Björn Stenberg <bjst@enea.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- create "latest_srcrev" for each recipe with the following format:
${BB_FILENAME},${SRC_URI},${SRCREV},${FROM_AUTOREV}
[YOCTO #3041]
(From OE-Core rev: f9acd756746e61b82b58d300f3ab13f3b086787d)
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>
1, There are a set of GCC built-in functions for atomic memory access. The
definition given in the Intel documentation allows only for the use of the
types int, long, long long as well as their unsigned counterparts. GCC will
allow any integral scalar or pointer type that is 1, 2, 4, 8 or 16 bytes in
length, suffix `_n' where n is the size of the data type.Such as:
__sync_fetch_and_add_n
__sync_fetch_and_sub_n
__sync_fetch_and_or_n
__sync_fetch_and_and_n
__sync_fetch_and_xor_n
__sync_fetch_and_nand_n
The above builtins are intended to be compatible with those described in the
Intel Itanium Processor-specific Application Binary Interface, section 7.4.
2, The glib-2.0-native and qemu-native invoke the above builtin function with
suffix `_4', and glib-2.0-native uses __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 to
test the existance.
3, Not all above builtin functions are supported by all target processors.Such
as i386 does not support the functions with suffix `_4', but i486 or later
support.
4, Prior to GCC 4.5, on the Intel's processor, the default arch is i386 unless
GCC is built with the --with-arch switch. Since GCC 4.5 the default arch is
implied by the target.
5, If your host GCC is older than 4.5 and it is built without the --with-arch
switch, when you use the GCC to compile target, you should specify -march to
tell GCC what the target's arch is, otherwise i386 is used as default.
Above all, when use older GCC to compile glib-2.0-native or glib-2.0-native,
and the GCC incorrectly uses i386 as default, the above builtin function
with suffix `_4' is not referenced. We should have a check in sanity.bbclass
to tell the user if necessary to add march to BUILD_CFLAGS in this situation.
http://gcc.gnu.org/onlinedocs/gcc-4.7.2/gcc/_005f_005fsync-Builtins.html#_005f_005fsync-Builtinshttp://gcc.gnu.org/ml/gcc-help/2009-06/msg00037.htmlhttp://gcc.gnu.org/gcc-4.5/changes.htmlhttp://gcc.gnu.org/bugzilla/show_bug.cgi?id=47460http://llvm.org/bugs/show_bug.cgi?id=11174http://download.intel.com/design/itanium/downloads/245370.pdf
[YOCTO #3563]
(From OE-Core rev: 38042ed8586b3abe427af33debc2402caeca52cb)
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>
Fic the class to handle recipes which set B to somewhere other than S.
(From OE-Core rev: 9d88baea4f3668612c76201c306ec6efe72c281e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In case filenames have spaces, execution of the function
sstater_install will hang, so the print parameter %s must be
enclosed with quotes.
(From OE-Core rev: 545d7aa26dfefdc927e0f4e2cc37398ef2c63fa6)
Signed-off-by: Leonardo Sandoval <leonardo.sandoval@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
ALLOW_EMPTY should have a package specified so extend sanity checks to
cover it.
(From OE-Core rev: 02849a54d38c0b98db7ff6b52b4974ee0d88bfb4)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
ALLOW_EMPTY should be set on a per package basis, this updates the code
to do this, avoiding warnings.
(From OE-Core rev: 8981ed20234c42dc1f5cdef802ebe7214bd55238)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It was realised that .so files which were not marked as executable were not
gettings stripped. This was wasting space in images. This patch ensures
they do get processed by the code correctly.
[YOCTO #3973]
(From OE-Core rev: 725354886ae3650a7a4875d4c0bffcfab7e8cc40)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When the do_package function was split into different sections, the vardeps
were not updated to match meaning some function changes weren't reflected
in the sstate checksums. Fix this.
[YOCTO #3980]
(From OE-Core rev: 2e7ddbcca3f613c3b5725dcc3d457985d41e5f16)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When using the -c populate_sdk option, images are not generated quite as
they should be under certain circumstances. For example the dropbear
feature may not get replaced with openssh, leading to both being installed
with an appropriate rootfs failure.
This patch moves the remapping logic to later points in the code, ensuring
there is no conflict. The result is slightly simpler too as an added bonus.
[YOCTO #3749]
(From OE-Core rev: 90cfa16bd4a02ada84ef94f6ae6f182beb8bdc01)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When checking the dependencies in setscene_depvalid(), make sure we also
consider those dependencies needed when running the postinstalls on
host.
[YOCTO #3918]
(From OE-Core rev: 8de0616825ed1b238b3486077af6897834bcb62d)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When the PR service is not enabled, the versions can go backwards and there
are cases we don't want to know about this. This patch adds a variable
allowing these checks to be turned off whilst still using buildhistory.
(From OE-Core rev: 49f33a42e93711c96fbb099f3e6ee7f092d7b356)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Commit a3ca06c3b4 added extra args to
KERNEL_CC, these revert that bit while maintaining machine additions
in TARGET_??_KERNEL_ARCH
Producing incorrect instructions and generating the following errors:
CC arch/powerpc/kernel/init_task.o
| {standard input}: Assembler messages:
| {standard input}:384: Error: junk at end of line: `1'
| {standard input}:949: Error: junk at end of line: `1'
| {standard input}:1428: Error: junk at end of line: `1'
| {standard input}:1526: Error: junk at end of line: `1'
| {standard input}:1626: Error: junk at end of line: `1'
| {standard input}:1685: Error: junk at end of line: `1'
| {standard input}:1973: Error: junk at end of line: `1'
| {standard input}:2001: Error: junk at end of line: `1'
| {standard input}:2100: Error: junk at end of line: `1'
| {standard input}:2168: Error: junk at end of line: `1'
| {standard input}:2520: Error: junk at end of line: `1'
| CC arch/powerpc/lib/locks.o
(From OE-Core rev: 6ed278ab93e9c3bb291dd37837c27e120954afc7)
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently the process for injecting the per file rpm dependencies into
rpmbuild is painfully slow. Its done through the repeated execution of
a script which has to return the correct value in each case. This continual
execution means the CPU usage of rpmbuild is low.
This patch allows the option of collapsing the per file dependencies to
a per package basis and injecting them through the .spec file. This removes
the execution overhead and allows rpmbuild to run at 100% of cpu.
Ultimately it would be nice to inject the per file dependencies through
the .spec file however that is not currently possible.
Since few people use the per file dependency information, this patch
goes for the faster approach. It can be enabled if anyone needs it although
I'd mention that its being used to us as this code may well go away in
the future if nobody complains.
(From OE-Core rev: be40f6d0bb80274366af00461112af65687a4de8)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* this way we can reuse the same functionality also for external modules
including module_autoload_foo and module_conf_foo functionality
* MODULE_PACKAGES variable was removed (splited modules are now returned
by do_split_packages
* KERNEL_MODULES_META_PACKAGE is used to append all splitted packages
to RDEPENDS. In kernel.bbclass it's old "kernel-modules" in
module.bbclass it defaults to ${PN} for upgrade path from
single PN with all modules to PN depending on all new kernel-module-*
(From OE-Core rev: 51928b6b5ca0a46a9dcd754483a19af58b95fa18)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* even when /etc/redhat-release or /etc/SuSE-release exists
* don't read /etc/lsb-release manually, NATIVELSBSTRING is not
reading it too
(From OE-Core rev: 3dba05d74821f08cd96a18351805c8812ddd626c)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When build meta-toolchain-sdk in a newly created environment, there is
an error:
...
packagegroup-core-standalone-gmae-sdk-target set to manually installed.
You might want to run `apt-get -f install' to correct these:
The following packages have unmet dependencies:
avahi-dev: Depends: avahi (= 0.6.31-r6.1) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a
solution).
...
In this case, avahi was installed and then removed by dpkg (the reason is
unknown, only with log `Noting disappearance of avahi, which has been
completely replaced'), the uninstall was done by dpkg rather than apt,
and apt detected the package dependency was broken, so apt-get install failed.
Use `apt-get install -f' to correct the upper broken dependencies in place.
The removed avahi will be reinstalled.
[YOCTO #3720]
(From OE-Core rev: a66ed54490305380c549838f9a580528d5b49275)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
when build deb image, such as building meta-toolchain-sdk in x86_64 host,
there is warning like that:
...
'x86_64' is not a valid architecture name: character `_' not allowed
(only letters, digits and characters `-')
...
The params in deb package control file don't allow character `_', only
letters, digits and characters `-' allowed. Change the arch's "_" to "-"
in the deb package's control file at the control file creation time. Such
as `x86_64'-->`x86-64'
[YOCTO #3721]
(From OE-Core rev: 8487b352cabd8c8ae8a7d9e7e66489e4e964bd50)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When the OE arch is of the format "foo_bar-foobar" the previous
comparison routine did not selectively translate the '-' causing
a failed comparison.
In order to work around this issue, we -always- compare the
RPM translated version of the package architectures.
(From OE-Core rev: caf798da9502c1c4967d13a4450fe02b1e7b4850)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With recent kernel versions, some ARM configurations need may fail to
build with errors like this:
multiple load addresses: 0x80008000 0x80008000
This is incompatible with uImages
Specify LOADADDR on the commandline to build an uImage
We cannot pass this information in EXTRA_OEMAKE, as
"meta/classes/kernel.bbclass" explicitly ignores all EXTRA_OEMAKE
settings. So add KERNEL_EXTRA_ARGS parameter so affected boards
can add for example
KERNEL_EXTRA_ARGS = "LOADADDR=0x80008000"
to their configuration. We make this general enough so other needed
command line options can be passed as well when compiling the kernel.
(From OE-Core rev: e3cdd0aafb9081cd7f1f98490087c1157a3d7403)
Signed-off-by: Wolfgang Denk <wd@denx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Previously the build path to STAGING_KERNEL_DIR was being embedded into the
package post install scripts. We avoid this behavior by generating a special
depmodwrapper script. This script contains that hard-coded path, ensuring
that re-use of the sstate-cache (and/or packages) will always run through the
wrapper generated by the current build with a checksum that includes
STAGING_KERNEL_DIR.
[ YOCTO #3962 ]
(From OE-Core rev: b18c61bae4d7161c087a004bba3c696006f7a2f6)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* distro_identifier returns lsb_data['Distributor ID']-lsb_data['Release']
which in some cases is different then lsb_release -d -s, e.g.
Distributor ID: Ubuntu
Description: Ubuntu 12.04 LTS
Release: 12.04
Codename: precise
But we probably don't need to sanity list each point release in LTS
and sstate is already using distro_identifier as prefix for native
sstate archives
* This will need update to SANITY_TESTED_DISTROS (at least
s/Ubuntu 12.04 LTS/Ubuntu-12.04/g etc), that's why sending as RFC
first.
(From OE-Core rev: a32ea459ca168792161af2d521a14fe00cffb4b3)
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>
When write rpm spec file, one description line
"# pkgname - script_type"
is added to pre/post scriptlets for base package but no such line
writted for subpackage.
Add similiar line to subpackage to facilitate handling the pre/post
scriptlets.
(From OE-Core rev: 34f3926f1787f9a2efa2257a2aaea6ee92adf8a3)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When create rootfs, some post install scripts need be run on device.
They are saved under directory /etc/rpm-postinst and named with numbers
such as 100, 101 etc.
Update to name the postinst script file with its package name instead of
just number. That may be more easy to debug when there is a error.
[YOCTO #3218]
(From OE-Core rev: 9b2a008c25a7a3152ae2d8c64ae8de2534471d47)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When run "autoreconf" in toolchain, there is an error if the host's perl's
version is not the same as the one in the SDK, the error says that the
executable perl mismatches the perl lib's version.
This is because most of the autotools' scripts use the "#!/usr/bin/perl -w"
which is host perl, but the gnu-configize uses "#! /usr/bin/env perl" which
invokes the perl wrapper in the SDK, and the wrapper will set the PERL5LIB to
the SDK which causes the mismatch. We can make all the perl scripts to use the
host perl or the SDK perl to fix this problem.
[YOCTO #3338]
(From OE-Core rev: 365aa1412a3d31128cb3df02959acdc7df5f2ebc)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When running depmod, from kmod, warnings about missing modules.order
and modules.builtins occur. Looking back it is not clear why these
files were being ignored, other then nobody knew what to do with them.
Add the files into the kernel-base package, if they exist, ensuring
they will always get installed if at least one module is installed.
[ YOCTO #3963 ]
(From OE-Core rev: bff4bda1fe86ddd218a192a14605924205a5300b)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
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>
The linux-yocto recipes themselves always set S="${WORKDIR}/linux" and
arrange for the fetcher default of ${WORKDIR}/git to be renamed before
building.
Part of this rename involves an assumption that the directory used by
the fetcher can be removed as part of the renaming process, or in fact
that renaming is required.
If a derived recipe uses S="${WORKDIR}/git", the checkout phase fails
since the kernel source is removed as part of the processing.
To fix this the code now detects this situation and does not clean the
source directory before renaming the fetcher default (and in fact does
not rename it at all).
(From OE-Core rev: e4ab5efea1a41297f63c96de97270136535b5f0b)
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>
Although the setting of KBRANCH is the suggested/primary way to interact with
the yocto kern-tools and the fetcher, some users may be more comfortable
modifying the SRC_URI branch parameter directly.
If they do, the tools will not force their branch and build output will be
different then they expect, in non obvious ways.
It's easy enough to detect this scenario, but checking the SRC_URI in the
same way that the git fetcher checks for the branch (and SRCREV). If we take
the value from the SRC_URI and use it directly in the patch/validate/update
routines, we'll stay consistent with KBRANCH if it is used, and also
automatically adapt to a manually changed branch parameter on the SRC_URI.
For all other users, there are no visible or behavioural changes as a result
of this change
(From OE-Core rev: cfce8643ed166b51d7178be173677ea6f527d453)
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>
Move run-postinsts scripts from rootfs_rpm.bbclass to rpm recipe. That
is the same way for dpkg and opkg to deal the post install scripts.
(From OE-Core rev: 04607b0cd496837f10ef78cf43597ec1d2e13f2e)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
NOTE: recipe avahi-ui-0.6.31-r7.0: task do_package: Started
ERROR: %s does not appear in package list, please add it avahi-ui-daemon
ERROR: %s does not appear in package list, please add it avahi-ui-dnsconfd
(From OE-Core rev: 36a2bae816b1abf776d0f1a2b6b2c3d9a861a4ca)
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>
Remove package run-postinsts from ROOTFS_PKGMANAGE. run-postinsts has
already added in ROOTFS_PKGMANAGE_BOOTSTRAP and then added to rootfs
conditionally by checking image feature "package-management".
(From OE-Core rev: 41aad841e93daaf5d174b14b2fec60b786ead4b3)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
distrodata.bbclass: git tags can include only one digit, therefore
the regex that matches the latest version should also include this
case. For some svn repos, using the http protocol than using the
svn protocol to get infomation about revisions works better.
(From OE-Core rev: bbf09cc0abbc81419349f2af1bc1196a868b2269)
Signed-off-by: Emilia Ciobanu <emilia.maria.silvia.ciobanu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Add tasks to move sources, script/logs and diff/env files in
deploy directory.
* Enable SSTATE for 'do_archive_scripts_logs' task
* Enable SSTATE for 'do_dumpdata_create_diff_gz' task
* SSTATE is not used for sources/patches archiver task because source
archive package can result into a very large file. It will be an
unnecessary overhead to keep sources in DL_DIR and cached-binaries.
* If 'SOURCE_ARCHIVE_PACKAGE_TYPE' is 'srpm' then use pre/post functions
because in this case we do not want to use tasks to move sources/logs
in DEPLOY_DIR. 'do_package_write_rpm' is responsible for handling
archiver packages.
[YOCTO #3449]
(From OE-Core rev: 959e2ae23ccbc6955a28996d4538e457cd8cfa5e)
Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com>
Signed-off-by: Noor Ahsan <noor_ahsan@mentor.com>
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For perfectly sound reasons, n32 MIPS is a mips64 subset denoted by an
ABI change, thus, "mips64-vendor-linux-gnun32" rather than
"mips-vendor-linux-gnu". A previous change had fixed up insane.bbclass
to recognize these, which mostly worked, but left SITEINFO_BITS set to
64.
Since bit-32 is processed first, and there are specific checks for
linux-gnun32, modify the mips64-linux-gnun32 lines to specify "bit-32",
so things that check SITEINFO_BITS get the right answer. Also, drop
the mips{,el}-linux-gnun32 lines, because that's not a valid combination;
n32 only makes sense for mips64.
Also, the insane.bbclass change spelled "mips64el" as "mipsel64", which
no one noticed because no one's using little-endian n32, apparently.
(From OE-Core rev: 0c243a550f5a0e539823fe168bcc7b2bbb9f19e1)
Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[ CQID: WIND00404082 ]
It is possible for the TARGET_OS to change dependending on the multilib used
for a given package build. mips64 has two potential TARGET_OS values: linux
and linux-gnun32. The RPM and Smart setup needs to distinguish between the
two otherwise packages of the "non-default" TARGET_OS may be ignored as
incompatible.
(From OE-Core rev: aa760ff7dee4029c30c9de9fc0b640149e4a4c77)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[ YOCTO #3915 ]
[ CQID: WIND00404309 ]
When doing a multilib image build, such as bitbake lib32-core-image-sato, the
system needs to reorder the priority level of the feeds. If it does not
reorder the priorities, then 64-bit items can be selected by the automatic
dependency resolution in Smart.
(From OE-Core rev: dfbb1aa184955923b85b81aabf944de8f1a1e4b5)
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>
dpkg-deb verifies that conffiles exist, so verify that the specified files
actually exist before writing them to conffiles.
This mirrors the behaviour of FILES and package_rpm's CONFFILES handling.
(From OE-Core rev: 767a3d1c45f97add720174a7034df750bfb09a8e)
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>
In pakcage.bbclass,function replace('-dev', '') is
used to cut '-dev' suffix. but it will cause the
name "lib32-device-dev" to "lib32ice",
so change it to [:-4].
(From OE-Core rev: 91a3a48798029ca88a46a528200f4c5252f245e9)
Signed-off-by: Song.Li <Song.Li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If multiple versions of the same package are in the package feed then the
generate status file would only contains a "deinstall" status for the last one,
which meant that BAD_RECOMMENDATIONS wouldn't actually work.
Use awk instead of grep and stop reading when we reach a newline, so we only
ever output a single stanza.
(From OE-Core rev: a5362de60c0051f16b88a40bd9cb41915bee0b0f)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When relocating the SDK, applications using python will search for
python modules in the default location and will fail to start.
The below errors are thrown by gdb, for example:
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
ImportError: No module named site
In order to overcome this, add the PYTHONHOME variable to the
environment-setup script for both standalone toolchain and
adt-installer. No need to do that for meta-ide-support environment
script since this toolchain does not get relocated.
[YOCTO #3839]
(From OE-Core rev: e7a21cd69a326ab7e2d0e410db28f24956f61208)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently its hard to run a devshell complete with fakeroot context. This
patch allows the fakeroot flag on the task to do this, as with any other
task. Since we may need to start X terminal applications, we need to
only start the fakeroot session on the final command, hence the hoops
this code jumps through.
As always with fakeroot, you can break out and run a command without
the fake permissions with syntax like "PSEUDO_UNLOAD=1 <command>"
[YOCTO #3374]
(From OE-Core rev: 0a2662a48eaf0487db043c348e2834bb9cdd0466)
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>
Currently, SDKTARGETSYSROOT points to PACKAGE_ARCH which, sometimes, can
be set to MACHINE_ARCH. When this happens, the default target sysroot
passed to the cross-canadian toolchain, which points to TUNE_PKGARCH,
will be different from the directory where the target sysroot has been
deployed.
In order to fix this, use REAL_MULTIMACH_TARGET_SYS variable instead of
MULTIMACH_TARGET_SYS.
[YOCTO #3784]
(From OE-Core rev: 41437aaac0cfc6f931d3b2974d380f20ec01f6e8)
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 tells us how long the code hasn't been used for :/
(From OE-Core rev: cd503c7f7fec6d177209832f73cec9c5d490be6b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix deprecated function reference.
(From OE-Core rev: 9e7a6492010aa2de65310d6fa13290068e7cadb1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The package_xxx_install functions date from a different era and are not used by
anything. In the rpm case, they're simply unimplemented, in the tar case they're
using broken whitespace and deprecated functions. We might as well clean
out the old broken unused code.
(From OE-Core rev: 3684036213c9b1c27389260b7a1e3441c6bd659d)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If for whatever reason the package directory is empty of packages, it
makes sense to error early rather than later in what become much
more obtuse errors. This adds in a sanity check to each of the packaging
backends. It also removes the duplicate createrepo call since the
core index creation function now uses this directly after the switch
to smart.
(From OE-Core rev: 721ef058b37604e100021ec7a90ad2f745d83916)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
systemd always uses /lib and /usr/lib to store unit files
so using libdir and base_libdir is incorrect. It will work
where libdir is usr/lib and base_libdir is /lib but wont work
when say its /lib64
Add a check to make sure that SYSTEMD_PACKAGES are part of PACKAGES
too, otherwise error out
(From OE-Core rev: 22e16f44b58ae6bbf719b9074d39aac065a402f1)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When bblayers.conf is updated(when sanity check is running), it should
tell to bitbake to reparse configuration files. I will send a patch to
bitbake-devel, with the actions needed in bitbake and hob.
[YOCTO #3213]
(From OE-Core rev: 5db1ff93f7204b43b7242fc7ef415216eb632ed8)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
opkg-build verifies that conffiles exist, so verify that the specified files
actually exist before writing them to conffiles.
This mirrors the behaviour of FILES and package_rpm's CONFFILES handling.
(From OE-Core rev: fb87edc881009cf4d582cd95c248884551fe07fe)
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>
For some packages PRS reported incorrect upstream version
as it was either the raw string or it mismatched some
alternative groups.
(From OE-Core rev: 6f3ace8ba75eed891aa4844a6830bedca3d8b70e)
Signed-off-by: Emilia Ciobanu <emilia.maria.silvia.ciobanu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The use of arch specific variables like MIPSPKGSFX_ABI was creeping
into the -native sstate checksums of package like ncurses-native.
This is pointless and undesireable. We could add specific variable
exclusions but we might as well just brute force the code to be disabled
in the -native case since we don't use multilibs in the native case.
[YOCTO #3827]
(From OE-Core rev: cc7352ed990b1bdd26203a4d3b21286280ac26c5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There were problems where a SRC_URI with:
SRC_URI_append_powerpc = " xxx"
SRC_URI_append_powerpc64 = " xxx2"
would end up with *both* xxx and xxx2 being added when using a multilib
which is clearly incorrect and undesirable.
The issue is that OVERRIDES has virtclass-multilib-xxxx added to it,
this eventually changed DEFAULTTUNE which then changes
TRANSLATED_TARGET_ARCH which is in OVERRIDES meaning we then need to
re-evaluate the overides and the TRANSLATED_TARGET_ARCH gets applied
twice since once you apply an override, it doesn't get undone.
Expanding DEFAULTTUNE to the correct value in advance avoids the issue
and means only the correct overrides get applied.
[YOCTO #3874]
(From OE-Core rev: 920c9024f5a47ad14670067f910450983bae2aa7)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is needed if the GTKIMMODULES_PACKAGES is changed later, in
do_populate_packages for example. This way, we don't have to add another
dumb asignment in the recipe inheriting this.
[YOCTO #3853]
(From OE-Core rev: e9e80eac6ab4982cb42fa2c5403630926351efed)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
All packages exporting pixbuf loaders should inherit this class in order
to generate the correct postinst/postrm scriptlets.
[YOCTO #3852]
(From OE-Core rev: 61afa98f96f5c62473cb2db383b48d3d23c5d7ac)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
"Link" the package to the postinstall hook by running the
postinst_intercept script.
(From OE-Core rev: a14faa3b9c55574a096d517431393e4ac3c86823)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since the hook has been made a standalone script, use postinst_intercept
script in order to "link" the package to the hook.
(From OE-Core rev: d7ddae84165b5b84dc6ac640fd492ade891ddd4e)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since the intercept fall-back procedure will change the package
installation status, do the checking after ROOTFS_POSTPROCESS_COMMAND
ends.
(From OE-Core rev: 414c3918baccc2166bba536c956eebaeb49aace3)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If an intercept script fails, it would be helpful to fall-back to
running the postinstall on target's first boot. In order to achieve
that, the postinstalls that install a host intercept hook will have to
return 1, so that the postinstall is marked as unpacked only. If the
intercept hook fails, then we're ok, the postinstalls will be run on
target anyway. If it succeeds, then mark the packages as installed.
This logic was chosen mainly because of rpm backend which saves the
failed postinstalls in /etc/rpm-postinsts. Hence, in order to mark the
packages as installed, all we have to do is delete the scriptlets from
there.
(From OE-Core rev: ed8ac4ee43132ae974794038821f7ca5465ae556)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
After having to debug the SDK installer a few times in
addition to the relocation code the following patch was created
to improve the capabilities around debugging the SDK installer.
1) Add a verbose mode -D which set a set -x to see what
the SDK installer is doing.
2) Add a mode -S to save the relocation scripts for the purpose
of debugging them in conjunction with -D
3) Add a mode -R to not execute the relocation scripts for the
purpose of debugging the relocations.
(From OE-Core rev: 0e6dd19b9736d2a8ae7c0f0ab124337d579b8f06)
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
git no longer supports the use of GIT_CONFIG which defeats the purpose of
GIT_CORE_CONFIG and the generate_git_config() function. Remove it.
(From OE-Core rev: c485322fa2b89eb90efd88969d0c73575f128af7)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is cleaner and leads to more accurate profiles.
(From OE-Core rev: eed7294ba9aedf47af5c64ff11777015e59f48ef)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Commit ec2aab09769f4b6817d74d2175afa2b7c7598750 introduced a regression
on packages which contain symlinks with unresolvable path components
(e.g. lsof-dbg). While assigning a variable, an exception was raised
and the exception handler accessed this variable.
Patch deals both with the dangling path components by assuming them as
valid directories and by avoiding the broken assignment.
(From OE-Core rev: 579369b0fb27fad6d628746a50b9b798078500f6)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
oe.path.realpath() provides are common and more correct implementation
for resolving symlinks within sysroot. Use it.
Old implementation suffered from lot of problems; e.g.
* redundant code
* calls 'os.stat()' which references files on host; this can give wrong
results about existing/non-existing and can cause EPERM (instead of
the catched ENONENT) exceptions
* does not deal with special cases like '..' leaving the sysroot.
(From OE-Core rev: ec2aab09769f4b6817d74d2175afa2b7c7598750)
Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
oe.path.realpath() provides are common and more correct implementation
for resolving symlinks within sysroot. Use it.
(From OE-Core rev: 2fa5cc0d08e855e24a4497601d7cc73b9f2aa550)
Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We need the update-rc.d class to work when systemd is being used so that
packages that only have SysV init scripts still work. However if a recipe
supports both we don't want to install SysV and systemd files under systemd.
To solve this, before doing real work in update-rc.d check if the systemd class
has been inherited and don't do anything if it has.
(From OE-Core rev: 0273a22fec3c9360df2510b759c5bf9af610551f)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This class adds postinst/prerm scripts to start/stop/enable/disable the services
as relevant, and some magic to ensure the service files are installed.
Based on (but not the same as) the systemd.bbclass in meta-systemd, so thanks to
the following for their work there:
Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Khem Raj <raj.khem@gmail.com>
Martin Jansa <Martin.Jansa@gmail.com>
Andreas Müller <schnitzeltony@googlemail.com>
Koen Kooi <koen@dominion.thruhere.net>
(From OE-Core rev: f4bf51612f8be1d3dd340fc456f3fa08fcfa34ef)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add RPROVIDES, RREPLACES, RCONFLICTS and RSUGGESTS to the list of
tracked variables. Of these, RPROVIDES is always output, whereas the
others are only output if they have a value (since it is more common
that they don't).
Implements [YOCTO #3391].
(From OE-Core rev: 564d76bed7b96d381d6438df81c0d5b4f5a7b2b0)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[ CQID: WIND00392947 ]
It is not good user experience that the self-extracting archive (.sh file)
has no execution permission by default.
(From OE-Core rev: 3d6537f6ab1ce98075461b9a5d49885c2454417f)
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
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 was just wrong - when systemd is being used there'll still be packages that
use SysV-style init scripts, which systemd supports fine.
This reverts commit b94227f729.
(From OE-Core rev: 3f50b61c77406f87d36437cca53573f86f314641)
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>
oe_runmake() tried to set MAKE a second time, remove it since this is
(nowadays?) redundant WRT the normal export MAKE= in the generated
scripts.
(From OE-Core rev: b9c83b22b555349314191ba60346b01a9252a812)
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
qemu user binaries sometimes segfault when running them through pseudo.
So, set PSEUDO_UNLOAD to 1 before running any qemu binary.
[YOCTO #3788]
(From OE-Core rev: 688e9485980de0f29aa00e24ce53a3efd3a3a7cc)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For example with a lib32 multilib, we need to still use the 64 bit
qemu binary in case we do encounter a 64 bit binary.
(From OE-Core rev: e8ec13a26217bf473504ae4aab22b134dd9dffff)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add MLPREFIX to DEPENDS to ensure the correct qemuwrapper is dependended upon. Its searched
for in PATH so we need to do this to ensure the correct version is present.
(From OE-Core rev: 41163fc5e6662251ec264fd5194a649342d11de1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Load environment variables like DISPLAY from BB_ORIGENV after recent
bitbake changes.
(From OE-Core rev: 8ad8b34b5ac36d805bb10c120f3388e7dce83b98)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
After rewrite of split_and_strip_files src var is no longer
available here where it is used so we should replace it with
a valid value
(From OE-Core rev: b07e79ea049d341a5a0a7e4bb72151f49336c5bc)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This needs to run before PKGR and other variables using PRAUTO are used,
including the expansion optimisations.
(From OE-Core rev: eb09ebc9680eb50e23778dcc1c2697d13cf073ae)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sometimes it's useful to do something with packages created
by do_split_packages later in do_package_prepend, e.g. in:
http://lists.linuxtogo.org/pipermail/openembedded-devel/2013-February/043824.html
I have .bbclass which adds some postinst, postrm and RDEPENDS,
but ttf-mplus is using do_split_packages to create those packages
(From OE-Core rev: 5aa52c6882d2929b2e530c4fa297c6d3e97d4f9f)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add headers to document the different phases of do_package and
make the steps clearer.
(From OE-Core rev: b6438c94035a014902ec89af63ff3787cd8c67f6)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Prepending to populate_packages is rather ugly and means its hard to trace
errors and also profiling informaiton is summed together in one function.
This patch starts to split out the prepends to become separate functions
to avoid these issues. This is generally a neater way to write functions
than prepending to where there can sometimes be variable scope issues
and we've been bitten by whitespace issues in the past.
(From OE-Core rev: 4f9963d1d82ee896fe9491d6a8b32be42cd06f14)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Rather than an exec() per directory, we might as well exec one command and
be done with it.
(From OE-Core rev: 82ae9cfb09ee5c0aa6402c972d71e2b64d1ce8bc)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Call getVar outside the loop
* Drop unneeded PATH export (bitbake does this already)
* Drop unused variable
* Simplify if statement nesting
* Simplify variable expandion to a getVar call (expand would just call getVar)
(From OE-Core rev: 52b506145bcddc133ca93a8c9f7343de69d10907)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We can use the cleandirs and dirs flags for the fuctions to handle
directory cleaning and creation at the bitbake level rather than
using these calls within the functions
(From OE-Core rev: 4b31d6f6f0a2a6b9e504ffae0d3b2099cbd7dddc)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Small performance tweaks for populate_packages_prepend:
* Compile the regexps once at the start
* Don't keep importing a module which is already imported
* No need to check PKG is set, we'd have failed long before now if it wasn't
* Don't export PATH, bitbake takes care of this at the task level
(From OE-Core rev: e9d43d7b4d2cfb22b21f3814c2401a699c78b025)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The split_and_strip_files funciton was hard to follow and its usage of prefixes
to strings was unusual. This rewrites it to use a list of hardlinks, symlinks and
elffiles where each list is iterated over at the correct point.
This means we can avoid creating dandling symlinks for example so we can simply
delete the cleanup code for this.
The isfile() check is also removed which gives a significant improvement in speed.
Its uneeded since os.walk will have already checked things in files are files.
(From OE-Core rev: 0cd295d8cdc8cc39d6b6c7d26ea8a2a10a979d7c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These are in bb.utils so lets the correct function and avoid the overhead
of the fixup/warning for the deprecated usage.
(From OE-Core rev: d17329db4842c50af1a3d7f5f20e692c89913fba)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The data store copy and overrides is overkill given the small number
of accesses that are being made. This simplifies the code.
(From OE-Core rev: 72c1fd72d3b479c728e249eaa763116d352e945b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We might as well put all the sanity checks in one place.
(From OE-Core rev: 05be11c7508984cc4aa757becb7a8f47c5b7e919)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Check through the variables:
'RDEPENDS', 'RRECOMMENDS', 'FILES', 'pkg_preinst', 'pkg_postinst', 'pkg_prerm', 'pkg_postrm'
and if there is a variable set which isn't package specific, inform the user
of this.
Using these variables without a package suffix is bad practise and complicates
dependencies of packages unnecessarily as well as complicates the code. Lets
convert the remaining issues and then we can take the small performance gain.
(From OE-Core rev: 316228948e65f376f6c5be13ccd0c964ea630edf)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
PATH is already exported, we don't need to do this each time we run
something, its just noise and overhead.
(From OE-Core rev: 060f617cea4ea0a5af28d31ea19c0387e9773fce)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This directory is cleaned upon completion however if a previous build
crashes, it can lead to corrpution, hence ensure its clean at the start
too.
(From OE-Core rev: 8ef0e59d5a7da3671d1ad9a54fe068ed78f928d5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a function which copys a tree as a set of hardlinks to the original
files, then use this in sstate to reduce some of the overhead of sstate
package creation since the file isn't actually copied.
(From OE-Core rev: 8e373e69acac853213a62afb8bbdf0adc0c5045a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Comment the "set -x" lines since these will add a lot of extra, not
always necessary, debug messages in the log.do_rootfs.
[YOCTO #2599]
(From OE-Core rev: 5d8119f3d749073e355351e0e15f2703fad738f2)
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>
When qemu bbclass is inherited from a recipe that is not architecture
dependent, qemu_run_binary will return "qemu-allarch". However this
binary does not exist. Instead, return "qemuwrapper" which will, in
turn, execute the right binary for the target the image was built for.
[YOCTO #2599]
(From OE-Core rev: 149a564bba7d3e1c2054ae6d908835ebd95b9084)
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>
All font packages should inherit this class in order to generate the
proper postinst/postrm scriptlets.
The scriptlets will actually create a host intercept hook that will be
executed at the end, at do_rootfs time, after all packages have been
installed. This is good when there are many font packages.
[YOCTO #2923]
(From OE-Core rev: 0c12f7fb3c2c42e5b633682bb1277b943ac19ea6)
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>
* it's not recommended to change this value, because it breaks upgrade path on target
(all old u-a alternatives are forgot in old OPKGLIBDIR value
* but make it consistent, so if someone really want to change that, then
setting OPKGLIBDIR_distro in distro.conf would be enough
* without this there were at least 4 places to change:
rootfs_ipk: opkglibdir variable (notice that I've removed /opkg from it to correspond
with EXTRA_OECONF option used in opkg recipes
package_ipk: ${target_rootfs}${localstatedir}/lib/opkg/ hardcoded in
package_install_internal_ipk
opkg-collateral: value in lists file
opkg: EXTRA_OECONF for all 3 classes, FILES_libopkg, do_install
* validated with buildhistory that without OPKGLIBDIR explicitly set the
output is the same and that after setting
OPKGLIBDIR_forcevariable := "${libdir}"
everything including empty directory from package_ipk is moved to
libdir
(From OE-Core rev: cf0aa9c4fdae8855803e96b1922d54a2431795d3)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The existing check for SKIP_FILEDEPS can be overridden per recipe
using SKIP_FILEDEPS_pn-${PN}. However, there's no mechanism for
letting a single package within a recipe use SKIP_FILEDEPS.
This patch adds SKIP_FILEDEPS_<pkg>, by analogy to FILES_<pkg>.
Note that it only works one way; if the recipe has SKIP_FILEDEPS = 1,
the checks for individual packages will never be reached.
(From OE-Core rev: 94557b500ad38a49aec40629015ed0b24e167f76)
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>
To support configurations where active development is not being done within
the oe/bitbake build environment and restricted bandwidth situations, this
commit allows the SRC_URI to point to a kernel tgz instead of a full git
repository.
Outside of the upstream tgz instead of a kernel git repository, the
restrictions, config and patch process is the same as any linux-yocto-custom
recipe.
An example linux-yocto-custom based recipe would have a configuration like
this to build the 3.7 kernel, using an externally supplied config, from the
3.7 tgz:
SRC_URI = "http://kernel.org/pub/linux/kernel/v3.0/linux-3.7.tar.bz2"
PV = "3.7"
S = "${WORKDIR}/linux-3.7"
SRC_URI[md5sum] = "5323f3faadd051e83af605a63be5ea2e"
SRC_URI[sha256sum] = "dc08d87a579fe2918362e6666e503a95a76296419195cb499aa9dd4dbe171a9e"
[YOCTO #2686]
(From OE-Core rev: 08b3a282ce75a9972694f0c4379179505b9ec91f)
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>
To promote the reuse and sharing of configuration fragments this change
allows any kernel-yocto based recipe to have multiple alternate git repositories
which provide kernel feature directory trees listed on the SRC_URI.
These feature directories are in addition to any in-tree kernel meta data branches
that may be available (described via the KMETA variable in linux-yocto recipes).
Features found within these directories can be used from recipes via the
KERNEL_FEATURES variable. Features found within a feature directory are free
to include any other features that are available in any directories. In both
cases the path to a feature description (a .scc file) is relative to the
root of a given feature directory (which is how existing .scc files work)
The search order for features is determined by the order that repositories
appear on the SRC_URI.
Normal SRC_URI rules apply to any repository that is added as a kernel
feature container. A SRCREV must be supplied and it must be unpacked to
a unique directory, which is controlled via the "destsuffic" url parameter.
In addition to these standard requirements, any kernel feature repository
reference should identify itself via the "type=kmeta" url parameter. If
type=kmeta is not supplied, the repository will not be processed for
kernel features.
As an example, the following in a linux-yocto bbappend makes two additional
feature directories available to KERNEL_FEATURES and fragments.
SRC_URI += "git://git.yoctoproject.org/yocto-kernel-cache;protocol=git;branch=master;type=kmeta;name=feat1;destsuffix=kernel-cache/"
SRC_URI += "git://${KSRC_linux_yocto_3_4};protocol=file;branch=meta;name=feat2;type=kmeta;destsuffix=kernel-features-experimental/"
SRCREV_feat1 = "${AUTOREV}"
SRCREV_feat2 = "${AUTOREV}"
(From OE-Core rev: 02ad603a104b70ab74548c8018e738bfbb3c59db)
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>
SRC_URIs that contained git repositories or other constructs that resulted
in an extension of "." or a substring of "scc" or "cfg" were matching the
tests for patches and configs. This was due to a python tuple being used
instead of an array. Switching to an array makes the match exact and the
behaviour we want.
(From OE-Core rev: 22aa5d040604b37ba984bae9e800e56ba6e4956d)
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>
The details of the kernel configuration audit are typically a
debug action, so should be moved to bb.debug(). But in order
to maintain visibility of the results, a reference to the log
file is provided in the standard message.
(From OE-Core rev: 9ab80ad88d34622a81670cdc45cc3275fc3ebabe)
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>
The rdepends getVar is returning NoneType and the string constuction fails
this occurs with the hicolor-icon-theme recipe.
(From OE-Core rev: a718cf3179540e049fd0d750ce11a97f84addf40)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This makes the external module compilation a bit more robust for
cases where external module recipes may be passing extra params
to make via EXTRA_OEMAKE, and more than often one needs to pass
M=$(PWD) when building external modules and if we use EXTRA_OEMAKE
that would mean that it would appear in do_make_scripts as well
and since we are only changing the reference kernel src tree here
it will not run the make scripts in desired directory.
It is also well explained in top makefile in kernel tree around
line# 1335 in 3.4
|else # KBUILD_EXTMOD
|
|###
|# External module support.
|# When building external modules the kernel used as basis is considered
|# read-only, and no consistency checks are made and the make
|# system is not used on the basis kernel. If updates are required
|# in the basis kernel ordinary make commands (without M=...) must
|# be used.
Therefore passing M=... will not do the updates in the basis
kernel as expected with 'make scripts' so we have to bypass EXTRA_OEMAKE
[Yocto #3787]
(From OE-Core rev: 0e0a5ee405bab478f35690e95219a1e5f2ac7aa6)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch will allow recipes that provide kernel modules to package
the module or modules in specific packages. That list is contained in
MODULE_PACKAGES, this defaults to to preserve the current behavior.
The package can also define MODULE_FILES to specify files.
[YOCTO #3803]
(From OE-Core rev: c1ff0467bf03a3342846f0d9dde74e34b740798f)
(From OE-Core rev: 977aee43868499ab87a098f3798e90d6978836b9)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* as reported by Enrico on #oe
11:06:50 < ensc|w> JaMa: might this be caused by dc78ef91a2bf01efb8028c9afbe69e506e016265
which checks for 'd.getVar('LICENSE_CREATE_PACKAGE', True)' evaluating to 'True' for every
string (including the default 0)
(From OE-Core rev: bc42585ad9ca3a9891459ec3234893dff420b95b)
(From OE-Core rev: 0ab56ad52937823dc66b541dd4eda09fb6a34407)
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>
- add EXTRACONFFUNCS variable in order to make it possible
to inject tasks after autotools_preconfigure
(From OE-Core rev: eafaeee58ab7a8f0613f54b8411f41ccefdf94c3)
(From OE-Core rev: d7950a25eda96a271aa6d541e03177d47e533f3f)
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>
We may as well expand the RDEPENDS when reading and writing as this function does.
if we don't do this, we could accidentally duplicate data and it also turns out
to be much less efficient.
(From OE-Core rev: d62a3151e7b252911c172a605b3089de355663c5)
(From OE-Core rev: 8f602e84e6ae4e346acef7cf5473343039fa352a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently we do a signficant amount of tree traversal in many different places
which in inefficient. We can assume that the files don't change and cache the
file list which gives an efficiency improvement which this patch does using
a global variable.
(From OE-Core rev: 2d7608842d2dab07065e60aab729a5c8fd6b7907)
(From OE-Core rev: 5c7c8347eb1bc25d194be6f4be142ba0924e2600)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Improve package_fixsymlinks so we don't handle RDEPENDS for every single package
in PACKAGES.
(From OE-Core rev: 20ff8feb95d54e4db646f8c0cb006ce187e288af)
(From OE-Core rev: ca2ee871f82dd0ba4122a8373e4efd21cec5722b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Move package_rename_hook call into PACKAGEFUNCS and also move package_get_auto_pr
to a more appropriate execution point, grouping package metadata handling
functions together.
(From OE-Core rev: a3f41cfbc8923e54198d10db292a11ef2edda4d7)
(From OE-Core rev: 96d268166ab0d4640767bf3a0886358dcb663d0f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The symlink handling code doesn't need to being part of populate_packages
and is logically separate so split it out into a separate function,
package_fixsymlinks.
(From OE-Core rev: fc964ed2b558b08327e2bc8c93ada80ca9d97337)
(From OE-Core rev: 08a194c13857b02a2febf9b1484b3cdd67a18160)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We only use the PKG variable in emit_pkgdata so we might as well move the
fallback code there, allowing restructuring of other parts of the metadata.
(From OE-Core rev: 0136ae9a5f719f0e7ba6e00bfd366c0e61b3b3f2)
(From OE-Core rev: df38695f0fbea10289e85fdcb7c2bdf566990577)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is no real point in adjusting overrides and creating a copy of the datastore,
just to access a single variable. We can do this just as easily with a slightly
more complicated getVar call. This improves performance.
(From OE-Core rev: 69f4351809359a0c7c38e8f233f3e3f7680ed2e2)
(From OE-Core rev: b5d65f5d5e5b26d3a2c673e899114c90bcaf6bc8)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is no need to check FILES in each loop iteration, we can just check it once
at the start when we read the variable.
(From OE-Core rev: 1bcc5cba12cbb1b846b433719d1b0820f5a97105)
(From OE-Core rev: 40542f7a46bfb8431e31eca9af06adb4b343d810)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The mkdir function iterates over strings with many different operations,
even if ultimately the target already exists. This adds a check to the start
of the function so we don't waste time when the target already exists.
(From OE-Core rev: 06e188e673313f1eb9ae7d85ae64467c8d2a94b3)
(From OE-Core rev: 9509627e06ab4cf18c5bbf3f405ecf19a9f40287)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently the kernel module handling consists of several special cases
and has its own path walking. This refactors the code to handle them in
a more standardised way which is also a bit more efficient.
(From OE-Core rev: ad51b54f0afe8c56033137b7cf9ba398877b2651)
(From OE-Core rev: cb24a72e97afb43de5e1e79ff807fd9e184df6a2)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The splitfile and splitfile2 function names are confusing and the comments
are also misleading, hard to understand or plain incorrect. This tries to
improve things.
(From OE-Core rev: 46f3050a1f46f814e2d031e7e71600b2932d631c)
(From OE-Core rev: bc6f7085b42d8137957795e800e8b46d2f1eddac)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Rather than keying on recipes that inherit kernel.bbclass, we should
be checking for providers of virtual/kernel when skipping kernel
recipes in multlib builds.
Not all providers of virtual/kernel inherit kernel.bbclass (notably
linux-dummy), so checking on the provider is a more complete check.
We need to be sure to check for inheritance of module-base as well, this
allows for packages that provides modules to avoid the multilib renaming.
(From OE-Core rev: dc7d181ab03ceab87a24d932130109003334dbf8)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
kernel_do_install() populates $kerneldir with files needed to build
external modules. To accomplish this there are several copy commands
to get source from the kernel source tree and build trees after which
a 'clean' is performed. Since we are copying from the build tree we
get about 1G of .o and .cmd files copied over only to have them
removed when we clean. This adds additional IO overhead as well as
overhead caused by pseudo. By avoiding copying these files in the
first place we get multiple gains:
* avoid initial copy
* avoid file deletes during clean
* reduce pseudo overhead
Additionally we are making use of cpio vs cp which tends to be
significantly faster at performing copies.
With these changes I observe a 15-30% decrease in the time to complete
the do_install() operation on the kernel.
[YOCTO #3517]
(From OE-Core rev: c753f9d59f4d0a5af4ea5deb6e2b9609e05314e2)
Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit removes an outdated comment that recorded an issue that has been
resolved in the commits 1c75a5df68 and
d2d5456cd3. Probably, the comment was missed
when changing the behavior in those commits.
(From OE-Core rev: fb1b51e902186b6a7d05e511fe3c3f03c10e3444)
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If we don't do this, stale files can build up, particularly with the PR
server.
(From OE-Core rev: c30ae39229b35d72e2205040d76754b5120fa878)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
On a trace I was a bit puzzled why getVar was making 180 calls to len(d).
This is an expensive operation that should be very rarely called and
certainly not by getVar. In perl's do_package it was resulting in
~1.5 million function calls from those 180 cases.
Ultimately this typo was why. Lets fix it and save the CPU cyles.
(From OE-Core rev: a8ba821d0002e4395fc5c80649fe14f93a7971fe)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The same log message gets output multiple times in the log which look
confusing and is rather pointless. Move the log message to the correct
level.
(From OE-Core rev: 3917409004a830e7ad0646f05ad7421385cbd1de)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The code in module.bbclass was appending the pkg_postinst and
pkg_prerm to all packages that are part of a given recipe, meaning
that the -lic, -dev, -doc, ... packages all got the scriptlet
This change uses only which macthes with the RDEPENDS and FILES
already used in module.bbclass.
The failure was that rootfs creation would fail due to the -lic package
being installed before the kernel and the script would fail.
[YOCTO #3803]
(From OE-Core rev: cf05c4578c99c0cb885cf2706f7f2b39b100aeb8)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This change ensures that the ls /etc/rpm-postinsts runs in the target
at first boot time, rather than at the creation time of the script on
the host.
This was causing the following error in the rootfs log:
+ install -d /srv/ssd/sgw/machines/fri2/tmp/work/fri2-poky-linux/core-image-minimal/1.0-r0/rootfs//etc/rcS.d
+ i=
+ ls /etc/rpm-postinsts/
ls: cannot access /etc/rpm-postinsts/: No such file or directory
(From OE-Core rev: e893cf0b3843701e80f5c9f47be04d1a88e5ed68)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- we need to use PRAUTOINX (it covers all cases)
- it addresses bumped PE issues
[YOCTO #3071]
(From OE-Core rev: ec81b985bb29a8562366f5343171e68a1f9cc4e9)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
As long as we support only one locale package per recipe this leads to unwanted
packages in images. This patch was motivated by samba (meta-oe): only wanting
libsmbclient one gets full samba server into the image. For my standard image
the follwing package were removed by this patch:
-acl_2.2.51-r3_armv7a-vfp-neon.ipk
-alsa-states_0.2.0-r3_armv7a-vfp-neon.ipk
-alsa-utils_1.0.25-r3_armv7a-vfp-neon.ipk
-alsa-utils-aconnect_1.0.25-r3_armv7a-vfp-neon.ipk
-alsa-utils-alsaconf_1.0.25-r3_armv7a-vfp-neon.ipk
-alsa-utils-alsactl_1.0.25-r3_armv7a-vfp-neon.ipk
-alsa-utils-alsaloop_1.0.25-r3_armv7a-vfp-neon.ipk
alsa-utils-alsamixer_1.0.25-r3_armv7a-vfp-neon.ipk
-alsa-utils-alsaucm_1.0.25-r3_armv7a-vfp-neon.ipk
-alsa-utils-amixer_1.0.25-r3_armv7a-vfp-neon.ipk
-alsa-utils-aplay_1.0.25-r3_armv7a-vfp-neon.ipk
-alsa-utils-aseqdump_1.0.25-r3_armv7a-vfp-neon.ipk
-alsa-utils-aseqnet_1.0.25-r3_armv7a-vfp-neon.ipk
-alsa-utils-iecset_1.0.25-r3_armv7a-vfp-neon.ipk
-alsa-utils-midi_1.0.25-r3_armv7a-vfp-neon.ipk
-alsa-utils-speakertest_1.0.25-r3_armv7a-vfp-neon.ipk
-attr_2.4.46-r4_armv7a-vfp-neon.ipk
-avahi_0.6.31-r7.1_armv7a-vfp-neon.ipk
-gtk-engines_2.20.2-r3_armv7a-vfp-neon.ipk
-pulseaudio_2.1-r15_armv7a-vfp-neon.ipk
-samba_3.6.8-r6_armv7a-vfp-neon.ipk
-vte_0.28.2-r5_armv7a-vfp-neon.ipk
-xz_5.1.2alpha-r0_armv7a-vfp-neon.ipk
Strange effect: For samba buildhistory's depends.dot says:
-samba -> libc6;
-samba -> libgcc1;
-samba -> libreadline6;
-samba -> libtalloc2;
-samba -> libtdb1;
-samba -> libwbclient0;
-samba -> libz1;
-samba -> update_rc_d;
-samba_locale_de -> samba [style=dotted];
samba_locale_de -> virtual_locale_de [style=dotted];
-samba_locale_fr -> samba [style=dotted];
-samba_locale_fr -> samba [style=dotted];
This is conflicts to buildhistory's result on samba package not mentioning
any changes for samba package.
(From OE-Core rev: 50354ebece43a6c13f9ca592e7d230765a26fdf8)
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Let postrm use the same logic as the postinst to run on both build machine
and target
[YOCTO #3633]
(From OE-Core rev: dc1bb7a5532411bc9cb7e8678bc540c44fd2cd63)
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>
When use postrm on the build machine, it installs the hook in intercept-scripts
directory and exit 0, the hook will be later invoked and it will properly call
gtk-update-icon-cache.
[YOCTO #3633]
(From OE-Core rev: 6ae0b8339134300d0c179bd47dc3062e0e1f2f0b)
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>
* move it from do_populate_lic to find_license_files so we can reuse it
to populate license in package itself
[YOCTO #3743]
(From OE-Core rev: 833f8c239aa475b3e0cacbd448a90079ac287468)
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>
useradd.bbclass adds sstate dependencies on base-passwd, shadow-native and
shadow-sysroot. Due to the way these are injected, they interact badly with
the other dependency validation logic and end up pulling in dependencies we
don't actually need. This patch adds code to optimise those cases out.
(From OE-Core rev: 784ca68fcca4ffb34390d55d9343570cfdf0305f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently, do_rootfs has a dependency on all the do_package output being present
due to its usage of the pkgdata directories. This means that if you run:
bitbake xxxx-image -c rootfs
you end up having to fetch and unpack all the do_package data which is usually
large and inefficient. It also means rm_work has to leave all the do_package
data lying around so rootfs works.
This patch splits the actual creation of the pkgdata directory off into a separate
task, "packagedata" which happens immediately after do_package. We can then remap
the dependencies so this task is depended upon, not do_package. Sstate can then be
programmed not to require do_package at the appropriate times.
Whilst this patch doesn't do so, it opens the possibility of rm_work wiping
out the do_package output from WORKDIR as long as it also removed the do_package
stamp (both normal and setscene variants) and allowing more space savings
with rm_work which has been regularly requested.
(From OE-Core rev: 6107ee294afde395e39d084c33e8e94013c625a9)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- remove PRSERV_PORT variable
- use 'hostname:port' as PRSERV_HOST format
- remove USE_PR_SERV variable
- one can activate PRS by setting PRSERV_HOST
[YOCTO #3744]
(From OE-Core rev: e00f49de8b1f79c3e07b887d257bd75a46052fa0)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The cmake class uses EXTRA_OECMAKE to adjust the cmake configuration. This
patch adds support for this, if the cmake class is used by the recipe.
(From OE-Core rev: d8c0ce5a4a27c8aa1d07fc15d6e000af725a51e6)
Signed-off-by: Philip Balister <philip@balister.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Certain cpan Build.PL based modules were failing to build due to
the host's config information being used instead of the targets.
This patch sets the appropriate variables to ensure the modules
get the correct configuration from the target config_heavy.pl script.
It also ensures the linker is CCLD, not LD since the LDFLAGS contain
-Wl,XXX options and build failures result if LD is used.
libencode-detect-perl is a module which tests this class extensively.
(From OE-Core rev: 7fac8bffcd250aec90c0b675aeb2bbe7896d0ae1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Remove references to libzypp, zypper and sat-solver which have been
removed.
(From OE-Core rev: cc9144f99844a8485b2b96182bdf40429286ae66)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If multiple recipes try and write the same package it resulted in a
rather confusing traceback and unintuitive error. This patch
prints a human readable error instead.
[YOCTO #3645]
(From OE-Core rev: 6f817779af77fdb0b861297f0f43c4c6607ce6f0)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This avoids tracebacks from bitbake if the directory doesn't already
exist.
[YOCTO #3640]
(From OE-Core rev: 1a60e96b21d328fe936e594f3061459e8f2f1b5e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently hardware codecs are being injected in rather ugly ways and end up
either in no or all images. This adds a dedicated IMAGE_FEATURE for them based
on the MACHINE_HWCODECS variable. We may need to refine this in due course
but this patch at least illustrates the concept.
(From OE-Core rev: 1cb370587fd72e3f0f69678748108cc4116767fb)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Backfilling DISTRO_FEATURES and MACHINE_FEATURES with _append statements happens
too late to use those variables with conditional inherits, like this:
inherit ${@base_contains('DISTRO_FEATURES','sysvinit','update-rc.d_real','',d)}
Instead, do the backfilling at ConfigParse time so that it happens earlier in
the parse, which results in that inherit behaving as expected when sysvinit was
backfilled.
(From OE-Core rev: 22429cdf79ed952072707a929643c7386fa7e056)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- use migrate_localcount.bbclass to generate AUTOINC entries
which are exported to LOCALCOUNT_DUMPFILE
- import the generated AUTOINC entries
- one can migrate LOCALCOUNT to AUTOINC by executing:
bitbake-prserv-tool migrate_localcount
[YOCTO #3071]
(From OE-Core rev: ffab86f13cafb10d8d6273b6af8cd9a3c84eae20)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the /etc/rpm-postinsts/ directory was empty, the following error
would occur at system startup.
ERROR: postinst /etc/rpm-postinsts/* failed
This patch fixes this issue.
[YOCTO #3767]
(From OE-Core rev: 202263aeca837dc7b6615a3dc34569c199163733)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Commit c04f5435 "populate_sdk_base.bbclass: use SDK_ARCH instead
of SDKMACHINE" prevents not only the installation of 64 bit SDK
configurations on 32 bit hosts (which indeed cannot work), but also
the legitimate installation of a 32 bit SDK on a 64 bit host.
Fix this.
While there, also make sure we use the same patterns ("i[3-6]86" resp.
"x86[-_]64" to get unified strings for both INST_ARCH and SDK_ARCH.
(From OE-Core rev: 7ddd97b9b09fe7a327916ea88908a63375556ae6)
Signed-off-by: Wolfgang Denk <wd@denx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Not every package puts the gtk-doc infrastructure into ${S}, so allow this to be
overridden.
(From OE-Core rev: 40353c9ef83f986a0d49cc6eb654b3ace6ef4dc4)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We need to add a build time dependency on virtual/update-alternatives,
however we can't just do DEPENDS +=, or we end up with various problems. To
work around this, in the anonymous python space we ensure we only do the
addition when the package does not provide virtual/update-alternatives and
it is a target package.
Also the system wide PREFERRED_PROVIDER was incorrect. It references a
runtime package, and not the recipe it should have. This has been corrected.
[YOCTO #3691]
(From OE-Core rev: 56a59ef12936dcc6464cf1d43dda6957a5aa8c65)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Tested-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When building the target SDK portion, we can safely ignore various
package rdepends. These dependencies are not required on a build
only environment like an SDK.
[YOCTO #3691]
(From OE-Core rev: 1edd44bed9e9829f7c2466928bc3f45be102b84b)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Tested-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix a build failure caused by a bashism and improve quoting whilst in
the area.
(From OE-Core rev: 9eb78340c61acddb0c2012e25c76c18735febb4d)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
I found that if I had two packages architectures built (say core2 and i586),
that the shlibs data from i586 was being used in the core2 build. This
lead to odd dependency issues if the i586 build was out of date and core2
was being targetted.
When loading shlibs files, the last loaded wins so we need to iterate the
lists from least to strongest weighting, not the other way around. With this
patch applied, the contamination issue is resolved.
(From OE-Core rev: acd7b1c2ee9f3ff84c45a723dba5e0bc5f6a100c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The gnu tar versions less than 1.24 pose a problem with the SDK
extraction. A typical SDK will have hard links. The SDK is created
with a newer version of tar but extracted with the host version of tar
which may be much older. The specific defect is that older version of
gnu tar do not properly handle the "--strip-components=" argument when
processing hard links and the paths do not get properly truncated and
hooked up with the corresponding real file payloads. This leads to
errors like the following during the SDK install:
tar: sysroots/qemux86-yocto-linux/usr/bin/getconf: Cannot hard link to `./opt/yocto/SDK-qemux86/sysroots/qemux86-yocto-linux/usr/bin/POSIX_V6_ILP32_OFFBIG': No such file or directory
The simple way to work around the problem is to just not save the path
information that is going to get chopped off anyway. This has the
added benefit that it saves a small amount of space in the tar archive
as well.
(From OE-Core rev: 0f4112016bac07f0294f2a4d0fde4659c0fed2d2)
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
b27b438221e16ac3df6ac66d761b77e3bd43db67 introduced a regression when
PKGV is modified by the recipe. E.g. when having something like
| PV = "1.7.33+gitr${SRCPV}"
| PKGV = "1.7.33+gitr${GITPKGV}"
| RDEPENDS_${PN}-subpkg += "${PN} (= ${EXTENDPKGV})"
| inherit gitpkgv
The resulting core package has
| Version: 1.7.33+git234+cd01e8c-r11
and because the subpackage has
| Depends: vdr (= 1.7.33+git0+cd01e8c18d494150730214f033f84e5282ce7639-r11)
image build fails with
| * satisfy_dependencies_for: Cannot satisfy the following dependencies ...
| * vdr (= 1.7.33+git0+cd01e8c18d494150730214f033f84e5282ce7639-r11)
Patch avoids the 'PKGV = "cleanup(${PV})"' operation and replaces
AUTOINC directly within PKGV. This might introduce a regression too
when 'AUTOINC' is added to PKGV intentionally but impact is small and
can be fixed trivially by using another string.
(From OE-Core rev: 6e46664085fa49bc204fc944ca23ed6383e2ec51)
Signed-off-by: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Cc: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
kernel compiler is not special and we currently have it so
we want to pass -march and -mtune options as CFLAGS to kernel
build so that compiler picks the right subarch flags when
compiling assembly files in particular. Otherwise defaults
are chosen which may not be right in many case e.g. when
compiling kernel for collie machine we should use arch=armv4
but it uses toolchain/as defaults which is armv5te
in some case e.g. thumb1 we know that kernel can not be compiled
in thumb1 mode so we can provide that information e.g. -marm
option through KERNEL_HOST_CC_ARCH variable as we do now
(From OE-Core rev: c49f967384ccbfe131bbb33ee518014f3fc4b38f)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
update-rc.d is not necessary when systemd is enabled,
systemctl is the replacement
(From OE-Core rev: eaa82c842d3197e0251a887ba16028c22f9d8d94)
Signed-off-by: Radu Moisan <radu.moisan@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since linux-yocto based recipes have a split build and source directory,
we should export KBUILD=${B} to the devshell. This allows the kernel to
be incrementally build within the shell and not dirty the source
directory (which breaks subsequent full builds).
(From OE-Core rev: 88f88a22dfa730161168b0f228e3954178b74c6a)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In the past working from a non-bare clone would cause problems,
due to branches not existing in the WORKDIR clone. This hasn't
been true for some time, since the routines which convert remotes
into local branches have been functioning without problems.
So we no longer need the warning and it can be removed.
(From OE-Core rev: 42d42c24a37af0ea8896087c7cc8215eb19f633d)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
updatercd_postrm failed at image creation time because "-f -r ${D}" is not
used as update-rc.d's option.
[YOCTO #3633]
(From OE-Core rev: deb8ac868a989f41c0664312a5fb855358be2296)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since update-modules is now obsolete, remove it from the bbclass.
[YOCTO #3598]
(From OE-Core rev: 323146c7fdf1c47241f3fd5adab2cb3c6d24b56c)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
update-modules is obsolete. The bbclass was updated not to use it
anymore.
[YOCTO #3598]
(From OE-Core rev: 6fafbf71adb8b34211c2bc24226f0b1eb206a7d3)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Handle the potential case where the recipe level LICENSE contains an
incompatible license, but all of its emitted packages are in fact compatible.
Without this adjustment, it would skip such a recipe.
(From OE-Core rev: 9256361cf2e929004dcc5615b21fe3c46d9f7740)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Spamming potentially over a screenful of messages due to their
INCOMPATIBLE_LICENSE selection seems a bit unnecessary. If the distro was
configured that way, the user likely won't care, and if the user set it, they
likely know the implications, so make the messages debug instead.
(From OE-Core rev: 72f47df32dce91e3364e3837e2c47bdd2d632571)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This gives us an error message (bb.fatal) rather than a traceback due to the
uncaught LicenseError.
(From OE-Core rev: 7fab4cd27a2ad896218123ca82252e2b59526726)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This was causing it to only obey the last of the elements in
INCOMPATIBLE_LICENSE.
(From OE-Core rev: df4a4b9792e3bd13b396b94e232c69054fdf19b5)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Recipes define the latter, as that's what goes into the binary packages, not
the former.
(From OE-Core rev: 6a59b294b99b05e8973b5f2d60678988e90e2de3)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Create a single postprocessing function that enables no-password logins
for both openssh and dropbear when debug-tweaks is in IMAGE_FEATURES,
changing its behaviour slightly:
* Run it regardless of whether ssh-server-* are in IMAGE_FEATURES so
that it still takes effect if these are installed by adding
dropbear/openssh to IMAGE_INSTALL.
* Enable it to be run from image.bbclass rather than core-image.bbclass
so that it works for images that are using the former.
Second half of the fix for [YOCTO #2578].
(From OE-Core rev: 0937054e6e3e02565f57e60a8bdc14b0ad62e249)
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 are postinstall scripts to be run on first boot and
IMAGE_FEATURES contains "read-only-rootfs", we know this will fail on
the target device so just error out during do_rootfs. This check was
already implemented for ipk, so add it to the deb and rpm backends. Also
make all backends use bberror rather than just echo to display the
error.
Fixes [YOCTO #3407].
(From OE-Core rev: 510e377f252dece8850487c30482f83df4a89c7e)
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>
Without this, we have excessive dependencies leaking into the build. In
particular, glib-2.0 was sucking in python modules even if ptest wasn't in
DISTRO_FEATURES.
(From OE-Core rev: 7bf5ee91aa84a6fa85d6da361b64139889faa172)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* http://cgit.openembedded.org/openembedded-core/commit/?id=67e77cd948c69798695d5d5f34163ef89339b35a
moved DATETIME dependency from MODULE_TARBALL_BASE_NAME to MODULE_IMAGE_BASE_NAME
but without copying that vardepsexclude
(From OE-Core rev: 9a93866067253746a889bfe444b6036cf85944b4)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Explain the elf/cpio.gz snippet of code, and update a comment to
reflect the correct variable name. No functional change.
(From OE-Core rev: 0ca4a3a25e4495bf6e2e3932c019bd15856faf55)
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake -c checkpkg fetches the latest version for all packages,
including the ones from sourceforge and those that have
ununsual package naming.
Also removed all pn-native/nativesdk-pn entries from the resulting
checkpkg.csv file if the system already reported the latest version
for pn.
(From OE-Core rev: dc33d69df55ad8d63024d34e35a0b987e01b0077)
Signed-off-by: Emilia Ciobanu <emilia.maria.silvia.ciobanu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>