Instead of raising a generic Exception that can't be handled specifically, raise
a ValueError. Also update the callers so any unexpected exceptions are not
ignored.
Also, rename isBigEngian() to isBigEndian().
(From OE-Core rev: c136652f9c0b35aafa393e63567daf029ae03929)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(From OE-Core rev: a6426479f6348524a904ba28c16c1e3c8793cb08)
Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
buildhistory.bbclass by design is incremental: each build adds or
updates information. Information is never removed.
Sometimes it can be useful to reduce the information only to those
recipes that were build during a specific bitbake invocation, for
example when the invocation does a full world build.
This is now possible by setting BUILDHISTORY_RESET as explained in the
modified class. The comment on the variable also mentions the caveats
associated with using this mode.
In this mode, buildhistory.bbclass first moves all existing
information into a temporary directory called "old" inside the build
history directory. There the information is used for the "version
going backwards" QA check. Then when the build is complete and before
(potentially) committing to git, the temporary directory gets deleted.
Because information that has not changed during the build will be
reconstructed during full world rebuilds, a git log will then only
show real updates, additions and removals.
(From OE-Core rev: 51f4eb5bfcd25f7160e50314f433cad126aa3e9a)
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Variable expressions are no longer expanded in python functions as of
BitBake commit 8bf33a8e92c0e188fa392030025756196c96fcbb, so we've now
got to do this explicitly here.
(From OE-Core rev: 60fd4ff61a4ad240a89d48553002901c10e93178)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With the addition of a common class passing in this option, add it to
the list of standard "unknown" configure options which are known about.
Its not interesting/productive to go and update every recipe to handle
this flag.
(From OE-Core rev: f879f452dc69989aa227b8dc60b7cb0354203575)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Its valid to have dependencies like XXX (=2.1) without spaces, as injected
by debian.bbclass. The code was breaking these into separate components
and destroying them so improve the regex to handle them.
(From OE-Core rev: 613e96b06202f31870be411ca45b44237ae55b1c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
PKG_ can be set to something like ${MLPREFIX}<name> and the lack of expansion here
means the case where MLPREFIX is empty leads to a bogus RPROVIDES.
Use expansion of the variable to avoid this.
(From OE-Core rev: 056339c32a9ff0735d39cae216663147cdbb275c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If you run bitbake -b on something using autotools with dependencies on
m4 files, it currently fails as the TASKDEPDATA is incomplete for
bitbake -b
and this means the relevant macros aren't found.
Work around this by adding *all* m4 files for the -b case (and show a warning).
[YOCTO #8890]
(From OE-Core rev: 60207e0cf3a5bce9123d3631a10a9540c72a9034)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We go to the effort of finding the value of start, we should then use it
rather than relying on the value of dep being preserved from the previous
loop. Took me far too long to notice this issue when changing the code.
Also drop an unused variable.
(From OE-Core rev: c546cced50ce8b72fe55f9a7cfe7fdb23c51d1ad)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Before the "Improve handling of SRCPV" change, gitsm SRC_URI entries
were merely missing a dependency on git for do_fetch. But after that
change, the special handling for "needsrcrev" was not applied, leading
to a fetcher error (older bitbake) or even a parse error (recent
bitbake).
(From OE-Core rev: 41d06f512504cb24bb727308d08490b8741f332d)
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The inclusion of STAGING_DIR/BASE_WORKDIR in PATH is contaminating
the environment, i.e. when try to sanity check perl (check_perl_modules)
it takes perl from STAGING_DIR causing eSDK install to fail.
(From OE-Core rev: 32611395e1da21f6f7f7916fb8077e35ee81bb23)
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When check_perl_modules fail is a good idea to print perl
interpeter output for debug purposes.
(From OE-Core rev: 9e0ee11a59c545dba45947b7675f5bcef489a7c8)
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Auto-create symlinks in the source directory to the work directory
(${WORKDIR}) and logs directory (${T}) so that they are easier for the
user to find. This is particularly useful within the extensible SDK
where the user is less likely to be familiar enough with the structure
of the build system to know where to find these things, but otherwise
they are a useful shortcut for anyone.
(From OE-Core rev: 58adb3904c18acefd0da319e32f66ebca72eeaac)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If you're using externalsrc, it's very likely that you're going to want
to examine the intermediate build results even if the recipe builds
successfully; therefore you won't want rm_work to delete those.
(From OE-Core rev: c0867a425166086624bcffa231a1497291f860cb)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When patchelf-uninative fails, reporting only the exit code
as done by subprocess.check_call() is not enough to understand
the problem. We also need to capture and report the output
of the command.
(From OE-Core rev: 87e744791e59806d0c87b37d72ff32a96bbcb929)
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
U-Boot needs the U-Boot header in a ramdisk image to boot it.
Add this header to the cpio.gz image, so that it can be booted
with U-Boot.
(From OE-Core rev: 8376fa3d4ef6175b83ab7f1ec8e4e20ec14964f4)
Signed-off-by: Arnold Csorvasi <arnold.csorvasi@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
MicroBlaze is supported by musl, add entries for the 3 variants.
(From OE-Core rev: 1c4a5dbcc738434bbd31f41c99e8acc72655839e)
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This dependency was already added to sign_rpm.bbclass. However, the same dep needs to be
added to sign_package_feed.bbclass, too, to cover the case where rpm
signing is disabled but package feed signing is enabled.
(From OE-Core rev: f1eada135a6b6eef0444ca7a7ff14ab388cb879b)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Useradd attempts to add users/groups even when
{USERADD,GROUPADD,GROUPMEMS}_PARAM is whitespace only. This scenario is
possible when variables and modified using one of +=, =+ operator, yet
the content being added is conditional (i.e. may depend on PACKAGECONFIG
flags).
(From OE-Core rev: 466288d528cce5f9887d765a757af64c9cc6be03)
Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
do_cleansstate wasn't cleaning do_populate_lic sstate objects in the
native/cross case since the wildcard path entry wasn't being cleared
at the same time as the path extra prefix. Fix by clearing it at the
same time.
(From OE-Core rev: af72c507f5e20acf64b7431cee989af9908ef199)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The use of TUNE_FEATURES was making do_package_write_deb of allarch
packages target specific.
To avoid this, only use the end value of DPKG_ARCH for its checksum,
not intermediate values or variables.
(From OE-Core rev: 65955cf1c7d5c59f29d769a8244ae7c156a43f38)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We always want the cleansstate task to run so it should be
'nostamp' like the other clean tasks.
(From OE-Core rev: 187190bfe3f589a7d1acaa22fab4607f976635ce)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With new structure of TestContext now holds suite and variable
that contains unittest instances, it can't be exported using
JSON causing and exception.
Adds the suite variable for avoid export it.
(From OE-Core rev: cecc7ec2bcb28d7d8a3277fb097efbbe13adff1c)
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When run SDK tests over eSDK we need to use SDKExtTestContext
instead of SDKTestContext because if we use SDKTestContext search
for SDK manifest and depends on the SDK manifest generation so
populate_sdk needs to be executed.
Adds a compatibility mode flag to SDKExtTestContext for search tests
over sdk module instead of sdkext module and change testsdk calls
to comply with this new param.
(From OE-Core rev: ebe743235b383b17225553d84bf8e6f80d364dcd)
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Extensible SDK needs to point to the correct manifest so add
SDK_EXT_TARGET_MANIFEST and SDK_EXT_HOST_MANIFEST variables.
oeqa/oetest.py: Fix SDKExtTestContext for load the correct manifests.
(From OE-Core rev: 2310d5ad03531b7e1f9572c12c83c2fedc0291c9)
Signed-off-by: Aníbal Limón <limon.anibal@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
oeqa/sdkext: Add module and __init__.py will contain eSDK tests.
classes/testsdk: Add support for run eSDK tests.
oeqa/oetest: Create oeSDKExtTest for now only inherit oeSDKTest,
modified SDKExtTestContext now inherit SDKTestContext
and set sdkext filesdir for store data fixtures.
(From OE-Core rev: f3781544a5c077610498a6b7dc5244ee4c5bc6df)
Signed-off-by: Aníbal Limón <limon.anibal@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Extensible SDK is compatible with SDK test suite so it need
to execute the same tests over it.
(From OE-Core rev: fb9db1698039ca51ae52ea623d2ca845753f8260)
Signed-off-by: Aníbal Limón <limon.anibal@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This helper functions will be serve as well to run extensible
sdk tests so generalize it to get function context as arg.
(From OE-Core rev: 51782e5f77cb3f32a31a221c6e0f9b33cf3a33c9)
Signed-off-by: Aníbal Limón <limon.anibal@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Method's for loadTests and runTests make sense to define
inside TestContext because it can be different around
Image, SDK, SDKExt.
(From OE-Core rev: 03af7b99e3ce36ce3e29dc31e33d2cc74eb14849)
Signed-off-by: Aníbal Limón <limon.anibal@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In order to provide better abstraction move functions to get the test
suite inside the TestContext.
(From OE-Core rev: 552285688441330440bd1bc138aeaea87549024a)
Signed-off-by: Aníbal Limón <limon.anibal@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Move anonymous duplicated class TestContext from testimage/testsdk to
oeqa/oetest now we have two new classes ImageTestContext and
SDKTestContext with common code in TestContext class.
(From OE-Core rev: 593f2fdf6ee94c5f91761a669048da3598cbe3fa)
Signed-off-by: Aníbal Limón <limon.anibal@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Extensible SDK needs to use network and some networks requires
proxies then export it.
(From OE-Core rev: 1c79fce34a02fee696bccb085a09957d71d87d56)
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add task for test extensible sdk for now only install the SDK.
(From OE-Core rev: d5061e07c4fd6ea37a0ceacedb83c7878f5bfd6d)
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This variable is needed by testextsdk to known the name of extensible
sdk file generated.
(From OE-Core rev: e4cf46f240dda6263ba3ba14cd63087cce166f1c)
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For compatibility adds default inherit of the new class testsdk
for now, we need to review the code base.
(From OE-Core rev: a9861f6a0fd10c2a56129f2f0a7cdd806912290f)
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Moves all the testsdk code from testimage in order to have it's own
class because new tests will be added for extensible SDK.
The old paths for store logs "${WORKDIR}/testimage" and sdk
"${WORKDIR}/testimage-sdk" was maintained for compatibility may be
change to point testsdk after review the codebase.
The dependency of QEMU was removed because isn't needed.
(From OE-Core rev: b30edc18866865ec757b3fd86eb84de530720acf)
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Test lists functions can be used in other parts so modularize it and
move to oeqa/oetest.py library.
Testimage class was updated to meet the new sign of the functions.
(From OE-Core rev: c9f771533af70e7ccb1e7064e58926cfaee7367a)
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If SRCPV is set, it can be expanded when SRC_URI doesn't support it
leading to errors. Avoid doing this by setting it only when it makes
sense.
This patch depends on the bitbake python expansion patch series.
[YCOTO #7772]
(From OE-Core rev: ce64da2b80f99c82d96513d8dfb5e572757b0cda)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When using the FSTYPE multiubi, make sure that each image build
has a unique config file. Without this there is a race condition
when building multiple images in a single bitbake command which
results in errors similar to:
ERROR: Error: The image creation script
'blah/tmp/work/blah/core-image-base/1.0-r0/temp/create_image.multiubi' returned 1:
iniparser: cannot open ubinize_normal.cfg
ubinize: error!: cannot load the input ini file "ubinize_normal.cfg"
mv: cannot stat 'ubinize_normal.cfg': No such file or directory
WARNING: blah/tmp/work/blah/core-image-base/1.0-r0/temp/create_image.multiubi:1 exit 1 from
mv ubinize${vname}.cfg blahtmp/deploy/images/blah/
(From OE-Core rev: bc7643846f9fcef13a02f9299faa5454c843e8b1)
Signed-off-by: Drew Moseley <drew_moseley@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If this is set when nativesdk-python is not installed, it will break the host
python, so it's better to handle this in python.
(From OE-Core rev: 668f56bb2496aa0e7b5b71fb54b45371bbf6653c)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We need to improve the error handling here, things were breaking and
yet the user wasn't seeing the issues. We need to skip libraries as
we process the files.
(From OE-Core rev: 95b161a6661faf654fed5c69b905157e927bcb5f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If a user changes sdk_extra_conf, it should cause populate_sdk_ext to
run.
(From OE-Core rev: 5de9b123f35a62a0a81f434a10492cdd92668ef0)
Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the user sets the SDK_EXT_TYPE variable to "minimal" then the sdk won't
contain any sstate. The sstate can come from an sstate mirror and be
installed on demand as usual.
(From OE-Core rev: 35f79652ab5f1ca754fb726a9bc88d0add0114c8)
Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
sdk_update_targets isn't used by any code, so there is no reason to set
it.
(From OE-Core rev: e9349939e22ca9cf0efe0795291c01fbdeb96a8c)
Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In the extensible sdk it was originally intended that the native sstate
would always be setscened as part of the sdk installation. However, the
soon to come "minimal" sdk won't do that.
A side effect of that is that pointing PYTHONHOME at the native sysroot
within the "bitbake workspace" won't work. For now only set PYTHONPATH
instead and continue using the python that comes from buildtools.
(From OE-Core rev: 81f126f4a8944e395f3909de2317065c09b04b5e)
Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Setting PKG_CONFIG_SYSTEM_{HEADERS/INCLUDE}_PATH for nativesdk isn't
enough, we also need to deal with multlib cases where libdir from
pkg-config-native isn't correct. Native builds are about the only
case where this variable shouldn't be set.
Therefore move the code from nativesdk to bitbake.conf and unexport it
in the native case.
(From OE-Core rev: 46c48c26ab1916e2dfb841d74a0f2a58d8b2b870)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When building nativesdk recipes, we noticed paths going into .pc files
which should have been suppressed since these were standard library
search paths. pkgconfig-native sets these variables to sane values
for native recipes, we need it set to values for our specific library
paths in the nativesdk case.
Setting these values cleans up the .pc files and suppresses the paths.
(From OE-Core rev: 837c8b749b06457ba4a5a76a34ffe45d36bf4ef3)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This was correct for native/cross paths but not for target ones which
meant the tests weren't running in some cases. Fix the path to be
correct in both cases.
(From OE-Core rev: 3739aaf644d5a0f28e85fd07c67cecbfa5b8fb8a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This class has a perform_packagecopy_prepend() that uses LICENSE_CREATE_PACKAGE,
but the BitBake variable dependency code doesn't know that oe.data.typed_value()
is a getter. Until BitBake knows this, add an explicit vardeps.
[ YOCTO #5635 ]
(From OE-Core rev: 0450c74e36b5547e3e903fdabe0f52675ac94dea)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This reverts commit 8d310b24927d0f348fb431895f0583733db2aad0.
That commit completely breaks KBUILD_DEFCONFIG because it relies on
$ARCH to match between the target OE arch and the kernel subdirectory
containing the defconfigs. In the kernel all defconfigs for everything
x86-based (including x86_64) is stored in dir arch/x86/configs/
kernel-yocto.bbclass correctly searches for all the defconfigs inside
${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG}
Commit 8d310b249 makes it search in wrong places and _only_ if you
define TARGET_ARCH = "athlon" will it search x86 which is nonsensical.
The commit further adds an if clause to hack the mungled kernel arches
back to their original values (ugh) in do_shared_workdir which is run
after do compile, but of course the build breaks before that in
do_kernel_metadata because of the KBUILD_DEFCONFIG mentioned above (so
that hack is useless).
Please fix that corner case bug in another way which does not completely
screw up the kernel arch mapping & defconfig logic. If 64bit configs are
generated in the kernel for 32bit machines because the host is asked,
then it it a bug in the kernel, it is of no use to hack around it in OE.
(From OE-Core rev: bc02a478a5d4a5de7b3943ed809d5c22711f5b1f)
Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
During refactoring of the SDK/artifact scan code in toaster.bbclass,
the code to find other non-image artifacts in the images/ directory
was incorrectly removed.
Reinstate that code and clean it up so it's clearer what's happening
and so that non-image artifacts are correctly reported.
[YOCTO #8956]
(From OE-Core rev: 4899041d59f3537c46eb79ba3471ca2b72caad89)
Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The postfunc for finding image files after completion of a build
fails, as the image files we're interested in don't exist at the
point when the scan is currently done (following do_rootfs).
Attach the postfunc for scanning for image files to the new
do_image_complete task, which definitely runs after the image files
have been created.
[YOCTO #8956]
(From OE-Core rev: 9c597ef05cec12178d886f83a4cf7070f032ab2f)
Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For clarity and consistency, add a dependency on wget-native for any URIs that
will be fetched using the wget fetcher, and add wget-native to ASSUME_PROVIDED.
(From OE-Core rev: 91583704383aef3d4742630380fd3f1d38c4b00a)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This sets the scene for removing the default False for expansion
from getVarFlag. This would later allow True to become the default.
On the most part this is an automatic translation with:
sed -e 's:\(\.getVarFlag([^,()]*, [^,()]*\)):\1, True):g' -i `grep -ril getVar *`
In this case, the default was False, but True was used since in most
cases here expansion would be expected.
(From OE-Core rev: 42a10788e89b07b14a150ced07113566cf99fcdd)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This variable is only used by populate_lic tasks (gcc-source overrides it)
and refers to BPN. In recipes like gcc, where there are multiple variants,
it is resulting in sstate objects which encode PN (they install into a PN subdir)
but the sstate object reflects BPN. This leads to corruption between then and
eventually, warnings from image builds like:
WARNING: The license listed GPLv3 was not in the licenses collected for recipe gcc
WARNING: The license listed GPL-3.0-with-GCC-exception was not in the licenses collected for recipe gcc
WARNING: The license listed GPLv3 was not in the licenses collected for recipe gcc
WARNING: The license listed NCSA was not in the licenses collected for recipe gcc-sanitizers
WARNING: The license listed MIT was not in the licenses collected for recipe gcc-sanitizers
WARNING: The license listed GPL-3.0-with-GCC-exception was not in the licenses collected for recipe gcc
WARNING: The license listed GPLv3 was not in the licenses collected for recipe gcc
WARNING: The license listed NCSA was not in the licenses collected for recipe gcc-sanitizers
By referring to PN, as used by license.bbclass, this issue is resolved.
(From OE-Core rev: dd4a319efcfa1174ba0f48fd15cb446280c426e4)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
do_split_packages is often called with parameters which need expansion.
This happens to work at the moment since python functions are expanded
before execution but likely will not happen in future and isn't good
code practise.
Expand the common parameters do_split_packages() to avoid regressions.
(From OE-Core rev: c92ac7996b1b65a9171ea00e7156c87cccc07cec)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
SSTATE_MIRRORS used by the builder may not be the same as what the
installer of the sdk will use. Therefore blacklist SSTATE_MIRRORS from
the builder configuration. Note: the actual SSTATE_MIRRORS for the sdk
can be added using sdk_extra_conf.
(From OE-Core rev: 3ddd6c8409b0365aa58b7dd0b2218a1f7ef05a4c)
Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
PN-dev packages should generally contain the link-time symlinks from libfoo.so
to the real libraries. If a recipe installs a real library named libfoo.so
there's a very good chance that it's a loadable module and should be in another
package.
(From OE-Core rev: 47d38d4d86ec6a8c143603ef4d0f056f5a5d9ceb)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This class adds a postfunc to do_install to remove all .la files installed by
libtool, so that they are absent from both the sysroots and target packages.
If a recipe needs these files to be installed then it can be overridden by
setting REMOVE_LIBTOOL_LA.
Note that this class isn't enabled by default.
[ YOCTO #2380 ]
(From OE-Core rev: da1219b5c48fe50d667bc72bd9ad0115b25d5558)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit in gtk+ moved the cache files below <libdir>
"
commit c8849046860a9b17fa943247d85ddadb29262b48
Author: Matthias Clasen <mclasen@redhat.com>
Date: Thu Jul 4 09:27:17 2013 -0400
Move the module cache files below libdir
These files contain architecture-dependent paths, and thus placing them
into sysconfdir causes unnecessary hassle. Now the immodule cache file is
looked for in libdir/gtk-2.0/2.10.0/immodules.cache. Belated backport of a
change that was done in the run-up to 3.0.". Update gtk-immodules-cache.bbclass
to use that path.
The environment variable "GTK_IM_MODULE_FILE" can also be set to point GTK+
at the file to fix this problem. However, it causes problems for gtk3 apps.
[YOCTO #6774]
[YOCTO #8957]
(From OE-Core rev: fff4303a18ac8100e5a96da7facb42d8751e1eae)
Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=2d89cff42af2bb0049224bfaaebaa2b21966169f
we added a workaround for dealing with lack of time sync between build
machines and their users.
This has turned out to cause problems for people who rely on timestamps
being preserved in sstate output.
Since our autobuilders are all in time sync with ntp, revert the commit.
[YOCTO #8996]
(From OE-Core rev: 004a8bffdb501a99530dab2bc1c5f3d44b97b8f7)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Although BUILD_CXXFLAGS, by default, expands to the same thing as
BUILD_CFLAGS there is no guarantee that this will be true in all
cases. When setting CXXFLAGS we should use the former.
(From OE-Core rev: fd75637d97cc3d669229e59c1d21ce7038fc92d7)
Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
External source tree is used as the builddir even for different
architectures in case ${B}=${S}. This may cause problems if MACHINE is
changed as do_configure is not being re-run (which would run make
clean). This patches changes externalsrc to use a common (per-recipe)
CONFIGURESTAMPFILE under 'work-shared' if ${B}=${S}. In addition,
do_configure will depend on changes of this stamp file. As a result,
do_configure is re-run and the build dir is cleaned correctly if a
rebuild for different MACHINE is done.
[YOCTO #8950]
(From OE-Core rev: f44f12af346888bdeb3ae01a275cb5dd4396b505)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use oe_runmake like in base.bbclass so that EXTRA_OEMAKE will be
respected.
(From OE-Core rev: 5e89a79ae7f26735e523917555251313995d01d4)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Recipes setting COMPATIBLE_MACHINE are likely to have SRC_URI
entries which can heavily depend on the configured machine. Skipping
them for SOURCE_MIRROR_FETCH is therefore not advised and leads to
build errors whilst not particularly improving source mirrors.
[YOCTO #8802]
(From OE-Core rev: b53038303374debf91ed73039cf79912f266acfe)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Not needed any more, the autotools.bbclass can fully instead of it.
(From OE-Core rev: 499465f4edad0d9dc16b07b33522964e1c1d3e5d)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
useradd has sstate [depends] for both do_package and do_populate_sysroot
yet the dependency validation code only covers do_package.
Add coverage of populate_sysroot, else the order inversion that [depends]
creates means unexpected installation of users of useradd.bbclass (e.g.
avahi do_populate_sysroot) in cases where it shouldn't be (e.g.
libnss-mdns -c packagedata).
The code needs to move above the other populate_sysroot intercept code
since there are specific cases we need to cover before that code.
The result of this change is more optimal installation of sstate objects
in common usage scenarios.
(From OE-Core rev: 21368b4a7934b3a199e61c1072416fd5c091e5ff)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add bash-completion.bbclass which will package bash completion files in
a subpackage ${PN}-bash-completion. Use of this class will ensure
consitent handling of bash completions across recipes.
(From OE-Core rev: 80138689c2454781c21f0bcce92d8721c34c7405)
Signed-off-by: George McCollister <george.mccollister@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
QEMU_EXTRAOPTIONS is a way to add PACKAGE_ARCH specific options to the
qemu_run_binary qemu commandline. The base QEMU_EXTRAOPTIONS variable
(ie without a PACKAGE_ARCH suffix) is not used, so defining it, either
directly or via an over-ride has no effect.
Although previously an over-ride for _armv7a was used, it did nothing
for most armv7a builds, which typically use PACKAGE_ARCH values such
as "cortexa9hf-neon". In practice this worked OK since without a -cpu
option, qemu-arm will default to emulating a CPU which supports all
required architecture levels.
qemu-arm (v2.5.0) with no -cpu option has been confirmed to
successfully run binaries built for armv7ve.
(From OE-Core rev: 62b25b3489b44969e4adad657daebfaffdb4de56)
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Previously, in order to determine the existence of an already
initialized Git repository we checked if a directory named '.git' was
present in the buildhistory dir. However, e.g. in the case of git
submodules '.git' may also be a regular file referencing some other
location which was causing unwanted behavior. This patch changes
buildhistory.bbclass to check for any file named '.git' which fixes
these problems.
[YOCTO #8911]
(From OE-Core rev: a5e931e0b1d941cc938fe2f49625c54b07fab0ce)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
replacement in npth is available in OE-core
(From OE-Core rev: 22c0b4c5034f929a1b1145f49b835387856e80b1)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
python hard-codes the encoding of many locales; for instance, en_US is
always assumed to be ISO-8859-1, regardless of the actual encoding of
the en_US locale on the system. cf
https://hg.python.org/cpython/file/7841e9b614eb/Lib/locale.py#l1049,
getdefaultlocale(), etc. This code appears to date back to python 2.0.
The source of this hard-coding is Xorg's locale.alias but is ultimately
justified by glibc's SUPPORTED.
This causes problems on OE, because any locale lacking an explicit
encoding suffix (e.g. en_US) is UTF-8. It has been this way from the
beginning (svn r1). That is not a bug, per se -- no specification
prohibits this AFAIK. But it seems to be at odds with virtually every
other glibc-based distribution in existence. To avoid needlessly
aggravating hidden bugs that nobody else might hit, it makes sense to
disable this behavior such that locales are named precisely as specified
by SUPPORTED.
I suppose that reasonable minds may disagree on whether or not the
current behavior is prudent; at the very least, this is likely to break
IMAGE_LINGUAS settings. So let's create a new distro variable
LOCALE_UTF8_IS_DEFAULT to allow either behavior. Set it to 0 and all
your locales get named exactly like they are in SUPPORTED. Leave it at 1
to preserve current OE locale naming conventions.
(From OE-Core rev: fcde0c43f7b57ec6f8201226ad98e6e46708d288)
Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
it took me a while to understand why PACKAGE_BEFORE_PN did not work...
(From OE-Core rev: 50f0a2a041df679f06c0b93a0472905e8c129bd4)
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Usually, the initramfs' maxsize can be 1/2 of ram size since modern
kernel uses tmpfs as initramfs by dafault, and tmpfs allocates 1/2 of
ram by default at boot time, which will be used to locate the initramfs.
Set INITRAMFS_MAXSIZE to 131072K (128M) by default (ram 256M), the
initramfs is small usually, for example, core-image-minimal-initramfs is
about 21M (uncompressed, 17M * 1.3) by default, but if the user add a
lot pkgs to initramfs, we can error and stop to let the user know ealier
rather than fail to boot (e.g., OOM-killer) at boot time.
Please see the bug for more info:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=5963
[YOCTO #5963]
(From OE-Core rev: 155ba626b46bf71acde6c24402fce1682da53b90)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the local fetcher is used then files are not actually fetched into DL_DIR, so
check if this happened and if required add a symlink to the real file.
(From OE-Core rev: a13b0a0b79cf4db9f247facf71c03344b60be890)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When uninative was changed to use it's own sysroot the path to patchelf lost
${bindir_native}, so add it back.
(From OE-Core rev: d986f90937b7b4c60128003ef5d30d01ac1653e3)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a new Python module (oe.gpg_sign) for handling GPG signing
operations, i.e. currently package and package feed signing. The purpose
is to be able to more easily support various signing backends and to be
able to centralise signing functionality into one place (e.g. package
signing and sstate signing). Currently, only local signing with gpg is
implemented.
[YOCTO #8755]
(From OE-Core rev: 9b3dc1bd4b8336423a3f8f7db0ab5fa6fa0e7257)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Similarly to "-", "." doesn't work well in task names but is used in
some real world image classes. Work around this with some replacements
for now to unbreak layers.
(Issues don't show themselves until runtime, e.g. with --dry-run)
Tested-By: Otavio Salvador <otavio.salvador@ossystems.com.br>
(From OE-Core rev: f94d9be17d727b37dc655e7be272db2f290436aa)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When a read-only rootfs is being used sshd uses a different sshd_config file,
which also needs to be editted.
[ YOCTO #8680 ]
(From OE-Core rev: cff11495cc376f080e06028655e4eb6c7f8a8094)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If we don't do this, the deploy sstate object contains an every
increasing number of modules tarballs and kernel images, one per
execution of "-c deploy -f".
Cleaning the directory before we start makes things much tidier.
(From OE-Core rev: 3ac195bbd4ced24e6a132cfbe5e175b95fc4664b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently this code installs into the standard sysroot, however this causes
some conflicts when linking since the linker can look specifically for
versioned .so files (e.g. like libpthreads.so.0). This breaks builds
of util-linux-native for example.
The easiest solution is to install uninative into its own separate sysroot.
(From OE-Core rev: e2403bc637e2967a028718058f987cc8841a6edc)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
do_stage was obsoleted years ago, drop the test now.
(From OE-Core rev: 59360521880a6ffbf893235bdc556533fab0a152)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
xz is slow at compressing the SDKs, we can speed it up by using the
parallel compressor, pixz.
(From OE-Core rev: f4ec14b986fee791da33b8900c28c956f17b28b0)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Originally, the idea was that the init environment would handle
fetching or providing the binary shim that uninative needs.
This turns out to be ugly, especially when you consider proxy
environments and so on getting involved. Instead, lets therefore
support our fetcher which already handles all this.
The distro is expected to setup configuration like:
UNINATIVE_URL ?= "http://mydomain/mypath/"
UNINATIVE_CHECKSUM[i586] =
"md5sum1"
UNINATIVE_CHECKSUM[x86_64] = "md5sum2"
and then it should all work if the user inherits the uninative class.
This patch also improves the error handling in the class to give more
user readable error messages.
If the shim binary is already provided, the system will just use that
and ignore the url information.
(From OE-Core rev: 89097d2d7bf058136b01ec982b9453b49052b1d8)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the script files we use to construct the SDK installer change then
that really ought to trigger re-execution of the do_populate_sdk(_ext)
task, so add file-checksums varflags to ensure that happens.
(From OE-Core rev: 59fc4bdefb3853d6893b9e3792018d54bb6bf99f)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
At the end of the extensible SDK installation, if we've successfully
prepared the build system then we don't need ext-sdk-prepare.py. I had
thought earlier that this would be used when updating, but a different
mechanism was needed there so this script isn't used for that.
(From OE-Core rev: 037ea78b0c3de01f87bbe06a1b88a162b2b40496)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Make the following improvements to the SDK update process:
* Use a manifest file with sha256sums to track files other than sstate
and metadata that we need to update - e.g. conf files. This allows us
to handle where files such as auto.conf may or may not be present,
as well as the configuration changing without affecting task signatures
- we still want the config files copied in that case rather than it
saying nothing needs to be done.
* Write the SSTATE_MIRRORS_append to site.conf rather than local.conf
so that local.conf remains static (since we don't want to trigger an
update every time). Also, If there is an SSTATE_MIRRORS value already
set in the configuration we can skip this and assume it contains the
needed packages.
* Allow the update process to be run in any directory, don't assume
we're already at the base of the SDK
* Where practical, fetch remote files into a temporary location and
then move them to the desired location at the end, to avoid a
failed update leaving the SDK in a broken state.
* Update all installed do_populate_sysroot / do_packagedata tasks
instead of using the SDK targets. This ensures any item installed
through dependencies after installation (e.g. when running
"devtool build") won't go stale.
(From OE-Core rev: 3d35631121f0e030bc8151f5c23d84008d06f44b)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a variable SDK_INCLUDE_PKGDATA which you can set to "1" to include
pkgdata for all recipes in the world target. There are a couple of uses
for this:
1) If you use "devtool add" to add a recipe that builds something which
depends on anything in world, the dependency can then be correctly
mapped to the recipe providing it and that recipe can be added to
DEPENDS, since we have the pkg-config and shared library dependency
data within pkgdata.
2) You'll be able to search for these recipes and any files they
package for the target with "devtool search" since that also uses
pkgdata
This of course assumes you've tailored world through EXCLUDE_FROM_WORLD
to only include recipes you'd want built in your distro, but I think
that's a reasonable assumption; failing that there is a
WORLD_PKGDATA_EXCLUDE variable that you can set to exclude any recipes
you don't want.
Note that this patch relies on functionality implemented in a recent
BitBake patch and will not work without it.
Implements [YOCTO #8600].
(From OE-Core rev: 67149ea097d6fab7496b43e85a40853f40bd527e)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A warning that doesn't say what the PN is doesn't really help.
(From OE-Core rev: 27ad7f446ff7b6a6a4f8f0d392f03c6707340a21)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The parameter "path" would be redefined inside package_qa_walk() which
is useless, so remove it.
(From OE-Core rev: b07d06d02cb675f5ed00ebe603441254f5671088)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fixed:
If more than one files have the same QA issue, it only prints the last
one, others are overrided, for example:
messages["host-user-contaminated"] = "foo1"
messages["host-user-contaminated"] = "foo2"
Only foo2 will be printed.
Add package_qa_add_message() to hanlde messages, so that all of them
will be printed. The package_qa_add_message() is from RP.
(From OE-Core rev: 1dcb38ca9d632887dd99ea9fa32dd955561dc18d)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fixed race issue when:
WARN_QA_append = " buildpaths"
PACKAGE_CLASSES = "package_ipk"
$ bitbake e2fsprogs
[snip]
*** 0595: with open(path) as f:
0596: file_content = f.read()
0597: if tmpdir in file_content:
0598: messages["buildpaths"] = "File %s in package contained reference to tmpdir" % package_qa_clean_path(path,d)
0599:
Exception: IOError: [Errno 2] No such file or directory: '/path/to/tmp/work/core2-64-poky-linux/e2fsprogs/1.42.9-r0/packages-split/e2fsprogs-ptest/CONTROL/control'
The similar to package_deb.
(From OE-Core rev: cd4313339853d2eddebf93a49d0f45a305985a31)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When cleaning old builds from the sysroots, also print the sysroot architecture.
(From OE-Core rev: 98a98a4bf71f74b5c27291ee9a2ac14006377e49)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The config.log written by autoconf includes many pages of useless output,
followed by an obfuscated error message, and then more pages of every variable
that's been set. It's only understandable if you're well versed in how autoconf
behaves, and often in simple failure modes doesn't actually make it clear what
the problem was.
Instead of outputting the whole config.log to the console when do_configure()
fails, use bbfatal_log so the human-readable configure output (not the
config.log) is shown to the user, and tell the user where config.log can be
found if they need it.
[ YOCTO #8856 ]
(From OE-Core rev: 55e263c559098cce99d8c3ef57ccc39f1d4a6848)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch changes the use list_pkgs() instead of list()
from class RpmPkgsList. The change is in two functions,
image_list_installed_packages from rootfs.py and
sdk_list_installed_packages from sdk.py.
With this change the functions calling the functions
listed above, must format the output as they required.
The formatting can be done using format_pkg_list() from
oe.utils.
The classes calling the afected functions are changed too
with this patch, to keep the same functionality using the
new data structure.
[YOCTO #7427]
(From OE-Core rev: 983ea373362514e5888bd1d7d9c4f136c94b00f2)
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If there are lots of changes between the previous build and the build about to
start bitbake will potentially print pages of:
DEBUG: Stamp $BUILD/stamps/corei7-64-poky-linux/libdrm/2.4.66-r0 is not reachable, removing related manifests
Instead of spamming the console with this list, write the list of manifests only
to the debug log and simply write a count to the console. This way the user
doesn't get spammed but still knows what is happening if bitbake appears to
stall with heavy I/O.
(From OE-Core rev: e777b541c76dad293d1c214e46c00f8f78fe0539)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
do_rootfs task needs to depend on signing-keys:do_export_public_keys.
The rpm signing public key needs to be present in order to prevent a
crash because it is imported into the rootfs rpmdb before rootfs
creation starts.
(From OE-Core rev: f854f4549f0b01421464032406a5275494acd818)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If we "bitbake X -c packagedata" and the packagedata comes from sstate, we
don't need any of the tasks dependencies. This is similar to the
populate_lic case, we only care about the end result.
Therefore short circuit the dependencies so packagedata doesn't pull in
any other dependencies.
(From OE-Core rev: 76aa4f49db7d32bbd35703c64470fdfc63f403a4)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix a regression caused by OE-Core revision
eabeb26335b1a4eb1e68218160dbdbe8fdf36272 where we lost the task
dependency on packages in TOOLCHAIN_HOST_TASK (such as
meta-environment-extsdk-${MACHINE}) which led to errors about missing
packages when building the extensible SDK. This happened because I only
moved half of the dependencies coming from the standard SDK task to
do_sdk_depends.
While I'm at it, tidy up the do_populate_sdk_ext[depends] line.
(From OE-Core rev: 80309a2ba25de219b5339f1af6d5052d6229b676)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Shell function names can't contain '-' characters, which means our image
task names also can't. Add some mapping to use '_' instead of the '-' so
images like "rpi-sdimg" work again.
(From OE-Core rev: e609a4dea2f6d9744e7d2a6650bebf2c02398907)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Now that image generation consists of separate tasks, we can improve
the dependencies in these classes. We can also incorporate the tasks
within do_image_complete instead of do_build so we have a specific task
for when the deploy directory is populated with images.
This fixes various expectations about do_image_completed and the way
I'd tried to use it to fix some sanity test problems.
(From OE-Core rev: 9543c4a9ce0ac7d9ced66fa14e48a1aa7401011e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The wic command can be used externally but for this to work, the wic
environment file needs to be present. Therefore write this out
universally, it runs in parallel with other image construction so
any performance implications are negligible.
(From OE-Core rev: b2576f2eab10e4c5dd86449312b417a269cc578e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently, iso and hddimg links don't respect RM_OLD_IMAGE. This
updates them to use the common symlinks code so that they behave
like the rest of the system.
(From OE-Core rev: 6a05cb64dfafd531d50454ef7141ff0290d01ca9)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When RM_OLD_IMAGE is set, old manifest files should be removed
along with old image files and our QA tests expect this.
This patch ensures this happens.
(From OE-Core rev: fc951851a0e172641e2f24a4edce87ca2eb5cecd)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Similarly to DATETIME, don't expand TMPDIR in image commands.
This ensures some of the stamp comparisons we make in the
QA tests work correctly.
(From OE-Core rev: a8c377beadb85b0ff503ec8ddd1a2cd05e363c19)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The do_image_* tasks contained the expanded version of DATETIME. Due
to the expansion, we couldn't exclude the value from the task checksum
which meant the task would rerun.
We fix this by deleting the DATETIME value during expansion so we don't
expand any references to at that time. This means the task's hash can be
stable rather than having hardcoded date/time values. It will get expanded
at execution time.
This also fixes errors shown by -S:
NOTE: Reparsing files to collect dependency data
Writing locked sigs to /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/locked-sigs.inc
ERROR: Bitbake's cached basehash does not match the one we just generated (/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/recipes-sato/images/core-image-sato.bb.do_image_tar)!
ERROR: The mismatched hashes were 77872792556367f1dde49a1425caf1a0 and 9bb0aca6286ab7dd22d3c69964beb665
(From OE-Core rev: ecbc1db7ed1f9848dee69507de8eb289b8ddeba0)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The wic environment function needs to run after the rootfs size is
setup. We move this code to a specific task, and depend on that task
from the wic images and other places its needed.
This fixes:
======================================================================
FAIL: test_image_env (oeqa.selftest.wic.Wic)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/utils/decorators.py", line 106, in wrapped_f
return func(*args, **kwargs)
File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/selftest/wic.py", line 218, in test_image_env
self.assertTrue(var in content, "%s is not in .env file" % var)
AssertionError: False is not true : ROOTFS_SIZE is not in .env file
(From OE-Core rev: 606f9e2d7d8d389c8d4f5c3090139d3bb780e09c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This cleans up the do_configure_qa code so that the exit status from
package_qa_handle_error is handled correctly.
It also converts package_qa_check_license to use our standard QA check
configuration interface through package_qa_handle_error rather than
a mix of return values, bb.fatal and bb.build.FuncFailed.
Due to the merging of multiple lines into one message, we need to
tweak a QA test to account for this.
(From OE-Core rev: fbdf977a8094bb1e0baca85ffb3ed7f326986639)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Whilst in theory return values are nice, handling the complex
aggregation of the return values is ugly. The code already uses QA_SANE
as a marker to signal problems. Whilst that isn't as idealistic, it
makes the code massively cleaner, so rely on this instead.
(From OE-Core rev: ebee3caeaa18daf4974ea90e264d64467681f57a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The license manifest is wrong when there is no spaces before and after separates |&()
and we can get warning like:
WARNING: The license listed Artistic-1.0GPLv1+ was not in the licenses collected for recipe
(From OE-Core rev: 20d6a4ce4e395251604d92111ce5ecacde5ce172)
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Move do_kernel_link_vmlinux() from kernel-yocto.bbclass into
kernel.bbclass so that it's available to any kernel recipe.
Note that the task is not enabled by default in kernel-yocto.bbclass,
so don't enable by default in kernel.bbclass either. To enable, see
the example in linux-yocto.inc, ie:
addtask kernel_link_vmlinux after do_compile before do_install
(From OE-Core rev: a29371848deda618a42f9a30f9856a44c2342fe6)
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The do_kernel_link_vmlinux() task modifies the build directory (not
the source tree) and should not be skipped when externalsrc is being
used.
(From OE-Core rev: 70b8a60d42831c701d10066eb57aaaad7a6fb7ae)
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
SDK artifacts were being dumped alongside the image file dump.
However, the dump was not being triggered correctly, as it
should be attached as a postfunc to do_populate_sdk, rather than
do_rootfs, as do_rootfs doesn't always fire when populating
the SDK directory.
By adding a postfunc to do_populate_sdk, the postfunc is fired
in the correct situations.
Also fixes the directory which is scanned for SDK artifacts, as
this is different from the image file directory.
[YOCTO #7603]
(From OE-Core rev: cd2eb45ce1f9be15e133d6fe940c1cff2199099b)
Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This removes unnecessary spaces inserted before semicolons in the
modified USERADD_PARAM_${PN} and GROUPADD_PARAM_${PN} variables. This
should not affect the handling of the variables as the only one that
actually sees the semicolons is the code in useradd.bbclass that uses
cut to split the variables at them, and any whitespace preceeding or
following the semicolons will be properly ignored.
(From OE-Core rev: acc17ef91a6f506e3cacdc0d4ebfa268b3f3affd)
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Read and merge the passwd/group files before parsing the user and
group definitions. This means they will only be read once per
recipe. This solves a problem where if a user was definied in multiple
files, it could generate group definitions for groups that should not
be created. E.g., if the first passwd file read defines a user as:
foobar:🔢:::
and the second passwd file defines it as:
foobar:::nogroup:The foobar user:/:/bin/sh
then a foobar group would be created even if the user will use the
nogroup as its primary group.
(From OE-Core rev: 3149319ad997379a01d87f2b1b5d14f66541997f)
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The original code was near impossible to follow, and missed a couple
of cases. For example, if one added the following line to the passwd
file specified in USERADD_UID_TABLES:
foobar❌12345:nogroup::/:/bin/sh
and then specified the user as:
USERADD_PARAM_${PN} = "--system foobar"
one would then assume that the foobar user would be created with the
primary group set to nogroup. However, it was not (the primary group
would be foobar), and the only way to get it correct was to explicitly
add --gid nogroup to the USERADD_PARAM_${PN}.
(From OE-Core rev: e98e98ce65cf9ffdef29462310a622ffddd1412b)
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The [<on_true>, <on_false>][not <condition>] construct may solve the
problem of implementing a conditional operator, but it is not very
readable. At least I find this:
uaargs.groupid = field[3] or uaargs.gid or uaargs.groupname
a lot more readable than this:
uaargs.groupid = [uaargs.gid, uaargs.groupname][not uaargs.gid]
uaargs.groupid = [field[3], uaargs.groupid][not field[3]]
Also, the official conditional operator since Python 2.5 (<on_true> if
<condition> else <on_false>) does not evaluate both <on_false> and
<on_true> as [<on_true>, <on_false>][not <condition>] does.
(From OE-Core rev: 274d38a6e2183ec88335a08b963f26c34b328558)
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If --no-user-group is specified in USERADD_PARAM_${PN} for a user and
no --gid is specified, then we should not assume that the group name
for the user is the user name.
(From OE-Core rev: 0e5402c433739a416a76df532378533cb25365c7)
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The useradd options --create-home/--no-create-home and
--user-group/--no-user-group are mutually exclusive and should be
treated as such.
(From OE-Core rev: 908eca7fb4af8a60026f53e2bb2cf1d5daf089ab)
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The absolute path (/path/to/configure) caused VPATH in Makefile to be an
absolute path, and then it will be in elf files, use relative path to
run configure can fix the problem.
This will reduce a lot of buildpaths QA issues in a world buld.
[YOCTO #8894]
(From OE-Core rev: 2c6ad43af0a0c4db5d7fd342be8585bec66debfb)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For a bare-bone kernel recipe which specifies 32 bit x86 target,
a 64 bit .config will be generated from do_configure task when
building 32-bit qemux86, once all of these conditions are true:
* arch of host is x86_64
* kernel source tree used in build has commit ffee0de41 which
actually chooses i386 or x86_64 defconfig by asking host when
ARCH is "x86" (arch/x86/Makefile)
* bare-bone kernel recipe inherits directly from kernel without
other special treatments.
Build will fail because of the mismatched kernel architecture.
The patch sets ARCH i386 or x86_64 explicitly to configure
task to avoid this host contamination. Kernel artifact is also
changed so that it can map i386 and x64 back to arch/x86 when
needed.
(From OE-Core rev: 8d310b24927d0f348fb431895f0583733db2aad0)
Signed-off-by: Jianxun Zhang <jianxun.zhang@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
IMAGE_TYPES_MASKED support was accidentally removed. The original
idea behind it was to remove some of the hardcoding in the core
image code, so do that for image-live and ensure the dependency
and masked variables correctly reflect the needs of the class.
This means we can remove all the hardcoded special cases since
image-vm already has the needed markup.
(From OE-Core rev: 9a2d4a3b8d7bb1cf7f1fb7fe47d5c002d9941c89)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When a base image type has an implicit dependency (from IMAGE_TYPEDEP)
this has to be taken into account. This is a regression introduced by
OE-Core:c2dab18 (image: Create separate tasks for rootfs construction).
The issue has been found when building meta-fsl-arm based images which
does not include the rootfs image type explicitly in IMAGE_FSTYPES but
instead is added, using IMAGE_TYPEDEP, for the 'sdcard.gz' image.
Reported-by: Fabio Berton <fabio.berton@ossystems.com.br>
(From OE-Core rev: 191c7be3a6cc52911f244323072433f6a1172bf1)
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Create a separate task where we can just have the recursive dependencies
for the tasks corresponding to constructing the SDK content (i.e. from
the image contents). This avoids us recursing into dependencies from
buildtools and getting a bunch of nativesdk stuff, for example.
(This isn't an ideal way to have to implement it, but without
overcomplicating things on the BitBake side just for this use-case I
can't see a better way.)
(From OE-Core rev: eabeb26335b1a4eb1e68218160dbdbe8fdf36272)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When using package_qa_handle_error(), we need to check QA_SANE and
give a fatal error if issues were raised. The main insane checks do
this, the anonymous python in insane does not, nor does the code in
package.bbclass. This was likely missed when the function was
introduced to package.bbclass.
The impact is that errors can be shown but don't stop the build
(do_package succeeds), the initial build fails due to the errors
shown but subsequent builds succeed. This is clearly broken.
The solution is to check QA_SANE in places we use the handle_error
function.
[YOCTO #8907]
(From OE-Core rev: 7e36d13212763fe409747aba011c020c9aeba6d7)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
After the change to use --setscene-only when running bitbake to prepare
the SDK at the end of installation, add a check that the SDK got
prepared correctly by doing a dry-run and looking at the output for any
real tasks that we don't expect. In order to make this easier, the
preparation shell script was rewritten in python.
(From OE-Core rev: 2306683634435b990e63020fc5cf91753bbaf7b6)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These form part of the configuration for the extensible SDK, we should
really be recording what goes into them.
(From OE-Core rev: bd1557bfd726e44c23ab6220867119c57ac6b596)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If auto.conf exists in the user's configuration we need to also run it
through the same filter and write the result into the ext SDK, or we
risk missing configuration applied on an autobuilder.
Fixes [YOCTO #8904].
(From OE-Core rev: fb0a34a00f3eb10935a3fca4d0af74ae4de4f9a5)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If there is no newline at the end of local.conf, appending
INHERIT = "uninative" won't work, it will corrupt the line and the
installed eSDK will build things, making the "Preparing build system..."
step take an age.
Fixes [YOCTO #8897].
(From OE-Core rev: 1e641f09e8cf0ba716c3d2aade0845abecc27827)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
populate_sdk_ext requires uninative support, which is only available on
glibc based SDKMACHINES. For instance, when using mingw32 a dependency
error will occur:
NOTE: Runtime target 'nativesdk-glibc' is unbuildable, removing...
ERROR: Required build target 'core-image-minimal' has no buildable providers.
Missing or unbuildable dependency chain was: ['core-image-minimal', 'uninative-tarball', 'nativesdk-glibc']
This is dues to populate_sdk_ext.bbclass having:
do_populate_sdk_ext[depends] += "buildtools-tarball:do_populate_sdk uninative-tarball:do_populate_sdk"
addtask populate_sdk_ext
Since bitbake can't determine for dependency resolution if the task is going
to be run yet, it blows up and says it simply can't be resolved.
Workaround this problem by making the inherit conditional on the SDK_OS
containing 'linux'.
(From OE-Core rev: e471ce3464d5ae024315d4839cccd4c651f9ba83)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This tells APT that it can use such packages to resolve dependencies
from packages of any architecture in a multilib build.
(From OE-Core rev: 7158c79a70e3d820c9701dacfa7206d13f95845a)
Signed-off-by: Matt Madison <matt@madison.systems>
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Have DPKG_ARCH set by directly invoking a mapping function, rather
than using an anonymous Python function modify the variable under
the hood, so we can have proper handling of overrides.
Also bring in some additional mappings to Debian architecture names
that weren't being handled.
(From OE-Core rev: 8d042ea4e755cb0bb28b88333e10e04ec4e86a36)
Signed-off-by: Matt Madison <matt@madison.systems>
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
prune_lockedsigs expects excluded_targets to be a list, whereas
previously it was passed in as a string.
(From OE-Core rev: db3cd1e08b08b99342d269882f31ec7e1daba2c6)
Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Right now, the locked task hashes list for the extensible SDK locks
down only the sstate tasks.
Whilst asthetically pleasing, this gives two problems:
* Half the task are left floating meaning checksum mismatches
are a pain to debug
* The later code which copies relavent data files out the sstate
cache can't use any of this data.
This patch modifies things so all the checksums are listed in the locked
file. An exclusion of tasks probably makes more sense for the library
function rather than an allowed list.
The only sstate task being deliberaly excluded here was do_package
so add in a function to explictly exclude those sstate object files.
The net result of this that siginfo files for all tasks are included in
the SDK, which means commands like "bitbake -S printdiff" now function.
(From OE-Core rev: 6b70479e47b8a8743d8b410d6bc08da1607a318e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
xz gives *much* faster decompression times for the SDK which in itself
is a good reason to use it. It also gives better compression.
One downside is its slower but we care about the end user case
first, build performance secondary.
It also assumes the SDK user has a tar capable of understanding a xz
compressed file but that should be common enough now.
(From OE-Core rev: 193086137b899a0a4e774ffc337ed0da9947fd4f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
After the separation of do_rootfs, some rootfs references need changing
to image_complete.
(From OE-Core rev: 59a5f596ca29b1eb8283706e3c60fbb39f9c2c23)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch splits the code in lib/oe/image into separate tasks, one per
image type. This removes the need for the simple task graph code and defers
to the bitbake task management code to handle this instead.
This is a good step forward in splitting up the monolithic code and starting
to make it more accessible to people.
It should also make it easier for people to hook in other tasks and processes
into the rootfs code.
Incidentally, the reason this code was all combined originally was due to
limitations of fakeroot where if you exited the session, you lost permissions
data. With pseudo this constraint was removed.
We did start to rework the rootfs/image code previously and got so far with
untangling it however we did prioritise some performance tweaks over splitting
into separate tasks and in hindsight, this was a mistake and should have been done
the other way around. That work was suspended due to changes in the people working
on the project but this split has always been intended, now is the time to finish
it IMO.
There were some side effects of doing this:
* The symlink for the manifest moves to the rootfs-postcommands class and into
the manifest function.
* There is no seperate "symlink removal" and "symlink creation", they are merged
* The date/time stamps of the manifest and the built images can now be different since
the tasks can be run separately and the datetime stamp will then be different
between do_rootfs and the do_image_* tasks.
(From OE-Core rev: c2dab181c1cdabac3be6197f4b9ea4235cbbc140)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
As the next step in splitting up do_image, move the pre and post processing
commands to separate tasks. This also creates the do_image_complete task
which acts as the end marker task for image generation.
(From OE-Core rev: 800528eaa421d451b596545125cb218e08989151)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
I've heard complaints from people trying to create more interesting image
types about how hard it is to understand the rootfs/image generation code
and that its a pain to develop/test/debug.
Having looked at it myself, the internal construction of shell functions which
then gets passed into a multiprocessing pool is rather convoluted and it places
rather odd constraints on when variables are expanded. Its therefore no wonder
people find it confusing/complex.
This patch starts the process of splitting this up by separating out image
generation from the do_rootfs task into a new do_image task.
(From OE-Core rev: 57578d0ca6c3aaf6edf0af2c4862d43c97415156)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The user of the extensible SDK doesn't need to see these.
(From OE-Core rev: 7045fabf73d4eef9c023edb9e0a8b8d1d3f04680)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
During extensible SDK installtion, if the build system preparation step
fails we try to put something at the end of the environment setup script
to show an error when it is sourced, in case the user doesn't realise
that the partially-installed SDK is broken. However, an apostrophe in
the message (actually a single quote) appears to terminate the string
and therefore breaks the command. Drop it to avoid that.
(From OE-Core rev: 21e591d182e24c399ae010a8eff9b89947061a46)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This was supposed to be removed by a previous patch but was readded.
Really remove it.
(From OE-Core rev: 5661d8cb7849df62358368743134c0aaf523965e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The procces to do a wic image is to save a file with
variables required by wic and then call wic using this
file. Because this is external to bitbake if the vars
change, the image won't be rebuild; an example of such
is IMAGE_BOOT_FILES.
This patch adds these variables to vardeps of do_rootfs
when a wic image is build. This will rebuild the image
if a variable needed by wic changes.
[YOCTO #8693]
(From OE-Core rev: 12c54d50ed4c321dc272beb3c6cb770965c979f1)
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Now that x11vnc won't be in Sato images we don't want to test it.
(From OE-Core rev: 90ff7219332d9651fcdfc895d61fb73a46ffde78)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
I was using bytes here for the sizes and writing out KiB as the suffix.
Change it to actually write out size values in KiB.
(From OE-Core rev: e6b1840ee9aeb933f86fd2a92a90b94c1bc9db7c)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sometimes it's hard to see what's wrong here
* error message:
Error, the PACKAGE_ARCHS variable does not contain TUNE_PKGARCH (cortexa7t2hfhf-vfp-vfpv4-neon).
doesn't help much to understand what exactly went wrong and where
(From OE-Core rev: 4bedd149964b3b594d7b1a233a9cc436925288e9)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Qt4 is no longer supportd upstream, but it is still needed for LSB compliancy.
Qt4 recipes have been moved to a separate meta-qt4 layer to be consistent with
meta-qt3 and meta-qt5.
(From OE-Core rev: cb89d2b25b4edb1241bc5426a69a6bc44df9be2c)
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Various prefuncs and flags and addtask statements make sense to belong together
in one clearer function now, this patch cleans things up a bit.
(From OE-Core rev: eae0cf7875197f9520be54370bc670e27338aad3)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Reading image.bbclass is a little difficult as it has many post rootfs
helper functions and its hard to separate those from the core contents
of the rootfs/image code.
Moving it to a separate class would be one way of making it clearer
what these functions are. There are some comment layout improvements
but no code changes.
(From OE-Core rev: df4cb51c8e60fa46d4d15be8da3d84287ff08ae7)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It was added in aa3141e979 back in 2008
but I don't see why multiple images would need this now.
(From OE-Core rev: 2eaeac6d98c310cb2602ba194d934c5b7bed253d)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Uses ${IMAGE_LINK_NAME} instead of ${IMAGE_BASENAME}-${MACHINE}.
(From OE-Core rev: 755627cdbe32ef1b46692669f8aba981d626a0e7)
Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Uses ${IMAGE_LINK_NAME} instead of ${IMAGE_BASENAME}-${MACHINE}.
(From OE-Core rev: 5f9feffe4cc4c1c084ab266382460e0b8f37e023)
Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Historical releases may disappear from the main mirrors, so
then we need to fall back to the archive (which, in turn, may
not carry the current release, and so can't be the primary mirror).
(From OE-Core rev: 2eb171a1c9f1d2ce37965aad7b3f470a2c44ed83)
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Ensure extensible SDK and standard SDK go into their own directories
* Record extra extensible SDK variables
* Write sstate-package-sizes.txt and sstate-task-sizes.txt files so you
can analyse the size of the contents
* Add BUILDHISTORY_SDK_FILES (similar to BUILDHISTORY_IMAGE_FILES) and
default it to pick up config files installed in the extensible SDK
(From OE-Core rev: 5f87ff116d9ccd5e95e638dfa84583169a3f99f3)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
After OE-Core revision baa4e43a29e45df17eaa3456acc179b08d571db6 we lost
recording SDK the contents in buildhistory. This was due to the
SDK_POSTPROCESS_COMMAND variable being set with = in
populate_sdk_base.bbclass which overwrote any value set with += in
buildhistory.bbclass; to fix it, use _append in buildhistory.bbclass
instead.
Fixes [YOCTO #8839].
(From OE-Core rev: 11d1aa82ef4a00051e0a50a87a1efed1c50c73b5)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The existing code doesn't tell regular (with .git) and bare cases and
just move the unpacked repo to the place of kernel source. But later
steps will fail on a bare-cloned repo because we can not checkout
directly in a bare cloned repo.
This change performs another clone to fix the issue.
Note: This change doesn't cover the case that S and WORKDIR are same
and the repo is bare cloned.
(From OE-Core rev: ccfa2ee5c4f509de4c18a7054b2a66fc874d5d69)
Signed-off-by: Jianxun Zhang <jianxun.zhang@linux.intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the installation of buildtools fails then we should fail the entire
installation instead of blindly continuing on.
(From OE-Core rev: 34bb63e6c72fb862e0ef0d2b26e1bfddaf7ddb99)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The configuration of the build system within the extensible SDK is
fixed, so there's not a lot of point in showing it; plus it just gets in
the way of the output that's interesting to the user in this context. So
let's hide it within the extensible SDK.
(From OE-Core rev: 6223b73c2dfc326382dbd3c0ae2d7a0cf2cc3b48)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If we don't want a header printed at the start of task execution (which
we'd prefer not to within the extensible SDK) we can accomplish that by
clearing BUILDCFG_VARS and BUILDCFG_HEADER, but that was still printing
a load of blank lines. To keep things simple, check if BUILDCFG_HEADER
is set to something before printing a header.
(From OE-Core rev: d896d77c1d0fc56ff7019bfee3cf06fbc3ede8f3)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We inherit uninative in the extensible SDK configuration, and uninative
sets NATIVELSBSTRING to a fixed value, so we don't need to force the
value ourselves.
Fixes [YOCTO #8662].
(From OE-Core rev: 918814c05d670bccb05d61fa848fd0d93da3a7b0)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Reading IO stats fails because the IO read/write bytes are
being converted to strings, then added to a numeric running
total.
Fix this by converting IO stats to integers.
(From OE-Core rev: 8e2475eecafc0161d25684f5b8239273739de759)
Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a check like what we does in package.bbclass
so that the already-stripped QA test can be skipped.
(From OE-Core rev: 2262fdb256954b22dadb2f7c6922e6046c269742)
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The buildstats changes removed the no longer needed get_bn() function,
replace this with references to BUILDNAME.
(From OE-Core rev: e1a37899da56014693f08d1c39cb6ec0a4ed2bf4)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This updates the toaster class to use the new data format from buildstats.
This does mean it will no longer read IO data from older builds, however
since that data is completely useless anyway, I don't consider that to be
an issue.
(From OE-Core rev: 5c3987226cd9669d5fc0993d0541048475af9fcb)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add IO stats and getrusage() data to the task statistics. We
also drop the CPU percentage calculation since its pretty arbitrary
and not very accurate/useful.
In particular we can now see the user and sys times as well as the
wall clock times.
(From OE-Core rev: b849130f71d3ba32a6fa94c291ca6ce7c7c3b3d1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The combined build and task data code makes changing things hard, separate
out the functions so that changes can be made to the task data whilst the
build data remains unchanged.
(From OE-Core rev: c79cfce4f820f20346d0565df8df626832976e28)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Rather than bb.data and e.data, cleanup to use 'd' and match the
standard coding style.
(From OE-Core rev: dbce2c6122d492ba86873db4d02322f0df7a6752)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The current setting and getting of the "name" to use for buildstats is
convoluted and not particularly interesting. We only need this for the
e.getPkgs()[0] component of the path which is the first target listed
on the commandline. This is pretty arbitrary.
If we drop that piece, we can assume BUILDNAME is common for all events
and simply use this and query it. If BUILDNAME did change, that would
be a bug and it should be fixed elsewhere.
Also take the opportunity to share some common code since the function
now has the eventmask.
(From OE-Core rev: 918d83460639df273f38ae079ffeebd6a79b3373)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The existing diskstats data from buildstats simply isn't useful. It
gives stats on the total IO counts on some random disk within the
system. This means that the count includes data from all other tasks
running at the same time and from any other process running on the
system.
I've been unable to find any use for the data so as a start at
reworking the class, remove the related code.
(From OE-Core rev: f9fb02909f332365cad329352956a29cff6eba77)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Previously UNINATIVE_LOADER was always ld-linux-x86-64.so.2. That is
incorrect when the host is 32-bit.
This change also changes to using ?= so the user can override
UNINATIVE_LOADER if so desired.
[YOCTO #8124]
(From OE-Core rev: b78fa0bcadd54bb29b6f1bb3a9308d4c454bf4e2)
Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We shouldn't try and expand what is a python dict object
and we don't want it to influence the task hashes, task
dependencies are already accounted for.
(From OE-Core rev: 697072130a3298aede7166f125aa982be23793ca)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With the autodebug package generation logic, specifically setting FILES_${PN}-dbg
isn't needed in most cases, we can remove them.
(From OE-Core rev: 3ab59d49dd7c18e194b58d1248b4b87709b5a738)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Creating FILES_${PN}-dbg is tedious and also pretty pointless. We might as well
assume ".debug" is a special directory name and split into -dbg automatically.
This change does so without changing the rest of the splitting logic too much.
It can be disabled for the cases where we really do want manual control of
the -dbg packages (e.g. qt4) with NOAUTOPACKAGEDEBUG = "1".
(From OE-Core rev: da5ec06814e105451cca11cce76b5c5231110524)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It turns out writing the same list of packaging tasks multiple
times in multiple places is error prone. Move this to a new class
'nopackages", migrate existing users and add glibc-initial and
libgcc-initial since we don't want packages for those recipes.
This means the sstate for those recipes won't be installed, saving
small amounts of build time and bandwidth.
A reference to the old package_write task is also dropped.
(From OE-Core rev: cece583d58f82a50c3a4eac876eb326ac3b8f5e5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It was observed that do_fetch dependencies (e.g. subversion-native of tremor)
were being installed even when sstate was available and hence no fetch was
needed. This turned out to be due to the recursive nature of the rootfs
dependencies which include populate_lic.
We can explicitly whitelist these dependencies as being ones we don't
need to follow when installing sstate (the code defaults to being paranoid).
[YOCTO #8746]
(From OE-Core rev: 06c891f0fa6c7712eae233dd18612f1ab1889c45)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We should always pass a parameter to getVar, add missing default value.
(From OE-Core rev: 31bc0a46a97d7dc98568a218c077c31d8b11dbd9)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
archive.apache.org does not contain current releases, only historical ones,
so upstream checks aren't accurate. It's replaced with official mirrors
containing current versions.
(From OE-Core rev: e9c85489ae354f52ff5b78f4d7fb6fafd0050522)
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
KERNEL_CONFIG_COMMAND will be expanded by bitbake, so can be
used directly in kernel_do_configure()
(From OE-Core rev: f8a35d8e312df908c73724465035921856d30781)
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some recipes, such as sudo and gcc, put libraries into libexecdir. Allow this
in the sanity test so that we don't have to whitelist the libdir check.
(From OE-Core rev: 9f5ad12a9532687a7a82e24b7c4506cabc13bba2)
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If user specific parameters to opkg are set in local.conf, they are
rewritten in package_ipk.bbclass and ignored, instead append
package_ipk specific arguments to the user defined ones.
The change is needed, if a user has to pass an alternative path to a
temporary directory for opkg, e.g.
OPKG_ARGS = "--tmp-dir=${TOPDIR}/tmp-opkg"
The default /tmp directory may be unusable for do_rootfs task, for
example if there is no enough space or /tmp is mounted with noexec
mount option, then an alternative path allows to complete do_rootfs
and fix the problems like this:
ERROR: Unable to install packages.
...
sh: /tmp/opkg-5jPLag/run-postinsts-UsUtaI/preinst: /bin/sh: bad interpreter: Permission denied
sh: /tmp/opkg-5jPLag/base-files-4hFwQS/preinst: /bin/sh: bad interpreter: Permission denied
sh: /tmp/opkg-5jPLag/run-postinsts-UsUtaI/preinst: /bin/sh: bad interpreter: Permission denied
sh: /tmp/opkg-5jPLag/busybox-syslog-sJmfbw/preinst: /bin/sh: bad interpreter: Permission denied
...
(From OE-Core rev: 0be4c30aaf03de58d8037a89e342ca0b379a0881)
Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently the systemd.class will check whether a service exists when it is
requested to enabled it. However, its check does not take into account that a
service like 'foo@eth0.service' can be enabled from a service named
'foo@.service'. This patch alters the check function in systemd.class to look
for 'foo@.service' if the normal check fails.
(From OE-Core rev: 4ce15271dad3520e5de2500c609b05d5a511e453)
Signed-off-by: Bob Ham <bob.ham@collabora.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When the DEPENDS are added as part of the PACKAGECONFIG logic the list of
packages are expanded so that any required nativesdk-/-native/multilib prefixes
and suffixes are added.
However the special handling of virtual/foo names doesn't check that the prefix
already exists, which breaks under nativesdk as in that situation there's an
explicit nativesdk- prefix *and* MLPREFIX is set to nativesdk-. This results in
the same prefix being applied twice, and virtual packages such as virtual/libx11
ending up as virtual/nativesdk-nativesdk-libx11.
(From OE-Core rev: 55ca1fb8f0e81ff739b3c46897e43356d1f760c3)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
On Ubuntu-system, When sourcing the env.sh from an exported sdk, and
running a bogus linux command (for example "asd"), a core dump of
python is usually generated.
Unset the command_not_found_handle to fix it.
(From OE-Core rev: 473ccbebb426df757adb8955eaa5e191d88180d1)
Signed-off-by: Fang Jia <fang.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If you build virtual/kernel, then change PREFERRED_PROVIDER_virtual/kernel from say
"linux-yocto" to "linux-yocto-dev", you see errors from the sysroot about overlapping
files. The automatic uninstall logic doesn't trigger since the other recipes is
still technically parsed/buildable.
What we can do is look at the value of PREFERRED_PROVIDER_virtual/X and raise SkipRecipe
(skip parsing) if it provides this thing and its not selected. We skip cases no preferred
provider is set, or the value is in MULTI_PROVIDER_WHITELIST.We also inform the user
if they try to build something which conflicts with the configuration:
$ bitbake linux-yocto-tiny
ERROR: Nothing PROVIDES 'linux-yocto-tiny'
ERROR: linux-yocto-tiny was skipped: PREFERRED_PROVIDER_virtual/kernel set to linux-yocto, not linux-yocto-tiny
[YOCTO #4102]
(From OE-Core rev: 9a3b992b7339f7aa892f1dff7d159747630b045d)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Now that qemurunner doesn't need DISPLAY set, let whether DISPLAY is set be up
to the user.
(From OE-Core rev: 259d1d1889b9349498d3f995a09466ce89bd3fcf)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Now that the SRC_URI is parsed this can be done without false-positives.
(From OE-Core rev: 6fac3caf3d70823c830178f2299ceee275a1edd1)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
To avoid false positives such as a SRC_URI for http://foo.xz/foo.zip gaining a
dependnecy on xz-native decode the URI so that precise tests can be done.
(From OE-Core rev: a98a14844bc0b2ef8fc0426768fde40516279bf8)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The idea behind the implementation of Yocto #8138 was that an
additional class can write additional files in the recipe directories,
for example by hooking into the functions of buildhistory.bbclass or
by implementing its own SSTATEPOSTINSTFUNCS function.
However, when these additional files get created before
buildhistory_emit_pkghistory(), they get removed again by that
function because it contains code which removes everything it does
not know about. The reason for that is that these unknown items
are probably obsolete.
This logic is the reason why the additional "kconfig" file from
buildhistory-extra.bbclass never showed up in the final build history.
To fix this, the hard-coded list of known files in
buildhistory_emit_pkghistory() must be turned into a variable which
derived classes can extend.
(From OE-Core rev: 97f77ea3313b0d79ae4a6090672a2a9344282262)
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This change adds the license_deployed_manifest function
that will create the manifest for the packages deployed
next to the image but not installed in rootfs. Some
examples of these recipes would be the bootloaders, or
the kernel.
This new function was added to ROOTFS_POSTPROCESS_COMMAND
so it will run after every rootfs task.
This change also modify the write_license_files because
the image manifest is different from the root manifest.
[YOCTO #6772]
(From OE-Core rev: a58e8e164b888a6e4747ef62a7a43825c4f47c32)
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This function will get the files that were deployed using
the sstate-control manifest file. This will give a better
view of what was deployed next to the image.
[YOCTO #6772]
(From OE-Core rev: f1a0a86ea2db6f16d9b643636a8973aaeb85e4a6)
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This change introduce a new function to get the dependencies
that were deployed. It uses BB_TASKDEPDATAto get all the
dependencies of the current task, so it is possible to get
different packages depending at what point this function is
called.
[YOCTO #6772]
(From OE-Core rev: 2be96279580eac2b03970131dcd81b13c7f7f7d5)
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This function gets the dependencies from the classes that
create a boot image, this is required because sometimes
the bootloader dependecy is in these classes. The current
classes covered are bootimg and bootdirectdisk because
these are the only clases that add dependencies.
[YOCTO #6772]
(From OE-Core rev: b165c2d3349115546c9db2f084eb6def4913b82d)
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This changes moves the writing of the licenses to a
separated function that could be called for other packages.
With these change it will be easier to reuse the writing of
the license for the packages deployed but not installed in
the rootfs.
[YOCTO #6772]
(From OE-Core rev: 71fb5da7a3a8e61b15be4efc05b968c0c9920d2f)
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently there is no way to get the recipe version when
creating the rootfs. It is needed because the manifest
file for the image has to contain this important piece
of information.
This change writes a new file in the license folder for
every recipe. This file is called "recipeinfo" and have
the information used to write the manifest file for the
recipes deployed next to the image.
[YOCTO #6772]
(From OE-Core rev: 2d97d82fb51281fe130e8d135f3cf9a78423dd94)
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We want to support different names for the buildtools tarball. The
name may not always be of the default oe-core format.
For instance, at Wind River we define the built-tools name to be:
${SDK_ARCH}-buildtools-nativesdk-standalone-${DISTRO_VERSION}
because thes standard SDK_NAME has additional information that is not
relevant to the builtools tarball.
(From OE-Core rev: b49c6f179b06a8b97106aa4c95f2cdb3c4dc0920)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add optional check to do_populate_sdk() that verifies SDK sysroots don't
contain dangling or escaping symlinks before attempting to tar an archive.
Such links may fail a `tar -h` operation (-h => follow symlinks) or
archive the build system's files.
Set CHECK_SDK_SYSROOTS = "1" to enable this check.
Use case: The -h option may be set via SDKTAROPTS in some configurations
to create symlink-less SDK archives for Windows file systems.
(From OE-Core rev: 2658200fa2b3df08880ee937a3de5cb2866f8a50)
Signed-off-by: Haris Okanovic <haris.okanovic@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The extensible SDK relies upon uninative, and with the way that
uninative works, the build system architecture must be the same as the
SDK architecture or the extensible SDK won't be usable. At some point in
future hopefully we can remove this limitation, but until then it's
disingenuous to allow this to build, so add a check to ensure
SDK_ARCH == BUILD_ARCH and fail if it isn't.
(From OE-Core rev: 9e30e849eda3b0a0c54d3f7ed0102760fdaef06c)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If you have a local workspace layer enabled when building the
extensible SDK, we explicitly exclude that from the SDK (mostly because
the SDK has its own for the user to use). Adjust the message we print
notifying the user of this so it's clear that we're excluding it from
the SDK, and scale it back from a warning to a note printed with
bb.plain().
(From OE-Core rev: 90f46f74a088a7b965d2205eceb9eff6f276dd38)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When SDK preparation fails:
* Insert an ERROR: in front of the error message
* Add an error message to the environment setup script
Hopefully this should make it more obvious when this happens.
Fixes [YOCTO #8658].
(From OE-Core rev: 105df569b3b1982005c2edb37f4690f9ba6bde35)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use a variable for the log file which includes the full path; this is
not only neater but avoids us writing the first part (the output of
oe-init-build-env) to a file in another directory since we are
changing directory as part of this subshell.
(From OE-Core rev: 001af71752a9e9aab460cbd49ed049e1eb726295)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fixed when rebuild:
mkdosfs: file /path/to/hdd.image already exists
(From OE-Core rev: 9abcd309c098558360cde2bff65be840ead25f83)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Maintaining an sstate mirror is complicated at the moment as only the main
sstate tgz files have their timestamp updated when they're used.
This causes problems as the siginfo files can be removed from the server
due to inactivity but the sstate fetch code tries to fetch them leading
to confusing warnings and reduced debug capability.
This change ensures we touch any sig/siginfo files present and should
help ageing of the objects on sstate mirrors. It doesn't handle the intermediate
task siginfo files but those are never fetched by the current sstate code
so are an order of magnitude less problematic.
(From OE-Core rev: 80b3974081c4a8c604e23982a6db8fb32c616058)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The variable name for QEMU_EXTRAOPTIONS is constructed programmatically, so we
need an explicit variable dependency, otherwise changes to it won't cause e.g.
qemuwrapper-cross to be rebuilt.
(From OE-Core rev: 7740f214fffd6278f801899fc5e45f5720cbb544)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These need to be based on PACKAGE_ARCH rather than TARGET_ARCH, as we aren't
using overrides for this.
(From OE-Core rev: 46f41df60491990dc41f0514f63b304ac51b67d1)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
OpenJDK-8 has it's configure script at common/autotools - which will cause
the entire assumption of ${S}/configure is regenerated by autoreconf, intltoolize or alike
fails heavily.
Also - other configure mechanisms can be supported more similar (see how pkgsrc
manages different ones ...)
(From OE-Core rev: fe506eddb0790e37ac1e50f37fa2e32ad81d5493)
Signed-off-by: Jens Rehsack <sno@netbsd.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
TARGET_CPPFLAGS, TARGET_CFLAGS, TARGET_CPPFLAGS and TARGET_LDFLAGS may
differ between MACHINEs. Since they are exported they affect task hashes
even if unused which leads to multiple variants of allarch packages
existing in sstate and bouncing in the sysroot when switching between
MACHINEs.
allarch packages shouldn't be using these variables anyway, so let's
ensure they have a fixed value in order to avoid this problem.
(Compare with 05a70ac30b37cab0952f1b9df501993a9dec70da and
14f4d016fef9d660da1e7e91aec4a0e807de59ab.)
(From OE-Core rev: d08fda21bfb7d264c238af0232a22cdd751f5150)
Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hardcoding a full input path with zero flexibility goes against everything the
Yocto Project is about. Rework it to let the user specify the wks base
filename with WKS_FILE and it'll search the layers for the wks file and use
it.
(From OE-Core rev: 8cc7f5229f5447c2183ac319dd52c7ed737ec89b)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If PACKAGE_DEBUG_SPLIT_STYLE='debug-file-directory', debuglibdir will be
"/usr/lib/debug". Usually 64bit libs should be put under "/usr/lib64".
This often cause an warning, so skip the checking.
(From OE-Core rev: f18a917c1493d4107c7f9db1d9ba19ec368f9b48)
Signed-off-by: Jian Liu <jian.liu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Immediate expansion of perl_get_libdirs() is too early for
BBCLASSEXTEND. This results in a packaging QA error when building a cpan
recipe as nativesdk. The split debug files do not get picked up by the
dbg package because it looks in the wrong libdir.
The is_target() function remains because it is used elsewhere.
(From OE-Core rev: b32420effcc0435353adc63023d2e4276dd1e0c6)
Signed-off-by: Tyler Hall <tylerwhall@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix some spelling mistakes in bbclass files
(From OE-Core rev: ed484c06f436eea62c5d0b1a2964f219f3e5cb61)
Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_*.bbclass doesn't use this variable anymore, so we can drop it
(From OE-Core rev: bf91547d887aee2893e26e6073e12c540222b422)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The dependency data in BB_TASKDEPDATA is encoded into the sstate checksum
in a much more reliable format. This dependency runs the risk of depending
on the string representation of a dict which is a bad idea. Therefore
remove the dependency.
(From OE-Core rev: 1eefc83e6aeb3cd5501b8e593dda052b1e183cc5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fixes https://bugzilla.yoctoproject.org/show_bug.cgi?id=8127 which causes
[ 1225.089323] 8189es: Unknown symbol cfg80211_scan_done (err -22)
[ 1225.095916] 8189es: no symbol version for cfg80211_remain_on_channel_expired
when loading external compiled 8189es module.
(From OE-Core rev: afcea61e8eb39234d336c706fdfd4680dea7c060)
Signed-off-by: Jens Rehsack <sno@netbsd.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This doesn't cause any issues right now but it make sense to standardise
on consistently using strings in the data store.
(From OE-Core rev: 99203fbe5ad470ef65cff93cec9d7f332883b5ee)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fixes the following warning sometimes appearing during image builds:
WARNING: The license listed ABC was not in the licenses collected for recipe xyz
The files being looked for here, which runs during do_rootfs,
are written out by the do_populate_lic task for each recipe. However,
there was no explicit dependency between do_rootfs and all of the
do_populate_lic tasks to ensure they had run - only an implicit link via
do_build, so it is possible that sometimes they had not depending on how
the tasks were scheduled. Add an explicit set of dependencies to fix
this.
(From OE-Core rev: ef7dc532e800d9b170246550cbc8703adf624beb)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fixes the following error showing up for layers that aren't a git repo
(or aren't parented by one):
fatal: Not a git repository (or any of the parent directories): .git
This was because we weren't intercepting stderr. We might as well just
use bb.process.run() here which does that and returns stdout and stderr
separately.
(This was a regression that came in with OE-Core revision
3aac11076e).
Fixes [YOCTO #8661].
(From OE-Core rev: f533c1bf4c6edbecc67f9e2c62fd475d64668e86)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The package feed signing code supports the user providing the path to the gpg
binary and an alternative gpg 'home' (usually ~/.gnupg), which are useful for
both deployment and QA purposes.
Factor out the gpg command line construction to a function which can fetch both
of these variables, and also use pipes.quote() to sanitise the arguments when
used in a shell context.
[ YOCTO #8559 ]
(From OE-Core rev: 6daf138822bbbc46960121d3b76b42eaf19e7c0e)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bbappend files are not included in the archiver during do_ar_recipe.
Find and put them into the tarball.
(From OE-Core rev: 5c84057de5b31c5d6d9abfcca3078bf766a21d88)
Signed-off-by: Jian Liu <jian.liu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A previous patch intended to fix and improve the archiver class, and while it
did for gcc packages, with it some issues ended up being hidden, the kernel
tasks taken from kernel.bbclass and kernel-yocto.bbclass specifically expect the
kernel to use work-shared, which either ended up causing issues or wasting time
doing unnecessary work, this patch fixes these issues by performing the right
tasks within the archiver in the right order
[YOCTO #8378]
(From OE-Core rev: d643e43622eb3e43fbb2e21fa33580e2fcdf42be)
Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
'waf' supports only simple '-j' and fails when parallel make flags
contain extended options like '--load-average'.
Patch uses the method from 'boost.inc' to filter '-j'.
(From OE-Core rev: bc394e1dd229845a315a97704beca43fbb8976ee)
Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This class was extending EXTRA_OECONF only in target builds with
--enable/--disable-installed-tests. However for native builds we don't care
about the test suite and should be explicitly disabling it.
This stops glib-2.0-native trying to build the test suite that we'll never
execute.
(From OE-Core rev: 926a8365b4f7233e5ab5a6b97e8ed53f417c0cfc)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We weren't splitting SRC_URI values containing multiple URIs here; this
didn't cause any errors except when a trailing ; was left on a URI, in
which case the next URI was considered part of the parameter, which
didn't contain a = and therefore was considered invalid.
We only care about the first URI in SRC_URI in this context (since
that's the upstream URI by convention) so split it as we should and take
the first item.
Fixes [YOCTO #8645].
(From OE-Core rev: 8e75b7e7d54e5638b42b9e7f90f2c6c17e62033f)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We don't actually use values we read in here that are likely to
contain = characters but we might as well split the value properly in
case we do in future.
(From OE-Core rev: afe100436bdeefb024b924ee27ad68830f085ff4)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The base CMAKE_<LANG>_FLAGS are included for all build types,
therefore the CMAKE_<LANG>_FLAGS_RELEASE should contain only
additional flags or over-rides.
https://cmake.org/cmake/help/v3.2/variable/CMAKE_LANG_FLAGS.html
(From OE-Core rev: 961740d5d81ce44a595d5465bafb48a0cbab5159)
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This prevents unneeded rootfs rebuilds if the metadata has not changed
while using rm_work.
(From OE-Core rev: 7550b13786caa68a9944cd802eb970acbd17e754)
Signed-off-by: Jate Sujjavanich <jatedev@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If tests are organized in folders then it will copy the whole
folder to the export location. This should keep the original
directory structure for exported oeqa/runtime.
(From OE-Core rev: 8fe45badd3dfe44fa5161229324b6439594123fd)
Signed-off-by: Lucian Musat <george.l.musat@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This has been obsoleted by parselogs.
(From OE-Core rev: 05132fd236835db71d3e763b4d6ce01fcf14741a)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* The prservice is only used by do_package, the native or crosssdk
doesn't have do_package.
* Change WARN to NOTE when no AUTOPR found, the prexport_handler()
checks all the parsed recipes, but a lot of them may not be built, for
example, the lower version or broken recipes. So change WARN to NOTE to
not confuse user.
(From OE-Core rev: 53aae968a6972f152f4b540deaf79963765ff559)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch removes errornous extra path-specs from cpan_build.bbclass
because corrected path specs at build time are enough.
* fixes wrong path used when building using Module::Build toolchain
(From OE-Core rev: bb59eb410c716057190fb0d115ef85b2c12e6518)
Signed-off-by: Jens Rehsack <sno@netbsd.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch fixes some issues in classes providing cpan module build support:
* add support even for xs modules with more than 3 levels as
B::Hooks::End::Of::Scope or Math::Random::ISAAC::XS
* correct handling of Module::Build (as far as stolen from pkgsrc
and my humble knowledge)
* configure to install to vendor_libs as default, even when
inherited do_install remains unused (overwritten do_install)
(From OE-Core rev: 6948d2bd35cda57f520f0180a6bb43cc70262f41)
Signed-off-by: Jens Rehsack <sno@netbsd.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The intercept runs against the native sysroot so we need to pass it
the native libdir instead of the target libdir, as otherwise it will
use target paths (such as lib64) in the native sysroot.
(From OE-Core rev: 0fe84007176c98644b1917966c98501beb7e0ce2)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Before, the users and groups specified in the passwd file and the
groups file had to have trailing colons to make sure there were enough
elements in the definitions, or bitbake would throw a Python
exception. After this change one can omit the trailing colons, which
especially simplifies passwd files used only to specify static UIDs.
(From OE-Core rev: 7754e0f71eb794f0e06a1b005e3824fac4cdac6c)
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The intercept doesn't need STAGING_LIBDIR_NATIVE anymore, so don't pass it.
(From OE-Core rev: 189d6232a2a9eb7192887b60f05b6643414a4ec6)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Now that file-native is ASSUME_PROVIDED, check that it's actually present.
(From OE-Core rev: 5dad6758980233f976e39357b91b9cc673a574af)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The code assumes that PKG_DATADIR exists and will fail if an image has not been
generated which creates it. This occurs when something like buildtools-tarball
is built which doesn't have target packages, only nativesdk ones.
Since this shouldn't be fatal, workaround this by creating the missing
directory.
(From OE-Core rev: 319c5d55bb0c7e429766f46dd42a15e16a43c4dd)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(From OE-Core rev: 48d78232299735da99137491ae4cbe8faaae3dfb)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The PACKAGES is not mapped with MLPREFIX when setting LICENSE_EXCLUSION
in base.bbclass. For example,
For libgcc-dev,
LICENSE_EXCLUSION-libgcc-dev=1
but for lib32-libgcc-dev,
LICENSE_EXCLUSION-libgcc-dev=1
Obviously it is wrong for lib32-libgcc-dev.
Add MLPREFIX before the package name during setting LICENSE_EXCLUSION
(From OE-Core rev: 6597130256a1609c3e05ec5891aceaf549c37985)
Signed-off-by: Jian Liu <jian.liu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We have enough confusing name clashes already, let's not precipitate
another one.
(From OE-Core rev: a40e69508e66268e0743502334797374dee31125)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Automatically export public key(s) of the signing key(s) from the gpg
keyring. Adds a new simple recipe that does the actual task of exporting
the keys. This patch makes the RPM_GPG_PUBKEY and PACKAGE_FEED_GPG
PUBKEY settings obsolete.
(From OE-Core rev: 23b30c34581948e1ea02c25cbf7b9194d7e49fb8)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
After this change signed package feeds should be enabled by adding
INERIT += "sign_package_feed"
instead of definining PACKAGE_FEED_SIGN="1".
(From OE-Core rev: 2ba901da9a07350cc8975fc951ef5054b32d421b)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Simplifies the configuration. Makes way for the removal of
RPM_GPG_PUBKEY setting and possible future implementation of a separate
signing server support. Also, moves the configuration sanity checking
into a separate function.
(From OE-Core rev: 6ea062dffce3df59cc4ba88edd181dc1dac759f9)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This bitbake configuration variable can be used to define the gpg home
directory.
(From OE-Core rev: 7ea2f8aca832433f448a79d103c945a63ac6474b)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Before the fetcher validated the specified SRCREV was reachable on a
specified branch, linux-yocto style kernel's were comparing the value
of KBRANCH and branch on the SRC_URI and then allowing a SRC_URI
specified branch to override KBRANCH.
With the introduction of kernel meta data on the SRC_URI, this routine
is incorrectly picking up a kernel-cache repository and then attempting
to apply that branch information to the kernel repository.
The rationalization of the branch specification is largely no longer
required, and will may be removed in the future. But for now, to keep
changes minimal, we can simply not return branch information that comes
from kernel meta data by checking the 'type' parameter and skipping
if it is of type 'kmeta'.
(From OE-Core rev: 87363ec019e04b486dee5f07b7226465be7acd6c)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gcc packages use a shared source directory, this causes an issue since the archiver will
try to patch the same source several times (one for each gcc package), producing an error,
the archiver class used stamp-base to check this, nonetheless our gcc packages no longer
use stamp-base, they use gcc-shared instead, which is what broke this functionality.
This patch adds a check to see whether or not the source should be patched,
avoiding patching the source when it shouldn't.
Also, we dont need to create multiple identical tarballs for all gcc packages,
this patch fixes this and creates a single source tarball for gcc.
When requesting patched sources, a race condition is created for linux-yocto tasks,
unpack_and_patch is executed along with kernel_configme, which most of the time
causes errors during configure, since kernel_configme task is specific to the kernel,
simply modifying the tasks order by creating a dependency to kernel_configme was impossible,
causing errors on all other packages that didnt use kernel_configme, this is fixed by
creating a special case for the kernel, adding tasks with correct dependencies,
avoiding the race condition and behaving the way it should for all other packages as well.
[YOCTO #8378]
(From OE-Core rev: aecaa0e8739db1c228a6db78225a717d9f348a5b)
Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In c0da4270c76375a7a8cbcc09319fe4570ebbc5bd two bbwarn were changed to
bbnote for the case where an added user or group already exists. The
same should have been done for groupmems, groupdel and userdel as well
since the warnings that are currently generated are superflouous.
The two remaining similar bbwarn for groupmod and usermod are left as
is since there they actually make sense.
(From OE-Core rev: f775e4cffe45edb673a414a2038c4f2b09b9b827)
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
As suggested, add exception message to warning in
sanity.bbclass when chmod fails on TMPDIR.
[YOCTO #7669]
(From OE-Core rev: f6609aca5c533325411567a79130114654c50f3b)
Signed-off-by: Alex Franco <alejandro.franco@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Building nativesdk-glibc-locale results in many messages like:
QA Issue: nativesdk-locale-base-en-sg rdepends on localedef, but it isn't a build dependency? [build-deps]
It should depend on ${MLPREFIX}localedef, not just localedef
to fix these warnings.
(From OE-Core rev: 80e2dfbfef2d40c3ab074142deac73317f89e3a2)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If you run the extensible SDK environment setup script in a shell
session where oe-init-build-env has been run already, and attempt to use
the two together, strange things happen - you may not even be running
devtool from the extensible SDK, but the OE tree. This isn't a supported
use case anyway, so show a warning recommending starting a new shell
session.
(From OE-Core rev: 41afc48ab979dff6ebb3ea4003dd6baefff7f644)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Print a note at the end of the environment setup script pointing to
devtool.
(From OE-Core rev: ea1d566bc2ff61f2e086effb9ca6551b263eacbe)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In order to prepare the build system within the extensible SDK, we
actually go ahead and build the targets specified by SDK_TARGETS (by
default the image the SDK was built for). Assuming that's an image, we
don't actually need to build the image itself - we just need to have
everything done up to the point before building the image, so that we
have everything needed in the sysroot.
In order to do this, create temporary bbappends for each of the targets
in the workspace layer that stub out do_rootfs and related tasks if they
exist. This is a little bit of a hack but is the least intrusive fix at
this point. To make things a bit tidier, I have split out the
preparation commands into a separate script so we can run that in the
appropriate environment rather than all the commands separately.
Fixes [YOCTO #7590].
(From OE-Core rev: d2a2962897b89731a5705b0cbc7c6f36aa53dcc8)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Make indentation consistent here in preparation for the changes that
follow.
(From OE-Core rev: 59a3789c678bf58c0a04b8def416246654680841)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Commit 771f89498c introduces an error message that is very rarely hit and
when it is, it is usually easy to trace the root cause very quickly. The
information provided in the error message isn't enough to lead you back to
the actual failure, however, so expand upon it a bit, pinpointing the
specific package and flag that fails.
(From OE-Core rev: ead4a552464309e6ef3381590994b6cea225ca20)
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The code to get the git and branch hash for the current commit in a specific
repository was quite complex and prone to breakage, replace it with subprocess
and git rev-parse.
(From OE-Core rev: bd8ff33cf2439536c6e41cf0ee9dd8fb3b64770a)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
when we generate hddimage and use it to prepare SD card
using scripts/contrib/mkefidisk.sh as described here
http://elinux.org/Minnowboard:MinnowMaxYoctoProject
The content of startup.nsh contains
bootx64.efi
but this file is actually not in same dir as startup.nsh
its in /EFI/BOOT so for this to work entry in startup.nsh
should be
fs0:\EFI\BOOT\bootx64.efi
Otherwise the image is D-O-A
(From OE-Core rev: 38fe481911e7c4e9f674ded8f66878dff9e12ce3)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
cross-compilation warning from insane.bbclass is slightly misleading.
So, remove the misleading path from warning.
[YOCTO #7540]
(From OE-Core rev: fd0c6de410856ec42e20762163575f0efde44541)
Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently error-report doesn't manage Unicode because
the files are opened with the default codec.
This patch changes the codec of the files to UTF-8,
this way the reports will include Unicode characters.
This is useful for the qemu output when doing the
testimage task.
[YOCTO #8225]
(From OE-Core rev: afb5308770de776181da5b44f9dc30922836bc38)
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* this can be useful for passing extra parameters, pass
-v by default to see what's going on in do_rootfs
* we need to use this for extra parameter we implemented
in fontconfig:
--ignore-mtime always use cache file regardless of font directory mtime
because the checksum of fontcache generated in do_rootfs
doesn't match with /usr/share/fonts directory as seen on
target device causing fontconfig to re-create the cache
when fontconfig is used for first time or worse create
new cache in every user's home directory when /usr/
filesystem is read only and cache cannot be updated.
Running FC_DEBUG=16 fc-cache -v on such device shows:
FcCacheTimeValid dir "/usr/share/fonts" cache checksum 1441207803 dir checksum 1441206149
* my guess is that the checksum is different, because pseudo
(which is unloaded when running qemuwrapper) or because some
influence of running the rootfs under qemu.
(From OE-Core rev: e07fdc5f047f309a0e99331f430c14d708ed2161)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This change just add two more commands to
the host dumps to get more information
related to the IO.
[YOCTO #8412]
(From OE-Core rev: 9c9fd32105bd1a5e1c01f9dd5d1a56ceef12554e)
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Modify do_install_ptest_base to run do_install_ptest and install the
Makefile irrespective of the presence of ${WORKDIR}/run-ptest. This
change allows "ptest-aware" packages to install run-ptest as part of
the make machinery.
(From OE-Core rev: 2055517d91e0c55ed108d3a6f52abd1d2c6824b2)
Signed-off-by: Ian Ray <ian.ray@ge.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Proxies defined in the enviroment where not taken into account
on the distrodata tasks. This commit implied passing the datastore
into the distro_check library and context manager for the
urllib.urlopen function.
One way to run distrodata tasks is using 'universe' as target and the
'all' distrodata task:
$ bitbake universe -c distrodataall
$ bitbake universe -c distro_checkall
$ bitbake universe -c checklicenseall
Logs are located under TMPDIR/log
[YOCTO #7567]
(From OE-Core rev: 7d1c3470bb06e43245ccb7f067121de606506430)
Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross reported the following waring when building edgerouter BSP:
WARNING: Section not found: .comment
The reason is that the testing of the existing sections in do_strip()
returned the wrong value. Please see the following code in do_strip():
for str in ${KERNEL_IMAGE_STRIP_EXTRA_SECTIONS}; do {
if [ "$headers" != *"$str"* ]; then
bbwarn "Section not found: $str";
fi
"$CROSS_COMPILE"strip -s -R $str ${KERNEL_OUTPUT}
}; done
The "*" doesn't have special meaning in the if string test, so it will
return true even the $str is a substring of $headers. Fix this issue
by replacing it with "! (echo "$headers" | grep -q "^$str$")".
Reported-by: Ross Burton <ross.burton@intel.com>
(From OE-Core rev: 4965f122ca67c0ff60dc60f7885db1ed9db909b4)
Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In the same way it's done for openssh.
(From OE-Core rev: a4b91f5199dd4d1302484cbd972a484d36f7886f)
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Previously it was done only if sysvinit was in DISTRO_FEATURES.
(From OE-Core rev: 8aa5c66a29c1394e0418e94bdd49e5b268ffc790)
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The MACHINE variable is used to handle sysroot paths within one of the
patches to python3-native. In this context, it is relocation safe and
the resulting packages should not have MACHINE specific checksums,
therefore excluding MACHINE in this context is safe.
This whole setup is ugly and ideally we should come up with a better
way of handling this but at least allow a stop gap solution for now.
(From OE-Core rev: be4e6ea8a92bd90f354f8c04eade39ccce8b73d5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This adds the markup to inform bitbake to rerun the deploy task per MACHINE.
This makes sense since DEPLOY_DIR_IMAGE contains MACHINE. Doing it this
way means the same artefact will be reused from sstate rather than rebuilt.
(From OE-Core rev: 4052e0858d72505728c2a746fac935bf281903fd)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
multilib task signatures turned out to have issues since
SIGGEN_EXCLUDERECIPES_ABISAFE and SIGGEN_EXCLUDE_SAFE_RECIPE_DEP
did not have multilib mappings. This adds those mappings in which
in turn improves multilib task checksums to match the standard
non-mulitlib versions.
(From OE-Core rev: ea872b735c92a30d03cfa32953e060430e6f7f0b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Just like we have in oe-selftest, you can add
<filename>.<Class>.<testname> in TEST_SUITES in order to
run just that test
(From OE-Core rev: 3bf5204315fedc586fdf641583cfdb2c1a78c5c0)
Signed-off-by: Lucian Musat <george.l.musat@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If building for a BE8 ARM target, arch is "armeb" rather than
"arm", but ABI should still be "gnueabi". Otherwise gcc won't
build.
(From OE-Core rev: d2e1cf176b2a705f3e4bd4ab7c35bb1de5dc6985)
Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When looking at and trying to build a slightly customised SDK, I
realised the code could be simplified and written in a way which was
more customisable.
This patch moves various function calls into the SDK_POSTPROCESS_COMMAND
which was intended for this kind of use.
(From OE-Core rev: baa4e43a29e45df17eaa3456acc179b08d571db6)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In the json file the whole datastore is serialized which contains
absolute path to the oeqa folder. This breaks the functionality
when trying to run the tests from other machines.
(From OE-Core rev: 94057ccc70aa3fe29d774f571a65f56fd1285d4c)
Signed-off-by: Lucian Musat <george.l.musat@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
To avoid races between the sstate tasks/hooks using ${B} as the cwd, and other
tasks such as cmake_do_configure which deletes and re-creates ${B}, ensure that
all sstate hooks are run in the right directory, and run the prefunc/postfunc in WORKDIR.
(From OE-Core rev: 1d3bde02641f4b40030cf7e305ee3d7c2faabe29)
(From OE-Core rev: a026dbfa0ce4ee769ae2c714f27f4c4eaa4a0c73)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When image-vm.bbclass was introduced, it indirectly also introduced a
".hdddirect" image type based on boot-directdisk.bbclass. However, one
could only get that image when also enabling at least one of the
virtual machine images.
The .hdddirect images are useful by themselves. By registering
image-vm.bbclass as implementation of it, it becomes possible to
select them with:
IMAGE_FSTYPES = "hdddirect"
(From OE-Core rev: e3ff509091cbbfdef851f8a3c9e31c7b76d37e89)
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* for some reason this part of:
http://patchwork.openembedded.org/patch/102561/
wasn't ever merged.
[YOCTO #7669]
(From OE-Core rev: 95daa7c26d119ae11f1835ce0e895bbd4a3e9605)
Signed-off-by: Alex Franco <alejandro.franco@linux.intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When building something like lib32-core-image-minimal -c populate_sdk, we
expect one sysroot with both multilibs installed. We therefore
need a single SDKTARGETSYSROOT value which doesn't change when multilibs
are enabled.
This makes the image generation code match what the meta-environment
files set the SDK up to use.
(From OE-Core rev: a6ade4d24e8153920311db9a9033a7f5c430d1e4)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In normal use gdk-pixbuf knows where to find its own loaders and explicitly
stating this will cause work in the future if the ABI version changes.
(From OE-Core rev: 87eea290a799be0e852d8b3c357879680abedb77)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If for example gdk-pixbuf and lib32-gdk-pixbuf are in an image then only one
${bindir}/gdk-pixbuf-query-loaders will be installed, so only one variant will
actually be usable.
Solve this by moving gdk-pixbuf-query-loaders into ${libdir} as it's intimately
tied to the library and rarely directly invoked by the user, and update the
callers to use the right path.
(From OE-Core rev: 69df75f268e2b3d5874f05e2b5a6125f6d990a03)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
I believe this code dates from previous times when we didn't extend
the TOOLCHAIN_TARGET* variables to cover all multilibs. We now do
this so this code acutally breaks things by removing the non-multilib
variants.
By changing this, a multilib SDK now contains both sets of base libraries
which matches the tools we ship with it. If the user wishes to customise,
this also becomes easier.
(From OE-Core rev: 568b81b5102213643e382d31a4e5e56f90ee6ff9)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
stamp-base was only ever used by the shared workdir code in gcc. This
turned out to be problematic and has been replaced by other approaches
which don't need specialist bitbake knowledge.
stamp-base will likely get removed from bitbake but for now, remove it
from archiver to simplfy the code since gcc no longer uses it.
This stops people getting confused by the obsolete code paths which I'm
getting a lot of questions about.
(From OE-Core rev: 4b9f70f03cbefe9db758500e3ad89f7a8ff8226e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Make package_qa_clean_path() return something like "work/path/to/file"
rather than "/work/path/to/file", the relative path is a little clear.
(From OE-Core rev: 67a1e4b087a39db04370685616d5b439b0f2b505)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The value of the deps varflag for tasks is (unusually) expected to be a
list object rather than a space-separated string, hence we cannot use
appendVarFlag() here. This fixes a traceback when parsing the gcc recipe
with externalsrc enabled, for example.
(From OE-Core rev: 47c1ff11a9b8b1e9f40ffb2b3d387252200cf0ec)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It turns out that there are folks out there who use externalsrc in
normal builds and don't really need to be warned; additionally within
the extensible SDK or when using devtool, it shouldn't be a warning
situation. Thus, scale it back to a note (we can't use bb.note() here
since that wouldn't actually be piped through to the bitbake UI). Also
touch up the message a little bit.
(From OE-Core rev: 87bedd137a77c5ac0033a1de4587c40dbe93e81d)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is not actually used for anything - I thought that we would need to
use it within devtool to set global configuration, but we're able to do
everything we need within the bbappends it creates, which also saves on
parse time. If we're not going to use work-config.inc let's just drop it
completely.
(From OE-Core rev: 84a1f82acd3b6ebb3c073aae6b996d2203dad2ce)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Provide the ability to define a function containing extra configuration
values to be added to the local.conf file that goes into the SDK. For
example, this could be used to set up SSTATE_MIRRORS within the SDK.
(From OE-Core rev: ef7001232ac2da8ee63ec568d1abba13e4fd4382)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If you ran the extensible SDK installer file with sh (instead of bash),
then the additional call to buildtools environment setup, extension of
PATH to support running devtool, and setting of OE_SKIP_SDK_CHECK
weren't being added to the end of the script. This is because apparently
bash is happy to expand wildcards in the target of a redirection, but
bash running in POSIX sh mode won't (although it apparently does work on
the sh command line rather than within a script run as an argument to
sh). In any case using a wildcard here is a bit of a crutch which we
don't need, so replace it with the proper path to the environment setup
script.
(From OE-Core rev: ba0f6b6ec32275329ebbb7c27f661c027b7a921d)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fixes b6e64de541b37 "Restore compatibility with previous UBI filesystems"
The multivolume UBI code creates symlinks for each volume. If the volume name
is empty, it will create a symlink that the rootfs code will attempt to
create again later, resulting in a crash like this (unless IMAGE_LINK_NAME
is blank):
ERROR: Error executing a python function in .../recipes-core/images/my-image.bb:
File: '.../oe-core/meta/lib/oe/image.py', lineno: 203, function: _create_symlinks
*** 0203: os.symlink(src, dst)
Exception: OSError: [Errno 17] File exists
To prevent this from happening, only create symlinks to volumes that have
a name, and let the rootfs script create the default symlink later.
(From OE-Core rev: fce257892488b9ef537526ccf412e9deda37c439)
Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add nios2 target to valid arch list definition.
Based on previous work by Walter Goossens <waltergoossens@home.nl>
at https://github.com/wgoossens/meta-nios2 .
(From OE-Core rev: f0af7d0d9316a6eeacc0686b8c4640491f255883)
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Walter Goossens <waltergoossens@home.nl>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add support information for the Altera NIOS-II soft processor.
Based on previous work by Walter Goossens <waltergoossens@home.nl>
at https://github.com/wgoossens/meta-nios2 .
(From OE-Core rev: 4e8175cf0f0a5b9e75e451b030b73643e7b33791)
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Walter Goossens <waltergoossens@home.nl>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The logic is supposed to avoid following dependencies when we depend on
a target recipe which depends on a native recipe. The problem is, we were
marking the dep (the native recipe) as already processed when we avoided
traversal, meaning that even when that recipe would be pulled in via
a different dependency, we skipped it there too, and whether it was skipped
entirely depended on the non-deterministic dep processing order. If the first
one to be encountered was via the indirect target dep, it wouldn't end up in
configuredeps, otherwise it would.
As we want to avoid traversing that particular dependency relationship, not
*every* dependency on the native, we should continue, but not add it to done,
so it can be traversed from other avenues.
This fixes an intermittent bug in some of my non-GPLv3 builds, where one
dependency upon gettext-minimal-native was skipped, but others should not have
been, resulting in it being removed from configuredeps entirely, and no
gettext macros being available.
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
(From OE-Core rev: e6d4f8198a8708f54fc17333ae643b51ed9100b6)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The SIGTERM introduced another break into runexported test,
the handler is in the class TestContext while exporting it
will try to convert the singnal handler to JSON, and this
will throw an exception.
The SIGTERM handler is not needed in the exported test, so this
change will remove the handler before exporting the test. Also
when a test is exported the target is not deployed/started
anymore, it is not necessary.
[YOCTO #8239]
(From OE-Core rev: 94ab9892e87f159840432fdbfb3873d4496d4786)
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* it was causing QA checck name to be shown on separate line like this:
sblim-sfcCommon-1.0.1: sblim-sfcCommon-dev doesn't match the [a-z0-9.+-]+ regex
[pkgname]
(From OE-Core rev: 8df8b942fa570de42910dcd8a1416063cbe1ddbe)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* show PN as other QA checks
* strip PKGDEST prefix from shown path as other QA checks
(From OE-Core rev: 39b1bca459d52b58ca055604b5012d9a411e3a59)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* there is PN at the beginning, then possibly long list of files and
at the end we don't see which recipe has this issue, add another
line which says which PN and how many files
(From OE-Core rev: 32412ac530bcf286980a6f9c7367df4944dd603a)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Sometimes an "image" may not actually have a manifest file such as when
using a "baremetal kernel". This change allows for a user to set a
IMAGE_NO_MANIFEST flag to 1 in order to inform the code that there is no
corresponding manifest that should exist for an image.
(From OE-Core rev: 78f5c3cb3971c31a950deb5cab8992f3ba577440)
Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
${B} is the default cwd of tasks, so there might be race issues such as:
| mkdir: cannot create directory `${B}': File exists
[snip]
NOTE: recipe perf-1.0-r9: task do_configure: Failed
(From OE-Core rev: 72682d72b52355c3fed947167ca3c6064340ead1)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We want do_rootfs to rerun if the fstype or compression commands or
dependencies change for any of our configured fstypes (IMAGE_FSTYPES).
IMAGE_TYPEDEP isn't explicitly handled, as it's traversed already, so the end
result will change if it does, and we only really care about the results, not
how we got there. This uses oe.image.Image()._get_image_types() to get the
info about the image and compression types in use.
(From OE-Core rev: a3473d1ee30f8ec688d57dddb6e3c2b887194384)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When installing backport modules they stumble upon each other, complaining with
the following error:
ERROR: The recipe python-backports-ssl is trying to install files into a shared
area when those files already exist.
This is the correct behavior since thats just the way they were designed, all backport
modules provide an __init__.py file (the same among all packages), and without it they
simply wouldnt work.
distutils handles FILES_${PN}* variables for python packages, but it uses wildcards
to include the required files, hence removing the __init__.py files from each backport
package during build time is impossible since it doenst actually contain that value,
this patch simply removes the __init__.py* files from the staging area if they already
exist on sysroot, this way, these are not included in FILES_${PN} anymore, fixing the
issue mentioned above.
[YOCTO #8207]
(From OE-Core rev: e607a89267949b3d5e199b139f752db6000eac25)
Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Support for multiple ubi images has broken dozens of machine deployment scripts
in two ways:
Previously, ubi filesystems would be named $IMAGE_NAME as one would expect. The
current version would append "_rootfs" to that name for no reason. Fix it so that
the name for ubi images remains unchanged if there is only one image to build.
Machines would append to IMAGE_CMD_ubi, adding extra image processing of their
own. This is broken now that IMAGE_CMD_ubi became a variable instead of a function.
Make IMAGE_CMD_ubi a function again, this also makes for more logical quotes (I
was surprised to find that " within " would even work).
(From OE-Core rev: b6e64de541b37bc5c558c4ad362a0467291a5609)
Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
On qemumips, some tests are slow to the point of the autobuilder appearing
hung. We therefore specifically exclude buildsudoku but to do this, we need
to list the tests we expect to work on core-image-lsb-sdk.
(From OE-Core rev: cf03765705c6cd26c1a904b62b9aca8f914f44aa)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
aarch64 sets OLDEST_KERNEL to 3.14. This stops the aarch64 SDK installing on
anything with an older kernel which is clearly incorrect.
I attempted to extract the correct non-overridden version from the data store
but it proved problematic and I was running into data store issues. Those
are a separate problem but there isn't time to fix this right now.
Instead just code the SDK kernel version separately to work around this for
now (and fix the autobuilder tests and SDK usage).
(From OE-Core rev: 522ba4c51fff53566678b2689d0d63c393e417b3)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently if the SDK fails to extract, no error is shown and the test is marked
as passed! Clearly this is incorrect, fix it to correctly raise an error.
(From OE-Core rev: fb2235a21e45fa1a47c3b7a9a6a72c515ef10dd1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This reverts commit 56c5fa106eeccda2ca92dbeb73ff01ba40992e7d.
(This fix was incorrect and there is a better fix due to be merged)
(From OE-Core rev: 21e044d92e927639a574c43cf7778e31f2e66377)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It is useful in a few different contexts to see which files have been
written out by an sstate task; break out a function that lets us get the
path to the manifest file easily.
(From OE-Core rev: 090196dd2d8f4306b34b239e78c39d37cc86034c)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Only fetch remote signatures if verification has been enabled, as otherwise the
fetcher throws errors that sstate.bbclass can't ignore.
[ YOCTO #8265 ]
(From OE-Core rev: aa8ba5c4af2636dbc2d0c1ad9c230e8aa26d9962)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This reverts commit 8ca8e2e5bf4a9f01dc48300149a8e1d71d715400.
Further testing showed the kernel does not support root=UUID; it is
something typically handled by the initramfs.
Because boot-directdisk.bbclass cannot know whether it is using a
suitable initramfs, root=UUID cannot be the default. Instead, it will
have to be set in image recipes on a case-by-case basis.
(From OE-Core rev: 8478024bd25651aa866d4582dcc193d51553554a)
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
As most upstreams don't have installable test suites it's fairly common to copy
files directly out of a source tree for ptests, but this results in files in the
recipe being owned by the user running bitbake:
WARNING: QA Issue: .../sed/4.2.2-r0/packages-split/sed-ptest/usr/lib64/
sed/ptest/testsuite/bug-regex21 is owned by uid 1000, which is the same
as the user running bitbake. This may be due to host contamination
[host-user-contaminated]
Instead of needing to fix this in every recipe that has this problem simply
chown the files to root:root in do_install_ptest_base.
(From OE-Core rev: 552daf60c58784c8f1acc12c5a443a44a922f743)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
provide the nfs-client IMAGE_FEATURES, to ease a user to only
install nfs client related files to image
(From OE-Core rev: bbdc808a8ea76369a36473c906991e25ca49c323)
Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We really do not want our (external) source tree to be removed. There
might be multiple values in the 'cleandirs' varflag pointing to our
source tree - causing it to be wiped out. This patch improves the
filtering of 'cleandirs' by examining the expanded values inside it. Any
(expanded) values pointing to our source tree get removed.
(From OE-Core rev: eec871fe405e140a1919999fe2f4cf24f1839e5d)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The sstate URI is relative to begin with, so it's completely valid to want to
alter it in a way that keeps it relative using a mirror, and I have real world
cases where this is causing issues. Remove the warning.
(From OE-Core rev: 6d20514b1289212991b4945ad267f85960dc945c)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The do_install_ptest_base task wasn't running in the fakeroot environment so
files installed by do_install_ptest were often not owned by root:root but the
user running the builds.
(From OE-Core rev: 56c5fa106eeccda2ca92dbeb73ff01ba40992e7d)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If externalsrc is enabled the 'do_unpack' task is run if the recipe has
some local source files. In the case of kernel recipe this caused the
(externalsrc) source tree to be moved/symlinked. This patch prevents the
behaviour, making sure the source tree is not moved around when
externalsrc is enabled. Instead of moving the source tree,
STAGING_KERNEL_DIR will be a symlink to it.
[YOCTO #6658]
(From OE-Core rev: 8f6c564661a3801012eb2d9a98cdc99c91712367)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Make sure that 'do_unpack' is executed before 'do_kernel_metadata'.
Enabling externalsrc for kernel disables 'do_validate_branches' task
which caused 'do_kernel_metadata' to fail as the dependency chain to
'do_unpack' got broken.
[YOCTO #6658]
(From OE-Core rev: 8939ea428f642fd6fa48807ded1f9040f09ed375)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kernel metadata repository needs to be fetched/unpacked into the work
directory in order to build the kernel. Sources pointing to a remote
location are skipped by externalsrc by default which caused kernel build
to fail (because of remote kernel-meta was not made availeble). This
patch will make kernel-meta always available.
[YOCTO #6658]
(From OE-Core rev: b746280c955f48835d119f3fe637876faae6df97)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Enable updating the installed extensible SDK from a local or remote
server, avoiding the need to install it again from scratch when
updating. (This assumes that the updated SDK has been built and then
published somewhere using the oe-publish-sdk script beforehand.)
This plugin is only enabled when devtool is used within the extensible
SDK since it doesn't make sense to use it next to a normal install of
the build system.
E.g.
devtool sdk-update /mnt/sdk-repo/
devtool sdk-update http://mysdkhost/sdk
(From OE-Core rev: 32cbd4c57fc8ca097a18929fc404c07322ef36dd)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When publishing SDK, what we want is basically its metadata and sstate
cache objects. We don't want the SDK to be prepared with running bitbake
as it takes time which reproduces meaningless output for the published SDK.
So this patch adds an option to allow for SDK to be extracted without
preparing the build system.
(From OE-Core rev: 7511862faad1c28804e2410ff42747c8706c5207)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These dependencies were deliberately removed because it was assumed that
they were provided by nativesdk packages. On the one hand, nativesdk packages
in extensible SDK don't have these packages; on the other hand, even if we
add these nativesdk packages, they are still not useful because we we need
runqemu to run correctly.
So we don't remove these native qemu dependencies.
(From OE-Core rev: 526537404d5a07189d4c6859f4a572d2107dbfd8)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Copy the contents of local.conf under TOPDIR into the final generated
local.conf. In this way, custom settings are also made into the final
local.conf like IMAGE_INSTALL, DISTRO_FEATURES, VIRTUAL-RUNTIME_xxx,
etc. Comments and blank lines are filtered out.
Before this change, installing extensible SDK would usually report failure
when preparing the build system if the user has custom configuration for
DISTRO_FEATURES in local.conf. Also, items in IMAGE_INSTALL_append in
local.conf also don't get built correctly.
This patch solves the above problem by making use of bb.utils.edit_metadata.
In addition, we check to avoid any setting that might lead to host paths
bleeding into the SDK's configuration. Basically, variables with values
starting with '/' are removed. A whitelist mechanism is introduced so that
users could specify variables that should not be ignored. The name of the
whitelist is SDK_LOCAL_CONF_WHITELIST.
The SDK_META_CONF_WHITELIST is removed as it's of no use after this
change.
SDK_LOCAL_CONF_BLACKLIST can be used to prevent copying specific
variable settings to the extensible SDK's local.conf; the default is to
exclude PRSERV_HOST (since this is likely to be internal). Similarly,
SDK_INHERIT_BLACKLIST to forbit local.conf in SDK to inherit certain
classes such as 'buildhistory' or 'icecc' that would not normally make
sense in an SDK environment.
[YOCTO #7616]
(From OE-Core rev: 0dda443bfa5c42f327d8d0ed7b23af11c156a60e)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If we do `bitbake buildtools-tarball' and then after one day do `bitbake
core-image-minimal -c populate_sdk_ext', we would meet errors like below.
| install: cannot stat '/buildarea2/chenqi/poky/build-systemd/tmp/deploy/sdk/
poky-glibc-x86_64-buildtools-tarball-core2-64-buildtools-nativesdk-standalone
-1.8+snapshot-20150429.sh': No such file or directory
The problem is that the output name for buildtools-tarball has ${DATE} in it.
So if populate_sdk_ext task is executed but buildtools-tarball is not rebuilt,
the above error appears.
Instead of hardcoding ${DISTRO_VERSION} which consists of ${DATE} in the
install_tools() function, we should find the latest buildtools-tarball based
on the modification time and install it.
[YOCTO #7674]
(From OE-Core rev: fa708504d71e0b01ee97a172ac17ad16a9e3b897)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Only poky sets SDK_NAME to include ${IMAGE_BASENAME} (i.e. ${PN}), so we
can't assume the buildtools filename will include it here. Change it to
look for a file with "buildtools-nativesdk-standalone" in the name
(the buildtools-tarball recipe itself sets TOOLCHAIN_OUTPUTNAME to
include this.)
(From OE-Core rev: 78ea4fcdea468888c0faef22a95dea7015a91df2)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Extensible SDK cannot be installed as root so by default offer to install it in
user's home directory under distro/distro_version replacing the normal SDK
version '+' char with a '_' as that's a restricted character for bitbake
(From OE-Core rev: 5486e76cd8abb946b81cff78719d67cfb87cddc6)
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In the current state if a SIGTERM is sent to
the testimage worker, the worker will exit but
runqemu and qemu won't exit and the processes
need to be killed manually to free the
bitbake lock.
This allows to catch the SIGTERM signal in
testimage, this way it is possible to stop
runqemu and qemu and allow to free the bitbake lock.
Also this allows to skip the rest of the tests
when running the tests in qemu or real hardware.
This also solves minimal breaks in the setup of the
runtime test when checking if qemu is alive.
[YOCTO #8239]
(From OE-Core rev: 2694d2f17d597b44fcc7aed5f6836081fa88a6b3)
Signed-off-by: Benjamin Esquivel <benjamin.esquivel@linux.intel.com>
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
To provide some element of integrity to sstate archives, allow sstate archives
to be GPG signed with a specified key (detached signature to a sidecar .sig
file), and verify the signatures when sstate archives are unpacked.
(From OE-Core rev: 237b6c51b42b0c64434dc45685e10f757ac939c2)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This changes the default SYSLINUX_ROOTFS such that the rootfs is no
longer expected under a fixed device path. Instead, the UUID is used
to find it. This makes the resulting .hdddirect (and thus also the
vdi/vdmk/qcow2 images derived from that) more flexible.
(From OE-Core rev: 8ca8e2e5bf4a9f01dc48300149a8e1d71d715400)
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
As mentioned when introducing the VM images
(https://bugzilla.yoctoproject.org/show_bug.cgi?id=7374), the
resulting images only work when the image is mounted as a disk that
results in the hard-coded path (/dev/sda in the current
default). Using the file system UUID to find the rootfs is more
flexible.
To enable this for boot-direct.bbclass and thus image-vm.bbclass (aka
FSTYPEs vdi/vmdk/qcow2), set SYSLINUX_ROOT =
"root=UUID=<<uuid-of-rootfs>>". The rootfs image must use an ext file
system.
The special string will get replaced in the APPEND line with the
actual UUID when the boot loader (grub-efi, syslinux or gummiboot)
writes the boot loader configuration files. At that time, the rootfs
image has already been created and its UUID can be extracted using
"tune2fs -l", which also should be available because the
e2fsprogs-native tools were needed to create the image in the first
place.
(From OE-Core rev: 1e29d77d0d33ee216b43022439876863f0db39bb)
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Set INITRD_IMAGE to automatically add a custom initramfs to the boot
partition.
(From OE-Core rev: 7fa76bd923fd643cf0984077321d6064d8ec3a2b)
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some of the SYSLINUX defaults are the same as in the underlying
syslinux.bbclass. Let's not duplicate them, because that makes
changing the default harder.
(From OE-Core rev: 7418709450e428010545dc9943802dd64c9582e1)
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* otherwise whole build report submission is rejected because it's too big
(From OE-Core rev: 3544b4d4d72330eb12bb3cda25cb99ed52c8a2eb)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If a test case is decorate by oeqa.utils.decorators.tag, this case will
by add a tag, testrunner will filter these tags by TEST_SUITES_TAGS
[YOCTO #7849]
(From OE-Core rev: 085589b1018ba4d950baf7bcfb499be02c1b29fc)
Signed-off-by: zjh <junhuix.zhang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This function is intended to be used in ROOTFS_POSTPROCESS_COMMAND, and checks
for any paths outside of /home which are owned by the user running bitbake.
(From OE-Core rev: 72903f7534cccad35886f2cad8aac98a59392ec7)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- Add a test which checks for any paths outside of /home which are owned by
the user running bitbake.
- Add the test to WARN_QA by default.
This test has been in meta-mentor for some time, and in our ERROR_QA for our
builds, and has caught a number of issues for us.
(From OE-Core rev: 1854dc60a4c7e97f0d6d26208fd42bf0dc1bfa7f)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If any tests listed in FAKEROOT_QA are enabled (listed in ALL_QA), then
run do_package_qa under fakeroot.
(From OE-Core rev: 1b697a5e92be01725ad20298f54c277c852c974d)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When a BSP uses vmlinux for boot, the kernel-image package is just
empty. But by default the kernel-vmlinux is not installed. Then the
pkg_postinst_kernel-image() would create a symlink to a non-existent
file. Fix this by adding the runtime dependency on kernel-vmlinux for
kernel-image if the KERNEL_IMAGETYPE is "vmlinux".
(From OE-Core rev: bd8b9bc716774a8f8b4b97ece5c7b2eb58aa2330)
Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Check if invalid characters are present on recipe's metadata. Fields
taken into account are: 'DESCRIPTION', 'SUMMARY', 'LICENSE' and 'SECTION'.
(From OE-Core rev: f006296c88bacd3ee18559dedf3a1ff313cde8a4)
Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch adds a new bbclass for generating rpm packages that are
signed with a user defined key. The packages are signed as part of the
"package_write_rpm" task.
In order to enable the feature you need to
1. 'INHERIT += " sign_rpm"' in bitbake config (e.g. local or
distro)
2. Create a file that contains the passphrase to your gpg secret key
3. 'RPM_GPG_PASSPHRASE_FILE = "<path_to_file>" in bitbake config,
pointing to the passphrase file created in 2.
4. Define GPG key name to use by either defining
'RPM_GPG_NAME = "<key_id>" in bitbake config OR by defining
%_gpg_name <key_id> in your ~/.oerpmmacros file
5. 'RPM_GPG_PUBKEY = "<path_to_pubkey>" in bitbake config pointing to
the public key (in "armor" format)
The user may optionally define "GPG_BIN" variable in the bitbake
configuration in order to specify a specific gpg binary/wrapper to use.
The sign_rpm.bbclass implements a simple scenario of locally signing the
packages. It could be replaced by a more advanced class that would
utilize a separate signing server for signing the packages, for example.
[YOCTO #8134]
(From OE-Core rev: 75f5f11b19ba1bf8743caf9ee7c99a3c67f4b266)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently it is not possible to run a exported test,
but this patch will allow to use the HosDumper class
when running a exported test, otherwise the HostDumper
class will break runexpored test.
[YOCTO #8118]
(From OE-Core rev: 25814dbdd12db0499e4d81876873158e1b8a4fcc)
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Remove mirror sites that no longer exist
* Update the gnutls.org path so the gnupg mirror gets used
(From OE-Core rev: 13012c4621604947895c312ab612a0f8d4993e87)
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A sanity check fails when TMPDIR has setuid, setgid set. It was
proposed to fix this on TMPDIR creation instead of failing with
a sanity test only. This patch handles removal of those special
bits (and additonally, the sticky bit) from BUILDDIR and TMPDIR
when these directories are created.
[YOCTO #7669]
(From OE-Core rev: 8236d57439640a185c0226312cd4903a3ce2f53b)
Signed-off-by: Alex Franco <alejandro.franco@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Write set of bitbake variables used by wic into
build/tmp/sysroots/<machine>/imagedata/<image>.env
List of variables is defined in WICVARS variable in
meta/classes/image_types.bbclass.
This is needed for wic to be able to get bitbake variables without
running 'bitbake -e'.
(From OE-Core rev: 861ce6c5d4836df1a783be3b01d2de56117c9863)
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
wic image type is used to produce partitioned images.
Image configuration should be stored in either <recipe>.<machine>.wks
or <recipe>.wks file.
.wks file should be put to the same location as image recipe
and have the same name.
[YOCTO #7672]
(From OE-Core rev: 3658a3278a3752d4aa72cdff4aa8c9f5e1d90f93)
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This allows to have datastore variables in the dump
commands and will get the data when a new instance
it's created.
Also this remove special cases from the commands.
[YOCTO #8118]
(From OE-Core rev: 384927eb8d52bc5f14c63c8421aa62ee859587f0)
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It makes sense to separate the dump commands from the
oeRuntimeTest class, this way it can be used in all
the test context.
These are the changes included in this patch:
- Created classes: BaseDumper, HostDumper, TargetDumper
- Create an instance of HostDumper in imagetest.bbclass
and add it to TestContext class, this way any class
that have access to the TestContext would be able
to dump logs from the host
- Create an instance of TargetDumper in QemuTarget
class after get the runner, this way it is
accessible during the tests.
[YOCTO #8118]
(From OE-Core rev: ad10af6be343b5425fde43055263b0744c161cb3)
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We have the command in the commit message, we might as well have the
build result as well (succeeded/failed and whether or not it was
interrupted by the user). The interrupted part relies upon a change to
BitBake to extend the BuildCompleted event to include an attribute for
that, but will not fail if the attribute is not present.
(From OE-Core rev: 6ca7f5c0d0f024ae5d21368188e3428534cab2a4)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We do already commit these into the repository itself, but have them in
the commit message as well as a reference. As part of this, refactor out
running "git commit" into a separate function so we don't have to
duplicate the code in the two places we call it.
Implements [YOCTO #7966].
(From OE-Core rev: c77a068e534b274dee7fb8a2399ecafd33da0587)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Avoid an error when attempting to remove previous data if it's not a
subdirectory - we were assuming that anything that wasn't named "latest"
or "latest_srcrev" had to be a directory. This makes it possible to have
a buildhistory_emit_pkghistory_append which writes additional files at
the recipe level.
(From OE-Core rev: b018a046a578e41b105cf72b9fdeed0220ae3046)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If we want the correct file permissions to show up here as they would on
the target, we need to run the command under pseudo. Normally we'd set
the fakeroot varflag on the function and that would be enough, but it
turns out that setting fakeroot on a non-task function that you execute
using bb.build.exec_func() isn't working at the moment. Work around this
by simply using FAKEROOTENV and FAKEROOTCMD. Unfortunately that means we
have to duplicate the command for the two cases but I couldn't find a
better means of doing that that actually works.
(From OE-Core rev: 1380aa333ed90559f4a24d52aefc52cadb60646c)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Avoid using ${...} for shell variables (since they could be
expanded as bitbake variables if present)
* Use files-in-package.txt rather than files-in-<packagename>.txt; the
file is already in a subdirectory named with the package name and this
naming is consistent with that of files-in-image.txt.
(From OE-Core rev: 6f3992728613c39403ef59bbcf1cb67d9e8c526b)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Shell functions use tabs in this file.
(From OE-Core rev: 14eba06baacca25213e35afa7bfd126fc1f5586a)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We don't care about the permissions on the top-level directory in which
the files are contained, just everything under it; this also avoids
lists with just this entry in it for empty packages. Affects file
listings for both images and packages.
(From OE-Core rev: d503122646b1b148113a4be31b7e88723459dae6)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If there aren't any changes, we still make a commit to the buildhistory
repo, but this wasn't being pushed if BUILDHISTORY_PUSH_REPO is set.
Move the push to the end to make it unconditional.
(From OE-Core rev: af2fc914975d06fdd75a65d4b00cf9f5c1610528)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch modify three files altought two of them
are minimal modifications. This version includes
the changes proposed by Paul.
testimage.bbclass:
Create new vars for easy modification of the dump
directory and commands to be run on host and target
when a test fails
TESTIMAGE_DUMP_DIR: Directory to save the dumps
testimage_dump_target: Commands to run on target
testimage_dump_host: Commands to run on host
oetest.py:
- Allow to use the vars defined in testimage class
- Now able to run commands in the host and dump the
results
- Fix an issue with the condition where to run the
dump commands (Before it run the commands every
test after a failure, now it runs the commands only
in tests that failed)
- Fix the output to stdout
[YOCTO #8118]
(From OE-Core rev: 26fe645457633f90bb5ddbb12f5f7b9ca4a06cc5)
(From OE-Core rev: 7b4fbbf979ed22434b8e3f83ae145139bb0d9fc7)
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
CONFIGUREOPT_DEPTRACK can not be overridden since it is set by =
(From OE-Core rev: 758abeb219520ab5556186babcdb7e6660ce6e40)
Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changes to OVERRIDES (e.g. from changing MACHINE) should not change
the sstate signatures of do_package_write_*. Exclude the variable
explicitly in the package classes to avoid this.
(From OE-Core rev: 5826a9260138c437f87ba1a9f84d5c08442b997d)
(From OE-Core rev: 59ccabdfb59a3e0917585dafab7a1e7c71330996)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The sbindir vs bindir separation really doesn't mean much in this context, and
toolchain-scripts.bbclass doesn't add sbindir to the PATH, so set the former
to the latter.
(From OE-Core rev: 51a19850700bd96e3d2e104e1626aceb73a48e72)
(From OE-Core rev: 24b80d211f3808a0ffebee426932f11b8d4d46e0)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
update-rc.d doesn't just want an initscripts package, it wants
initscripts-functions. In the case where VIRTUAL-RUNTIME_initscripts is set to
nothing, update-rc.d still needs initscripts-functions to satisfy its runtime
dependencies. Further, we shouldn't be using a *runtime* virtual in a *build
time* variable. This should resolve image creation failures with
configurations without sysv initscripts when a recipe inherits update-rc.d and
doesn't inherit systemd.
(From OE-Core rev: e6642ae0849e5ac3174c643a7693af25d829d6d1)
(From OE-Core rev: 833302761df924bb503cc2ad04ecae1023381f8f)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently, FEATURE_PACKAGE_<feature> isn't in any vardeps, so changing the
packages for a feature won't change the checksum for do_rootfs. Rather than
explicitly adding those to vardeps, just use the expanded form of
FEATURE_INSTALL and FEATURE_INSTALL_OPTIONAL, so the actual list of packages
from the features goes into the checksum.
(From OE-Core rev: fdd1669e04bd8219344b1896b9d9c6a187e4f84e)
(From OE-Core rev: 9697d13e48633515b80b2ab9bab84ca54ce3ed48)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Increase sparse image block size when ROOTFS_SIZE is smaller than
the minimum needed for ext4 to fit into it.
[YOCTO #7664]
(From OE-Core rev: 6938791ff97a23430afb4aa16d71aa8729a12ead)
Signed-off-by: Alex Franco <alejandro.franco@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A few short fixes to splitting/iteration done over package lists
in license.bbclass, package_manager.py and rootfs.py.
[YOCTO #7664]
(From OE-Core rev: a902e98c5938f52ec960e0518e0ceaf8f5ee610c)
Signed-off-by: Alex Franco <alejandro.franco@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The rpm process replace all the "%name" in the spec file by the name of
the package. So, if the package is composed of some files or directories
named "%name...", the rpm package process failed.
Replace all "%" present in files or directories names by "%%%%%%%%" to
correctly escape "%" due to the number of times that % is treated as an
escape character. Jeff Johnson says this is the Right Thing To Do.
[ YOCTO #5397 ]
(From OE-Core rev: 5ed1c7f556df3fafd45d493010cc0bbe74d05ebd)
Signed-off-by: Sébastien Mennetrier <smennetrier@voxtok.com>
Signed-off-by: Michaël Burtin <mburtin@voxtok.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
nativesdk has been a prefix rather than a suffix for some time now.
(From OE-Core rev: 940b9d1736dbe63f80b9d46b2b9b1cea77ed35f1)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
cmake expects target architecture strings in the format of uname(2),
which do not always match TARGET_ARCH (e.g. powerpc vs ppc).
(From OE-Core rev: 7c61d022aa9bbba3c2f8a2df46eeb19e2772c89a)
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Upstream, xz has been the only format for some time now, so let's
make it the default and adjust recipes that package old stuff.
(From OE-Core rev: 0f9ea90dde8f63aace19531e066580e41bf3d7cc)
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We redefine LD to point to ld.bfd when building kernel, which works in
most cases since kbuild system calls out for bare LD most of the time,
however some of newer kernels e.g. 4.1+ have some code added which can
call gcc directly to do the linking job e.g. arm vdso code
This causes build failures when we have configured the default cross
toolchain to use gold linker as default. Errors like
BFD: arch/arm/vdso/vdso.so: Not enough room for program headers, try
linking with -N
| arm-angstrom-linux-gnueabi-objcopy:arch/arm/vdso/vdso.so[.hash]: Bad
value
start happening.
With this patch we force gcc to choose bfd linker as well
(From OE-Core rev: 5724e4d245f142ac6fb1ea211503fd220683354d)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The gnome class is really a convenience class to include other classes, so move
the introspection arguments into gnomebase.bbclass.
(From OE-Core rev: ad7073194546c16a5612924eb59152b35de6f340)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Often configure scripts or Makefiles that use the stub scripts written by
binconfig-disabled fail mysteriously with no obvious problem. Attempt to solve
this by writing an error to stderr which hopefully makes it to the logs.
[ YOCTO #8169 ]
(From OE-Core rev: c38acd720b3f6ffbeb544063692eb471dada8593)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Allow UTF-8 characters on control files. Also handle an expection
in case of invalid characters (non UTF-8).
[YOCTO #6693]
(From OE-Core rev: 4096f3c5d309161999adc996fdfa7526e5504366)
Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In recipes that are exempt from source code archiving due to
COPYLEFT_LICENSE_EXCLUDE, do_deploy_archives does not have a transitive
dependency on do_unpack. Given enough parallelism, this means
do_deploy_archives can run at the same time or before do_unpack.
Because do_deploy_archives did not specify a working directory, its
working directory was ${B}, which defaults to ${S}, which may be set by
a recipe to a directory that is created by do_unpack.
In this case, do_deploy_archives can fail because do_unpack deletes and
re-creates the directory and do_deploy_archives cannot change into the
non-existent directory. Avoid this problem by explicitly specifying
a working directory for do_deploy_archives (and for
do_deploy_all_archives as well for good measure).
(From OE-Core rev: e22685ff11af6d54c939aa8f327a0aaa1557fbbc)
Signed-off-by: Clemens Lang <clemens.lang@bmw-carit.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Usually, the host's tar command is sufficient. However, special cases
like archiving xattrs depend on a modern GNU tar version. The new
IMAGE_CMD_TAR makes that possible, with xattrs given as example.
(From OE-Core rev: d8db122114f4d0600b662f79b3673108b4b6c0b7)
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The following IMAGES_FSTYPES defaulted to ext3:
"vmdk", "vdi", "qcow2", "live", "iso", "hddimg"
This patch changes the default for those IMAGES_FSTYPES to
ext4 in order to bring the images more in line with other BSPs.
Besides improvements in performance and reliability ext4 provides
additional functionality as well (option to turn off the journaling,
dynamic resizing of VDI volumes etc.).
(From OE-Core rev: 2b56d671d2f0ef22786c97e29e1215eb80c94490)
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Building uImage fails when KEEPUIMAGE is not "yes".
Remove wrong removal of linux.bin before compressing it.
(From OE-Core rev: ed5c6a0c80bac092e98f4d68dbc9cad77701bc7e)
Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Include by default all the files needed to perform checkpkg task.
These files are copied from meta-yocto because they refers recipes in
oe-core, the only missing file are maintainers.inc because it needs
consensus between OE-Core and Yocto project to define a common set of
maintainers.
[YOCTO #7895]
(From OE-Core rev: 973f898e15cf6d1b6715d08da9dc740ee040e0dc)
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This deletes and therefore breaks PACKAGECONFIG[doc], so revert.
This reverts commit b741780d43.
(From OE-Core rev: 45cff248f5f9f4fb2498c34963e6652cc1166737)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Menuconfig is sometimes not the most convenient way to configure a
kernel, as the default color scheme can be hard to read. This variable
gives you access to the MENUCONFIG_COLOR variable or lets you select
nconfig, e.g. by setting it in your local.conf:
KCONFIG_CONFIG_COMMAND = "MENUCONFIG_COLOR=mono menuconfig"
or
KCONFIG_CONFIG_COMMAND = "nconfig"
(From OE-Core rev: fd8880aee4f0f8a535616ef312b283f401f64c7c)
Signed-off-by: Stefan Müller-Klieser <s.mueller-klieser@phytec.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Older kernels (e.g. 2.6.32) don't create an include/generated directory,
so check that the directory exists before trying to copy files from it
in do_shared_workdir().
(From OE-Core rev: 5bebaf37429c28134aeb6fd261e282e9a0397771)
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This change makes broken symlinks stand out clearly instead of bitbake
failing with odd error messages. Tested locally with broken symlink
as SSTATE_DIR, DL_DIR and SSTATE_MIRROR.
Change-Id: I2e92702237ab3bdb897d0bdefcf33480aabbc288
(From OE-Core rev: f635b9c00aa8a69130e471b9507f263a1ba081ff)
Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It may be possible that some bootable images do not use a rootfs; this
may be the case if the bootable image utilize only an initrd for all its
needs.
If there is not rootfs, the size calculation will fail. Furthermore, given
that the iso9660 conformance level is determined using the size of rootfs,
it makes sense to not make the calculation if there is not such rootfs.
(From OE-Core rev: 57064ac9ccd8a3783789d11feb5a51351cd924bf)
Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use bbnote rather than bbwarn when the user exists, otherwise we would
always get the warnings when rebuild the recipe or build with mulitlib,
everything is OK if the user exists, so it should not be a warning.
(From OE-Core rev: c0da4270c76375a7a8cbcc09319fe4570ebbc5bd)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Print PN will help debug:
WARNING: openssh: user sshd already exists, not re-creating it
Which is better than:
WARNING: user sshd already exists, not re-creating it
(From OE-Core rev: cfde8621d18967dee71042e02b8d6db5661df3da)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The FOO[doc] is set in meta/conf/documentation.conf, we need remove it
from d.getVarFlags()'s return dict when it causes many loops.
(From OE-Core rev: 595a7af8d0a52b24e2bdb5c373c64d27b54bb25b)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There was a problem when check invalid PACKAGECONFIG in the anonymous
function (when parsing), for example, there are two versions of a
recipe:
foo_1.0.bb
foo_2.0.bb
While foo_2.0.bb has a "PACKAGECONFIG[item] = 'x,y,z'", but foo_1.0.bb
doesn't, if we set PACKAGECONFIG_pn-foo = "item" in a conf file, we
would get the warning about invalid PACKAGECONFIG for foo_1.0.bb. Delay
the checking to build time will fix the problem.
[YOCTO #8065]
(From OE-Core rev: 0a64dfcdb9f5a37771f881895be230392c4d0aff)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Not all hosts are running sufficiently new coreutils.
(From OE-Core rev: 3a813f277f8daa7686e26edc87f6a88724adde4e)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We need to be able to tell people if we WHITELIST a recipe
that contains an incompatible licese.
Example: If we set WHITELIST_GPL-3.0 ?= "foo", foo will end
up on an image even if GPL-3.0 is incompatible. This is the
correct behaviour but there is nothing telling people that it
is even happening.
(From OE-Core rev: c9da529943b2f563b7b0aeb43576c13dd3b6f932)
Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use canonical_license when doing evaluation of license expresion since
INCOMPATIBLE_LICENSE are already canonized.
[YOCTO #8080]
(From OE-Core rev: 799b25e09a149303edc1c098935f38a438878a95)
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It's already taken care of in meta/lib/oe/recipeutils.py
(From OE-Core rev: f7d0c03dc3cbfb79d22e1d89e31026a97c5b12ae)
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some recipes are available only in the -native flavour, and we need to
check their upstream version too from the command line.
(From OE-Core rev: c63d1a544a3021a4eee2171fc710e71dfa7e6b07)
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
"n32" is a mips64 variant we need to consider when processing the TARGET_OS
extensions. Also add the multilib extensions for mips64.
(From OE-Core rev: fe26f809aaad5d5d608e841c99b817316c5a59a0)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cross packages are built for BUILD_VENDOR/BUILD_OS, rather than
TARGET_VENDOR/TARGET_OS. E.g. there is no point in hardcoding the
target's LIBCEXTENSION and ABIEXTENSION into the STAMPDIR/WORKDIR
variables (set using MULTIMACH_TARGET_SYS).
(From OE-Core rev: 29086fa030d9283261c5840b7ed8227fb419ac3f)
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Our multilib cross toolchains have <ml_prefix> as a prefix however we
only have a single gcc-cross-canadian for each arch and it is not
prefixed even in the multilib case. We can have two versions of
gcc-cross-canadian, 32 and 64 bit.
This fixes the multilib PREFERRED_VERSION mapping code so that
no prefix is added to the preferred version and therefore the
right versions of gcc-cross-canadian are used.
(From OE-Core rev: c4b3540fc2b66730e021dd0b0c89b0fbe9dbf77a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In the same way we map various TARGET_OS options back to the single
cross-canadian compiler, add mappings for the TARGET_VENDOR cases we
know about in the multilib case.
(From OE-Core rev: 753c98324ae82a67104eaf36e7ebf3553ee1dad7)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
MLPREFIX wasn't being set by the function correctly since its
not an overridden value but directly set. Handle this variable
explicitly so the function returns the expected values.
(From OE-Core rev: 99997043d4106cb8a93a5f4512f1ef6f063a1895)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The "bitbake meta-toolchain" comment is dated and incorrect, fix to
point at -c populate_sdk.
If a toolchain contains multiple environment files, iterate them and run
the sdk test suite on each on in turn rather than giving a fatal error and
giving up.
Also improve the debug output so that rather than PN, it also show the
toolchain tarball under test, and the environment file name its using.
Also enable the accidentally disabled cleanup code.
(From OE-Core rev: 44c8b1bd58397db85e6f7bb9a57f0d57d2c69ad5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ensuring the native pixbuf cache is correct after new loaders have
been installed is tricky. This needs to be done without races
and work regardless of whether the build is from sstate or freshly
built for one or more modules.
This adds a hook into base.bbclass which is then triggered by the
code from pixbufcache. This patch is an improved version which
means base.bbclass has no pixbuf knowledge and the mechanism can
be reused in other cases.
(From OE-Core rev: b411085fefc8582d24c172db5f6610705eb44c2f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is needed when we add nativesdk-gcc/binutil to an SDK. Being
present doesn't hurt in other cases.
(From OE-Core rev: b31a75a11f663d13c8089b8abd3a8fd080aa7e9a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gcc-cross-canadian-<arch> is only built once. It needs to target all the
different libcs, not just the currently selected one. This change
ensures that if another libc is used, symlinks are present such that the
compiler can be found. The base version is always assumed to be "glibc"
with symlinks from musl and uclibc compiler names.
This means gcc-cross-canadian is consistent regardless of which libc is
selected when its build in multimachine builds.
[YOCTO #8025]
(From OE-Core rev: 83ead626c0da75edec2833ffb1a29011ec7b83d2)
(From OE-Core rev: ee16cb0a3f40384f509083f0ef3f36b68f73b7cf)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gcc-cross-canadian-<arch> is only built once. It needs to target all the
different libcs, not just the currently selected one. This change ensures
that if another libc is used, the compiler correctly selects the right one.
[YOCTO #8025]
(From OE-Core rev: da2e92e256054b137a1646fdad1fe1a47ba3215a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Running "bitbake xxx:do_unpack" resulted in exception at the
BuildCompleted event from toaster.
The reason for this exception was usage of ':' as a field
delimiter in toasterstatlist file. As target can optionally
contain ':<task>' suffix it caused split(':') to throw exception:
File "toaster_collect_task_stats(e)", line 71, in
toaster_collect_task_stats(e=<bb.event.BuildCompleted object at
0x7f8434deed50>)
ValueError: too many values to unpack
Fixed by changing delimiter ':' -> '::'
(From OE-Core rev: 03d01393d14b7b20dcb40ff89b1628883fd3b545)
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If you build a user of updated-rc.d like udev, as things stand currently
nothing pulls in updated-rc.d but there is a dependency added on the
package at do_package time. This can lead to errors during rootfs
construction either with licensing. The fact its a RRECOMMEND means
the image are not deterministic.
A particularly good test case for reproducing this is:
MACHINE=A bitbake core-image-minimal
MACHINE=B bitbake core-image-minimal-initramfs
and since the second machine can find the package but not the license
manifest, a failure will result.
Extending the DEPENDS is the easy way to fix the issues.
(From OE-Core rev: 164b1b54c4b3127733bcd0a21b379bb6869693cc)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The linux-yocto tree has always been a combined set of kernel changes
and configuration (meta) data carried in a single tree. While this
format is effective at keeping kernel configuration and source
modifications synchronized, it isn't always obvious to developers on
how to manipulate the meta data versus the source.
With this change, we remove the meta data processing from the
kernel-yocto class and use the external meta-data repository that
has always been used to seed the linux-yocto meta branch.
After this change, linux-yocto can no longer process combined trees,
and is simplified as a result.
(From OE-Core rev: 523e4f6a6913b64453579d27a02467e14f7df42e)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add support for qcow2 image format. Implemented in the same way as
the previously existing vmdk and vdi solutions.
(From OE-Core rev: c1f9ed400e4b5fe5be4fac86021dea11a7546035)
Signed-off-by: Christian Ziethén <christian.ziethen@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When building for qcow2 and a dummy kernel, avoid installing
a non existing bzImage.
(From OE-Core rev: 7d476f117c62e532c99abef5728e729b8001fa32)
Signed-off-by: Christian Ziethén <christian.ziethen@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since version 3.0.0 of dosfstools, mkdosfs opens the to-be-filesystem
file with O_EXCL. Since the filesystem is also opened with O_CREAT,
the -C option of mkdosfs can only succeed if FATIMG does not exists.
Thus, delete any previous FATIMG file. The file can be safely deleted
as we are inside build_fat_img because we want to create an new
FATIMG.
(From OE-Core rev: a0d4511d358d427e5271420a74c26cc862c5ed74)
Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Move ROOTFS_POSTPROCESS_COMMANDs from core-image.bbclass to
image.bbclass so that images built using just image.bbclass
will benefit from them. Without this change, an image built
using image.bbclass did not honor read-only-rootfs image feature.
(From OE-Core rev: 2d310470d95f7b387dcde605e4691ee505fc3b4d)
Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The check would be managed using BB_DISKMON_DIRS so this
removes the check from the sanity class.
[YOCTO #8000]
(From OE-Core rev: a1e8fa70f6990926b5db976fa1c333073c4f6d8d)
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently the virtclass override is added too late to be taken into
account when DEPENDS and other variables are processed by the virtclass
extension code. This sets the overrides in a more optimal place, meaning
they are accounted for in variables like DEPENDS.
Recipes in meta-oe like libwmf-native showed the issue.
(From OE-Core rev: e9bfd0583d7796cb9f71ff8762650e057103e3d2)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In some scenarios rpm needs version information from RPROVIDES. We can
add this to the metadata where needed however we need to stop it entering
the ipk/deb packages. This data is not needed due to the way opkg/dpkg
handle the data.
This patch ensures that data isn't used.
(From OE-Core rev: c68b975693c10899ce50b4d8c2aa3985ca890ce3)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Recently, libspeexdsp-dev added RCONFLICTS = "speex-dev < 1.2rc2". where
libspeexdsp is 1.2rc3. That all seems reasonable, except there is a problem.
debian.bbclass renames speex-dev to libspeex-dev and adds a "Provides: speex-dev"
which the packaging backends duly note. The trouble is rpm sees that as having no
version at all. This means that "speex-dev < 1.2rc2" conflicts with "speex-dev"
and the -dev package simply cannot be installed.
We can't simply version all Provides for rpm since some dependencies clearly
shouldn't be versioned (e.g. the locale ones).
The solution that seems to work best is to add the versions in debian.bbclass.
If the backend doesn't like these, the backend can then strip them off
(separate patch does this).
(From OE-Core rev: 8b9df5112443c1b712cb5c63128bebbbd38cd7fc)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since the extensible sdk uses bitbake, which can't run as root, the sdk
shouldn't be installed as root.
Previously it would error out late into setup when bitbake errored
saying not to run bitbake as root.
Now the script errors with a message saying the extensible sdk can't be
installed as root.
[Yocto #7545]
(From OE-Core rev: 309e8f4e536148056223f50637ed291c48d148ca)
Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Rename from gtk-update-icon-cache to gtk-icon-utils to better
reflect the content. Fix references in other recipes and classes
* Upgrade to GTK+ 3.16.4
* Add gtk-encode-symbolic-svg binary: it is used by icon themes
(e.g. Adwaita) to generate png versions of svg icons.
* Depend on librsvg-native for gtk-encode-symbolic-svg
* Add a patch that removes Gdk dependency from gtk-encode-symbolic-svg:
this way the native build stays slim.
(From OE-Core rev: 5f4fe36f735ff8b97c5112b16bd90e794053573d)
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Update sstate_create_package and sstate_unpack_package to remove
redundant initial mkdir and cd commands. The working directory is
now setup correctly before the shell functions are called.
(From OE-Core rev: fd2d50d46e38d86829f88b5884a6fde6c38f155e)
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix a regression caused by the shell message changes - if you run a
shell task's runfile, the task isn't actually running in BitBake and
thus the message FIFO won't exist - so we should just fall back to
printing the message with echo as we did before so that the run files
are still useful.
(From OE-Core rev: 607d3306f7abef057693dcb6aac1f7b26880181d)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Change calls to bbfatal() to either die() or bbfatal_log() where we know
we want the full log to be printed by the UI (calling bberror or bbfatal
would otherwise suppress it since the change to connect these functions
through to the UI.) bbfatal() is still fine to use where there is enough
context information in the message such that the log isn't needed.
(From OE-Core rev: 04ed9a19e1b08003329138b8ab83691d13c11fd9)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The recent change to connect through the shell logging functions caused
a regression - bb.error() and bb.fatal() cause a flag to be set
internally such that BitBake's UI will not print the full task log on
failure; unfortunately we have in a lot of places called die() or
bbfatal() within shell functions with a very terse message as a means of
exiting out, where we still want to see the full log (and we were
previously). We do still want to have fatal errors with proper messages
that don't result in the full log being printed, however we can't ignore
the typical usage of die(). Having added a mechanism to BitBake to log an
error and reset the flag, create a bbfatal_log() function that uses this
and call it from die() to restore the previous behaviour.
(From OE-Core rev: beec1cf3d22d7dbe85f332a055c72649f4bd3e92)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since these functions now log through BitBake's message logging system
we must have standalone implementations here.
(From OE-Core rev: dd7449114a33c92a2877b1a6f875d812b10856ff)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Several of the kernel class tasks were making assumptions about what directory
they were executed in. Clarify the code by making paths absolute or passing -C
to oe_runmake.
(From OE-Core rev: d596286bc4cf19774447b136a27acf3c61aad2ff)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently if exec_func() isn't told what directories to create and change to, it
uses B. This is not obvious and may be changed in the future.
Instead, pass -C<dir> to oe_runmake.
(From OE-Core rev: c4a1989f3550e81f188b5789af2c4c18560c3656)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The ptest configure/compile/install tasks mirror the base
configure/compile/install tasks, so add an explicit dirs flag to ensure they
mkdir() and chdir() the right directory.
(From OE-Core rev: 2b407176091c5a8697260c79f7559c933f38c317)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
do_patch is currently doing checks with machine_srcrev without initiate
it which leads to below (additional debug added):
DEBUG: Executing shell function do_patch
.
.
.
+ [ 0 -ne 0 ]
+ [ != AUTOINC ]
+ git rev-parse --verify ~0
fatal: Needed a single revision
+ git merge-base HEAD
usage: git merge-base [-a|--all] <commit> <commit>...
or: git merge-base [-a|--all] --octopus <commit>...
or: git merge-base --independent <commit>...
or: git merge-base --is-ancestor <commit> <commit>
or: git merge-base --fork-point <ref> [<commit>]
-a, --all output all common ancestors
--octopus find ancestors for a single n-way merge
--independent list revs not reachable from others
--is-ancestor is the first one ancestor of the other?
--fork-point find where <commit> forked from reflog of <ref>
+ [ = ]
+ set +x
DEBUG: Shell function do_patch finished
Only reason it works today is because 'rev-parse/merge-base' with empty machine_srcrev
will result in "false positive". Solve this by adding a similar non-empty check and
use SRCREV as fallback as in 'do_kernel_metadata'
(From OE-Core rev: 5f7403151fc8bfd5b1d77f6626717c8b84d33d93)
Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some source archive are not standard format.
For example, sometimes, we still need decompress file once again after base_do_unpack,
in such case, the following warning will be caught.
WARNING: xxx : the directory ${WORKDIR}/xxxx (xxxxxx) pointed to by the S variable doesn't exist \
- please set S within the recipe to point to where the source has been unpacked to
So, we should do this QA check after all of unpack jobs been completed.
(From OE-Core rev: 81216da9fa90dc8a67a0f367742b1e73afec0aa1)
Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Used mkstemp instead of raw open file call.
Also added the exception message to the output of
the sanity check.
[YOCTO #7922]
(From OE-Core rev: c101201b3aa7378e4c65a879040fe6f509e7cdcd)
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is just a safe check to make sure the output folder is present, before
creating the files-in-$pkg.txt file.
(From OE-Core rev: d48233cb1fd84f1061a8ba3c15bacc180e93934c)
Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use FetcherConnectionCache to improve times when do checkstatus over
sstate resources.
[YOCTO #7796]
(From OE-Core rev: e6f66370c6ce15aca18ef64491bab3dc92b80c57)
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use the FIFO that is now set up when executing tasks within BitBake to
make bbdebug/bbnote/bbwarn/bbplain/bberror/bbfatal output to the console
through BitBake's UI (as their python counterparts do) instead of only
outputting to the task log.
Note that this requires the corresponding change in BitBake that creates
the FIFO; without it such messages will end up in a file where the FIFO
should have been (but won't cause any other ill effects).
Remainder of the fix for [YOCTO #5275].
(From OE-Core rev: f04139fc2a33ef48dc889ce51ea442927db0c134)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When working specifically on source archiving, it is useful
to trigger that for all recipes required by something like an
image recipe, without actually having to build that.
"bitbake -c deploy_all_archives <target>" does that now.
(From OE-Core rev: 30b109729a81097cc6cfa65148e0e9ae1a564d2c)
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fixed when enable multilib:
require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
$ bitbake core-image-minimal
No lib32 package should be built since we don't build
lib32-core-image-minimal, but a lot them are built:
lib32-opkg-utils
lib32-cryptodev-linux
lib32-sqlite3
lib32-libtool-cross
lib32-ncurses
lib32-db
lib32-diffutils
lib32-zlib
lib32-gcc-cross-i686
lib32-gcc-cross-initial-i686
lib32-flex
lib32-libgcc-initial
lib32-libffi
lib32-linux-libc-headers
lib32-expat
lib32-openssl
lib32-glibc
lib32-binutils-cross-i686
lib32-gcc-runtime
The are introduced by toolchain-scripts.bbclass' anonymous function (the
MULTILIB_VARIANTS), but it doesn't need toolchain-scripts.bbclass, in
fact, so remove it to fix the problem.
[YOCTO #7961]
(From OE-Core rev: 000ff33729854b1a41206a087cde1e50f49017e0)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 2da156d491caf25dfa3efd567d6dbb451dd7e9dc)
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]
(From OE-Core rev: c270148b3f0e87bbaafbcffbca4ee7b965be6569)
Signed-off-by: zjh <junhuix.zhang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(From OE-Core rev: 2c3fe7351edd954230b14443f82914a3f70e8a40)
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.
(From OE-Core rev: d45f818026429b70d90fb3ae8e017db6516dca44)
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.
(From OE-Core rev: 1255476161f409a0999650c2c8bdaf36b1ba4b95)
Signed-off-by: Pushpal Sidhu <psidhu@gateworks.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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'
(From OE-Core rev: f322297a48338ba04481faf3743d05a80a492c1f)
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>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 4d208ebacb3a5d189998ac9be6d1a454c45aa975)
Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 3630f7963a472fa11a1d52bd9782fde9a9880971)
Signed-off-by: Nicolas Guyomard <nicolas.guyomard@open.eurogiciel.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(From OE-Core rev: 8b20eaf7cbadd0cd87cfa192d60ca1b7da435216)
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>