Commit Graph

25 Commits

Author SHA1 Message Date
Richard Purdie
65de362ce8 conf/distro/defaultsetup: Use include_all for maintainers.inc
Being able to set maintainers is really a "per layer" configuraiton item. Use
include_all so that such maintainer information would be added for all configured
layers, if the layer chooses to have such information in a
conf/distro/include/maintainers.inc file in a given layer.

(From OE-Core rev: d6b9dc4629642a4bf0d8f34a90bd8e3291c87501)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-01-08 13:25:11 +00:00
Richard Purdie
bd102d1275 conf/defaultsetup.conf: Drop TCLIBCAPPEND
We've been able to run musl and glibc builds in the same TMPDIR for
many years and a separate directory is not required. Most distros disable
this value for that reason.

Drop support for the variable to make it clear and easy for distros
to be able to set multiconfigs which behave consistently for distros
which do and don't clear it by dropping it entirely.

(From OE-Core rev: ebcd355a32e2711263e22d9b45b502696ecbb4d2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-05 21:50:10 +01:00
Richard Purdie
a0258be98a defaultsetup: Inherit create-spdx by default
This has been tested in poky by default for a while and ew've hopefully resolved
most of the gremlins. THis is the direction we're recommending for license/manifest
requirements so set it by default for OE.

(From OE-Core rev: b34032ec22921d4fd0982c17e63732cdbbc1885a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-12 07:46:52 +01:00
Richard Purdie
231866f75c defaultsetup: Enable largefile and 64bit time_t support systemwide for 32 bit platforms
There is a problem with 32 bit time looming for many 32 bit platforms
including arm, mip32, powerpc and x86 (but not riscv32) in 2038 when the
32 bit field time_t can no longer store the time value correctly due
to overflow.

Preparing for this is tricky as the ABI between libraries and binaries
will change and it isn't possible to migrate easily as structures and
return values change size.

As we're a source based system, the project has taken the decision that
we should change the compiler flags to switch to both largefile and 64
bit time_t. With OE-Core we've ironed out the issues we could spot
apart from some testing issues in strace and lttng-tools for which
discussions are ongoing upstream. There is more testing to be done
but we wanted to make this switch now in good time before our next
LTS release so we can work through any issues arrising.

We had already tried to mandate largefile everywhere before this but
this gives an opportunity to ensure that at the same time.

(From OE-Core rev: b9e0c5e750c3097e176fdc18b3b58b622f716e71)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-06-27 15:26:31 +01:00
Saul Wold
297def3be5 blacklist: Replace class with SKIP_RECIPE variable
Remove the old class and rename VarFlag to SKIP_RECIPE, handling this
in base.bbclass for efficiency. This means a separate inherit is no longer
needed.

This change better describes what the VarFlag is doing since it
is implemeted with the SkipRecipe() function.

By moving this into base.bbclass we simplify the distro inherit.

(From OE-Core rev: a5f735746cba6af41a25aa2aa121453a8bc363b4)

Signed-off-by: Saul Wold <saul.wold@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-21 23:37:27 +00:00
Martin Jansa
a32ddf91bc bitbake.conf: use ${TCMODE}-${TCLIBC} directory for CACHE
* move TCMODE and TCLIBC from defaultsetup.conf to bitbake.conf
* set CACHE as it was in defaultsetup.conf and drop it from defaultsetup.conf
* most if not all DISTROs are now including defaultsetup.conf and
  TCLIBC is pretty much expected to be always set correctly, e.g.:
  meta/recipes-core/systemd/systemd_243.2.bb:    if d.getVar('TCLIBC') == "musl":
  meta/recipes-devtools/gcc/gcc-runtime.inc:        if [ "${TCLIBC}" != "glibc" ]; then
  meta/recipes-devtools/gcc/libgcc.inc:     if [ "${TCLIBC}" != "glibc" ]; then
  meta/recipes-devtools/icecc-toolchain/nativesdk-icecc-toolchain_0.1.bb:ENV_NAME="${DISTRO}-${TCLIBC}-${SDK_ARCH}-@TARGET_PREFIX@${DISTRO_VERSION}.tar.gz"
  meta/recipes-devtools/valgrind/valgrind_3.15.0.bb:RRECOMMENDS_${PN} += "${TCLIBC}-dbg"
  meta/recipes-kernel/linux/kernel-devsrc.bb:RDEPENDS_${PN} = "bc python3 flex bison ${TCLIBC}-utils"

  meta/classes/buildhistory.bbclass:BUILDHISTORY_DIR_IMAGE = "${BUILDHISTORY_DIR}/images/${MACHINE_ARCH}/${TCLIBC}/${IMAGE_BASENAME}"
  meta/classes/cross-canadian.bbclass:    if d.getVar("TCLIBC") in [ 'baremetal', 'newlib' ]:
  meta/classes/kernel.bbclass:    tclibc = d.getVar('TCLIBC')
  meta/classes/toaster.bbclass:    BUILDHISTORY_DIR_IMAGE_BASE = e.data.expand("%s/images/${MACHINE_ARCH}/${TCLIBC}/"% BUILDHISTORY_DIR)

(From OE-Core rev: 57aa60ef6422568b425b6ccc4451567efc578469)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 09:47:46 +01:00
Adrian Bunk
ed929bed4c world-broken.inc: Remove
Move still required entries as COMPATIBLE_HOST_libc-musl = 'null'
to individual recipes.

This also gives users a proper error message when trying to build
a known non-building package.

(From OE-Core rev: 8bbb17d2dcafa9b4e26941a55932f4be2782e1d1)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-28 11:31:21 +01:00
Kai Kang
74646729a4 defaultsetup.conf: enable select init manager
Introduce a new variable INIT_MANAGER and create 4 init-manager-*.inc
files to configure init manager settings. Available values of
INIT_MANAGER are sysvinit, systemd, mdev-busybox and a default of none.
'none' provides backwards compatibility.

The settings of various VIRTUAL-RUNTIME variables are moved into these
files from the packagegroups.

[YOCTO #13031]

[Modifications by RP for backwards compatibility]

(From OE-Core rev: 8d0b4704a526a48cd5e67df61b613424bbbdccde)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-19 08:41:39 +01:00
Richard Purdie
be4d74c509 defaultsetup: Include maintainers.inc by default
There is little harm in including this file rather than having a
rather obscure and soon to be obsolete bbclass adding this information.

(From OE-Core rev: 98536be8d1a5dcf620ee6d07135f23126a09d98f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-18 16:19:34 +00:00
Richard Purdie
3e2a47fdfc distro/defaultsetup: Enable removal of libtool .la files by default
Relocation of native .la files during recipe specific sysroot relocation
is probably the final straw in just killing these files off.

Change things so this class is inherited by default. If distros don't want to
do this, they can opt out but it seems like the best thing to do now since
.la files aren't needed on Linux.

(From OE-Core rev: 11d801f6a7319a95f824842df118c446f8da7a71)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 23:47:33 +00:00
Joshua Lock
c4e2c59088 meta: remove True option to getVar calls
getVar() now defaults to expanding by default, thus remove the True
option from getVar() calls with a regex search and replace.

Search made with the following regex: getVar ?\(( ?[^,()]*), True\)

(From OE-Core rev: 7c552996597faaee2fbee185b250c0ee30ea3b5f)

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-16 10:23:23 +00:00
Ross Burton
5fd4cada2e conf: add C++ flags for uninative interoperatility
Create a common include file for compiler flags which allow native binaries to
be interoperable on a wide range of hosts. In particular the C++ ABI is
problematic so choose the CXX11 version to allow interoperation between gcc4 and
gcc5 based hosts. Moving this to a common include instead of uninative.bbclass
allows uninative to be configured later and used in the eSDK (where its
mandatory) even if the base configuration doesn't enable uninative by default
(e.g. nodistro in OE-Core).

[ YOCTO #10645 ]

(From OE-Core rev: 60c912ae9306532bdd4c5e09a65863ee77c12f43)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-11-28 15:49:15 +00:00
Khem Raj
00f33ffc80 distro: TCLIBC now defines glibc instead of eglibc
Adjust naming conventions to reflect eglibc->glibc move

(From OE-Core rev: ce3f296ec9021d207cb80cb2c697932b83fd0e81)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-01 18:02:21 +01:00
Martin Jansa
563c3290b0 defaultsetup: enable blacklist by default
(From OE-Core rev: 74e377eeb6de606b99ed0ff840922261f4a27abc)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-06 17:59:16 +01:00
Richard Purdie
69b6eaca3d autotools: Enable separate builddir by default
(From OE-Core rev: baf5b230af919b6b0fd14ac5fc3e734bf7c464d5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-24 17:55:13 +01:00
Richard Purdie
bf33e93f16 distro/defaultsetup: Add seperatebuildddir.inc
This has been in testing for long enough in various distros and setups,
lets make it the default.

(From OE-Core rev: 875d8d076bf7678321b847425590bbe06765bb84)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-25 08:01:09 +00:00
Robert Yang
b4371dd0e4 defaultsetup.conf: remove INHERIT_INSANE
The insane has been inherited by package.bbclass and becomes a
requirement, so we can remove it from defaultsetup.conf.

Note:
You can decide whether to take this patch or not.

[YOCTO #3190]
[YOCTO #4396]

(From OE-Core rev: 875f31facd02b47afb867aed76fef6b89a7b17cf)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-07 16:48:27 +01:00
Richard Purdie
06f2f8ce0a meta: Convert getVar/getVarFlag(xxx, 1) -> (xxx, True)
Using "1" with getVar is bad coding style and "True" is preferred.
This patch is a sed over the meta directory of the form:

sed \
 -e 's:\(\.getVar([^,()]*, \)1 *):\1True):g' \
 -e 's:\(\.getVarFlag([^,()]*, [^,()]*, \)1 *):\1True):g' \
 -i `grep -ril getVar *`

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05 10:22:56 -08:00
Richard Purdie
c8dee9b92d Convert to use direct access to the data store (instead of bb.data.*Var*())
This is the result of running the following over the metadata:

sed \
-e 's:bb.data.\(setVar([^,()]*,[^,()]*\), *\([^ )]*\) *):\2.\1):g' \
-e 's:bb.data.\(setVarFlag([^,()]*,[^,()]*,[^,()]*\), *\([^) ]*\) *):\2.\1):g' \
-e 's:bb.data.\(getVar([^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \
-e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \
-e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^() ]*\) *):\2.\1):g' \
-e 's:bb.data.\(getVar([^,()]*\), *\([^) ]*\) *):\2.\1):g' \
-i `grep -ril bb.data *`

(From OE-Core rev: b22831fd63164c4db9c0b72934d7d734a6585251)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:51:19 +00:00
Daniel Lazzari
7898960c43 defaultsetup: Use .= to add TCLIBCAPPEND to TMPDIR
Lazily appending causes a bug where wrong cache is
cleared when BB_SRCREV_POLICY = "clear".

Tested with qemuarm on uclibc/eglibc in same build dir

(From OE-Core rev: 391286cfae94f979bc60ecca2e73501781abdd37)

Signed-off-by: Daniel Lazzari Jr <dlazzari@leapfrog.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-10 13:33:05 +01:00
Richard Purdie
6afd21bced Add ARM tune file overhaul based largely on work from Mark Hatle
(From OE-Core rev: 789dcb8e68a2ab9784ac10ab36815010c61af2fc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-27 15:45:48 +01:00
Richard Purdie
624263c82d distro/defaultsetup.conf: Append TCLIBC to TMPDIR by default
The current solutions to share uclibc, eglibc and glibc builds in the
same tree all have various issues associated with them. Appending the
suffix to TMPDIR seems like the best solution since sstate (which
defaults to outside TMPDIR) will allow reuse of any components.

This avoids messy changes to the core with other approaches to this
problem inevitably entail, usually in code where this abstraction isn;'t
logically best placed.

(From OE-Core rev: f2528db8f466a21ca207b310fffa7b05884b4579)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-19 23:49:54 +01:00
Martin Jansa
8bb06fd765 bitbake.conf: set TARGET_VENDOR to '-oe' and remove it from defaultsetup.conf
* -oecore was changed to -oe to be more consistent with SDK_VENDOR as we had -oesdk as SDK_VENDOR and not -oecoresdk

(From OE-Core rev: 7b3e1e0f8e31a1a20ba600bdc66fe4455e98c8f6)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-17 15:14:47 +01:00
Richard Purdie
f60f3f11ee conf/distro/include/default-distrovars.inc: Create set of default 'distro' variable values
(From OE-Core rev: ddbf17b3ee18c12a51950109e8728de65fb9ac0b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-11 15:26:32 +01:00
Richard Purdie
e27f339a04 distro: Add defaultsetup.conf, a set of default configuration providing sane overrridable default for commonly used options
The intent is to allow distros to share common core config but still allow
customisations. The core should work with no distro set but users
can still customise in any ways needed.

(From OE-Core rev: c0a148077ae27a1ef57c55ac22953c68d001af57)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-11 15:24:22 +01:00