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