From b836d417a0d3600e0c034332642453409a180417 Mon Sep 17 00:00:00 2001 From: Dennis ten Hoove Date: Sun, 26 May 2024 01:55:45 +0200 Subject: [PATCH] Add pacman wrapper --- .../overlay/post_install/usr/bin/pacman | 28 +++++++++++++++++++ .../overlay/post_install/usr/bin/pacman | 28 +++++++++++++++++++ .../overlay/post_install/usr/bin/pacman | 28 +++++++++++++++++++ 3 files changed, 84 insertions(+) create mode 100755 arkdep-build.d/arkanelinux/overlay/post_install/usr/bin/pacman create mode 100755 arkdep-build.d/test-arkanelinux-kde/overlay/post_install/usr/bin/pacman create mode 100755 arkdep-build.d/test-arkanelinux-pantheon/overlay/post_install/usr/bin/pacman diff --git a/arkdep-build.d/arkanelinux/overlay/post_install/usr/bin/pacman b/arkdep-build.d/arkanelinux/overlay/post_install/usr/bin/pacman new file mode 100755 index 0000000..18f31da --- /dev/null +++ b/arkdep-build.d/arkanelinux/overlay/post_install/usr/bin/pacman @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +if [[ ! $EUID -eq 0 ]]; then + printf 'You have to be root to perform this action.\n' + exit 1 +fi + +# Check if the disk is ro'ed using subvolume properties +if btrfs property get / 2> /dev/null | grep -q 'ro=true'; then + cat <<- END + The root partition is currently in read-only mode, to run pacman it will have to be switched over to read-write mode. + + Note that any changes made to the system will not carry over to future OS image updates. + + END + read -p 'Do you want to unlock the root partition? (y/N) ' ans + + if [[ $ans =~ ^(y|Y|yes|YES)$ ]]; then + btrfs property set / ro false + else + printf 'Quitting... no changes have been made to the system.\n' + exit 0 + fi +fi + +# No exit statement here, we return pacman's exit code +/usr/bin/pacman $@ + diff --git a/arkdep-build.d/test-arkanelinux-kde/overlay/post_install/usr/bin/pacman b/arkdep-build.d/test-arkanelinux-kde/overlay/post_install/usr/bin/pacman new file mode 100755 index 0000000..18f31da --- /dev/null +++ b/arkdep-build.d/test-arkanelinux-kde/overlay/post_install/usr/bin/pacman @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +if [[ ! $EUID -eq 0 ]]; then + printf 'You have to be root to perform this action.\n' + exit 1 +fi + +# Check if the disk is ro'ed using subvolume properties +if btrfs property get / 2> /dev/null | grep -q 'ro=true'; then + cat <<- END + The root partition is currently in read-only mode, to run pacman it will have to be switched over to read-write mode. + + Note that any changes made to the system will not carry over to future OS image updates. + + END + read -p 'Do you want to unlock the root partition? (y/N) ' ans + + if [[ $ans =~ ^(y|Y|yes|YES)$ ]]; then + btrfs property set / ro false + else + printf 'Quitting... no changes have been made to the system.\n' + exit 0 + fi +fi + +# No exit statement here, we return pacman's exit code +/usr/bin/pacman $@ + diff --git a/arkdep-build.d/test-arkanelinux-pantheon/overlay/post_install/usr/bin/pacman b/arkdep-build.d/test-arkanelinux-pantheon/overlay/post_install/usr/bin/pacman new file mode 100755 index 0000000..18f31da --- /dev/null +++ b/arkdep-build.d/test-arkanelinux-pantheon/overlay/post_install/usr/bin/pacman @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +if [[ ! $EUID -eq 0 ]]; then + printf 'You have to be root to perform this action.\n' + exit 1 +fi + +# Check if the disk is ro'ed using subvolume properties +if btrfs property get / 2> /dev/null | grep -q 'ro=true'; then + cat <<- END + The root partition is currently in read-only mode, to run pacman it will have to be switched over to read-write mode. + + Note that any changes made to the system will not carry over to future OS image updates. + + END + read -p 'Do you want to unlock the root partition? (y/N) ' ans + + if [[ $ans =~ ^(y|Y|yes|YES)$ ]]; then + btrfs property set / ro false + else + printf 'Quitting... no changes have been made to the system.\n' + exit 0 + fi +fi + +# No exit statement here, we return pacman's exit code +/usr/bin/pacman $@ +