Commit Graph

24 Commits

Author SHA1 Message Date
Richard Purdie
c2da016918 meta/meta-selftest: Fix variable assignment whitespace
Recipes are much more readable with whitespace around the assignment operators.
Fix various assignments in OE-Core to show this is definitely the preferred
formatting.

(From OE-Core rev: 30ea609d3357fb3de911f2f6a5e6856c151b976a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-02-01 13:42:34 +00:00
Daniel Semkowicz
0ed32141fe os-release: Fix VERSION_CODENAME in case it is empty
If DISTRO_CODENAME was not set, VERSION_CODENAME field was populated
with unparsed string. This resulted in the following line in os-release
file:

  VERSION_CODENAME="${DISTRO_CODENAME}"

According to systemd documentation, this field is optional.
Fix the problem by setting VERSION_CODENAME conditionally, only if
DISTRO_CODENAME was set.

(From OE-Core rev: 70a0b8bc1d846c857be90ce2e97e60c5ee32558e)

Signed-off-by: Daniel Semkowicz <dse@thaumatec.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-06-25 11:50:58 +01:00
Armin Kuster
d674b5fe13 os-release: Add CPE_NAME
Its time we add the CPE_NAME to os-release.

The vendor field is hardcoded to "openembedded" as it is the base
framework. We will use "DISTRO" to identify which variation of
openembedded is being used.

(From OE-Core rev: 9730770e3b5a48775ddc89acd0f029e34f135bba)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-05-05 11:07:26 +01:00
Mikko Rapeli
7d29e79718 os-release: add HOMEPAGE and link to documentation
It's important to use standard variable names in the
/etc/os-release file. Otherwise reporting version etc
details requires custom modifications in various tools.

(From OE-Core rev: af528f4b46e5df0a176d91d46cc6f89c7296c602)

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-10-26 12:28:39 +01:00
Mikko Rapeli
bf8655e116 os-release: replace DISTRO_CODENAME with VERSION_CODENAME
Latter is the /etc/os-release standard to report distro codenames
like "langdale".

https://www.freedesktop.org/software/systemd/man/os-release.html#VERSION_CODENAME=

(From OE-Core rev: 2565b435176a16aca5b747044cc3643d845f6486)

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-10-26 12:28:39 +01:00
Claudius Heine
498f9c58c8 os-release: add os-release-initrd package
When systemd is used inside an initramfs, it uses the presence of
`/etc/initrd-release` to detect when the system is in the initrd phase.
Otherwise `/etc/initrd-release` has the same format as
`/etc/os-release`.

Add `os-release-initrd` package to provide `/etc/initrd-release` as a
symlink to the os-release file. To avoid adding this file to the
`os-release` package, explicitly only add `/etc/os-release` to the
`os-release` package.

(From OE-Core rev: 6311fb6f412ef923cc0b34a821e875990fc043f5)

Signed-off-by: Claudius Heine <ch@denx.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-05 22:23:40 +01:00
Daniel Gomez
dbf4c65541 os-release: Add DISTRO_CODENAME as vardeps for do_compile
DISTRO_CODENAME is part of VERSION variable but not used as dependency
for do_compile task. Append it to the vardeps list to rebuild in case it
changes.

(From OE-Core rev: ee0345057459c6d77fb64902a955e836c6c1e8e4)

Signed-off-by: Daniel Gomez <daniel@qtec.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-21 11:05:02 +00:00
Ross Burton
c0583c6bfc meta: use ln -rs instead of lnr
lnr is a script in oe-core that creates relative symlinks, with the same
behaviour as `ln --relative --symlink`.  It was added back in 2014[1] as
not all of the supported host distributions at the time shipped
coreutils 8.16, the first release with --relative.

However the oldest coreutils release in the supported distributions is
now 8.22 in CentOS 7, so lnr can be deprecated and users switched to ln.

[1] 6ae3b85eaffd1b0b6914422e8de7c1230723157d

(From OE-Core rev: 1ca455a98de4c713f58df0a537d4c982d256cd68)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-10 19:27:29 +00:00
Richard Purdie
bb6ddc3691 Convert to new override syntax
This is the result of automated script conversion:

scripts/contrib/convert-overrides.py <oe-core directory>

converting the metadata to use ":" as the override character instead of "_".

(From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-02 15:44:10 +01:00
Vyacheslav Yurkov
4d98363d59 os-release: sanitize required fields
Currently only VERSION_ID field is sanitized, but os-release (5) has
more fields with the same requirement. Moreover, those fields come
unquoted in most distributions, because quotes are not needed for a
values without whitespaces.

(From OE-Core rev: f451c68667cca8a1883ceddb66dd2834b18252a8)

Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-03 15:41:40 +01:00
Jacob Kroon
0455b630ef os-release: don't import shutil
The line was added in

  os-release: add the public package-signing key
  f7359ad6bec82d4aa761287a6c6d53cbc25adab3

but the actual usage was removed in

  signing-keys: Make signing keys the only publisher of keys
  1e38068ac38dfd067655dfd41464e28439179306

(From OE-Core rev: 05aeb9de239beff4bfdb3cd7dc39d484ecb69190)

Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-03 12:35:53 +00:00
Dan McGregor
771c156fe6 os-release: move to nonarch_libdir
Even on multilib systems, /usr/lib is where systemd expects the
os-release file to live.

(From OE-Core rev: b7b476efee8c959a0227905e40bd9b5ef493632d)

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-20 22:40:16 +01:00
Joshua Lock
c539765288 os-release: fix to install in the expected location
os-release (5) recommends that the os-release file be installed in
/usr/lib/os-release and that /etc/os-release be a relative symlink to it.

(From OE-Core rev: 4feb8614ee25a3d3ceb7f5187120a1256a993155)

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>
2018-09-05 18:00:25 +01: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
Olaf Mandel
6e36cc9c40 Remove LIC_FILES_CHKSUM from recipes without SRC_URI
LICENSE and LIC_FILES_CHKSUM apply to the sources specified by SRC_URI,
not to the recipe itself. As such a license declaration for a source-less
recipe makes little sense. The LICENSE declaration is mandatory, but
LIC_FILES_CHKSUM can be removed in such cases.

Remove the LIC_FILES_CHKSUM declarations from all recipes that do not
need it.

CC: Paul Eggleton <paul.eggleton@linux.intel.com>
(From OE-Core rev: b18fa5f2f2f46afc6fdc58f4d29679dea9c36c43)

Signed-off-by: Olaf Mandel <o.mandel@menlosystems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-10-28 16:15:21 +01:00
Joshua Lock
2269f90b9f os-release: sanitise VERSION_ID field
Per os-release(5) the VERSION_ID field should be:

  a lower-case string (mostly numeric, no spaces or other characters
  outside of 0-9, a-z, ".", "_" and "-")

Do some string manipulation to try and ensure the VERSION_ID field
we write is valid.

(From OE-Core rev: d3975099af20d78b634c23b3ddd073049b016b05)

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-02-28 11:33:02 +00:00
Randy Witt
7bb9e8ddbf signing-keys: Make signing keys the only publisher of keys
Previously the keys were put into the os-release package. The package
indexing code was also deploying the keys rather than only using the keys.

This change makes signing-keys.bb the only publisher of the keys and also
uses standard tasks that already have sstate.

(From OE-Core rev: 1e38068ac38dfd067655dfd41464e28439179306)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-26 17:16:25 +00:00
Craig McQueen
4b29c80285 os-release: put double-quotes around variable contents
This makes the resulting /etc/os-release file have valid shell
assignment syntax. This makes it loadable by a shell script, using the
'source' command:

    source /etc/os-release

(From OE-Core rev: f6e0ea000fa3b9a726ab56500f643f9902371618)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:29 +00:00
Markus Lehtonen
787253fd4e package signing: automatically export public keys
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>
2015-10-27 07:24:25 +00:00
Markus Lehtonen
7766265c3c os-release: fix do_compile() when RPM signing is enabled
do_compile() task failed when RPM signing was in use.

(From OE-Core rev: 4038970f8ce27ac0d7a0afe2cdaa9a65108dfff5)

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>
2015-10-07 00:11:21 +01:00
Markus Lehtonen
3983e3ffcc os-release: add the public package-signing key
Adds the public package-signing key into this package. It will be
installed under /etc/pki/rpm-gpg if the RPM signing feature is used. The
key file is not currently directly used by anything in the target
system. It is merely there for possible later use.

[YOCTO #8134]

(From OE-Core rev: f7359ad6bec82d4aa761287a6c6d53cbc25adab3)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-03 12:43:19 +01:00
Richard Purdie
fc209e99ec os-release: Exclude DATETIME from sstate signature
I'm torn over this, I can see someone wanting this to vary in each
build. What pushed me to believe its incorrect in its current form
is that it changes for every MACHINE build, making a complete mess
if you try and generate package feeds using it.

The alternative would be to give up on allarch in this case and make
it MACHINE specific which at least would then be more consistent when
the package makes it to a package feed. If someone wants to do that,
the can propose another patch but this change at least make package
feed usage 'sane' again and avoids the perpetual rebuilds.

Incidentally, its worth noting that changes in source metadata revision
used for the build and included in this recipe would still trigger
rebuilds which is likely the common use case people actually care about.

(From OE-Core rev: 46de6f6eb9c4387298fafb48fb9c36abc3ff48a4)

(From OE-Core rev: 9585cffea33895c3ceea30f45325d2eca6dcf1c2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-30 12:36:02 +01:00
Chen Qi
38aff0dc0f os-release: add LIC_FILES_CHKSUM
Add LIC_FILES_CHKSUM to avoid the warning below at rootfs time.

    WARNING: The license listed MIT was not in the licenses collected for os-release

(From OE-Core rev: fa98c9c6038b22df406d4088252e76a0d2975199)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 08:50:02 +00:00
Sujith H
b092e550b6 os-release: Adding a new recipe for operating system identification
The /etc/os-release will have the operating system identification data.
Tested on target with systemd enabled. Here is the sample file looks
in the file:

ID=poky-ivi-systemd
NAME=Yocto GENIVI Baseline (Poky/meta-ivi)
VERSION=6.0+snapshot-20140721 (daisy)
VERSION_ID=6.0+snapshot-20140721
PRETTY_NAME=Yocto GENIVI Baseline (Poky/meta-ivi) 6.0+snapshot-20140721 (daisy)

(From OE-Core rev: 8a12350e00b5443a24f3d6c7693fdde9fcb7319f)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Sujith H <Sujith_Haridasan@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-10 11:33:24 +01:00