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
This commit is contained in:
Eino Rauhala
2023-04-26 18:23:43 +03:00
committed by GitHub
parent 37143b0e23
commit 085d26aa1a
5 changed files with 12 additions and 7 deletions

View File

@@ -5,7 +5,12 @@ FROM ${BASE_CONTAINER_URL}:${FEDORA_MAJOR_VERSION}
ARG RECIPE ARG RECIPE
# copy over configuration files # 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 usr /usr
# copy scripts # copy scripts

View File

@@ -23,9 +23,9 @@ echo "---"
pip install --prefix=/usr yafti pip install --prefix=/usr yafti
# add a package group for yafti using the packages defined in recipe.yml # 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.description = "Flatpaks defined by the image maintainer"' /usr/etc/yafti.yml
yq -i '.screens.applications.values.groups.Custom.default = true' /etc/yafti.yml yq -i '.screens.applications.values.groups.Custom.default = true' /usr/etc/yafti.yml
flatpaks=$(yq '.flatpaks[]' < /tmp/ublue-recipe.yml) flatpaks=$(yq '.flatpaks[]' < /tmp/ublue-recipe.yml)
for pkg in $(echo -e "$flatpaks"); do \ 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 done

View File

@@ -26,7 +26,7 @@ distrobox-ubuntu:
setup-flatpaks: setup-flatpaks:
#!/bin/bash #!/bin/bash
echo 'Installing flatpaks from the ublue recipe ...' 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 \ for pkg in $flatpaks; do \
echo "Installing: ${pkg}" && \ echo "Installing: ${pkg}" && \
flatpak install --user --noninteractive flathub $pkg; \ flatpak install --user --noninteractive flathub $pkg; \

View File

@@ -1,6 +1,6 @@
if test "$(id -u)" -gt "0" && test -d "$HOME"; then if test "$(id -u)" -gt "0" && test -d "$HOME"; then
if test ! -e "$HOME"/.config/autostart/ublue-firstboot.desktop; then if test ! -e "$HOME"/.config/autostart/ublue-firstboot.desktop; then
mkdir -p "$HOME"/.config/autostart 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
fi fi

View File

@@ -1,7 +1,7 @@
[Desktop Entry] [Desktop Entry]
Name=uBlue First Boot Setup Name=uBlue First Boot Setup
Comment=Sets up uBlue Desktop Correctly On FirstBoot 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 Icon=org.gnome.Terminal
Type=Application Type=Application
Categories=Utility;System; Categories=Utility;System;