mirror of
https://git.yoctoproject.org/poky
synced 2026-04-23 09:32:17 +02:00
lib/oe: add generic functions for overlayfs
(From OE-Core rev: 53f0af20f94399335c8a5a6b7001994e332b69a6) Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
a99473976d
commit
2377193d7a
43
meta/lib/oe/overlayfs.py
Normal file
43
meta/lib/oe/overlayfs.py
Normal file
@@ -0,0 +1,43 @@
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# This file contains common functions for overlayfs and its QA check
|
||||
|
||||
# this function is based on https://github.com/systemd/systemd/blob/main/src/basic/unit-name.c
|
||||
def escapeSystemdUnitName(path):
|
||||
escapeMap = {
|
||||
'/': '-',
|
||||
'-': "\\x2d",
|
||||
'\\': "\\x5d"
|
||||
}
|
||||
return "".join([escapeMap.get(c, c) for c in path.strip('/')])
|
||||
|
||||
def strForBash(s):
|
||||
return s.replace('\\', '\\\\')
|
||||
|
||||
def mountUnitName(unit):
|
||||
return escapeSystemdUnitName(unit) + '.mount'
|
||||
|
||||
def helperUnitName(unit):
|
||||
return escapeSystemdUnitName(unit) + '-create-upper-dir.service'
|
||||
|
||||
def unitFileList(d):
|
||||
fileList = []
|
||||
overlayMountPoints = d.getVarFlags("OVERLAYFS_MOUNT_POINT")
|
||||
|
||||
if not overlayMountPoints:
|
||||
bb.fatal("A recipe uses overlayfs class but there is no OVERLAYFS_MOUNT_POINT set in your MACHINE configuration")
|
||||
|
||||
# check that we have required mount points set first
|
||||
requiredMountPoints = d.getVarFlags('OVERLAYFS_WRITABLE_PATHS')
|
||||
for mountPoint in requiredMountPoints:
|
||||
if mountPoint not in overlayMountPoints:
|
||||
bb.fatal("Missing required mount point for OVERLAYFS_MOUNT_POINT[%s] in your MACHINE configuration" % mountPoint)
|
||||
|
||||
for mountPoint in overlayMountPoints:
|
||||
for path in d.getVarFlag('OVERLAYFS_WRITABLE_PATHS', mountPoint).split():
|
||||
fileList.append(mountUnitName(path))
|
||||
fileList.append(helperUnitName(path))
|
||||
|
||||
return fileList
|
||||
|
||||
Reference in New Issue
Block a user