[OE-core] [RFC 1/2] os-release: add new operating system identification recipe

Mark Hatle mark.hatle at windriver.com
Fri Dec 13 15:56:06 UTC 2013


On 12/13/13, 8:56 AM, Christopher Larson wrote:
> From: Christopher Larson <chris_larson at mentor.com>
>
> This is needed by systemd, among other useful applications. All fields are
> metadata driven, and initial values come from our DISTRO variables.

I thought there was a part of the lsb-release recipe that did this same thing.

It doesn't set the 'os-release' file, but the 'lsb-release' file.  Maybe it 
would make sense to consolidate this stuff into a base-file-...

--Mark

> Signed-off-by: Christopher Larson <kergoth at gmail.com>
> ---
>   meta/recipes-core/os-release/os-release.bb | 42 ++++++++++++++++++++++++++++++
>   1 file changed, 42 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..0f67597
> --- /dev/null
> +++ b/meta/recipes-core/os-release/os-release.bb
> @@ -0,0 +1,42 @@
> +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 ANSI_COLOR CPE_NAME HOME_URL SUPPORT_URL BUG_REPORT_URL
> +OS_RELEASE_FIELDS = "ID ID_LIKE NAME VERSION VERSION_ID PRETTY_NAME"
> +
> +export ID = "${DISTRO}"
> +export NAME = "${DISTRO_NAME}"
> +export VERSION = "${DISTRO_VERSION}${@' (%s)' % DISTRO_CODENAME if 'DISTRO_CODENAME' in d else ''}"
> +export VERSION_ID = "${DISTRO_VERSION}"
> +export PRETTY_NAME = "${DISTRO_NAME} ${VERSION}"
> +
> +export BUILD_ID ?= "${DATETIME}"
> +export ID_LIKE
> +export ANSI_COLOR
> +export CPE_NAME
> +export HOME_URL
> +export SUPPORT_URL
> +export BUG_REPORT_URL
> +
> +do_compile () {
> +    for field in ${OS_RELEASE_FIELDS}; do
> +        if eval "test -n \"\$$field\""; then
> +            eval "printf \"%s=%s\n\" \"\$field\" \"\$$field\""
> +        fi
> +    done >os-release
> +}
> +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