Age | Commit message (Collapse) | Author | Files |
|
The sstate checksums should be independent of whichever NATIVELSBSTRING is
detected. Add an automated QA test which tests this using bitbake -S.
To make this possible, we need to be able to override the value of
NATIVELSBSTRING so make a small change to allow this.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Allow the list of TEST_SUITES to be read from a list of manifest files
in the TEST_SUITES_MANIFEST variable.
[YOCTO #7848]
Signed-off-by: zjh <junhuix.zhang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
TEST_SUITES
If a TC name start with "oeqa", it is thought as a full TC path. if not,
follow original logic (assume under oeqa.runtime)
For example:
TEST_SUITES = "oeqa.runtime.pnp.get_memory_size oeqa.runtime.sanity.reboot"
will run these two case when bitbake -c testimage
[YOCTO #7834]
Signed-off-by: zjh <junhuix.zhang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
BUILDNAME is now composed from ${DATE} and ${TIME} so needs to be expanded to
useful. Whilst fixing this some other variables were explicitly not expanded
for no clear reason, so expand those too.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Add new FSTYPE called 'multiubi'. This new type has the ability to
create multple ubi's, something that's extremely useful on boards that
can include varying flash sizes (e.g. 256MB vs 2GB).
Because we don't want to reuse code, I extracted the mkfs and ubinize
commands out to a new function that will handle the creation of both
multiple ubi's, as well as the 'ubi' FSTYPE (so as not to break current
boards).
Due to the single processes nature of the OE when doing it's
'create_image', this new multiubi_mkfs function also creates it's own
symlinks as well as cleans up it's own cfg file.
Signed-off-by: Pushpal Sidhu <psidhu@gateworks.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
The .gz, .bz2 or .lzma are middle files for making gz.u-boot,
bz2.u-boot, or lzma.u-boot. It should be removed once the final
image is generated. Otherwise, even RM_OLD_IMAGE = 1, it can't
be removed, moreover more and more middle files are genrated via
'bitbake *-image'
Signed-off-by: Yue Tao <Yue.Tao@windriver.com>
Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
This ensures that in cases where the preference value changes when the
multilib override is applied, we correctly expand it in that context.
For example, for `PREFERRED_PROVIDER_${TARGET_PREFIX}gcc
= "gcc-external-cross-${TARGET_ARCH}"`, when it sets the prefixed version of
this, we want TARGET_ARCH expanded with the multilib applied, otherwise the
arch suffix will be incorrect for that context.
We ran into this trying to use preferences in meta-sourcery along with
multilibs. We worked around it there via PNBLACKLIST, but this fix should
still go into the core.
Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
To generate a same image both in live image type and boot-directdisk image type
and make boot-direct image boot directly on the rootfs partition without using
an initramfs we need to have the ability to generate several grub.cfg files.
Signed-off-by: Nicolas Guyomard <nicolas.guyomard@open.eurogiciel.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
errorreport_handler would fail if several errors are
triggered at the same time because of two proccess
writting to the same file. This patch add the required
syncronization to handle concurrent process.
[YP #7899]
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
For native builds of recipes (e.g. mariadb-native) cmake *must* look outside of its sysroot to find the compiler, so instruct it to do so.
Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
If /tmp can't be written, bitbake gaves an unrelated error.
This checks if /tmp can be written in every build.
[YOCTO #7922]
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
In the EFI case there are 2 more architectures besides x86(_64) that may use this class: aarch32, which tends to use 'zImage' and aarch64, which uses 'Image'. Instead of hardcoding those values like the luvOS fork does, use the proper variable.
Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
The package_qa task isn't required for cross builds, so delete it along with the
other packaging tasks to match native.bbclass.
[ YOCTO #7934 ]
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The hddimg uses FAT, so the single file size should be less than 4GB,
otherwise errors, check that and error out.
Another way might be use ext2/3/4 rather than FAT, but EFI only supports
FAT, if we make EFI use FAT, and non-EFI use extX, that would the code
very different, which seems not worth.
[YOCTO #6449]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
There will be problems when rootfs.img is larger than 4GB:
mkisofs: Value too large for defined data type. File /path/to/iso/rootfs.img is too large for current mkisofs settings - ignoring
And will get a wrong iso.
Check the size of ${ISODIR}/rootfs.img, use mkisofs -iso-level 3
when it exceeds 3.8GB, the specification is 4G - 1 bytes, we need
leave a few space for other files.
[YOCTO #6449]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
There is no such a package in perl 5.22.0.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
|
|
The qemuarm64 machine doesn't have graphics so don't test xorg/vnc
as they won't work.
[YOCTO #7103]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
A file similar (in format) to files-in-image.txt is created for each
recipe's build package. This would allow to easily see what the
recipe's package may install when including it into an image.
These files reside on the specific buildhistory recipe package (i.e.
buildhistory/packages/i586-poky-linux/busybox/busybox-dev/files-in-busybox-dev.txt
for busybox-dev package)
[YOCTO #5870]
Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The default test list only works for rpm packaging. This fixes it for
deb and ipk too.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
The build would fail when /bin/sh links to ksh or csh, we only test dash
and bash AFAIK.
* When /bin/sh -> csh:
$ bitbake quilt-native
$ bitbake quilt-native -cfetch
Illegal variable name.
Illegal variable name.
[snip]
uname: extra operand `2'
Try `uname --help' for more information.
* When /bin/sh -> ksh:
If there are only a few tasks running, for example,
"bitbake quilt-native", the build would be OK, but it would fail if we
run "bitbake world" for a while, there would be a lot of "Broken pipe"
errors:
Exception: CalledProcessError: Command
'cd /path/to/xx; find . -type d -print | tar -cf - -C /path/to/sysroot-destdir -p --files-from - --no-recursion | tar -xf - -C /path/to/xxx'
returned non-zero exit status 2 with output tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
find: `standard output': Broken pipe
find: write error
[YOCTO #7917]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Use MLPREFIX to fix:
| cat: /path/to/sysroots/lib32-qemux86-64/sysroot-providers/virtual_libc: No such file or directory
[YOCTO #7924]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Add init/end helper functions for ThreadWorker also pass ThreadWorker
as first argument to init/end/func functions this enables per-thread
storage handling.
classes/sstate.bbclass: Add thread_worker argument to checkstatus
function.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
In order to fix Thread leakage caused by not call join() in Threads,
Pass num_tasks in ThreadPool for add all the tasks into a Queue this
enable catch of Queue.Empty exception and exit the threads.
classes/sstate.bbclass: Change checkstatus function to match new
ThreadPool operation.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The use of TCLIBC in TOOLCHAIN_NEED_CONFIGSITE_CACHE is problematic
since a multilib may have both uclibc and glibc for different multilibs
yet switching between them doesn't change TCLIBC. This would result
in "lib32-glibc" being attempted when lib32 was actually uclibc.
The fix here is to use the virtual providers which bitbake switches
to point correctly at the right things.
This does mean we need to resolve virtual providers but we can do this using
sysroot-providers.
[YCOTO #7607]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Add functionality to strip binaries/libraries going into the sysroot. Whilst
this does fractionally slow down the build, it also significantly reduces the
size of the sstate cache files.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Rather than just use d.getVar(X), use the more explict d.getVar(X, False)
since at some point in the future, having the default of expansion would
be nice. This is the first step towards that.
This patch was mostly made using the command:
sed -e 's:\(getVar([^,()]*\)\s*):\1, False):g' -i `grep -ril getVar *`
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
If we set FILES_${PN} and a recipe inherits other classes that
modify FILES_${PN} *before* distutils-common-base is included, any
changes to FILES_${PN} made by those classes are lost.
Instead, append the additional directories we want to include in
FILES_${PN}
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Increased syslinux timeout to 5s as default 1s timeout
is not enough to notice syslinux prompt on some devices.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Instead of asking the user to include a number of configuration files, the class
can do this. Next step is to fix the documentation.
This reverts commit 2a4ee94667d4d356cad2ca6d60a100a30c92737b.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
When a recipe called 'foobar-test' links against 'foobar' without
listing that in DEPENDS, the build-deps check misses that error
because it looks for 'foobar' in a package string containing (among
others) the 'foobar-test' name, leading to the incorrect conclusion
that the package is listed as dependency.
The 'packages' string needs to be split into individual package names
before the check. Doing that once directly after reading the value is
more efficient than splitting inside package_qa_check_rdepends() because
the caller also needs the individual components.
Also use a set to speed up the 'package in packages' check.
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
The archiver uses a license based filter to provide the source code.
This patch allows to search on name based on two new variables (COPYLEFT_PN_INCLUDE,
COPYLEFT_PN_EXCLUDE). Both variables are empty by default.
The filter by name has higher priority than the license filter.
[YOCTO # 6929]
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
There may be typos or out of date values in PACKAGECONFIG, check and
warn them.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Checking the bbdebug() debug level parameter with a regular
test expression only works in bash. Using tr to filter out
digits and then checking whether anything is left achieves
the same result and is more portable.
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
py files are edited by sed and therefore *.pyc files are recreated on first boot, but if you have a read-only filesystem this is not possible. This patch creates pyc files directly after the py files are modified.
[YOCTO #7722]
Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Thomas Roos <roosesweb@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
We need to ensure we add a leading space to the value we are prepending
here in case lockfiles already has a value.
Fixes [YOCTO #7813].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
|
|
If we set unsuffixed variables here there is a chance they could clobber
override versions of that variable, e.g. DESCRIPTION could clobber
DESCRIPTION_<pkgname>. We therefore don't clobber for the unsuffixed
variable versions by using the parsing flag to setVar.
This becomes a problem with the modifications to bitbake to
have continual expansion of the datastore, its about the one place this
turns out to be problematic.
The parameter to setVar works with current bitbake even though
we don't have the new API since it gets swallowed by the logging code.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
If the resulting RPROVIDES is empty, don't set it. This streamlines
pkgdata slightly removing empty values and avoids other errors which
confuse the datastore when the variable is best left unset.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Some (e.g. piglit) CMakeList.txt files will extend CMAKE_MODULE_PATH before
calling project(), which is when the toolchain.cmake file is parsed. In this
situation the CMAKE_MODULE_PATH is overwritten, so handle this by appending in
toolchain.cmake instead of assigning.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Use package_qa_handle_error to handle the QA issue.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
|
|
Fixed when build with multilib:
WARNING: Multilib QA Issue: lib32-alsa-state package lib32-alsa-state - suspicious values 'update-rc.d' in RRECOMMENDS
WARNING: Multilib QA Issue: lib32-modutils-initscripts package lib32-modutils-initscripts - suspicious values 'update-rc.d' in RRECOMMENDS
WARNING: Multilib QA Issue: lib32-init-ifupdown package lib32-init-ifupdown - suspicious values 'update-rc.d' in RRECOMMENDS
WARNING: Multilib QA Issue: lib32-xserver-nodm-init package lib32-xserver-nodm-init - suspicious values 'update-rc.d' in RRECOMMENDS
WARNING: Multilib QA Issue: lib32-sysklogd package lib32-sysklogd - suspicious values 'update-rc.d' in RRECOMMENDS
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
|
|
Same treatment for both VMDK and VDI images.
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Same reason and check as for vmdk.
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Added support for VirtualBox VDI format. The support was
implemented by merging with the already existing VMDK support
for VM player by creating a new class image-vm.bbclass.
This class replaces the previous VMDK only image-vmdk.class.
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
If a prebuilt binary is installed via a recipe that
inherits allarch, an odd-looking traceback is thrown out.
Fixed by implementing a proper check and outputting an
error message that clarifies the issue.
Fixes [YOCTO #7662].
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
"Incremental builds do not work well when renaming recipes or changing
architecture" is a long standing issue which causes people considerable
pain. We've struggled for a long time to come up with a way to
generically address the problem.
There are additional issues where removal of a layer caused data to
continue to exist and additionally, changing DISTRO_FEATURES also caused
problems in an existing TMPDIR.
This patch attempts to address this by adding a mapping between stamp
files and manifests. After parsing we can easily tell which stamp files
are still reachable, if any manifest has a stamp that can no longer be
reached, we can remove it. Since this code ties this to the sstate
architecture list, it will not remove data from other than the current
MACHINE (and its active architectures). It does not clean the sstate
cache so if another build activates something which was cleaned, it
should reinstall from sstate.
We can also go one step further, depending on the setting of
SSTATE_PRUNE_OBSOLETEWORKDIR, workdirs which are no longer active can
also be removed. This avoids the buildup of many old copies of data in
WORKDIR for example when versions are upgraded.
The one thing which may surprise people with this change is if you
remove a layer, data added by that layer will be "uninstalled" before
the next build continues. I believe this is a feature and a good thing
to do though.
This code is safe with existing builds. If something isn't in the new
index it simply isn't removed. Since changes to the sstate code trigger
a rebuild, after this merges, we can assume the code will start to
detect changes from that point onwards.
[YOCTO #4102]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Fix CSV generation in distrodata class using Python CSV
module before it some errors happen when read due to
incorrect quoting/delimiters.
[YOCTO #7777]
Signed-off-by: AnÃbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|