Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 1 | inherit allarch |
| 2 | |
| 3 | SUMMARY = "Operating system identification" |
| 4 | DESCRIPTION = "The /etc/os-release file contains operating system identification data." |
| 5 | LICENSE = "MIT" |
| 6 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" |
| 7 | INHIBIT_DEFAULT_DEPS = "1" |
| 8 | |
| 9 | do_fetch[noexec] = "1" |
| 10 | do_unpack[noexec] = "1" |
| 11 | do_patch[noexec] = "1" |
| 12 | do_configure[noexec] = "1" |
| 13 | |
| 14 | # Other valid fields: BUILD_ID ID_LIKE ANSI_COLOR CPE_NAME |
| 15 | # HOME_URL SUPPORT_URL BUG_REPORT_URL |
| 16 | OS_RELEASE_FIELDS = "ID ID_LIKE NAME VERSION VERSION_ID PRETTY_NAME" |
| 17 | |
| 18 | ID = "${DISTRO}" |
| 19 | NAME = "${DISTRO_NAME}" |
| 20 | VERSION = "${DISTRO_VERSION}${@' (%s)' % DISTRO_CODENAME if 'DISTRO_CODENAME' in d else ''}" |
| 21 | VERSION_ID = "${DISTRO_VERSION}" |
| 22 | PRETTY_NAME = "${DISTRO_NAME} ${VERSION}" |
| 23 | BUILD_ID ?= "${DATETIME}" |
| 24 | BUILD_ID[vardepsexclude] = "DATETIME" |
| 25 | |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 26 | def sanitise_version(ver): |
| 27 | # VERSION_ID should be (from os-release(5)): |
| 28 | # lower-case string (mostly numeric, no spaces or other characters |
| 29 | # outside of 0-9, a-z, ".", "_" and "-") |
| 30 | ret = ver.replace('+', '-').replace(' ','_') |
| 31 | return ret.lower() |
| 32 | |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 33 | python do_compile () { |
| 34 | import shutil |
| 35 | with open(d.expand('${B}/os-release'), 'w') as f: |
| 36 | for field in d.getVar('OS_RELEASE_FIELDS', True).split(): |
| 37 | value = d.getVar(field, True) |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 38 | if value and field == 'VERSION_ID': |
| 39 | value = sanitise_version(value) |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 40 | if value: |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 41 | f.write('{0}="{1}"\n'.format(field, value)) |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 42 | } |
| 43 | do_compile[vardeps] += "${OS_RELEASE_FIELDS}" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 44 | |
| 45 | do_install () { |
| 46 | install -d ${D}${sysconfdir} |
| 47 | install -m 0644 os-release ${D}${sysconfdir}/ |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 48 | } |