diff detection of service files
This commit is contained in:
parent
8d7f84ac8e
commit
a901f34a9e
1 changed files with 18 additions and 3 deletions
21
configctl
21
configctl
|
@ -45,8 +45,9 @@ fi
|
||||||
|
|
||||||
SYSD_DIR="$XDG_CONFIG_HOME/systemd/user"
|
SYSD_DIR="$XDG_CONFIG_HOME/systemd/user"
|
||||||
SVC_NAME="$SELECTED-automount.service"
|
SVC_NAME="$SELECTED-automount.service"
|
||||||
|
TMP=$(mktemp)
|
||||||
mkdir -p "$SYSD_DIR"
|
mkdir -p "$SYSD_DIR"
|
||||||
cat << EOF > "$SYSD_DIR/$SVC_NAME"
|
cat << EOF > "$TMP"
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Mount fuse-overlayfs config
|
Description=Mount fuse-overlayfs config
|
||||||
|
|
||||||
|
@ -54,15 +55,29 @@ Description=Mount fuse-overlayfs config
|
||||||
Type=oneshot
|
Type=oneshot
|
||||||
RemainAfterExit=yes
|
RemainAfterExit=yes
|
||||||
ExecStart=fuse-overlayfs -o lowerdir="$BASE_CONFIG:$CHANGESET",upperdir="$UPPER_DIR",workdir="$WORKDIR" "$MOUNT_POINT"
|
ExecStart=fuse-overlayfs -o lowerdir="$BASE_CONFIG:$CHANGESET",upperdir="$UPPER_DIR",workdir="$WORKDIR" "$MOUNT_POINT"
|
||||||
ExecStop=/usr/bin/fusermount -u ~/.$MOUNT_POINT
|
ExecStop=/usr/bin/fusermount -u $MOUNT_POINT
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=default.target
|
WantedBy=default.target
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
diff "$TMP" "$SYSD_DIR/$SVC_NAME" > /dev/null 2>&1
|
||||||
|
|
||||||
|
HAS_DIFF=$?
|
||||||
|
PROMPT=0
|
||||||
|
if [ "$HAS_DIFF" -gt 0 ]; then
|
||||||
|
mv "$TMP" "$SYSD_DIR/$SVC_NAME"
|
||||||
|
PROMPT=1
|
||||||
|
fi
|
||||||
|
|
||||||
mkdir -p "$WORKDIR"
|
mkdir -p "$WORKDIR"
|
||||||
|
|
||||||
fuse-overlayfs -o lowerdir="$BASE_CONFIG:$CHANGESET",upperdir="$UPPER_DIR",workdir="$WORKDIR" "$MOUNT_POINT"
|
fuse-overlayfs -o lowerdir="$BASE_CONFIG:$CHANGESET",upperdir="$UPPER_DIR",workdir="$WORKDIR" "$MOUNT_POINT"
|
||||||
|
|
||||||
echo "Mounted $MOUNT_POINT with changeset '$SELECTED'"
|
echo "Mounted $MOUNT_POINT with changeset '$SELECTED'"
|
||||||
echo "Run 'systemctl --user enable --now $SVC_NAME' to automount this config"
|
|
||||||
|
if [ "$PROMPT" -eq 1 ]; then
|
||||||
|
echo "Run 'systemctl --user enable --now $SVC_NAME' to automount this config"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue