[PATCH 3 of 3] (issue51) Set up autostart on installation
Wald Commits
scm-commit at wald.intevation.org
Fri Jul 11 18:31:16 CEST 2014
# HG changeset patch
# User Andre Heinecke <andre.heinecke at intevation.de>
# Date 1405096269 -7200
# Node ID ca149bad819588f75e667b407fbbf2415935dffe
# Parent 87387c5786ec10dc5f283ab097d718ee4d171b0a
(issue51) Set up autostart on installation.
diff -r 87387c5786ec -r ca149bad8195 packaging/linux-installer.inc.in
--- a/packaging/linux-installer.inc.in Fri Jul 11 18:30:36 2014 +0200
+++ b/packaging/linux-installer.inc.in Fri Jul 11 18:31:09 2014 +0200
@@ -265,6 +265,15 @@
echo "Removing configuration files:"
rm_files "${tbcfg_files[@]}"
rm_empty_dirs "$instcfg_path"
+
+ echo "Removing TrustBridge from autostart"
+ if [ "${SUDO_USER+X}" ] ; then
+ homedir=$(getent passwd "${SUDO_USER}" | cut -d ':' -f 6)
+ rm_files "${homedir}/.config/autostart/tustbridge.desktop"
+ else
+ config_home=${XDG_CONFIG_HOME:-~/.config}
+ rm_files "${config_home}/autostart/tustbridge.desktop"
+ fi
}
deinstall()
@@ -288,6 +297,41 @@
fi
}
+write_autostart()
+{
+ cat > "$1" << EOF
+[Desktop Entry]
+Type=Application
+Name=TrustBridge
+Exec="${instcfg[PREFIX]}/bin/trustbridge" --tray
+EOF
+ chown "${SUDO_USER:-${USER}}" "$1"
+ chmod 700 "$1"
+}
+
+setup_autostart()
+{
+ # Supported desktop environments: Unity, GNOME, XFCE, LXDE, KDE
+
+ if [ $SYSINST -eq 1 -a "${SUDO_USER+X}" ] ; then
+ homedir=$(getent passwd "${SUDO_USER}" | cut -d ':' -f 6)
+ install -d "${instcfg[PREFIX]}" || fatal "Could not create '${instcfg[PREFIX]}'!"
+ if [ ! -d "${homedir}/.config/autostart/" ]; then
+ install -d "${homedir}/.config/autostart/" || \
+ fatal "Failed to create autostart directory: '${homedir}/.config/autostart/'"
+ fi
+ write_autostart "${homedir}/.config/autostart/tustbridge.desktop"
+ # System wide installation with a nonstandard XDG_CONFIG_HOME or KDEHOME is not
+ # respected with regards to autostart.
+ else
+ config_home=${XDG_CONFIG_HOME:-~/.config}
+ if [ ! -d "${config_home}/autostart" ]; then
+ install -d "${config_home}/autostart" || \
+ fatal "Failed to create autostart directory: '${config_home}/autostart'"
+ fi
+ write_autostart "${config_home}/autostart/tustbridge.desktop"
+ fi
+}
#======================================================================
# main()
@@ -358,6 +402,9 @@
echo "Setting up cronjob ..."
setup_cronjob
+echo "Setting up autostart ..."
+setup_autostart
+
echo "Writing installation configuration to: $instcfg_file ..."
write_instcfg
exit 0
More information about the Trustbridge-commits
mailing list