From ba213c61cc5eeda2f20cf791a5f79550ae8c628b Mon Sep 17 00:00:00 2001 From: Hadi Chokr Date: Tue, 5 May 2026 08:03:36 +0200 Subject: [PATCH] Apply sugesstion --- mkosi.extra/usr/lib/opt-cleaner | 5 +++++ mkosi.extra/usr/lib/opt-kleaner | 15 --------------- mkosi.extra/usr/lib/opt-masker | 8 ++++++++ .../systemd/system-preset/00-kde-linux.preset | 3 ++- .../system/kde-linux-opt-cleaner-mask.service | 16 ++++++++++++++++ .../system/kde-linux-opt-cleaner-nuke.service | 16 ++++++++++++++++ 6 files changed, 47 insertions(+), 16 deletions(-) create mode 100644 mkosi.extra/usr/lib/opt-cleaner delete mode 100755 mkosi.extra/usr/lib/opt-kleaner create mode 100644 mkosi.extra/usr/lib/opt-masker create mode 100644 mkosi.extra/usr/lib/systemd/system/kde-linux-opt-cleaner-mask.service create mode 100644 mkosi.extra/usr/lib/systemd/system/kde-linux-opt-cleaner-nuke.service diff --git a/mkosi.extra/usr/lib/opt-cleaner b/mkosi.extra/usr/lib/opt-cleaner new file mode 100644 index 0000000..b979975 --- /dev/null +++ b/mkosi.extra/usr/lib/opt-cleaner @@ -0,0 +1,5 @@ +#!/usr/bin/bash +# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL +# SPDX-FileCopyrightText: 2026 Hadi Chokr + +rm -rf /opt/local diff --git a/mkosi.extra/usr/lib/opt-kleaner b/mkosi.extra/usr/lib/opt-kleaner deleted file mode 100755 index de6c500..0000000 --- a/mkosi.extra/usr/lib/opt-kleaner +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/bash -# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL -# SPDX-FileCopyrightText: 2026 Hadi Chokr - -CMDLINE=$(cat /proc/cmdline) - -if echo "$CMDLINE" | grep -q 'nuke_local=1'; then - rm -rf /opt/local - -elif echo "$CMDLINE" | grep -q 'mask_local=1'; then - mkdir -p /var/opt/local - mount --bind /opt/local /var/opt/local - mount --make-private /var/opt/local # isolate it before masking - mount -t tmpfs tmpfs /opt/local -fi diff --git a/mkosi.extra/usr/lib/opt-masker b/mkosi.extra/usr/lib/opt-masker new file mode 100644 index 0000000..f0093af --- /dev/null +++ b/mkosi.extra/usr/lib/opt-masker @@ -0,0 +1,8 @@ +#!/usr/bin/bash +# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL +# SPDX-FileCopyrightText: 2026 Hadi Chokr + +mkdir -p /var/opt/local +mount --bind /opt/local /var/opt/local +mount --make-private /var/opt/local +mount -t tmpfs tmpfs /opt/local diff --git a/mkosi.extra/usr/lib/systemd/system-preset/00-kde-linux.preset b/mkosi.extra/usr/lib/systemd/system-preset/00-kde-linux.preset index 6c983e2..a84e0c8 100644 --- a/mkosi.extra/usr/lib/systemd/system-preset/00-kde-linux.preset +++ b/mkosi.extra/usr/lib/systemd/system-preset/00-kde-linux.preset @@ -50,8 +50,9 @@ enable kde-linux-openqa-setup.service enable kde-linux-powertop.service enable kde-linux-volatile-var-lib-flatpak.service enable kde-linux-sysupdated.socket +enable kde-linux-opt-cleaner-nuke.service +enable kde-linux-opt-cleaner-mask.service enable plasma-setup-live-system.service -enable kde-linux-opt-kleaner.service # KMSCON enable kmsconvt@ diff --git a/mkosi.extra/usr/lib/systemd/system/kde-linux-opt-cleaner-mask.service b/mkosi.extra/usr/lib/systemd/system/kde-linux-opt-cleaner-mask.service new file mode 100644 index 0000000..1ca1830 --- /dev/null +++ b/mkosi.extra/usr/lib/systemd/system/kde-linux-opt-cleaner-mask.service @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL +# SPDX-FileCopyrightText: 2026 Hadi Chokr + +[Unit] +Description=Mask /opt/local with tmpfs when kde-linux.mask_local=1 is set +DefaultDependencies=no +ConditionKernelCommandLine=kde-linux.mask_local=1 +Before=local-fs.target sysinit.target +After=systemd-remount-fs.service + +[Service] +Type=oneshot +ExecStart=/usr/lib/opt-masker + +[Install] +WantedBy=local-fs.target diff --git a/mkosi.extra/usr/lib/systemd/system/kde-linux-opt-cleaner-nuke.service b/mkosi.extra/usr/lib/systemd/system/kde-linux-opt-cleaner-nuke.service new file mode 100644 index 0000000..a318981 --- /dev/null +++ b/mkosi.extra/usr/lib/systemd/system/kde-linux-opt-cleaner-nuke.service @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL +# SPDX-FileCopyrightText: 2026 Hadi Chokr + +[Unit] +Description=Nuke /opt/local when kde-linux.nuke_local=1 is set +DefaultDependencies=no +ConditionKernelCommandLine=kde-linux.nuke_local=1 +Before=local-fs.target sysinit.target +After=systemd-remount-fs.service + +[Service] +Type=oneshot +ExecStart=/usr/lib/opt-cleaner + +[Install] +WantedBy=local-fs.target