Due to some issues with postinstalls that register hooks, we changed the
logic a bit. Now, all postinstalls that register hooks will return
successfully and only after, if hooks fail, mark the package as unpacked.
(From OE-Core rev: 82dae98d0eb771c05e57635f0f8763b118d8177e)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This will allow to register, in a single postinstall, multiple hooks.
(From OE-Core rev: b396138ee081c8f5dddbaab0e374787ba2e31029)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This will allow to register, in a single postinstall, multiple hooks.
(From OE-Core rev: 2cd244d6c93ec6d39e2649de64575c365bd4238d)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This will allow to register, in a single postinstall, multiple hooks.
(From OE-Core rev: 9553874cf02ba443aff1bbead56bacfcda9bb6ca)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The postinstall for the opkg run-postinst hook checks for the existence of this
file. We therefore ensure it always exists during image generation.
(From OE-Core rev: 540cf355599e555615ed9684c3b480463588eb78)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
THe USERADD_PARAMS and similar group variables are package specific variables
which should get added to the vardeps of the packaging process. This
change also ensures they get remapped correctly by the multilib code.
(From OE-Core rev: 805add18e7b917aaef61c82c0b5f2e9682af1d0d)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If we don't do this, multilib packages don't have any code
added to the postinstalls to handle user additions.
(From OE-Core rev: b10d17d1b03fd0564103a6998f218d0968d1032b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently, you can set VIRTUAL-RUNTIME_init_manager to an init system that
isn't in DISTRO_FEATURES. This leads to head scratching over unbootable images.
This adds a sanity check which ensures more valid systems are built.
(From OE-Core rev: c72ec4b52827f75351790eab483d258b2e87611a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If we put a valid glob like "*/foo/*" into FILES, populate_packages
breaks with a "file exists" message. This is because the glob expansion
does not have "./" prefix however there may already be an entry in
the seen list which does have such a prefix. The easiest/simplest fix
right now is to add the prefix if it doesn't exist which only happens
for certain globs.
(From OE-Core rev: 138c5f3af892e33f576fc7dd268e122b179f82a1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ensure that the DEPENDS we're adding is correct in the multilib case by
including MLPREFIX, fixing unnecessary dependencies in those images.
(From OE-Core rev: 1fa8909e24866ffada75daf63225c8daa000b9be)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently the names used for the kernel in deploy will contain "AUTOINC"
instead of the final incremental numbering. This fixes the problem by
ensuring data is obtained from the PR service and using the PKG* variables
instead of PE/PV/PR directly.
[YOCTO #4293]
(From OE-Core rev: 1392f959cb8cd50b5a4492899e54f3ed68ef56d7)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
allarch multilib recipes are meant to provide a list of different multilib variants.
Unfortunately since the pkgdata also has mappings for these, they get mapped back to
the original package name which means the effect is undone at package creation time
when the remapping code is called.
This patch adds in a conditional to break that chain meaning the packages get
the correct RPROVIDES and image builds work correctly with opkg.
[YOCTO #3453]
(From OE-Core rev: 1a1927f8a04fe0a2b3b853ebdd33ccb807f00b59)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix the fairly long-standing problem of treating a newer bblayers.conf
in the same manner as an older one (reporting that it had been updated
even if nothing was done). The recent work to do a reparse without
having to manually re-run bitbake turned this from an annoyance into an
endless loop, so it had to be fixed.
As part of fixing this the following changes have been made:
* Extensions are now implemented using a function list, so distro layers
can add their own functions which should either succeed (indicating
they have successfully updated the file) or raise an exception
(indicating nothing could be done). The functions are called in
succession until one succeeds, at which point we reparse.
* If we can't do the update, the error message now says "older/newer"
instead of just "older" since we only know the version is different.
(From OE-Core rev: 46b00fdfc9d1e3dc180de087bae2682a1baa2954)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
when we have multilib and a 64bit machine and initramfs then image/lib
directory will not be created and it will end up with errors like
| DEBUG: Executing python function sstate_task_prefunc
| DEBUG: Python function sstate_task_prefunc finished
| DEBUG: Executing shell function do_deploy
| tar: lib: Cannot stat: No such file or directory
| tar: Exiting with failure status due to previous errors
So in order to overcome this shortcoming lets mkdir -p the
lib directory so the modules can be happily installed.
(From OE-Core rev: 3f501204f375cc40a14597a25cb09faaba9ff802)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* original implementation by Antti Harju
(From OE-Core rev: abb5bd9f2d3583808b61a0832378e4db45022be6)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
1, In bitbake.conf
PKGR ?= "${PR}${EXTENDPRAUTO}"
EXTENDPKGV ?= "${EXTENDPKGEVER}${PKGV}-${PKGR}"
RDEPENDS_${PN}-dev = "${PN} (= ${EXTENDPKGV})"
2, When PR Server is enabled, EXTENDPRAUTO is not none which means PKGR and PR
don't have the same value.
3, When multilib is enabled, RDEPENDS_${PN}-dev is not expanded correctly
which uses PR rather than PKGR in the versioned dependency string.
4, Make sure PKGR rather than PR in version string when do_package_rpm.
[YOCTO #4050]
(From OE-Core rev: cf53c606fc1bc81abb68b6851ae68916f92e1d84)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Move ${PN}-ptest to start of PACKAGES to ensure all ptest files are
packaged in the -ptest package.
Add QA exclusions to insane.bbclass to ensure -ptest packages can contain
any files they need.
Disable ptest for native packages.
Don't emit errors on missing _ptest functions.
(From OE-Core rev: 01bea4ef932e46eb2fcc8b4be7ff5e2b5b2a0978)
Signed-off-by: Björn Stenberg <bjst@enea.com>
Signed-off-by: Anders Roxell <anders.roxell@enea.com>
Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Allow recipes to specify sections to be stripped from the kernel output
using KERNEL_IMAGE_STRIP_EXTRA_SECTIONS. For example:
KERNEL_IMAGE_STRIP_EXTRA_SECTIONS = ".comment .unwanted"
The kernel output is stripped in place.
Since the toolchain does not give indication when the specified sections
are absent, we read the sections first and make this report by issuing a
warning to the developer.
The toolchain by default strips the image with the -s option (even
when -s is not specified):
-s --strip-all Remove all symbol and relocation information
For example, these sections are always removed:
.debug_aranges
.debug_info
.debug_abbrev
.debug_line
.debug_frame
.debug_str
.debug_loc
.debug_ranges
.symtab
.strtab
In addition to these, the sections listed in
KERNEL_IMAGE_STRIP_EXTRA_SECTIONS will also be removed.
Only stripping of vmlinux (elf) is supported at this time. A warning
will be given if the image type is not vmlinux.
Stripping the image could also be done in the kernel, but that would
only work for linux-yocto based kernels, so it's not the route we
decided to go.
[YOCTO 3515]
(From OE-Core rev: 5f6d33b05b4e7883f2728ca812cb5386d1e36989)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Michel Thebeau <michel.thebeau@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Postinstalls that use qemu are throwing a segmentation fault when
building for qemux86-64 on a 64bit host (it might also happen for
qemux86 if building on a 32bit host but I didn't test). It looks like
qemu looks for ld.so.cache which is not found because it is generated
after rootfs_(rpm|ipk|deb)_do_rootfs is called and then it tries to load
libraries from the default paths (which are the host's). In order to
avoid this, pass the LD_LIBRARY_PATH explicitly to the target's dynamic
loader.
(From OE-Core rev: 48e8b613b3f5c7b1d917bf3147606d44072ce49e)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The creation of a clone of d with extra OVERRIDES was removed in
72c1fd72d3b479c728e249eaa763116d352e945b but some of the lookups are essential
so that variables such as ${INITSCRIPT_PARAMS} get overriden and resolved
correctly on a per-package basis.
[ YOCTO #3960 ]
(From OE-Core rev: b016bc9aaabc90fe4dc98af8c5e73dfcb4526ef4)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Package listing was implemented in the deb backend some time ago.
(From OE-Core rev: e2915b6e1d2088d3a791bf629dabc58f38940961)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When upgrading packages it's possible that the service is already running
because opkg doesn't actually execute the prerm hooks on upgrades, which is
where the service should be stopped.
Handle this case by restarting in postinst instead of starting. If the service
isn't already running then this doesn't make a difference, but if it is running
then the service will be restarted.
[ YOCTO #4213 ]
(From OE-Core rev: 319ef0df4ae7ed0372eff90e11244123eccb023c)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The use of SOC_FAMILY here is old code and SOC_FAMILY is now implemented by
MACHINEOVERRIDES behind the scenes. It therefore makes more sense to use
the replacement value in this code. Just like SOC_FAMILY, this is a ":"
delimited variable so we should iterate over the components, not use
the value directly.
Finally, MACHINEOVERRIDES contains MACHINE so we don't need to check that
directly.
This makes the functionality match what most users would expect it to do
and is also compatible with the way things previously worked.
(From OE-Core rev: 8ceef74dd4f662b4c7e3c170ce486e966ebebeff)
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Change do_write_srcrevs to a postfunc of do_fetch, avoiding a dependency
being created that causes large numbers of setscene tasks being executed
on every build with both buildhistory and rm_work being enabled.
(From OE-Core rev: a751e9042dfffcc5c4701634a1f1f598012d609c)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
do_sizecheck has a few issues especially with vmlinux image type.
It breaks because KERNEL_OUTPUT is a path relative to ${B}. When
do_sizecheck runs it does not find the file (because the working
directory is elsewhere) and does not fail.
Also, the image file referenced by KERNEL_OUTPUT may be a link.
Finally, when do_sizecheck deletes the oversized kernel image it leaves
the previously run do_compile task with inaccurate status.
So, do the following:
- specify that the working directory should be ${B}
- use ls -L to reference to the real file, and ensure that the link
file is created
- keep the oversized image file so the status of do_compile is valid
[YOCTO #3514]
(From OE-Core rev: f0b19ddce3c92c5d06976cf73d4c4c480e053dff)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Michel Thebeau <michel.thebeau@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The wrong type of paranthesis was used so 'continue' did nothing (was in
another context) and the packages were marked as installed.
(From OE-Core rev: 0bdde53e885aae3506c7b070b6e21f64a7cd4115)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Removed existing definition with machine 47787, this
definition is outdated, a sanity error should occur if an ELF uses this
value.
* Added new definition with machine 189. This value replaces the existing
value since August 2009. See binutils thread for more information.
(http://sourceware.org/ml/binutils/2009-08/msg00127.html)
(From OE-Core rev: 0c60d3b04eb77629abc3bbc2a6d8a2b8f0a44309)
Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The intercept scripts fail to run on 32 bit hosts. Apparently, the
current approach worked on 64 bit hosts due to the larger virtual address
space (probably). On 32 bit hosts, however, calling the target binary like:
qemu-arm ld-linux.so --library-path /lib:/usr/lib arm_binary
fails with:
arm_binary: error while loading shared libraries: arm_binary: failed to
map segment from shared object: Operation not permitted
When run like this, qemu-arm fails to map the arm_binary executable in
memory because it's hitting the lower limit of
/proc/sys/vm/mmap_min_addr. That's because it loads the
ld-linux.so binary successfully, taking into account mmap_min_addr, runs
it, and then ld-linux.so will map the arm_binary at a fixed address but this
will fail because it is below mmap_min_addr. The qemu's guest base probing,
apparently, doesn't work fine when a program runs inside other.
One way around this would be to set mmap_min_addr to 0 (on recent
distributions is set to 65536 to avoid "kernel NULL pointer dereference"
defects) but this approach is not safe.
The other way is to call the binary directly but providing qemu with a
prefix (-L option) in order to find the elf interpreter correctly. This
way, both the target binary and dynamic loader are mapped into memory
under qemu's control and, only after, the dynamic loader is started.
[YOCTO #4179]
(From OE-Core rev: 78f91e08c8a7b0f0c831a087f7c89e2c76047e7a)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Removed the package files parsing routine from the
packageinfo.bbclass file and added it to the
package.bbclass file.
(From OE-Core rev: 225e7826b0d082f43db82201e826b98b3a95cd57)
Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* persistent cache records tag-srcrev mappings, but is not shared between builders
* when tag is moved in remote repo, all builders should rebuild the component to
use the same source, show warning when revision is different than what was used
in last build
(From OE-Core rev: 0bc22ed6bd67031749e8f2cb5415dabf933eef56)
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 no files have been staged we want to continue without error instead
of showing a traceback.
Fixes [YOCTO #4056].
(From OE-Core rev: ca36be708e54c0c86535bc8512295c76c48f6cf5)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>