Commit Graph

593 Commits

Author SHA1 Message Date
Mark Hatle
38a754214a package.bbclass: Support stripping and debug copy of static libraries
By default, we won't copy and strip static libraries.  However, this
functionality can be useful in some cases where people are doing
development on the target, and don't generally want the larger debug
capable static libraries.  To enable the new functionality set:

    PACKAGE_DEBUG_STATIC_SPLIT = '1'

Add a new function splitstaticdebuginfo.  Thus function will copy the
unmodified static library into the specific debug directory location.
By keeping an unmodified version, it is possible for a user trying
to debug something to use -L /usr/lib/.debug-static and their existing
build commands to switch from stripped to full debug versions.

The PACKAGE_DEBUG_SPLIT_STYLE will select between two different
approaches, /usr/lib/debug-static or <path>/.debug-static.

Additionally you can now choose to strip static libraries to conserve
space.  If either 'PACKAGE_DEBUG_STATIC_SPLIT' or 'PACKAGE_STRIP_STATIC'
is set to 1, the static library will be stripped.  (This is not on by
default, as it could make diagnosing static library usage difficult in
some cases.)

Add to insane.bbclass a skip to the staticdev warning for the specific
-dbg package versions.

(From OE-Core rev: 17fa66c8199d73f0b59b2b3e609075933bf1e74b)

Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:02 +00:00
Richard Purdie
a264dc462c bitbake.conf/sanity: Drop makeinfo as being required on buildhost
This is a long standing 'odd' dependency which we've meant to
resolve. We shouldn't need it and it introduces reproducability issues.

We already have texinfo-dummy-native and texinfo-native which can
provide it but the work to remove the hosttool was never completed.

After cleaning up texinfo.bbclass, this can now be removed with
minimal impact on build time.

