annotate packaging/linux-createpackage.sh.in @ 966:9783e32e215f

(issue89) Use platform specific help url. Windows needs the file prefix to detect that c:/ is meant to be a local file.
author Andre Heinecke <andre.heinecke@intevation.de>
date Thu, 28 Aug 2014 12:56:56 +0200
parents 15f7b3ebf21b
children 8be2f510adbf
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")
892
4087e489f569 Install 128px icon for linux
Andre Heinecke <andre.heinecke@intevation.de>
parents: 872
diff changeset
18 ICON="@CMAKE_SOURCE_DIR@/ui/img/logo-128.png"
938
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
19 HELPFILES=$(find @CMAKE_BINARY_DIR@/manuals/help-manual/html \
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
20 -maxdepth 1 -type f -printf "%p \n")
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
21 HELPFILES_STATIC=$(find @CMAKE_BINARY_DIR@/manuals/help-manual/html/_static \
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
22 -maxdepth 1 -type f -printf "%p \n")
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
23 HELPFILES_IMG=$(find @CMAKE_BINARY_DIR@/manuals/help-manual/html/_images \
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
24 -maxdepth 1 -type f -printf "%p \n")
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
25 HELPFILES_SOURCES=$(find @CMAKE_BINARY_DIR@/manuals/help-manual/html/_sources \
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
26 -maxdepth 1 -type f -printf "%p \n")
680
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
27
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 738
diff changeset
28 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
29
680
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
30 # 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
31 # shar-archive.
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
32 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
33 install -d "$TMPDIR/bin"
872
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 795
diff changeset
34 install -d "$TMPDIR/share/pixmaps/trustbridge"
938
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
35 install -d "$TMPDIR/share/doc/trustbridge"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
36 install -d "$TMPDIR/share/doc/trustbridge/_static"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
37 install -d "$TMPDIR/share/doc/trustbridge/_sources"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
38 install -d "$TMPDIR/share/doc/trustbridge/_images"
711
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 700
diff changeset
39 install "${EXEFILES[@]}" "$TMPDIR/bin"
872
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 795
diff changeset
40 install "$ICON" "$TMPDIR/share/pixmaps/trustbridge/trustbridge.png"
711
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 700
diff changeset
41
680
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
42 echo "Building $INSTALLER..."
700
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 680
diff changeset
43 cp "@CMAKE_BINARY_DIR@/packaging/linux-installer.inc" "$INSTALLER"
711
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 700
diff changeset
44 binnames=""
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 700
diff changeset
45 for file in "${EXEFILES[@]}" ; do
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 700
diff changeset
46 binnames="`basename $file` $binnames"
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 700
diff changeset
47 done
938
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
48 for file in ${HELPFILES} ; do
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
49 install "$file" "$TMPDIR/share/doc/trustbridge"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
50 helpnames="`basename $file` $helpnames"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
51 done
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
52 for file in ${HELPFILES_IMAGES} ; do
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
53 install "$file" "$TMPDIR/share/doc/trustbridge/_images"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
54 helpnames_img="`basename $file` $helpnames_img"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
55 done
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
56 for file in ${HELPFILES_STATIC} ; do
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
57 install "$file" "$TMPDIR/share/doc/trustbridge/_static"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
58 helpnames_static="`basename $file` $helpnames_static"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
59 done
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
60 for file in ${HELPFILES_SOURCES}; do
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
61 install "$file" "$TMPDIR/share/doc/trustbridge/_sources"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
62 helpnames_sources="`basename $file` $helpnames_sources"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
63 done
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
64
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
65 echo "Creating shar archive ..."
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
66 cd "$TMPDIR"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
67 shar -z -B `find -type f` | sed 's/^exit 0//' >>"$TMPSHAR"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
68
711
acbe75423283 Added deinstallation functionality.
Sascha Wilde <wilde@intevation.de>
parents: 700
diff changeset
69 sed -i "s/###BINNAMES###/${binnames}/" "$INSTALLER"
872
02e357826417 (issue81) Add desktop file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 795
diff changeset
70 sed -i "s/###ICONNAME###/trustbridge.png/" "$INSTALLER"
700
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 680
diff changeset
71 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
72 sed -i "/###L10N_DE###/r $L10N_DE_FILE" "$INSTALLER"
938
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
73 sed -i "s/###HELPNAMES###/${helpnames}/" "$INSTALLER"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
74 sed -i "s/###HELPNAMES_SOURCES###/${helpnames_sources}/" "$INSTALLER"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
75 sed -i "s/###HELPNAMES_STATIC###/${helpnames_static}/" "$INSTALLER"
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
76 sed -i "s/###HELPNAMES_IMG###/${helpnames_img}/" $INSTALLER
15f7b3ebf21b (issue89) Add help packaging for Linux installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 921
diff changeset
77
680
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
78 chmod +x "$INSTALLER"
921
419cf0560d45 Create signature for linux installer in linux-createpackage.sh
Andre Heinecke <andre.heinecke@intevation.de>
parents: 892
diff changeset
79 echo "Signing"
419cf0560d45 Create signature for linux installer in linux-createpackage.sh
Andre Heinecke <andre.heinecke@intevation.de>
parents: 892
diff changeset
80 @CMAKE_SOURCE_DIR@/ui/tests/append-sig.sh @CMAKE_SOURCE_DIR@/ui/tests/data/codesign/codesigning.key \
419cf0560d45 Create signature for linux installer in linux-createpackage.sh
Andre Heinecke <andre.heinecke@intevation.de>
parents: 892
diff changeset
81 $INSTALLER ${INSTALLER}_signed
419cf0560d45 Create signature for linux installer in linux-createpackage.sh
Andre Heinecke <andre.heinecke@intevation.de>
parents: 892
diff changeset
82 mv ${INSTALLER}_signed $INSTALLER
680
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
83
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
84 echo "Cleaning up..."
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
85 rm -r "$TMPDIR"
700
bf87feccb26c Write installation configuration file.
Sascha Wilde <wilde@intevation.de>
parents: 680
diff changeset
86 rm "$TMPSHAR"

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