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

Christopher Larson kergoth at gmail.com
Fri Dec 13 14:56:37 UTC 2013


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.

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}/
+}
-- 
1.8.3.4




More information about the Openembedded-core mailing list