mirror of
https://git.yoctoproject.org/poky
synced 2026-09-24 22:36:21 +02:00
files: rootfs-postcommands: move helper commands to script
OverlayFS systemd helper unit might require more pre-processing commands. It gets more complicated to embed them in a unit file, because systemd shell subset is limited and might require additional escaping. Move the command to a separate script, thus simplifying systemd unit. (From OE-Core rev: 86a457016e7f3fc7acacf86cd87f5d8d882132dd) Signed-off-by: Vyacheslav Yurkov <v.yurkov@precitec.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
48bb4f6628
commit
5fc131c5a9
@@ -39,7 +39,7 @@ ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "systemd"
|
|||||||
|
|
||||||
ROOTFS_POSTPROCESS_COMMAND += 'empty_var_volatile;'
|
ROOTFS_POSTPROCESS_COMMAND += 'empty_var_volatile;'
|
||||||
|
|
||||||
ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "overlayfs", "overlayfs_qa_check;", "", d)}'
|
ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "overlayfs", "overlayfs_qa_check; overlayfs_postprocess;", "", d)}'
|
||||||
|
|
||||||
inherit image-artifact-names
|
inherit image-artifact-names
|
||||||
|
|
||||||
@@ -422,3 +422,14 @@ python overlayfs_qa_check() {
|
|||||||
if not allUnitExist:
|
if not allUnitExist:
|
||||||
bb.fatal('Not all mount paths and units are installed in the image')
|
bb.fatal('Not all mount paths and units are installed in the image')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
python overlayfs_postprocess() {
|
||||||
|
import shutil
|
||||||
|
|
||||||
|
# install helper script
|
||||||
|
helperScriptName = "overlayfs-create-dirs.sh"
|
||||||
|
helperScriptSource = oe.path.join(d.getVar("COREBASE"), "meta/files", helperScriptName)
|
||||||
|
helperScriptDest = oe.path.join(d.getVar("IMAGE_ROOTFS"), "/usr/sbin/", helperScriptName)
|
||||||
|
shutil.copyfile(helperScriptSource, helperScriptDest)
|
||||||
|
os.chmod(helperScriptDest, 0o755)
|
||||||
|
}
|
||||||
|
|||||||
@@ -6,8 +6,7 @@ DefaultDependencies=no
|
|||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=oneshot
|
Type=oneshot
|
||||||
ExecStart=mkdir -p {DATA_MOUNT_POINT}/upper{LOWERDIR}
|
ExecStart=/usr/sbin/overlayfs-create-dirs.sh {LOWERDIR} {DATA_MOUNT_POINT}
|
||||||
ExecStart=mkdir -p {DATA_MOUNT_POINT}/workdir{LOWERDIR}
|
|
||||||
RemainAfterExit=true
|
RemainAfterExit=true
|
||||||
StandardOutput=journal
|
StandardOutput=journal
|
||||||
|
|
||||||
|
|||||||
8
meta/files/overlayfs-create-dirs.sh
Normal file
8
meta/files/overlayfs-create-dirs.sh
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# This script is intended to be used sorely by overlayfs-create-dirs.service
|
||||||
|
# Usage: overlayfs-create-dirs.sh <LOWERDIR> <DATA_MOUNT_POINT>
|
||||||
|
|
||||||
|
lowerdir=$1
|
||||||
|
datamountpoint=$2
|
||||||
|
mkdir -p ${datamountpoint}/upper${lowerdir}
|
||||||
|
mkdir -p ${datamountpoint}/workdir${lowerdir}
|
||||||
Reference in New Issue
Block a user