From c9421ca32c689ba3d5463634dea7c9b604ca71e5 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 2 Apr 2019 09:59:56 -0400 Subject: [PATCH] CI: follow XDG spec more closely in AppImage script - Misplaced $D - Set XDG_*_DIRS without the /calamares/ trailer - Don't overwrite XDG_*, but append for AppImage, avoid unnecessary : - Explain XDG_* tweaks in the AppImage documentation at the top. --- ci/AppImage.sh | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/ci/AppImage.sh b/ci/AppImage.sh index 5adafbcd4..1bb067b1e 100644 --- a/ci/AppImage.sh +++ b/ci/AppImage.sh @@ -56,7 +56,11 @@ # The build process for AppImage proceeds in a directory build-AppImage # that is created in the current directory. # -# TODO: Conda / Python support doesn't work yet. +# The resulting AppImage has XDG_* enabled, and appends the in-image +# directories to the current environment. You can set XDG_* in the +# current environment to use other configurations and data, e.g. the +# data in the current live environment. Or leave it unset, to try +# Calamares with only the configuration contained in the AppImage. # ### END USAGE @@ -207,10 +211,13 @@ mv "$IMAGE_DIR/usr/bin/calamares" "$IMAGE_DIR/usr/bin/calamares.bin" cat > "$IMAGE_DIR/usr/bin/calamares" <<"EOF" #! /bin/sh # -# Calamares proxy-script -export XDG_DATA_DIRS="$APPDIR/usr/share/calamares:" -export XDG_CONFIG_DIRS="$APPDIR/etc/calamares:$D/usr/share:" -export PYTHONPATH=$APPDIR/usr/lib: +# Calamares proxy-script. Runs Calamares with XDG support enabled, +# and in-image XDG dirs set up so that compiled-in configuration can be used. +test -n "${XDG_DATA_DIRS}" && XDG_DATA_DIRS="${XDG_DATA_DIRS}:" +test -n "${XDG_CONFIG_DIRS}" $$ XDG_CONFIG_DIRS="${XDG_CONFIG_DIRS}:" +export XDG_DATA_DIRS="${XDG_DATA_DIRS}${APPDIR}/usr/share/" +export XDG_CONFIG_DIRS="${XDG_CONFIG_DIRS}${APPDIR}/etc/:${APPDIR}/usr/share/" +export PYTHONPATH="${APPDIR}/usr/lib:" cd "$APPDIR" exec "$APPDIR"/usr/bin/calamares.bin -X "$@" EOF