diff mbox series

[3/4] overlayfs: Remove helper unit

Message ID 20251222113840.2163929-3-uvv.mail@gmail.com
State New
Headers show
Series [1/4] overlayfs: Fix QA failure | expand

Commit Message

Vyacheslav Yurkov Dec. 22, 2025, 11:38 a.m. UTC
From: Vyacheslav Yurkov <uvv.mail@gmail.com>

Since systemd v256 workdir and upperdir are automatically created if
they don't exist, so we don't need an additional helper unit anymore.

Ref: https://github.com/systemd/systemd/commit/6c75eff6afd90596d09a33a9275be292db4e3380

Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com>
---
 meta/classes-recipe/overlayfs.bbclass           | 10 ----------
 meta/classes-recipe/rootfs-postcommands.bbclass | 13 +------------
 meta/files/overlayfs-create-dirs.service.in     | 13 -------------
 meta/files/overlayfs-create-dirs.sh             | 11 -----------
 meta/files/overlayfs-unit.mount.in              |  3 +--
 meta/lib/oe/overlayfs.py                        |  4 ----
 6 files changed, 2 insertions(+), 52 deletions(-)
 delete mode 100644 meta/files/overlayfs-create-dirs.service.in
 delete mode 100644 meta/files/overlayfs-create-dirs.sh
diff mbox series

Patch

diff --git a/meta/classes-recipe/overlayfs.bbclass b/meta/classes-recipe/overlayfs.bbclass
index a82763ec10..07cc68ad7b 100644
--- a/meta/classes-recipe/overlayfs.bbclass
+++ b/meta/classes-recipe/overlayfs.bbclass
@@ -55,27 +55,21 @@  REQUIRED_DISTRO_FEATURES += "systemd overlayfs"
 
 inherit systemd features_check
 
-OVERLAYFS_CREATE_DIRS_TEMPLATE ??= "${COREBASE}/meta/files/overlayfs-create-dirs.service.in"
 OVERLAYFS_MOUNT_UNIT_TEMPLATE ??= "${COREBASE}/meta/files/overlayfs-unit.mount.in"
 OVERLAYFS_ALL_OVERLAYS_TEMPLATE ??= "${COREBASE}/meta/files/overlayfs-all-overlays.service.in"
 
 python do_create_overlayfs_units() {
     from oe.overlayfs import mountUnitName
 
-    with open(d.getVar("OVERLAYFS_CREATE_DIRS_TEMPLATE"), "r") as f:
-        CreateDirsUnitTemplate = f.read()
     with open(d.getVar("OVERLAYFS_MOUNT_UNIT_TEMPLATE"), "r") as f:
         MountUnitTemplate = f.read()
     with open(d.getVar("OVERLAYFS_ALL_OVERLAYS_TEMPLATE"), "r") as f:
         AllOverlaysTemplate = f.read()
 
     def prepareUnits(data, lower):
-        from oe.overlayfs import helperUnitName
-
         args = {
             'DATA_MOUNT_POINT': data,
             'DATA_MOUNT_UNIT': mountUnitName(data),
-            'CREATE_DIRS_SERVICE': helperUnitName(lower),
             'LOWERDIR': lower,
         }
 
@@ -83,10 +77,6 @@  python do_create_overlayfs_units() {
         with open(os.path.join(d.getVar('WORKDIR'), mountUnitName(lower)), 'w') as f:
             f.write(MountUnitTemplate.format(**args))
 
-        bb.debug(1, "Generate helper systemd unit %s" % helperUnitName(lower))
-        with open(os.path.join(d.getVar('WORKDIR'), helperUnitName(lower)), 'w') as f:
-            f.write(CreateDirsUnitTemplate.format(**args))
-
     def prepareGlobalUnit(dependentUnits):
         from oe.overlayfs import allOverlaysUnitName
         args = {
diff --git a/meta/classes-recipe/rootfs-postcommands.bbclass b/meta/classes-recipe/rootfs-postcommands.bbclass
index 2a36840f29..f0c7ee658d 100644
--- a/meta/classes-recipe/rootfs-postcommands.bbclass
+++ b/meta/classes-recipe/rootfs-postcommands.bbclass
@@ -47,7 +47,7 @@  ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "systemd"
 
 ROOTFS_POSTPROCESS_COMMAND += 'empty_var_volatile'
 
-ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "overlayfs", "overlayfs_qa_check overlayfs_postprocess", "", d)}'
+ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "overlayfs", "overlayfs_qa_check", "", d)}'
 
 inherit image-artifact-names
 
@@ -570,14 +570,3 @@  python overlayfs_qa_check() {
     if not allUnitExist:
         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)
-}
diff --git a/meta/files/overlayfs-create-dirs.service.in b/meta/files/overlayfs-create-dirs.service.in
deleted file mode 100644
index c8431548d7..0000000000
--- a/meta/files/overlayfs-create-dirs.service.in
+++ /dev/null
@@ -1,13 +0,0 @@ 
-[Unit]
-Description=Overlayfs directories setup {LOWERDIR}
-RequiresMountsFor={DATA_MOUNT_POINT}
-DefaultDependencies=no
-
-[Service]
-Type=oneshot
-ExecStart=/usr/sbin/overlayfs-create-dirs.sh {LOWERDIR} {DATA_MOUNT_POINT}
-RemainAfterExit=true
-StandardOutput=journal
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta/files/overlayfs-create-dirs.sh b/meta/files/overlayfs-create-dirs.sh
deleted file mode 100644
index 9954c34352..0000000000
--- a/meta/files/overlayfs-create-dirs.sh
+++ /dev/null
@@ -1,11 +0,0 @@ 
-#!/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}
-if [ -d "$lowerdir" ]; then
-    chown $(stat -c "%U:%G" ${lowerdir}) ${datamountpoint}/upper${lowerdir}
-fi
diff --git a/meta/files/overlayfs-unit.mount.in b/meta/files/overlayfs-unit.mount.in
index 9c117f2c52..eb78d2cb4f 100644
--- a/meta/files/overlayfs-unit.mount.in
+++ b/meta/files/overlayfs-unit.mount.in
@@ -1,7 +1,6 @@ 
 [Unit]
 Description=Overlayfs mount unit {LOWERDIR}
-Requires={CREATE_DIRS_SERVICE}
-After={CREATE_DIRS_SERVICE}
+RequiresMountsFor={DATA_MOUNT_POINT}
 
 [Mount]
 What=overlay
diff --git a/meta/lib/oe/overlayfs.py b/meta/lib/oe/overlayfs.py
index dbfed317c0..3805746d90 100644
--- a/meta/lib/oe/overlayfs.py
+++ b/meta/lib/oe/overlayfs.py
@@ -23,9 +23,6 @@  def allOverlaysUnitName(d):
 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")
@@ -47,7 +44,6 @@  def unitFileList(d):
             continue
         for path in mountPointList.split():
             fileList.append(mountUnitName(path))
-            fileList.append(helperUnitName(path))
 
     fileList.append(allOverlaysUnitName(d))