[OE-core] [PATCH] os-release: Adding a new recipe for operating system identification
Mark Hatle
mark.hatle at windriver.com
Fri Aug 1 14:19:58 UTC 2014
While not exactly the same thing, there is a similar file being generated when
LSB is enabled. It can be used outside of the LSB configuration as well.
The recipe is simply 'lsb'. It provides some basic initscript functions
(required by the lsb) as well as the /etc/lsb-release file which is pretty close
to the output below.
I have wondered in the past if we should add a similar file to what the LSB or
below is doing to 'base-files'.
--Mark
On 8/1/14, 8:16 AM, Sujith H wrote:
> From: Sujith H <Sujith_Haridasan at mentor.com>
>
> 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)
>
> Signed-off-by: Christopher Larson <kergoth at gmail.com>
> Signed-off-by: Sujith H <Sujith_Haridasan at mentor.com>
> ---
> meta/recipes-core/os-release/os-release.bb | 36 ++++++++++++++++++++++++++++++
> 1 file changed, 36 insertions(+)
> create mode 100644 meta/recipes-core/os-release/os-release.bb
>
> diff --git a/meta/recipes-core/os-release/os-release.bb b/meta/recipes-core/os-release/os-release.bb
> new file mode 100644
> index 0000000..33e9581
> --- /dev/null
> +++ b/meta/recipes-core/os-release/os-release.bb
> @@ -0,0 +1,36 @@
> +inherit allarch
> +
> +SUMMARY = "Operating system identification"
> +DESCRIPTION = "The /etc/os-release file contains operating system identification data."
> +LICENSE = "MIT"
> +INHIBIT_DEFAULT_DEPS = "1"
> +
> +do_fetch[noexec] = "1"
> +do_unpack[noexec] = "1"
> +do_patch[noexec] = "1"
> +do_configure[noexec] = "1"
> +
> +# Other valid fields: BUILD_ID ID_LIKE ANSI_COLOR CPE_NAME
> +# HOME_URL SUPPORT_URL BUG_REPORT_URL
> +OS_RELEASE_FIELDS = "ID ID_LIKE NAME VERSION VERSION_ID PRETTY_NAME"
> +
> +ID = "${DISTRO}"
> +NAME = "${DISTRO_NAME}"
> +VERSION = "${DISTRO_VERSION}${@' (%s)' % DISTRO_CODENAME if 'DISTRO_CODENAME' in d else ''}"
> +VERSION_ID = "${DISTRO_VERSION}"
> +PRETTY_NAME = "${DISTRO_NAME} ${VERSION}"
> +BUILD_ID ?= "${DATETIME}"
> +
> +python do_compile () {
> + with open(d.expand('${B}/os-release'), 'w') as f:
> + for field in d.getVar('OS_RELEASE_FIELDS', True).split():
> + value = d.getVar(field, True)
> + if value:
> + f.write('{0}={1}\n'.format(field, value))
> +}
> +do_compile[vardeps] += "${OS_RELEASE_FIELDS}"
> +
> +do_install () {
> + install -d ${D}${sysconfdir}
> + install -m 0644 os-release ${D}${sysconfdir}/
> +}
>
More information about the Openembedded-core
mailing list