Mercurial > trustbridge
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" |