mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
As stated in our top level license files, the license is MIT unless otherwise stated. Add SPDX identifers accordingly. Replace older license statementa with the standardised syntax. Also drop "All Rights Reserved" expression as it isn't used now, doesn't mean anything and is confusing. (From OE-Core rev: 081a391fe09a21265881e39a2a496e4e10b4f80b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
31 lines
1.1 KiB
Plaintext
31 lines
1.1 KiB
Plaintext
#
|
|
# Copyright OpenEmbedded Contributors
|
|
#
|
|
# SPDX-License-Identifier: MIT
|
|
#
|
|
|
|
# Extract UUID from ${ROOTFS}, which must have been built
|
|
# by the time that this function gets called. Only works
|
|
# on ext file systems and depends on tune2fs.
|
|
def get_rootfs_uuid(d):
|
|
import subprocess
|
|
rootfs = d.getVar('ROOTFS')
|
|
output = subprocess.check_output(['tune2fs', '-l', rootfs])
|
|
for line in output.split('\n'):
|
|
if line.startswith('Filesystem UUID:'):
|
|
uuid = line.split()[-1]
|
|
bb.note('UUID of %s: %s' % (rootfs, uuid))
|
|
return uuid
|
|
bb.fatal('Could not determine filesystem UUID of %s' % rootfs)
|
|
|
|
# Replace the special <<uuid-of-rootfs>> inside a string (like the
|
|
# root= APPEND string in a syslinux.cfg or systemd-boot entry) with the
|
|
# actual UUID of the rootfs. Does nothing if the special string
|
|
# is not used.
|
|
def replace_rootfs_uuid(d, string):
|
|
UUID_PLACEHOLDER = '<<uuid-of-rootfs>>'
|
|
if UUID_PLACEHOLDER in string:
|
|
uuid = get_rootfs_uuid(d)
|
|
string = string.replace(UUID_PLACEHOLDER, uuid)
|
|
return string
|