[YOCTO #13753]

(From OE-Core rev: 0c58c479af151969dfb84d8763696da657f7248d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 00:10:11 +00:00
Alexander Kanavin
5249a8a3d5 bitbake.conf: drop pod2man from hosttools
pod2man writes the current date into manpages, and while later
versions of it respect SOURCE_DATE_EPOCH and use that instead,
earlier versions do not. This was found to cause reproducibility
issues.

This patch replaces host version of pod2man with one from
perl-native.

[YOCTO #13755]

(From OE-Core rev: deda455b3c1829003a4cc14520f30e616be93dfb)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 00:10:11 +00:00
Khem Raj
7a9bb69f08 riscv32: Bump oldest kernel to 5.4
rv32 port has bumped its minimum kernel requirement to 5.4
as the userspace ABI is still in flux until glibc port is not
upstreamed.

(From OE-Core rev: 1a7287369e554159914cd9a40c2e023c167fd82a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Khem Raj
97b5b17cb1 qemu: Enable ppc64le support for qemu-usermode
glibc defines minimum kernel needed to be 3.10.0 for LE ppc64

(From OE-Core rev: c1c296a42920af6725706bdea8e61b8c4f5f14a8)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-22 15:56:14 +00:00
Khem Raj
bf2b73e1f3 classes, conf, lib: Add support for powerpc64le
LE is default for modern powerpc64, power8+

PowerPC64 Little Endian Linux ABI specifies Power8 as the minimum ISA.
The basic ABI can run on earlier versions of the 64 bit PowerPC ISA,
but it was helpful to define a new, minimum instruction set for Linux
distribution releases during the switch to Little Endian.

(From OE-Core rev: b9c73fb6d1afb3367d871a3d6bf7d0d6a53968a9)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-19 23:49:39 +00:00
Khem Raj
45e8f1351a mips: Enable gnu-hash-style on glibc
latest glibc 2.31 [1] and binutils [2] has finally added the needed support for
gnu hash-style, which brings mips into same fold as other architectures

Fix check for MIPS specific section for gnu hash information

[1] https://sourceware.org/ml/libc-alpha/2019-06/msg00456.html
[2] https://sourceware.org/ml/binutils/2019-07/msg00098.html

(From OE-Core rev: 9ff90bf04a4c422feaea25180155e4954648f68c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-19 13:24:38 +00:00
Richard Purdie
46b629426b bitbake.conf: Simplify TARGET_SYS/SDK_SYS
As pointed out by Masahiro Yamada <masahiroy@kernel.org>, ('' or 'custom')
equates to "custom" and this code seems unecesaarily complicated and unused.

It was likely intended to supress the value if XXX_OS was set to '' but the
code doesn't actually do that. Simplify it as we shouldn't have this indirection
if we don't need it, its horrible.

(From OE-Core rev: 66e4c638b942c9832da9e1d578aa03eeafae28db)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-01 10:46:16 +00:00
Chris Laplante via Openembedded-core
d18a8fbd21 bitbake.conf: add number_threads to BB_SIGNATURE_EXCLUDE_FLAGS
Just as BB_NUMBER_THREADS is in BB_HASHCONFIG_WHITELIST.

(From OE-Core rev: cc67c559a272415f511072ca1eeab96efc5a3885)

Signed-off-by: Chris Laplante <chris.laplante@agilent.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-28 23:25:41 +00:00
Alexander Kanavin
2b2be8086e hosttools: no longer check for or provide host python 2 to builds
(From OE-Core rev: 5f8f16b17f66966ae91aeabc23e97de5ecd17447)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-09 10:21:51 +00:00
Joshua Watt
34923e4f77 Remove SSTATE_HASHEQUIV_SERVER
Removes all references to the SSTATE_HASHEQUIV_SERVER variable. This
variable is redundant now that BB_HASHSERVE is present.

(From OE-Core rev: 54b3adb6bc90a8e4b9e92952688772ee074d36e5)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-18 17:52:01 +01:00
Andre McCurdy
b259bd31eb bitbake.conf: drop FETCHCMD, GITDIR, etc fetcher over-rides
This completes cleanup originally proposed in 2012:

  http://lists.openembedded.org/pipermail/openembedded-core/2012-July/064224.html

Current versions of bitbake have "sane" default fetcher commands
so it's no longer necessary for bitbake.conf to over-ride them.

(From OE-Core rev: 4ff058226cfc3e7d5bf9a873d1de4475f65ef2f2)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-28 11:31:21 +01:00
Oleksandr Kravchuk
0e46416430 bitbake.conf: fix XORG_MIRROR URL
(From OE-Core rev: d69f67f5d8b90d7846425f0569e5c121e3bdd062)

Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-21 21:52:59 +01:00
Richard Purdie
8d7f663136 sstatesig: Update to handle BB_HASHSERVE
Update the code to handle BB_HASHSERV, an autostarted bitbake internal hash
equivalency server suited to local developer usage.

(From OE-Core rev: 9b3d7b0b0ff27281391c2b8f2511d312d6995ed6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-06 11:24:26 +01:00
Adrian Bunk
a9bbda96eb meta: Remove remnants of bluez4 support
bluez4 was removed from meta-oe 2 years ago.

Simplfy the setup of the two level bluetooth and bluez4/bluez5
distro features by removing the bluez4/bluez5 distro features.

This also removes the no longer required bluetooth class.

(From OE-Core rev: dcf889e93401f7c4de0055d53271eacc3882eccc)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-15 09:29:59 +01:00
Mike Crowe
a478ad4c2d bitbake.conf: Stop exporting TARGET_ flags variables
Way back in
http://lists.openembedded.org/pipermail/openembedded-core/2014-April/210138.html
a few of us discussed not exporting TARGET_LDFLAGS. There seemed to be
support for this idea, and I modified our tree to not do so. I then seem to
have dropped the ball. :( We've been running like that for over five years,
and not observed any problems.

It seems sensible to stop exporting TARGET_CPPFLAGS, TARGET_CFLAGS and
TARGET_CXXFLAGS too.

I've successfully compile-tested core-image-minimal and core-image-sato for
x86_64 and qemuarm64 with these changes.

(From OE-Core rev: 1b1ab93408c3ba72f855b2f4a028f1a917e9b551)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-27 12:20:36 +01:00
Mingli Yu
273691a332 bitbake: add iconv to HOSTTOOLS
Some package such as vim depends on iconv.
Without iconv, vim-common which is the
sub-pakcage of vim may include different files
as failed to use iconv to generate the *.po file.

(From OE-Core rev: a7d3650e346e8a6c2c27c567c4c0bf6a47b47317)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-21 00:33:23 +01:00
Kai Kang
4ed9d2b969 bitbake.conf: set NO_RECOMMENDATIONS with weak assignment
Set NO_RECOMMENDATIONS with weak assignment then it could be set a
default value somewhere else.

(From OE-Core rev: f88da482d74e9f7d7c5bfc164cca52950ab6615d)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-12 09:04:26 +01:00
Oleksandr Kravchuk
601cb3b5e0 bitbake.conf: use https instead of http
Use HTTPS instead of HTTP whenever one is available.

(From OE-Core rev: 686d0e1c6d5b9ccbcd80fcf727f18d5c2d5968f9)

Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-08 23:00:32 +01:00
Joshua Watt
3d19803cbd bitbake.conf: Account for older versions of bitbake
Older versions of bitbake (prior to 1.42) don't expose the BB_UNIHASH
variable which is being used by sstate. For compatibility with these
older versions of bitbake, set BB_UNIHASH to BB_TASKHASH (which is the
value it should be for non-hash equivalent aware signature generators).
if bitbake hasn't already set it.

[YOCTO #13314]

(From OE-Core rev: de1782b23f8a98df3b42cb57bbcdff690bfa2343)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-02 09:56:19 +01:00
Naveen Saini
a2d6792f3a bitbake.conf: add git-lfs to HOSTTOOLS_NONFATAL
This provides git large file storage (lfs) extension.

Include git-lfs conditionally. If git-lfs is present on host and repo
has lfs pointers, then git-lfs will be used. If git-lfs is not present
on host, it will be ignored.

[YOCTO #13198]

(From OE-Core rev: 2968ad8514721ec06e67aaf3fd5ec7b247b3431d)

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-29 14:16:31 +01:00
Ross Burton
12e1a0de18 bitbake: add readlink to HOSTTOOLS
If systemd has EFI enabled it uses readlink.

(From OE-Core rev: ace3c0fff40604450ea8f0a669aaa37fbe730069)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-06 23:12:27 +00:00
Joshua Watt
ccc413fd93 Add source package to ${PACKAGES}
Permanently adds the -src source package to ${PACKAGES} instead of
relying on creating it dynamically at packaging time. The source package
is now defined in bitbake.conf, just like -dev and -dbg packages.

For compatibility, the -src package is still added dynamically if it was
missing, since some recipes have a tendency to completely override
PACKAGES and do so without manually adding back the -src package.

This allows RDEPENDS on the -src packages, which wasn't previously
possible.

[YOCTO #13203]

(From OE-Core rev: b25e1edf0204fc2f64aa8d66e09b8e2d67b90e17)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-06 23:12:27 +00:00
Khem Raj
fc99c59d82 bitbake.conf: Drop -fno-omit-frame-pointer
Let -Og decide the best debugging experience

(From OE-Core rev: e9a6f67e12864d59bb9178e87635eed2d2785a2a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-02 16:49:07 +00:00
Khem Raj
36754fed12 bitbake.conf: Use -Og in DEBUG_OPTIMIZATION
-Og is for optimized debugging experience.
this makes this consistent across different compilers especially gcc and
clang, -O in clang is equal to -O2 where as in gcc its similar to -O1
so it was not giving consistent debugging experience across compilers

(From OE-Core rev: 16643b03227466e2c80a24c2d079fe36e89553c1)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-02 16:49:07 +00:00
Khem Raj
9d973d3b4e default-distrovars: Drop DISTRO_FEATURES_LIBC
After eglibc was merged into glibc, Kconfig support was also dropped so
these libc features therefore are not effective anymore and can be
removed

(From OE-Core rev: c62b1cc06613a4cdddf53290e6203559f43fc62d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-28 13:21:54 +00:00
Kai Kang
1bd04681e1 bitbake.conf: update DEBUG_PREFIX_MAP with -fmacro-prefix-map
Add option '-fmacro-prefix-map' to DEBUG_PREFIX_MAP. It could resolve
buildpaths qa warnings which caused by macros '__FILE__' and
'__BASE_FILE__'.

Though option '-ffile-prefix-map' could cover '-fdebug-prefix-map' and
'-fdebug-prefix-map' both, it is not supported by 'as' and causes
buildpaths qa warnings of glibc:

| QA Issue: File
|  /work/i586-poky-linux/glibc/2.29-r0/packages-split/glibc-dev/usr/lib/crti.o
|  in package contained reference to tmpdir

So only add '-fmacro-prefix-map' to DEBUG_PREFIX_MAP rather than replace
'-fdebug-prefix-map' with '-ffile-prefix-map'.

(From OE-Core rev: c62ac539e58b028b7508385c2c9be3561261f2e8)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-15 16:05:37 +00:00
Khem Raj
c6a243dbb2 image_types.bbclass: Set memory usage limit and CPU threads for xz
when building with opkg backend and huge packages e.g. chromium/llvm all
going in parallel, memory pressure causes xz to catapult with

do_package_write_ipk: Failed to create package, opkg-build failed with: xz: (stdin): Cannot allocate memory

since there are many tasks going on in parallel, xz adds to memory pressure
and it wants it all, put an upper limit for memory xz can use

We add a variable XZ_MAXRAM with 30% of RAM limit and can be customized
if builders have more memory one can set it like

XZ_DEFAULTS = "-M 0 -T 0"

(From OE-Core rev: 28b277a93a34bba033d9d0d9f3227c9453efd384)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-14 11:20:55 +00:00
Ross Burton
af96521f8c bitbake: use GCC ar and ranlib wrappers
Instead of calling 'ar' and 'ranlib' directly, set AR=gcc-ar and
RANLIB=gcc-ranlib.  This fixes builds with link-time optimisation where more
arguments would need to be passed to ranlib but gcc-ranlib will do that
automatically.

(From OE-Core rev: d9f37a25adba8d6638abbe7bc0503b09f696c2fc)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-14 11:20:55 +00:00
Jacob Kroon
fcfa51ce89 bitbake.conf: Add seq to HOSTTOOLS
This fixes detecting available signals when configuring perl.
(cnf/configure_sigs.sh)

Without this, running aclocal prints warnings about missing signals,
which can be further demonstraded by running

  perl -le 'print for keys %SIG'

(From OE-Core rev: ec638ae0775c79a00b364bc59e099edc8f1f201e)

Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-31 23:23:26 +00:00
Joshua Watt
ba3aa53112 Change default debug split to make separate source packages
Changes the default PACKAGE_DEBUG_SPLIT_STYLE to generate separate
source and debug packages. SDKIMAGE_FEATURES is updated to include the
source packages so that there is not change for the SDK contents.

[YOCTO #12931]

(From OE-Core rev: 8df14b678e44cc749b361224af05ccbcfa9ae9b5)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-28 23:14:09 +00:00
Robert Yang
c2d4e9831a bitbake.conf: Add DEBUG_BUILD to vardeps
Otherwise the recipe would not be rebuilt when enable/disable DEBUG_BUILD.

(From OE-Core rev: e9b21f586980f6d4fbb213845f5e788b6c8d3813)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-26 13:39:37 +00:00
Robert Yang
e157997dfc bitbake.conf: Add CCACHE_TOP_DIR to BB_HASHBASE_WHITELIST
As we did for SSTATE_DIR.

(From OE-Core rev: 9c6ad57c539458a060b99545a71b595a5e9d9261)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-24 17:45:25 +00:00
Robert Yang
a3fc4196a2 bitbake.conf: Enable -fdebug-prefix-map for nativesdk
Files like lib/.debug/libgcc_s.so.1 from nativesdk-libgcc-dbg contains
buildpath without -fdebug-prefix-map, the root cause is object files (.o)
contain buildpath, and then ccache can't use them correctly.

(From OE-Core rev: b0b4d1b32203bb74fc3aec9b9a0d14bf7a52a0af)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-14 11:35:55 +00:00
Robert Yang
0c98ff2c31 ccache.bbclass: Refactor it to make it more reliable
The previous ccache.bbclass has the following problems:
- It uses host's ccache for native recipes, but this may not work on some
  hosts, for example, it nerver works on my Ubuntu 14.04.4, there are always
  build failures (m4-native failed at do_configure, and others will also be
  failed if I disable CCACHE for m4-native)

- native/nativesdk/cross/crosssdk recipes use host's ccache, but target uses
  ccache-native, this may confuse user.

- The target recipes may use both host's ccache and ccache-native, this may
  cause unexpected problems and be hard to debug. This is because ccache-native is
  in SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS, so ccache-native may not be present when
  rebuild target recipes, and then it would use hosttools/ccache, but the
  previous ccache files were generated by ccache-native.

- Target recipes can't use ccache when no ccache is installed on the host:
  CCACHE = "${@bb.utils.which(d.getVar('PATH'), 'ccache') and 'ccache '}"

After refactored:
All types recipes (native, target and others) will use ccache-native except
ccache-native itself, host's cache won't be used any more. It is more
reliable now, which will work everywhere when ccache-native can be built.

And now we need use "CCACHE_DISABLE = '1'" to disable ccache for the recipe
rather than "CCACHE = ''" since we set CCACHE in anonymous function, and
d.getVar('CCACHE') works after "CCACHE ??=" which is set in bitbake.conf, so we
can't check whether CCACHE is set or not in anonymous function since it is
always set. Use CCACHE_DISABLE to disable it would be more clear.

(From OE-Core rev: b25271b65262f70d849a4861da216c9be6c54d53)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-14 11:35:55 +00:00
Alexander Kanavin
69a4542fc4 bitbake.conf: add --enable-new-dtags to linker
Various versions of ld have different defaults for this
(even between e.g. Ubuntu 16.04 and 18.04). This has the
consequence of putting either RPATH or RUNPATH into the binary,
depending on the linker, which have different priorities
vs LD_LIBRARY_PATH env var. Also, I think, the original
executable binary is looked up for the tags when resolving
a dependency of a shared library when using RPATH, but not
RUNPATH.

Let's make this deterministic.

(From OE-Core rev: 661d700ab7428b0ad982bfd2714cca134bad85a2)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-11 10:39:08 +00:00
Joshua Watt
adc37721a8 sstate: Implement hash equivalence sstate
Converts sstate so that it can use a hash equivalence server to
determine if a task really needs to be rebuilt, or if it can be restored
from a different (equivalent) sstate object.

The unique hashes are cached persistently using persist_data. This has
a number of advantages:
 1) Unique hashes can be cached between invocations of bitbake to
    prevent needing to contact the server every time (which is slow)
 2) The value of each tasks unique hash can easily be synchronized
    between different threads, which will be useful if bitbake is
    updated to do on the fly task re-hashing.

[YOCTO #13030]

(From OE-Core rev: d889acb4f8f06f09cece80fa12661725e6e5f037)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-08 11:16:44 +00:00
Richard Purdie
6829a8990a bitbake.conf: Cleanup deprecated function usage
This function was moved in bitbake a long time ago, use the
preferred version to avoid a Deprecation warning.

(From OE-Core rev: aeb189ac8bc6625ec936fd69f18974ebde758946)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-08 17:17:01 +00:00
Richard Purdie
8929ffd67c oe-init-buildenv/base: Relax python version checks in favour of HOSTTOOLS manipulation
Several distros are now shipping "python" as python v3 contra to the original
python guidelines. This causes users confusion/pain in trying to use our tools.

We can just force "python" to "python2" within HOSTTOOLS to avoid this issue
and hide the complexity from the user.

(From OE-Core rev: b06a6cde5c5503f456f260c773cf126085e18c8d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-07 23:08:55 +00:00
Robert Yang
9ba2b4ab7d bitbake.conf: Make BUILD_OPTIMIZATION respect to DEBUG_BUILD
We may also need debug native tools, so make BUILD_OPTIMIZATION respect to
DEBUG_BUILD, otherwise, we need set CFLAGS in the recipe which isn't
convenient.

(From OE-Core rev: 5db09f7ad007d1def009a60d7d9bf9c13c0faa4e)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-13 07:42:28 +01:00
Robert Yang
285b9a0d8e oe/utils.py: Add vartrue()
It can be used to simplify code like:
"${@['iffalse', 'iftrue'][var]}"

(From OE-Core rev: fc5a5af7bc3619f575988a75efc0c4fe15478b2d)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-13 07:42:28 +01:00
Richard Purdie
25bac865de recipes: Update git.gnome.org addresses after upstream changes
git.gnome.org is no more. It has ceased to be. It's an ex-git.

Please see here:
https://about.gitlab.com/2018/05/31/welcome-gnome-to-gitlab/

Note that gitlab does not support git://, only https:// (and ssh).

[Commit message from Alexander Kanavin]

(From OE-Core rev: 8382cdc0888ca645a44aacaac1155afb8dcde979)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-04 11:03:56 +01:00
Martin Jansa
a65c1216d7 bitbake.conf, kernel-artifact-names.bbclass: introduce IMAGE_VERSION_SUFFIX instead of using DATETIME directly
* this makes it easier to use different version string than DATETIME, e.g. set from jenkins job
  while keeping the suffix consistent across all artifacts stored in DEPLOYDIR

(From OE-Core rev: 1245935b9bf32e0321d8ff12492983ba8506190a)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-21 14:49:42 +01:00
Alejandro Enedino Hernandez Samaniego
b7c2c78580 multiconfig: Enable multiconfig dependencies on oe-core
This patch enables multiconfig dependencies (mcdepends) to be used on
recipes using the following format:

task[mcdepends] = "multiconfig:FROM-MC:TO-MC:PN:task-to-depend-on"

For the sake of simplicity consider the following example:

Assuming we have set up multiconfig builds, one for qemux86 and one for
qemuarm, named x86 and arm respectively.

Adding the following line to an image recipe (core-image-sato):
do_image[mcdepends] = "multiconfig:x86:arm:core-image-minimal:do_rootfs"

Would state that core-image-sato:do_image from x86 will depend on
core-image-minimal:do_rootfs from arm so it can be executed.

This patch makes modifications to bitbake.conf to enable mcdepends, and
to sstatesig and staging.bbclass to avoid conflicts between packages from
different multiconfigs.

[YOCTO #10681]

(From OE-Core rev: f71bfe833c657244d2fd07b3b71e86081d7d1c04)

Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-01 10:07:22 +01:00
Richard Purdie
9928614e94 sstate/bitbake.conf: Use pigz if available
Currently the compression of sstate objects is single threaded. In the case
of ltp, this takes around 33s. If we add pigz into the list of non-fatal
HOSTTOOLS and then use if it available when building the sstate object,
this time drops to around 6s.

Since pigz is now widely available this is an optimisation we should
utilise.

(From OE-Core rev: 2de56aa0792ec93445130d801936a8ea643fad27)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-24 11:52:27 +01:00
Richard Purdie
c7c64baa41 bitbake.conf: Allow BBINCLUDED to be unset
For some reason the layer index is expanding HOSTTOOLS before BBINCLUDED is
set so recent changes break it. This adds in a simple workaround to stop it b
reaking allowing the index to function correctly again.

(From OE-Core rev: 40a904bf8bc1279c3da0893c003f740f1d2066c2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-28 12:26:54 +01:00
Andre McCurdy
3fcec2cfa2 bitbake.conf: handle cmake -dev files packaging with default rules
Move packaging rules for cmake -dev files from cmake.bbclass into
bitbake.conf to handle recipes (e.g. harfbuzz 1.8.1) which build with
autotools but also install cmake -dev files.

(From OE-Core rev: 543e39ad5e2baa0f1ece013a89483783e6b15dd9)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-28 12:26:54 +01:00
Richard Purdie
1bbcc5931e bitbake.conf/testimage: Add in compatiblity hacks
The testimage changes break the autobuilder. The plan is to revert these hacks
but due to various changes happening with the autobuilder, we need these for now
to keep things working until we can move to the new autobuilder codebase.

(From OE-Core rev: 309a02931779f32d1139cc1169a039cbe4638706)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-21 09:34:40 +01:00
Richard Purdie
fae0a9a439 image/testimage: Rework auto image test execution
The TEST_IMAGE interface has never particularly worked and image testing currently
gets configured manually.

This reworks the interface to better serve the needs of its users, replacing it
with TESTIMAGE_AUTO.

This does away with the need for the separate class due to better bitbake APIs for
changing tasks.

TESTIMAGE_AUTO will automatically boot under qemu any image that is built. It
also adds in dependencies so that any SDK for which testing is requested will
automatically be built first.

The code in bitbake.conf was error prone (e.g. testsdk wasn't considered), this
improves it to standardise on IMAGE_CLASSES as the standard configuration mechanism.

(From OE-Core rev: b34d44f3dfea8254826a46701a4fe3769a900434)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-21 09:34:40 +01:00
Andre McCurdy
cbfb14fe10 bitbake.conf: drop redundant -nv from FETCHCMD_wget
Since the addition of progress reporting, the wget fetcher will
over-ride -nv by unconditionally appending "--progress=dot -v" to the
final wget command line.

  http://git.openembedded.org/bitbake/commit/?id=4027649f422ee64b1c4e1ad8d48ac295050afbff

(From OE-Core rev: 69f4f4aa56291e1e507a62d45834df65d699ec51)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-04 15:15:00 +01:00