From 085d26aa1acd7252c1c54fbd18661fed1a69d4e1 Mon Sep 17 00:00:00 2001 From: Eino Rauhala <60004820+EinoHR@users.noreply.github.com> Date: Wed, 26 Apr 2023 18:23:43 +0300 Subject: [PATCH] fix: prevent /etc/ merge issues (#43) * fix: prevent /etc/ merge issues discussed at length in #28 also including tons of comments about the issue * fix: change references of /etc/ to /usr/etc --- Containerfile | 7 ++++++- build.sh | 6 +++--- etc/justfile | 2 +- etc/profile.d/ublue-firstboot.sh | 2 +- etc/skel.d/.config/autostart/ublue-firstboot.desktop | 2 +- 5 files changed, 12 insertions(+), 7 deletions(-) diff --git a/Containerfile b/Containerfile index 03c5b6f..56ded2b 100644 --- a/Containerfile +++ b/Containerfile @@ -5,7 +5,12 @@ FROM ${BASE_CONTAINER_URL}:${FEDORA_MAJOR_VERSION} ARG RECIPE # copy over configuration files -COPY etc /etc +# etc is copied to /usr/etc/ to prevent "merge conflicts" +# as it is the proper directory for "system" configuration files +# and /etc/ is for editing by the local admin +# see issue #28 (https://github.com/ublue-os/startingpoint/issues/28) +COPY etc /usr/etc +# uncomment below line if you need to put config files in /usr/ # COPY usr /usr # copy scripts diff --git a/build.sh b/build.sh index df60f8c..d1354f3 100644 --- a/build.sh +++ b/build.sh @@ -23,9 +23,9 @@ echo "---" pip install --prefix=/usr yafti # add a package group for yafti using the packages defined in recipe.yml -yq -i '.screens.applications.values.groups.Custom.description = "Flatpaks defined by the image maintainer"' /etc/yafti.yml -yq -i '.screens.applications.values.groups.Custom.default = true' /etc/yafti.yml +yq -i '.screens.applications.values.groups.Custom.description = "Flatpaks defined by the image maintainer"' /usr/etc/yafti.yml +yq -i '.screens.applications.values.groups.Custom.default = true' /usr/etc/yafti.yml flatpaks=$(yq '.flatpaks[]' < /tmp/ublue-recipe.yml) for pkg in $(echo -e "$flatpaks"); do \ - yq -i ".screens.applications.values.groups.Custom.packages += [{\"$pkg\": \"$pkg\"}]" /etc/yafti.yml + yq -i ".screens.applications.values.groups.Custom.packages += [{\"$pkg\": \"$pkg\"}]" /usr/etc/yafti.yml done diff --git a/etc/justfile b/etc/justfile index 18fab55..5e655aa 100644 --- a/etc/justfile +++ b/etc/justfile @@ -26,7 +26,7 @@ distrobox-ubuntu: setup-flatpaks: #!/bin/bash echo 'Installing flatpaks from the ublue recipe ...' - flatpaks=$(yq '.flatpaks[]' < /etc/ublue-recipe.yml) + flatpaks=$(yq '.flatpaks[]' < /usr/etc/ublue-recipe.yml) for pkg in $flatpaks; do \ echo "Installing: ${pkg}" && \ flatpak install --user --noninteractive flathub $pkg; \ diff --git a/etc/profile.d/ublue-firstboot.sh b/etc/profile.d/ublue-firstboot.sh index 62818cd..fe1d6b6 100644 --- a/etc/profile.d/ublue-firstboot.sh +++ b/etc/profile.d/ublue-firstboot.sh @@ -1,6 +1,6 @@ if test "$(id -u)" -gt "0" && test -d "$HOME"; then if test ! -e "$HOME"/.config/autostart/ublue-firstboot.desktop; then mkdir -p "$HOME"/.config/autostart - cp -f /etc/skel.d/.config/autostart/ublue-firstboot.desktop "$HOME"/.config/autostart + cp -f /usr/etc/skel.d/.config/autostart/ublue-firstboot.desktop "$HOME"/.config/autostart fi fi \ No newline at end of file diff --git a/etc/skel.d/.config/autostart/ublue-firstboot.desktop b/etc/skel.d/.config/autostart/ublue-firstboot.desktop index 94e94d2..bd6da13 100644 --- a/etc/skel.d/.config/autostart/ublue-firstboot.desktop +++ b/etc/skel.d/.config/autostart/ublue-firstboot.desktop @@ -1,7 +1,7 @@ [Desktop Entry] Name=uBlue First Boot Setup Comment=Sets up uBlue Desktop Correctly On FirstBoot -Exec=/usr/bin/yafti /etc/yafti.yml +Exec=/usr/bin/yafti /usr/etc/yafti.yml Icon=org.gnome.Terminal Type=Application Categories=Utility;System;