annotate packaging/linux-createpackage.sh.in @ 831:747a48996c1f

(Issue13) Precompile uninstaller Create-dist-packge now creates a temporary installer that only writes the uninstaller. Then it excutes this installer (using wine) to create the uninstaller. That uninstaller is then packaged normaly and packaged instead of the written uninstaller.
author Andre Heinecke <andre.heinecke@intevation.de>
date Thu, 24 Jul 2014 15:59:00 +0200
parents 3a9b0c75f5a6
children 02e357826417
rev   line source
680
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
1 #!/bin/bash
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
2 # Copyright (C) 2014 by Bundesamt f�r Sicherheit in der Informationstechnik
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
3 # Software engineering by Intevation GmbH
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
4 #
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
5 # This file is Free Software under the GNU GPL (v>=2)
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
6 # and comes with ABSOLUTELY NO WARRANTY!
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
7 # See LICENSE.txt for details.
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
8
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
9 TMPDIR=$(mktemp -d)
700
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 680
diff changeset
10 TMPSHAR=$(mktemp "@CMAKE_BINARY_DIR@/shar.XXXXXXXXXX")
680
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
11
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
12 INSTALLER="@CMAKE_BINARY_DIR@/TrustBridge-@PROJECT_VERSION@.sh"
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
13
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
14 EXEFILES=("@CMAKE_BINARY_DIR@/cinst/cinst"
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
15 "@CMAKE_BINARY_DIR@/cinst/mozilla"
738
ea8d13590cbd Added trustbridge-tray-starter script for use with cron job.
Sascha Wilde <wilde@intevation.de>
parents: 711
diff changeset
16 "@CMAKE_BINARY_DIR@/ui/trustbridge"
ea8d13590cbd Added trustbridge-tray-starter script for use with cron job.
Sascha Wilde <wilde@intevation.de>
parents: 711
diff changeset
17 "@CMAKE_BINARY_DIR@/ui/trustbridge-tray-starter.sh")
680
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
18
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 738
diff changeset
19 L10N_DE_FILE="@CMAKE_BINARY_DIR@/packaging/linux-installer.l10n-de"
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 738
diff changeset
20
680
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
21 # Make installation in TMPDIR, this is what we will put into the
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
22 # shar-archive.
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
23 echo "Using $TMPDIR for temporary installation to build installer..."
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
24 install -d "$TMPDIR/bin"
711
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 700
diff changeset
25 install "${EXEFILES[@]}" "$TMPDIR/bin"
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 700
diff changeset
26
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 700
diff changeset
27 echo "Creating shar archive ..."
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 700
diff changeset
28 cd "$TMPDIR"
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 700
diff changeset
29 shar -z -B bin/* | sed 's/^exit 0//' >>"$TMPSHAR"
680
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
30
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
31 echo "Building $INSTALLER..."
700
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 680
diff changeset
32 cp "@CMAKE_BINARY_DIR@/packaging/linux-installer.inc" "$INSTALLER"
711
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 700
diff changeset
33 binnames=""
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 700
diff changeset
34 for file in "${EXEFILES[@]}" ; do
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 700
diff changeset
35 binnames="`basename $file` $binnames"
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 700
diff changeset
36 done
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 700
diff changeset
37 sed -i "s/###BINNAMES###/${binnames}/" "$INSTALLER"
700
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 680
diff changeset
38 sed -i "/###SHAR###/r $TMPSHAR" "$INSTALLER"
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 738
diff changeset
39 sed -i "/###L10N_DE###/r $L10N_DE_FILE" "$INSTALLER"
680
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
40 chmod +x "$INSTALLER"
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
41
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
42 echo "Cleaning up..."
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
43 rm -r "$TMPDIR"
700
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 680
diff changeset
44 rm "$TMPSHAR"

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