annotate packaging/linux-installer.inc.in @ 1068:4e93a87d89eb

(issue54) use su to launch application as user after system wide installation
author Andre Heinecke <andre.heinecke@intevation.de>
date Wed, 10 Sep 2014 16:18:20 +0200
parents febd195c0301
children 709a7633a2c6
rev   line source
680
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
1 #!/bin/bash
1048
7bd1d723414d (issue84) Ubuntu Installer: Add installation howto.
Bernhard Reiter <bernhard@intevation.de>
parents: 1040
diff changeset
2 # Um TrustBridge zu installieren:
7bd1d723414d (issue84) Ubuntu Installer: Add installation howto.
Bernhard Reiter <bernhard@intevation.de>
parents: 1040
diff changeset
3 # 1. Prüfen Sie ob Sie dieser Datei genügend vertrauen, um ihr die Kontrolle
7bd1d723414d (issue84) Ubuntu Installer: Add installation howto.
Bernhard Reiter <bernhard@intevation.de>
parents: 1040
diff changeset
4 # über diesen Rechner zu übergeben. Beispielsweise durch Vergleich mit
7bd1d723414d (issue84) Ubuntu Installer: Add installation howto.
Bernhard Reiter <bernhard@intevation.de>
parents: 1040
diff changeset
5 # einer starken Prüfsumme aus einer zweiten, unabhängigen Quelle.
7bd1d723414d (issue84) Ubuntu Installer: Add installation howto.
Bernhard Reiter <bernhard@intevation.de>
parents: 1040
diff changeset
6 # 2. Öffnen Sie eine Kommandozeile, z.B. klicken Sie auf das "Terminal"-Symbol.
7bd1d723414d (issue84) Ubuntu Installer: Add installation howto.
Bernhard Reiter <bernhard@intevation.de>
parents: 1040
diff changeset
7 # 3. Wechseln Sie in das Verzeichnis, in welchem diese Datei gespeichert ist.
7bd1d723414d (issue84) Ubuntu Installer: Add installation howto.
Bernhard Reiter <bernhard@intevation.de>
parents: 1040
diff changeset
8 # Geben Sie Z.B. in die Kommandozeile ein: cd ~/Schreibtisch
1049
52c68a773194 Ubuntu Installer, short instruction with explicit mention that this example is for one user only.
Bernhard Reiter <bernhard@intevation.de>
parents: 1048
diff changeset
9 # 4. Starten Sie die Anwendung auf der Kommandozeile, beispielsweise
52c68a773194 Ubuntu Installer, short instruction with explicit mention that this example is for one user only.
Bernhard Reiter <bernhard@intevation.de>
parents: 1048
diff changeset
10 # als Installation nur für den aktuellen Nutzer, indem Sie eingeben:
52c68a773194 Ubuntu Installer, short instruction with explicit mention that this example is for one user only.
Bernhard Reiter <bernhard@intevation.de>
parents: 1048
diff changeset
11 # bash TrustBridge-1.0.0-i386.sh
1048
7bd1d723414d (issue84) Ubuntu Installer: Add installation howto.
Bernhard Reiter <bernhard@intevation.de>
parents: 1040
diff changeset
12 # Tipp: Die Tab-Taste nach dem "Tr" ergänzt oft den ganzen Namen.
7bd1d723414d (issue84) Ubuntu Installer: Add installation howto.
Bernhard Reiter <bernhard@intevation.de>
parents: 1040
diff changeset
13 #
7bd1d723414d (issue84) Ubuntu Installer: Add installation howto.
Bernhard Reiter <bernhard@intevation.de>
parents: 1040
diff changeset
14 # NB: Wir konnten kein übliches .deb Paket verwenden, da wir Ihnen
7bd1d723414d (issue84) Ubuntu Installer: Add installation howto.
Bernhard Reiter <bernhard@intevation.de>
parents: 1040
diff changeset
15 # auch die Installation als reiner Nutzer ohne Admin-Rechte ermöglichen.
7bd1d723414d (issue84) Ubuntu Installer: Add installation howto.
Bernhard Reiter <bernhard@intevation.de>
parents: 1040
diff changeset
16 #
7bd1d723414d (issue84) Ubuntu Installer: Add installation howto.
Bernhard Reiter <bernhard@intevation.de>
parents: 1040
diff changeset
17 # To install TrustBridge:
7bd1d723414d (issue84) Ubuntu Installer: Add installation howto.
Bernhard Reiter <bernhard@intevation.de>
parents: 1040
diff changeset
18 # 1. Verify that you trust this specific file far enough, that you are willing
7bd1d723414d (issue84) Ubuntu Installer: Add installation howto.
Bernhard Reiter <bernhard@intevation.de>
parents: 1040
diff changeset
19 # to hand over the control of your computer to it. For example compare
7bd1d723414d (issue84) Ubuntu Installer: Add installation howto.
Bernhard Reiter <bernhard@intevation.de>
parents: 1040
diff changeset
20 # a strong checksum of the file to one from a second, independent source.
7bd1d723414d (issue84) Ubuntu Installer: Add installation howto.
Bernhard Reiter <bernhard@intevation.de>
parents: 1040
diff changeset
21 # 2. Open a command line, e.g. click on the "Terminal"-Symbol.
7bd1d723414d (issue84) Ubuntu Installer: Add installation howto.
Bernhard Reiter <bernhard@intevation.de>
parents: 1040
diff changeset
22 # 3. Change your working directory to where this file is stored.
7bd1d723414d (issue84) Ubuntu Installer: Add installation howto.
Bernhard Reiter <bernhard@intevation.de>
parents: 1040
diff changeset
23 # For example type "cd ~/Desktop" on your command line.
1049
52c68a773194 Ubuntu Installer, short instruction with explicit mention that this example is for one user only.
Bernhard Reiter <bernhard@intevation.de>
parents: 1048
diff changeset
24 # 4. Start the installation on the command line, e.g. for the current user
52c68a773194 Ubuntu Installer, short instruction with explicit mention that this example is for one user only.
Bernhard Reiter <bernhard@intevation.de>
parents: 1048
diff changeset
25 # only by typing something like "bash TrustBridge-1.0.0-i386.sh".
52c68a773194 Ubuntu Installer, short instruction with explicit mention that this example is for one user only.
Bernhard Reiter <bernhard@intevation.de>
parents: 1048
diff changeset
26 # Hint: If you press the tab-key after "Tr" it may complete the filename.
1048
7bd1d723414d (issue84) Ubuntu Installer: Add installation howto.
Bernhard Reiter <bernhard@intevation.de>
parents: 1040
diff changeset
27 #
7bd1d723414d (issue84) Ubuntu Installer: Add installation howto.
Bernhard Reiter <bernhard@intevation.de>
parents: 1040
diff changeset
28 # N.B. We could not have used a .deb package, because the installation must
7bd1d723414d (issue84) Ubuntu Installer: Add installation howto.
Bernhard Reiter <bernhard@intevation.de>
parents: 1040
diff changeset
29 # also work without without adminstrator priviledges.
7bd1d723414d (issue84) Ubuntu Installer: Add installation howto.
Bernhard Reiter <bernhard@intevation.de>
parents: 1040
diff changeset
30 #
7bd1d723414d (issue84) Ubuntu Installer: Add installation howto.
Bernhard Reiter <bernhard@intevation.de>
parents: 1040
diff changeset
31 #
7bd1d723414d (issue84) Ubuntu Installer: Add installation howto.
Bernhard Reiter <bernhard@intevation.de>
parents: 1040
diff changeset
32 # Search the file for 'version()' to find the license information.
707
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
33 set -u
680
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
34
698
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
35 ME=`basename "$0"`
704
480bc550d2ad Better default prefix for local installation.
Sascha Wilde <wilde@intevation.de>
parents: 700
diff changeset
36 DEFAULT_PREFIX="$HOME/TrustBridge"
707
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
37 SYSDEFAULT_PREFIX="/usr/local"
724
d280e2d39d5a Introduced data-directory and fixed config-directory.
Sascha Wilde <wilde@intevation.de>
parents: 723
diff changeset
38 CFGPATH="${XDG_CONFIG_HOME:-$HOME/.config}/BSI"
d280e2d39d5a Introduced data-directory and fixed config-directory.
Sascha Wilde <wilde@intevation.de>
parents: 723
diff changeset
39 DATAPATH="${XDG_DATA_HOME:-$HOME/.local/share}/BSI/TrustBridge"
700
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
40 SYSCFGPATH="/etc/TrustBridge"
727
feaabee15e72 Preliminary implemented SYSDATAPATH.
Sascha Wilde <wilde@intevation.de>
parents: 725
diff changeset
41 # FIXME:
feaabee15e72 Preliminary implemented SYSDATAPATH.
Sascha Wilde <wilde@intevation.de>
parents: 725
diff changeset
42 # Set the real data path for system wide installation once its known.
feaabee15e72 Preliminary implemented SYSDATAPATH.
Sascha Wilde <wilde@intevation.de>
parents: 725
diff changeset
43 SYSDATAPATH="$DATAPATH"
724
d280e2d39d5a Introduced data-directory and fixed config-directory.
Sascha Wilde <wilde@intevation.de>
parents: 723
diff changeset
44 INSTCFGNAME="TrustBridge-inst.cfg"
705
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
45 FORCE=0
707
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
46 SYSINST=0
711
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
47 DEINSTALL=0
1066
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
48 UPDATE=0
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
49 SHOWAFTERUPDATE=0
711
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
50 BINNAMES="###BINNAMES###"
872
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
51 ICONNAME="###ICONNAME###"
938
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
52 HELPNAMES="###HELPNAMES###"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
53 HELPNAMES_SOURCES="###HELPNAMES_SOURCES###"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
54 HELPNAMES_STATIC="###HELPNAMES_STATIC###"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
55 HELPNAMES_IMG="###HELPNAMES_IMG###"
972
8be2f510adbf (issue91) Make installer architecture aware.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 938
diff changeset
56 ARCH="###ARCH###"
698
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
57
705
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
58 declare -A instcfg oldinstcfg
724
d280e2d39d5a Introduced data-directory and fixed config-directory.
Sascha Wilde <wilde@intevation.de>
parents: 723
diff changeset
59 declare inst_default_prefix instdata_path instcfg_path instcfg_file
700
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
60 instcfg=(
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
61 [TIMESTMP]=`date -u +%Y%m%d%H%M%S`
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
62 [VERSION]='@PROJECT_VERSION@'
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
63 [PREFIX]=''
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
64 )
705
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
65 oldinstcfg=(
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
66 [TIMESTMP]=''
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
67 [VERSION]=''
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
68 [PREFIX]=''
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
69 )
698
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
70
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
71 declare -A L10N_DE
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
72 ###L10N_DE###
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
73
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
74 getxt()
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
75 {
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
76 # Poor mans gettext for l10n completely self contained in one shell
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
77 # script.
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
78 MSGID="$1"
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
79 shift
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
80 case ${LANGUAGE:-${LC_ALL:-${LC_MESSAGES:-$LANG}}} in
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
81 de*)
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
82 if [ "${L10N_DE[$MSGID]}" ] ; then
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
83 MSG="${L10N_DE[$MSGID]}"
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
84 else
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
85 MSG="$MSGID"
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
86 fi
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
87 ;;
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
88 *)
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
89 MSG="$MSGID"
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
90 ;;
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
91 esac
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
92
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
93 printf "$MSG" "$@"
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
94 }
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
95
698
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
96 version()
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
97 {
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
98 cat <<EOF
700
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
99 TrustBridge ${instcfg[VERSION]} Installer
698
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
100
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
101 Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
102 Software engineering by Intevation GmbH
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
103
1038
f5306f8c02f3 packaging/linux-installer: Copyright header changed to standard text.
Bernhard Reiter <bernhard@intevation.de>
parents: 972
diff changeset
104 This file is Free Software under the GNU GPL (v>=2)
f5306f8c02f3 packaging/linux-installer: Copyright header changed to standard text.
Bernhard Reiter <bernhard@intevation.de>
parents: 972
diff changeset
105 and comes with ABSOLUTELY NO WARRANTY!
f5306f8c02f3 packaging/linux-installer: Copyright header changed to standard text.
Bernhard Reiter <bernhard@intevation.de>
parents: 972
diff changeset
106 See LICENSE.txt for details.
698
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
107 EOF
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
108 exit 0
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
109 }
680
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
110
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
111 fatal()
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
112 {
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
113 getxt "$1" >&2
711
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
114 if [ $DEINSTALL -eq 1 ] ; then
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
115 getxt "Deinstallation failed.\n" >&2
711
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
116 else
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
117 getxt "Installation failed.\n" >&2
711
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
118 fi
680
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
119 exit 1
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
120 }
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
121
698
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
122 usage()
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
123 {
799
933860224d1e l10n for usage text.
Sascha Wilde <wilde@intevation.de>
parents: 795
diff changeset
124 getxt "Usage: %s [OPTION]...\n" "$ME"
933860224d1e l10n for usage text.
Sascha Wilde <wilde@intevation.de>
parents: 795
diff changeset
125 getxt "Install TrustBridge.\n\n"
933860224d1e l10n for usage text.
Sascha Wilde <wilde@intevation.de>
parents: 795
diff changeset
126 getxt "Options:\n"
933860224d1e l10n for usage text.
Sascha Wilde <wilde@intevation.de>
parents: 795
diff changeset
127 getxt " -p, --prefix=PATH install files in PATH\n"
933860224d1e l10n for usage text.
Sascha Wilde <wilde@intevation.de>
parents: 795
diff changeset
128 getxt " -f, --force install to given prefix, even when a current\n"
933860224d1e l10n for usage text.
Sascha Wilde <wilde@intevation.de>
parents: 795
diff changeset
129 getxt " installation with different prefix exists.\n"
933860224d1e l10n for usage text.
Sascha Wilde <wilde@intevation.de>
parents: 795
diff changeset
130 getxt " -d, --deinstall deinstall files from current installation\n"
933860224d1e l10n for usage text.
Sascha Wilde <wilde@intevation.de>
parents: 795
diff changeset
131 getxt " -s, --system create a system wide (de)installation\n"
933860224d1e l10n for usage text.
Sascha Wilde <wilde@intevation.de>
parents: 795
diff changeset
132 getxt " --help display this help and exit\n"
933860224d1e l10n for usage text.
Sascha Wilde <wilde@intevation.de>
parents: 795
diff changeset
133 getxt " --version output version information and exit\n"
698
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
134 exit $1
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
135 }
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
136
711
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
137 yorn()
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
138 {
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
139 local c
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
140 while true ; do
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
141 read -n 1 c
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
142 echo
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
143 case "$c" in
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
144 y|Y|j|J)
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
145 return 0
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
146 ;;
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
147 n|N)
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
148 return 1
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
149 ;;
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
150 *)
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
151 getxt >&2 "Answer [Y]es or [N]o:\n"
711
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
152 esac
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
153 done
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
154 }
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
155
698
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
156 parse_args()
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
157 {
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
158 OPTS=`getopt \
1066
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
159 -l deinstall,update,show-after-update,force,help,prefix:,system,version \
711
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
160 -o d,f,p:,s -n "$ME" -- "$@"`
698
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
161 [ $? -eq 0 ] || usage 23
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
162
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
163 eval set -- "$OPTS"
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
164
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
165 while true ; do
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
166 case "$1" in
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
167 --prefix|-p)
700
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
168 instcfg[PREFIX]="$2"
698
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
169 shift 2
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
170 ;;
707
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
171 --system|-s)
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
172 SYSINST=1
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
173 shift 1
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
174 ;;
705
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
175 --force|-f)
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
176 FORCE=1
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
177 shift 1
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
178 ;;
711
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
179 --deinstall|-d)
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
180 DEINSTALL=1
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
181 shift 1
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
182 ;;
1066
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
183 --update)
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
184 UPDATE=1
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
185 shift 1
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
186 ;;
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
187 --show-after-update)
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
188 SHOWAFTERUPDATE=1
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
189 shift 1
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
190 ;;
698
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
191 --help)
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
192 usage 0
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
193 ;;
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
194 --version)
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
195 version
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
196 ;;
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
197 --)
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
198 shift
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
199 break
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
200 ;;
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
201 esac
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
202 done
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
203 }
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
204
707
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
205 init_vars()
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
206 {
1066
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
207 if [ -n "${SUDO_USER-}" ] ; then
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
208 # Default to system wide installation when running with sudo
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
209 SYSINST=1
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
210 fi
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
211
707
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
212 if [ $SYSINST -eq 1 ] ; then
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
213 inst_default_prefix="$SYSDEFAULT_PREFIX"
723
e71c59b16eee Added certificate deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 711
diff changeset
214 instcfg_path="${SYSCFGPATH}"
727
feaabee15e72 Preliminary implemented SYSDATAPATH.
Sascha Wilde <wilde@intevation.de>
parents: 725
diff changeset
215 instdata_path="${SYSDATAPATH}"
785
2fb539d4b1ff Simply autostart creation by initializing the path in init_vars
Andre Heinecke <andre.heinecke@intevation.de>
parents: 777
diff changeset
216 autostart_path="$(getent passwd "${SUDO_USER}" | cut -d ':' -f 6)/.config/autostart"
872
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
217 startmenu_path="/usr/share/applications"
707
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
218 else
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
219 inst_default_prefix="$DEFAULT_PREFIX"
723
e71c59b16eee Added certificate deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 711
diff changeset
220 instcfg_path="${CFGPATH}"
724
d280e2d39d5a Introduced data-directory and fixed config-directory.
Sascha Wilde <wilde@intevation.de>
parents: 723
diff changeset
221 instdata_path="${DATAPATH}"
785
2fb539d4b1ff Simply autostart creation by initializing the path in init_vars
Andre Heinecke <andre.heinecke@intevation.de>
parents: 777
diff changeset
222 autostart_path=${XDG_CONFIG_HOME:-~/.config/autostart}
872
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
223 startmenu_path=${XDG_DATA_HOME:-~/.local/share/applications}
1040
43734932e2ea (issue100) Fall back to system wide deinstallation when no local installation is found
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1038
diff changeset
224 if [ $DEINSTALL -eq 1 ] ; then
43734932e2ea (issue100) Fall back to system wide deinstallation when no local installation is found
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1038
diff changeset
225 if [ ! -r ${instcfg_path}/${INSTCFGNAME} ]; then
43734932e2ea (issue100) Fall back to system wide deinstallation when no local installation is found
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1038
diff changeset
226 if [ -r ${SYSCFGPATH}/${INSTCFGNAME} ]; then
43734932e2ea (issue100) Fall back to system wide deinstallation when no local installation is found
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1038
diff changeset
227 # Fall back to system uninstallation if no user config found
43734932e2ea (issue100) Fall back to system wide deinstallation when no local installation is found
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1038
diff changeset
228 SYSINST=1
43734932e2ea (issue100) Fall back to system wide deinstallation when no local installation is found
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1038
diff changeset
229 init_vars
43734932e2ea (issue100) Fall back to system wide deinstallation when no local installation is found
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1038
diff changeset
230 check_priv
43734932e2ea (issue100) Fall back to system wide deinstallation when no local installation is found
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1038
diff changeset
231 fi
43734932e2ea (issue100) Fall back to system wide deinstallation when no local installation is found
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1038
diff changeset
232 fi
43734932e2ea (issue100) Fall back to system wide deinstallation when no local installation is found
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1038
diff changeset
233 fi
707
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
234 fi
873
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
235 instcfg_file="${instcfg_path}/${INSTCFGNAME}"
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
236 extra_bin_path=`mktemp --tmpdir -d tmpbin.XXXXXXXXXX`
972
8be2f510adbf (issue91) Make installer architecture aware.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 938
diff changeset
237 HOST_ARCH=$(uname -m)
873
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
238 }
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
239
1066
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
240 finished()
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
241 {
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
242 echo
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
243 echo "#################################################################################"
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
244 if [ $SYSINST -eq 1 ]; then
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
245 getxt "System wide installation successful.\n"
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
246 else
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
247 getxt "Single user installation successful.\n"
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
248 fi
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
249 getxt "TrustBridge has been installed to: '%s'\n\n" "${instcfg[PREFIX]}"
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
250
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
251 if [ $SYSINST -eq 1 ]; then
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
252 getxt "If you do not want to change the certificates of other users\n"
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
253 getxt "uninstall it with:\n"
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
254 echo " 'sudo $0 -d'"
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
255 getxt "And install it again without sudo:\n"
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
256 echo " $0"
1068
4e93a87d89eb (issue54) use su to launch application as user after system wide installation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1066
diff changeset
257 RUNCMD="su $SUDO_USER -c "
1066
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
258 else
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
259 getxt "If you want to change the certificates of all users\n"
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
260 getxt "uninstall it with:\n"
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
261 echo " '$0 -d'"
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
262 getxt "And install it again using sudo:\n"
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
263 echo " sudo $0"
1068
4e93a87d89eb (issue54) use su to launch application as user after system wide installation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1066
diff changeset
264 RUNCMD=""
1066
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
265 fi
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
266 echo "#################################################################################"
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
267 getxt "Press enter to launch '%s'\n" "${instcfg[PREFIX]}/bin/trustbridge"
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
268 if [ $UPDATE -eq 0 ]; then
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
269 read
1068
4e93a87d89eb (issue54) use su to launch application as user after system wide installation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1066
diff changeset
270 $RUNCMD "${instcfg[PREFIX]}/bin/trustbridge" &
1066
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
271 else
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
272 if [ $SHOWAFTERUPDATE -eq 0 ]; then
1068
4e93a87d89eb (issue54) use su to launch application as user after system wide installation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1066
diff changeset
273 $RUNCMD "${instcfg[PREFIX]}/bin/trustbridge" --tray &
1066
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
274 else
1068
4e93a87d89eb (issue54) use su to launch application as user after system wide installation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1066
diff changeset
275 $RUNCMD "${instcfg[PREFIX]}/bin/trustbridge" &
1066
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
276 fi
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
277 fi
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
278 }
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
279
873
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
280 cleanup()
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
281 {
935
e977f7a0e8fd Cleanup temporary stuff (like shar lockdir) always (even when interrupted) on exit.
Sascha Wilde <wilde@intevation.de>
parents: 916
diff changeset
282 getxt "Cleaning up temporary stuff ...\n"
e977f7a0e8fd Cleanup temporary stuff (like shar lockdir) always (even when interrupted) on exit.
Sascha Wilde <wilde@intevation.de>
parents: 916
diff changeset
283 # remove temporary directories,
e977f7a0e8fd Cleanup temporary stuff (like shar lockdir) always (even when interrupted) on exit.
Sascha Wilde <wilde@intevation.de>
parents: 916
diff changeset
284 # $lock_dir is generate by the shar
937
f6b52f60f643 Check if lock_dir is set before using it in an rm -rf
Andre Heinecke <andre.heinecke@intevation.de>
parents: 935
diff changeset
285 if [ -z "${lock_dir-}" ]; then
f6b52f60f643 Check if lock_dir is set before using it in an rm -rf
Andre Heinecke <andre.heinecke@intevation.de>
parents: 935
diff changeset
286 exit
f6b52f60f643 Check if lock_dir is set before using it in an rm -rf
Andre Heinecke <andre.heinecke@intevation.de>
parents: 935
diff changeset
287 fi
935
e977f7a0e8fd Cleanup temporary stuff (like shar lockdir) always (even when interrupted) on exit.
Sascha Wilde <wilde@intevation.de>
parents: 916
diff changeset
288 for dir in "${instcfg[PREFIX]}/$lock_dir" "$extra_bin_path" ; do
e977f7a0e8fd Cleanup temporary stuff (like shar lockdir) always (even when interrupted) on exit.
Sascha Wilde <wilde@intevation.de>
parents: 916
diff changeset
289 [ -d "$dir" ] &&
e977f7a0e8fd Cleanup temporary stuff (like shar lockdir) always (even when interrupted) on exit.
Sascha Wilde <wilde@intevation.de>
parents: 916
diff changeset
290 rm -rf "$dir"
e977f7a0e8fd Cleanup temporary stuff (like shar lockdir) always (even when interrupted) on exit.
Sascha Wilde <wilde@intevation.de>
parents: 916
diff changeset
291 done
707
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
292 }
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
293
700
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
294 write_instcfg()
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
295 {
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
296 install -d `dirname "$instcfg_file"`
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
297 echo "# Created by TrustBridge-Installer, don't touch!" >"$instcfg_file"
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
298 for key in "${!instcfg[@]}" ; do
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
299 echo "${key}=${instcfg[$key]}" >>"$instcfg_file"
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
300 done
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
301 }
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
302
705
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
303 read_oldinstcfg()
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
304 {
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
305 if [ -r "$instcfg_file" ] ; then
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
306 getxt "Reading '%s' ...\n" "$instcfg_file"
705
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
307 for key in "${!oldinstcfg[@]}" ; do
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
308 oldinstcfg[$key]=`sed -n "/$key/s/[^=]*=\(.*\)/\1/p" "$instcfg_file"`
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
309 done
707
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
310 fi
705
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
311 }
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
312
707
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
313 check_priv()
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
314 {
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
315 if [ $SYSINST -eq 1 -a "$UID" -ne 0 ] ; then
1040
43734932e2ea (issue100) Fall back to system wide deinstallation when no local installation is found
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1038
diff changeset
316 fatal "System wide installation or deinstallation requires root privileges!\n"
707
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
317 fi
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
318 }
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
319
728
2d64ff7e22e8 Factored out recursive deletion of empty dirs.
Sascha Wilde <wilde@intevation.de>
parents: 727
diff changeset
320 rm_empty_dirs()
2d64ff7e22e8 Factored out recursive deletion of empty dirs.
Sascha Wilde <wilde@intevation.de>
parents: 727
diff changeset
321 {
2d64ff7e22e8 Factored out recursive deletion of empty dirs.
Sascha Wilde <wilde@intevation.de>
parents: 727
diff changeset
322 # Args: $1 - DIRECTORY
2d64ff7e22e8 Factored out recursive deletion of empty dirs.
Sascha Wilde <wilde@intevation.de>
parents: 727
diff changeset
323 #
2d64ff7e22e8 Factored out recursive deletion of empty dirs.
Sascha Wilde <wilde@intevation.de>
parents: 727
diff changeset
324 # Recursively remove DIRECTORY and all it _parent_ directories as
2d64ff7e22e8 Factored out recursive deletion of empty dirs.
Sascha Wilde <wilde@intevation.de>
parents: 727
diff changeset
325 # long as they are empty.
2d64ff7e22e8 Factored out recursive deletion of empty dirs.
Sascha Wilde <wilde@intevation.de>
parents: 727
diff changeset
326 local directory="$1"
752
96cac71834ba Fixed errors when not all expected files exist on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 751
diff changeset
327 while [ -d "$directory" -a -z "$(ls 2>/dev/null -A "$directory")" ] ; do
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
328 getxt "Deleting empty directory '%s' ...\n" "$directory"
728
2d64ff7e22e8 Factored out recursive deletion of empty dirs.
Sascha Wilde <wilde@intevation.de>
parents: 727
diff changeset
329 rmdir "$directory"
2d64ff7e22e8 Factored out recursive deletion of empty dirs.
Sascha Wilde <wilde@intevation.de>
parents: 727
diff changeset
330 directory=`dirname "$directory"`
2d64ff7e22e8 Factored out recursive deletion of empty dirs.
Sascha Wilde <wilde@intevation.de>
parents: 727
diff changeset
331 done
2d64ff7e22e8 Factored out recursive deletion of empty dirs.
Sascha Wilde <wilde@intevation.de>
parents: 727
diff changeset
332 }
2d64ff7e22e8 Factored out recursive deletion of empty dirs.
Sascha Wilde <wilde@intevation.de>
parents: 727
diff changeset
333
752
96cac71834ba Fixed errors when not all expected files exist on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 751
diff changeset
334 rm_files()
96cac71834ba Fixed errors when not all expected files exist on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 751
diff changeset
335 {
96cac71834ba Fixed errors when not all expected files exist on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 751
diff changeset
336 for file in "$@" ; do
96cac71834ba Fixed errors when not all expected files exist on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 751
diff changeset
337 if [ -e "$file" ] ; then
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
338 getxt "Deleting '%s' ...\n" "$file"
752
96cac71834ba Fixed errors when not all expected files exist on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 751
diff changeset
339 rm "$file"
96cac71834ba Fixed errors when not all expected files exist on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 751
diff changeset
340 fi
96cac71834ba Fixed errors when not all expected files exist on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 751
diff changeset
341 done
96cac71834ba Fixed errors when not all expected files exist on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 751
diff changeset
342 }
96cac71834ba Fixed errors when not all expected files exist on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 751
diff changeset
343
749
778382342802 Added installation of cron job.
Sascha Wilde <wilde@intevation.de>
parents: 738
diff changeset
344 setup_cronjob()
778382342802 Added installation of cron job.
Sascha Wilde <wilde@intevation.de>
parents: 738
diff changeset
345 {
778382342802 Added installation of cron job.
Sascha Wilde <wilde@intevation.de>
parents: 738
diff changeset
346 local tmpcrontab=`mktemp`
765
7c3a8a8d3e52 Code cleanup: make variable initialization more obvious.
Sascha Wilde <wilde@intevation.de>
parents: 764
diff changeset
347
764
5b505acbb2d1 Handle system wide installation for crontab.
Sascha Wilde <wilde@intevation.de>
parents: 763
diff changeset
348 if [ $SYSINST -eq 1 -a "${SUDO_USER+X}" ] ; then
765
7c3a8a8d3e52 Code cleanup: make variable initialization more obvious.
Sascha Wilde <wilde@intevation.de>
parents: 764
diff changeset
349 local crontabopt="-u $SUDO_USER"
7c3a8a8d3e52 Code cleanup: make variable initialization more obvious.
Sascha Wilde <wilde@intevation.de>
parents: 764
diff changeset
350 else
7c3a8a8d3e52 Code cleanup: make variable initialization more obvious.
Sascha Wilde <wilde@intevation.de>
parents: 764
diff changeset
351 local crontabopt=''
764
5b505acbb2d1 Handle system wide installation for crontab.
Sascha Wilde <wilde@intevation.de>
parents: 763
diff changeset
352 fi
765
7c3a8a8d3e52 Code cleanup: make variable initialization more obvious.
Sascha Wilde <wilde@intevation.de>
parents: 764
diff changeset
353
766
9f0ad4bab175 Fixed crontab setup for system wide (de)installation.
Sascha Wilde <wilde@intevation.de>
parents: 765
diff changeset
354 if [ "$1" != "deinstall" ] ; then
9f0ad4bab175 Fixed crontab setup for system wide (de)installation.
Sascha Wilde <wilde@intevation.de>
parents: 765
diff changeset
355 local trustbridge_tray_starter="${instcfg[PREFIX]}/bin/trustbridge-tray-starter.sh"
9f0ad4bab175 Fixed crontab setup for system wide (de)installation.
Sascha Wilde <wilde@intevation.de>
parents: 765
diff changeset
356 else
9f0ad4bab175 Fixed crontab setup for system wide (de)installation.
Sascha Wilde <wilde@intevation.de>
parents: 765
diff changeset
357 local trustbridge_tray_starter="${oldinstcfg[PREFIX]}/bin/trustbridge-tray-starter.sh"
9f0ad4bab175 Fixed crontab setup for system wide (de)installation.
Sascha Wilde <wilde@intevation.de>
parents: 765
diff changeset
358 fi
9f0ad4bab175 Fixed crontab setup for system wide (de)installation.
Sascha Wilde <wilde@intevation.de>
parents: 765
diff changeset
359
764
5b505acbb2d1 Handle system wide installation for crontab.
Sascha Wilde <wilde@intevation.de>
parents: 763
diff changeset
360 crontab $crontabopt -l | \
766
9f0ad4bab175 Fixed crontab setup for system wide (de)installation.
Sascha Wilde <wilde@intevation.de>
parents: 765
diff changeset
361 grep -vF "$trustbridge_tray_starter" \
764
5b505acbb2d1 Handle system wide installation for crontab.
Sascha Wilde <wilde@intevation.de>
parents: 763
diff changeset
362 >"$tmpcrontab"
750
27dd0012288a Remove cron job on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 749
diff changeset
363 if [ "$1" != "deinstall" ] ; then
766
9f0ad4bab175 Fixed crontab setup for system wide (de)installation.
Sascha Wilde <wilde@intevation.de>
parents: 765
diff changeset
364 echo "$(( $RANDOM / 555 )) 12 * * * \"$trustbridge_tray_starter\"" \
750
27dd0012288a Remove cron job on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 749
diff changeset
365 >>"$tmpcrontab"
27dd0012288a Remove cron job on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 749
diff changeset
366 fi
764
5b505acbb2d1 Handle system wide installation for crontab.
Sascha Wilde <wilde@intevation.de>
parents: 763
diff changeset
367 crontab $crontabopt "$tmpcrontab"
749
778382342802 Added installation of cron job.
Sascha Wilde <wilde@intevation.de>
parents: 738
diff changeset
368 rm "$tmpcrontab"
778382342802 Added installation of cron job.
Sascha Wilde <wilde@intevation.de>
parents: 738
diff changeset
369 }
778382342802 Added installation of cron job.
Sascha Wilde <wilde@intevation.de>
parents: 738
diff changeset
370
750
27dd0012288a Remove cron job on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 749
diff changeset
371 remove_cronjob()
27dd0012288a Remove cron job on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 749
diff changeset
372 {
27dd0012288a Remove cron job on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 749
diff changeset
373 setup_cronjob deinstall
27dd0012288a Remove cron job on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 749
diff changeset
374 }
27dd0012288a Remove cron job on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 749
diff changeset
375
723
e71c59b16eee Added certificate deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 711
diff changeset
376 deinstall_certs()
e71c59b16eee Added certificate deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 711
diff changeset
377 {
e71c59b16eee Added certificate deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 711
diff changeset
378 local cinst="${oldinstcfg[PREFIX]}/bin/cinst"
858
4dfb6f543a05 Only uninstall a list if it has been installed
Andre Heinecke <andre.heinecke@intevation.de>
parents: 854
diff changeset
379 local certlist=`ls 2>/dev/null -1 ${instdata_path}/list-installed.txt`
723
e71c59b16eee Added certificate deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 711
diff changeset
380
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
381 getxt "Uninstalling certificates ...\n"
728
2d64ff7e22e8 Factored out recursive deletion of empty dirs.
Sascha Wilde <wilde@intevation.de>
parents: 727
diff changeset
382
723
e71c59b16eee Added certificate deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 711
diff changeset
383 if [ "$certlist" ] ; then
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
384 getxt "Using certificate list '%s'.\n" "$certlist"
725
ce3e33e66a17 Fixed cert deinstallation for prefix-paths containing space.
Sascha Wilde <wilde@intevation.de>
parents: 724
diff changeset
385 if [ -x "$cinst" ] ; then
723
e71c59b16eee Added certificate deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 711
diff changeset
386 "$cinst" "list=$certlist" "choices=uninstall"
e71c59b16eee Added certificate deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 711
diff changeset
387 else
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
388 getxt >&2 "WARNING: can't execute %s for certificate deinstallation.\n" "$cinst"
723
e71c59b16eee Added certificate deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 711
diff changeset
389 fi
e71c59b16eee Added certificate deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 711
diff changeset
390 else
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
391 getxt "No certificate list found. Nothing to do.\n"
723
e71c59b16eee Added certificate deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 711
diff changeset
392 fi
e71c59b16eee Added certificate deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 711
diff changeset
393 }
e71c59b16eee Added certificate deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 711
diff changeset
394
729
efc2d16ab514 Remove (more) data files and directories.
Sascha Wilde <wilde@intevation.de>
parents: 728
diff changeset
395 deinstall_etc()
efc2d16ab514 Remove (more) data files and directories.
Sascha Wilde <wilde@intevation.de>
parents: 728
diff changeset
396 {
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
397 getxt "Removing cron job ...\n"
750
27dd0012288a Remove cron job on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 749
diff changeset
398 remove_cronjob
27dd0012288a Remove cron job on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 749
diff changeset
399
729
efc2d16ab514 Remove (more) data files and directories.
Sascha Wilde <wilde@intevation.de>
parents: 728
diff changeset
400 # FIXME: delete all files created by the application.
751
d8c8e14b9953 Remove trustbridge-tray-starter configuration on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 750
diff changeset
401 local tbcfg_files=( "${instcfg_path}/TrustBridge.ini"
d8c8e14b9953 Remove trustbridge-tray-starter configuration on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 750
diff changeset
402 "${instcfg_path}/trustbridge-tray-starter.cfg"
d8c8e14b9953 Remove trustbridge-tray-starter configuration on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 750
diff changeset
403 "$instcfg_file" )
752
96cac71834ba Fixed errors when not all expected files exist on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 751
diff changeset
404
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
405 getxt "Removing certificate lists from: %s:\n" "$instdata_path"
752
96cac71834ba Fixed errors when not all expected files exist on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 751
diff changeset
406 rm_files "$instdata_path"/list-*.txt
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
407
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
408 getxt "Removing PID file from: %s:\n" "$instdata_path"
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
409 rm_files "$instdata_path"/*.pid
729
efc2d16ab514 Remove (more) data files and directories.
Sascha Wilde <wilde@intevation.de>
parents: 728
diff changeset
410 rm_empty_dirs "$instdata_path"
751
d8c8e14b9953 Remove trustbridge-tray-starter configuration on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 750
diff changeset
411
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
412 getxt "Removing configuration files:\n"
752
96cac71834ba Fixed errors when not all expected files exist on deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 751
diff changeset
413 rm_files "${tbcfg_files[@]}"
729
efc2d16ab514 Remove (more) data files and directories.
Sascha Wilde <wilde@intevation.de>
parents: 728
diff changeset
414 rm_empty_dirs "$instcfg_path"
777
ca149bad8195 (issue51) Set up autostart on installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 776
diff changeset
415
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
416 getxt "Removing TrustBridge from autostart\n"
854
adf7481291a4 Fixed typo in ubuntu desktop file.
Emanuel Schuetze <emanuel@intevation.de>
parents: 799
diff changeset
417 rm_files "${autostart_path}/trustbridge.desktop"
916
1cc9faa572fd (issue53) Update desktop database after desktop file removal
Andre Heinecke <andre.heinecke@intevation.de>
parents: 873
diff changeset
418 update-desktop-database 2>&1 || true
872
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
419
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
420 getxt "Removing TrustBridge from start menu\n"
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
421 rm_files "${startmenu_path}/trustbridge.desktop"
729
efc2d16ab514 Remove (more) data files and directories.
Sascha Wilde <wilde@intevation.de>
parents: 728
diff changeset
422 }
efc2d16ab514 Remove (more) data files and directories.
Sascha Wilde <wilde@intevation.de>
parents: 728
diff changeset
423
711
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
424 deinstall()
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
425 {
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
426 if [ "${oldinstcfg[PREFIX]}" ] ; then
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
427 getxt "Really deinstall TrustBridge from '%s'? [y/n]\n" "${oldinstcfg[PREFIX]}"
711
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
428 yorn || exit 0
723
e71c59b16eee Added certificate deinstallation.
Sascha Wilde <wilde@intevation.de>
parents: 711
diff changeset
429 deinstall_certs
711
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
430 local deinstdir="${oldinstcfg[PREFIX]}/bin"
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
431 getxt "Deinstalling from '%s'.\n" "${oldinstcfg[PREFIX]}"
711
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
432 for file in $BINNAMES ; do
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
433 local path="${deinstdir}/$file"
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
434 getxt "Deleting '%s' ...\n" "$path"
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
435 rm "$path" || getxt >&2 "WARNING: Could not delete: '%s'!\n" "$path"
711
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
436 done
728
2d64ff7e22e8 Factored out recursive deletion of empty dirs.
Sascha Wilde <wilde@intevation.de>
parents: 727
diff changeset
437 rm_empty_dirs "$deinstdir"
938
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
438
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
439 # images
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
440 deinstdir="${oldinstcfg[PREFIX]}/share/doc/trustbridge/_images"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
441 for file in $HELPNAMES_IMG; do
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
442 local path="${deinstdir}/$file"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
443 if [ -f "$path" ]; then
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
444 getxt "Deleting '%s' ...\n" "$path"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
445 rm "$path" || getxt >&2 "WARNING: Could not delete: '%s'!\n" "$path"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
446 fi
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
447 done
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
448 rm_empty_dirs "$deinstdir"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
449
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
450 # Javascript sources
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
451 deinstdir="${oldinstcfg[PREFIX]}/share/doc/trustbridge/_sources"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
452 for file in $HELPNAMES_SOURCES; do
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
453 local path="${deinstdir}/$file"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
454 if [ -f "$path" ]; then
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
455 getxt "Deleting '%s' ...\n" "$path"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
456 rm "$path" || getxt >&2 "WARNING: Could not delete: '%s'!\n" "$path"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
457 fi
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
458 done
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
459 rm_empty_dirs "$deinstdir"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
460
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
461 # Static files
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
462 deinstdir="${oldinstcfg[PREFIX]}/share/doc/trustbridge/_static"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
463 for file in $HELPNAMES_STATIC; do
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
464 local path="${deinstdir}/$file"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
465 if [ -f "$path" ]; then
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
466 getxt "Deleting '%s' ...\n" "$path"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
467 rm "$path" || getxt >&2 "WARNING: Could not delete: '%s'!\n" "$path"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
468 fi
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
469 done
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
470 rm_empty_dirs "$deinstdir"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
471
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
472 # The actual html
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
473 deinstdir="${oldinstcfg[PREFIX]}/share/doc/trustbridge"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
474 for file in $HELPNAMES; do
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
475 local path="${deinstdir}/$file"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
476 if [ -f "$path" ]; then
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
477 getxt "Deleting '%s' ...\n" "$path"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
478 rm "$path" || getxt >&2 "WARNING: Could not delete: '%s'!\n" "$path"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
479 fi
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
480 done
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 937
diff changeset
481 rm_empty_dirs "$deinstdir"
872
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
482 deinstdir="${oldinstcfg[PREFIX]}/share/pixmaps/trustbridge"
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
483 getxt "Deinstalling from '%s'.\n" "${oldinstcfg[PREFIX]}"
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
484 for file in $ICONNAME; do
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
485 local path="${deinstdir}/$file"
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
486 getxt "Deleting '%s' ...\n" "$path"
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
487 rm "$path" || getxt >&2 "WARNING: Could not delete: '%s'!\n" "$path"
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
488 done
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
489 deinstdir="${oldinstcfg[PREFIX]}/share/pixmaps/trustbridge"
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
490 rm_empty_dirs "$deinstdir"
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
491 deinstdir="${oldinstcfg[PREFIX]}/share/pixmaps"
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
492 rm_empty_dirs "$deinstdir"
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
493 deinstdir="${oldinstcfg[PREFIX]}/share"
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
494 rm_empty_dirs "$deinstdir"
729
efc2d16ab514 Remove (more) data files and directories.
Sascha Wilde <wilde@intevation.de>
parents: 728
diff changeset
495 deinstall_etc
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
496 getxt "Deinstallation finished.\n"
711
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
497 else
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
498 getxt "No current installation found! No harm done.\n"
711
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
499 fi
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
500 }
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
501
777
ca149bad8195 (issue51) Set up autostart on installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 776
diff changeset
502 write_autostart()
ca149bad8195 (issue51) Set up autostart on installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 776
diff changeset
503 {
ca149bad8195 (issue51) Set up autostart on installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 776
diff changeset
504 cat > "$1" << EOF
ca149bad8195 (issue51) Set up autostart on installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 776
diff changeset
505 [Desktop Entry]
ca149bad8195 (issue51) Set up autostart on installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 776
diff changeset
506 Type=Application
ca149bad8195 (issue51) Set up autostart on installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 776
diff changeset
507 Name=TrustBridge
ca149bad8195 (issue51) Set up autostart on installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 776
diff changeset
508 Exec="${instcfg[PREFIX]}/bin/trustbridge" --tray
ca149bad8195 (issue51) Set up autostart on installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 776
diff changeset
509 EOF
ca149bad8195 (issue51) Set up autostart on installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 776
diff changeset
510 chown "${SUDO_USER:-${USER}}" "$1"
ca149bad8195 (issue51) Set up autostart on installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 776
diff changeset
511 chmod 700 "$1"
ca149bad8195 (issue51) Set up autostart on installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 776
diff changeset
512 }
ca149bad8195 (issue51) Set up autostart on installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 776
diff changeset
513
872
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
514 write_startmenu()
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
515 {
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
516 cat > "$1" << EOF
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
517 [Desktop Entry]
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
518 Type=Application
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
519 Name=TrustBridge
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
520 Comment=Install and update trusted root certificates
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
521 Comment[de]=Vertrauenswürdige Wurzelzertifikate installieren und aktualisieren
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
522 Exec=${instcfg[PREFIX]}/bin/trustbridge
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
523 Icon=${instcfg[PREFIX]}/share/pixmaps/trustbridge/trustbridge.png
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
524 Terminal=false
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
525 Categories=Network;Qt;
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
526 StartupNotify=false
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
527 EOF
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
528 }
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
529
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
530 setup_startmenu()
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
531 {
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
532 # Supported desktop environments: Unity, GNOME, XFCE, LXDE, KDE
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
533 # System wide installation with a nonstandard XDG_DATA_HOME is not
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
534 # respected with regards to autostart.
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
535 if [ ! -d "${startmenu_path}" ]; then
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
536 install -d "${startmenu_path}" || \
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
537 fatal "Failed to create startmenu directory: '%s'\n" "$startmenu_path"
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
538 fi
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
539
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
540 write_startmenu "${startmenu_path}/trustbridge.desktop"
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
541 update-desktop-database 2>&1 || true
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
542 }
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
543
777
ca149bad8195 (issue51) Set up autostart on installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 776
diff changeset
544 setup_autostart()
ca149bad8195 (issue51) Set up autostart on installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 776
diff changeset
545 {
ca149bad8195 (issue51) Set up autostart on installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 776
diff changeset
546 # Supported desktop environments: Unity, GNOME, XFCE, LXDE, KDE
785
2fb539d4b1ff Simply autostart creation by initializing the path in init_vars
Andre Heinecke <andre.heinecke@intevation.de>
parents: 777
diff changeset
547 # System wide installation with a nonstandard XDG_CONFIG_HOME or KDEHOME is not
2fb539d4b1ff Simply autostart creation by initializing the path in init_vars
Andre Heinecke <andre.heinecke@intevation.de>
parents: 777
diff changeset
548 # respected with regards to autostart.
2fb539d4b1ff Simply autostart creation by initializing the path in init_vars
Andre Heinecke <andre.heinecke@intevation.de>
parents: 777
diff changeset
549 if [ ! -d "${autostart_path}" ]; then
2fb539d4b1ff Simply autostart creation by initializing the path in init_vars
Andre Heinecke <andre.heinecke@intevation.de>
parents: 777
diff changeset
550 install -d "${autostart_path}" || \
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
551 fatal "Failed to create autostart directory: '%s'\n" "$autostart_path"
785
2fb539d4b1ff Simply autostart creation by initializing the path in init_vars
Andre Heinecke <andre.heinecke@intevation.de>
parents: 777
diff changeset
552 fi
777
ca149bad8195 (issue51) Set up autostart on installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 776
diff changeset
553
854
adf7481291a4 Fixed typo in ubuntu desktop file.
Emanuel Schuetze <emanuel@intevation.de>
parents: 799
diff changeset
554 write_autostart "${autostart_path}/trustbridge.desktop"
777
ca149bad8195 (issue51) Set up autostart on installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 776
diff changeset
555 }
707
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
556
873
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
557 provide_uudecode_maybe()
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
558 {
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
559 # The shar needs uudecode, which might not be installed. If its not
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
560 # available we will provide our own python based implementation.
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
561 if which uudecode >/dev/null 2>&1 ; then
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
562 getxt "Found system uudecode.\n"
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
563 else
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
564 local myuudecode="$extra_bin_path/uudecode"
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
565 cat >"$myuudecode" <<EOF
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
566 #!/usr/bin/python2
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
567 import os
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
568 import sys
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
569 import uu
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
570 os.path.chmod = os.chmod
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
571 def rm_if_exists(file):
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
572 try:
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
573 os.remove(file)
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
574 except OSError:
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
575 pass
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
576 os.path.exists = rm_if_exists
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
577 if len(sys.argv) > 1:
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
578 f = open(sys.argv[1], 'r')
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
579 else:
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
580 f = sys.stdin
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
581 uu.decode(f, None, None, 1)
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
582 EOF
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
583 chmod 755 "$myuudecode"
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
584 PATH="${extra_bin_path}:$PATH"
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
585 getxt "Using python uudecode provided by installer.\n"
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
586 fi
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
587 }
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
588
698
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
589 #======================================================================
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
590 # main()
935
e977f7a0e8fd Cleanup temporary stuff (like shar lockdir) always (even when interrupted) on exit.
Sascha Wilde <wilde@intevation.de>
parents: 916
diff changeset
591 trap cleanup EXIT
698
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
592
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
593 parse_args "$@"
1040
43734932e2ea (issue100) Fall back to system wide deinstallation when no local installation is found
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1038
diff changeset
594 check_priv
707
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
595 init_vars
705
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
596 read_oldinstcfg
698
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
597
680
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
598 cat <<EOF
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
599 ------------------------------------------------------------------------
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
600
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
601 TrustBridge - Installer
972
8be2f510adbf (issue91) Make installer architecture aware.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 938
diff changeset
602 Version ${instcfg[VERSION]} - ${ARCH} (Testversion)
680
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
603
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
604 ------------------------------------------------------------------------
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
605 EOF
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
606
972
8be2f510adbf (issue91) Make installer architecture aware.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 938
diff changeset
607 if [ "$ARCH" == "x86_64" -a "$ARCH" != "$HOST_ARCH" ]; then
8be2f510adbf (issue91) Make installer architecture aware.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 938
diff changeset
608 getxt "It appears your system architecture is %s.\n" "$HOST_ARCH"
8be2f510adbf (issue91) Make installer architecture aware.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 938
diff changeset
609 getxt "This installer is for 64 bit systems.\n"
8be2f510adbf (issue91) Make installer architecture aware.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 938
diff changeset
610 getxt "Really install TrustBridge for '%s' systems? [y/n]\n" "${ARCH}"
8be2f510adbf (issue91) Make installer architecture aware.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 938
diff changeset
611 yorn || exit 0
8be2f510adbf (issue91) Make installer architecture aware.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 938
diff changeset
612 fi
8be2f510adbf (issue91) Make installer architecture aware.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 938
diff changeset
613
8be2f510adbf (issue91) Make installer architecture aware.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 938
diff changeset
614 if [ "$ARCH" == "i386" ]; then
8be2f510adbf (issue91) Make installer architecture aware.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 938
diff changeset
615 if [[ "$HOST_ARCH" != *86 ]]; then
8be2f510adbf (issue91) Make installer architecture aware.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 938
diff changeset
616 getxt "It appears your system architecture is %s.\n" "$HOST_ARCH"
8be2f510adbf (issue91) Make installer architecture aware.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 938
diff changeset
617 getxt "This installer is for 32 bit systems.\n"
8be2f510adbf (issue91) Make installer architecture aware.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 938
diff changeset
618 getxt "Really install TrustBridge for '%s' systems? [y/n]\n" "${ARCH}"
8be2f510adbf (issue91) Make installer architecture aware.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 938
diff changeset
619 yorn || exit 0
8be2f510adbf (issue91) Make installer architecture aware.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 938
diff changeset
620 fi
8be2f510adbf (issue91) Make installer architecture aware.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 938
diff changeset
621 fi
8be2f510adbf (issue91) Make installer architecture aware.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 938
diff changeset
622
711
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
623 if [ $DEINSTALL -eq 1 ] ; then
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
624 deinstall
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
625 # Stop after deinstallation:
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
626 exit 0
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
627 fi
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
628
700
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
629 if [ -z "${instcfg[PREFIX]}" ] ; then
705
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
630
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
631 if [ "${oldinstcfg[PREFIX]}" ] ; then
707
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
632 inst_default_prefix="${oldinstcfg[PREFIX]}"
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
633 getxt "An existing installation (v%s) was detected!\n" "${oldinstcfg[VERSION]}"
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
634 getxt "It is HIGHLY RECOMMENDED to accept the default prefix\n"
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
635 getxt "to update the current installation.\n"
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
636 getxt "For a new prefix you should deinstall first!\n"
705
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
637 fi
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
638 getxt "Select installation prefix for TrustBridge [%s]: " "${inst_default_prefix}"
700
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
639 read -e instcfg[PREFIX]
680
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
640
707
37899f717fa5 Added system wide installation.
Sascha Wilde <wilde@intevation.de>
parents: 705
diff changeset
641 [ -z "${instcfg[PREFIX]}" ] && instcfg[PREFIX]="${inst_default_prefix}"
705
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
642 else
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
643 # Prefix was given on invocation:
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
644 if [ "${oldinstcfg[PREFIX]}" -a \
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
645 "${instcfg[PREFIX]}" != "${oldinstcfg[PREFIX]}" -a \
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
646 $FORCE -ne 1 ] ; then
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
647 fatal "Prefix differs from current installation (%s). Aborting!\n" "${oldinstcfg[PREFIX]}"
705
ff2efc1cb8fa Use config from old installation for sensible default prefix.
Sascha Wilde <wilde@intevation.de>
parents: 704
diff changeset
648 fi
698
b55d49150e36 Added command line args for unattended installation.
Sascha Wilde <wilde@intevation.de>
parents: 682
diff changeset
649 fi
682
578860edde53 Use default path.
Sascha Wilde <wilde@intevation.de>
parents: 680
diff changeset
650
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
651 getxt "Installing to '%s':\n" "${instcfg[PREFIX]}"
680
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
652
700
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
653 if [ ! -d "${instcfg[PREFIX]}" ] ; then
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
654 getxt "creating installation directory ...\n"
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
655 install -d "${instcfg[PREFIX]}" || fatal "Could not create '%s'!\n" "${instcfg[PREFIX]}"
680
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
656 fi
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
657
873
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
658 getxt "checking for uudecode ...\n"
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
659 provide_uudecode_maybe
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
660
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
661 getxt "unpacking files ...\n"
700
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
662 cd "${instcfg[PREFIX]}"
680
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
663
711
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 707
diff changeset
664 set +u
753
7c1f34115ede Force the shar to overwrite existing files.
Sascha Wilde <wilde@intevation.de>
parents: 752
diff changeset
665 set -- '-c'
680
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
666 # ----------------------------------------------------------------------
700
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
667 # regular shar archive inserted here:
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
668 ###SHAR###
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
669 # ----------------------------------------------------------------------
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
670
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
671 getxt "Preparing trustbridge-tray-starter ...\n"
738
ea8d13590cbd Added trustbridge-tray-starter script for use with cron job.
Sascha Wilde <wilde@intevation.de>
parents: 730
diff changeset
672 sed -i "/^PREFIX=/c\PREFIX='${instcfg[PREFIX]}'" \
ea8d13590cbd Added trustbridge-tray-starter script for use with cron job.
Sascha Wilde <wilde@intevation.de>
parents: 730
diff changeset
673 "${instcfg[PREFIX]}/bin/trustbridge-tray-starter.sh"
ea8d13590cbd Added trustbridge-tray-starter script for use with cron job.
Sascha Wilde <wilde@intevation.de>
parents: 730
diff changeset
674
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
675 getxt "Setting up cronjob ...\n"
749
778382342802 Added installation of cron job.
Sascha Wilde <wilde@intevation.de>
parents: 738
diff changeset
676 setup_cronjob
778382342802 Added installation of cron job.
Sascha Wilde <wilde@intevation.de>
parents: 738
diff changeset
677
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
678 getxt "Setting up autostart ...\n"
777
ca149bad8195 (issue51) Set up autostart on installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 776
diff changeset
679 setup_autostart
ca149bad8195 (issue51) Set up autostart on installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 776
diff changeset
680
872
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
681 getxt "Setting up start menu entries ...\n"
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
682 setup_startmenu
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 863
diff changeset
683
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 785
diff changeset
684 getxt "Writing installation configuration to: %s ...\n" "$instcfg_file"
700
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
685 write_instcfg
873
78096ad6f418 Provide own, python based uudecode if none is found in the system.
Sascha Wilde <wilde@intevation.de>
parents: 872
diff changeset
686
1066
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
687 finished
febd195c0301 (issue109) Add summary after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1049
diff changeset
688
935
e977f7a0e8fd Cleanup temporary stuff (like shar lockdir) always (even when interrupted) on exit.
Sascha Wilde <wilde@intevation.de>
parents: 916
diff changeset
689 # cleanup
e977f7a0e8fd Cleanup temporary stuff (like shar lockdir) always (even when interrupted) on exit.
Sascha Wilde <wilde@intevation.de>
parents: 916
diff changeset
690 # is called implicitly at exit via trap...
700
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 698
diff changeset
691 exit 0

http://wald.intevation.org/projects/trustbridge/