annotate packaging/win-createpackage.sh.in @ 1332:8362e30f7b55

(issue139) Check that pid is not running if the lock can be aquired If the lock on the lockfile can be aquired it might still be possible that another process is running. So we read the pid from the lockfile and check if another process with the same installation prefix as us is running.
author Andre Heinecke <andre.heinecke@intevation.de>
date Wed, 15 Oct 2014 14:19:46 +0200
parents 014586ef8a84
children c480afb35db7
rev   line source
1188
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
1 #!/bin/bash
588
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 552
diff changeset
2 # Copyright (C) 2014 by Bundesamt f�r Sicherheit in der Informationstechnik
405
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 340
diff changeset
3 # Software engineering by Intevation GmbH
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 340
diff changeset
4 #
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 340
diff changeset
5 # This file is Free Software under the GNU GPL (v>=2)
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 340
diff changeset
6 # and comes with ABSOLUTELY NO WARRANTY!
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 340
diff changeset
7 # See LICENSE.txt for details.
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 340
diff changeset
8
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
9 #NSSDIR is hackish as this will be replaced by static compiling
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
10 # anyway
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
11 TMPDIR=$(mktemp -d)
860
43933a605482 Fix tmp-createpackage and rename it to win-createpackge
Andre Heinecke <andre.heinecke@intevation.de>
parents: 852
diff changeset
12 TMPINST=$(mktemp)
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
13
1176
c8f698ca6355 (issue128) Rename cinst to trustbridge-certificate-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1175
diff changeset
14 EXEFILES=$(find . -name trustbridge-certificate-installer.exe -o -name trustbridge.exe -o -name trustbridge-nss-installer.exe)
1186
3de099c8129e Update packaging for moved help files
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1176
diff changeset
15 HELPDIR=@CMAKE_BINARY_DIR@/doc/help/client/html
1249
014586ef8a84 (issue68) Package licenses
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1242
diff changeset
16 LICENSE_DIR=@CMAKE_SOURCE_DIR@/licenses
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
17
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
18 cp $EXEFILES $TMPDIR
963
62b832d0b839 (issue89) Package help for windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 922
diff changeset
19 cp -r $HELPDIR $TMPDIR/doc
1249
014586ef8a84 (issue68) Package licenses
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1242
diff changeset
20 cp -r $LICENSE_DIR $TMPDIR/licenses
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
21
1188
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
22 echo "; This file is autogenerated." > @CMAKE_CURRENT_BINARY_DIR@/filelist_in.nsh
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
23 echo "; This file is autogenerated." > @CMAKE_CURRENT_BINARY_DIR@/filelist_un.nsh
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
24 OLDDIR=$(pwd)
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
25 cd $TMPDIR
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
26 for file in `find * -name \*.exe`; do
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
27 echo File \"\${files_dir}\${path_sep}$file\" >> @CMAKE_CURRENT_BINARY_DIR@/filelist_in.nsh
1242
e4aff35ef8fd (issue143) Make uninstallation of nss-installer conditional on Windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1188
diff changeset
28 if [ "$file" = "trustbridge-nss-installer.exe" ]; then
e4aff35ef8fd (issue143) Make uninstallation of nss-installer conditional on Windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1188
diff changeset
29 # The nss installer is handled specially on uninstallation.
e4aff35ef8fd (issue143) Make uninstallation of nss-installer conditional on Windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1188
diff changeset
30 continue
e4aff35ef8fd (issue143) Make uninstallation of nss-installer conditional on Windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1188
diff changeset
31 fi
1188
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
32 echo Delete \"\$INSTDIR\\$file\" >> @CMAKE_CURRENT_BINARY_DIR@/filelist_un.nsh
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
33 done
1249
014586ef8a84 (issue68) Package licenses
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1242
diff changeset
34
014586ef8a84 (issue68) Package licenses
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1242
diff changeset
35 cd $TMPDIR/licenses
014586ef8a84 (issue68) Package licenses
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1242
diff changeset
36 echo SetOutPath \"\$INSTDIR\\licenses\" >> @CMAKE_CURRENT_BINARY_DIR@/filelist_in.nsh
014586ef8a84 (issue68) Package licenses
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1242
diff changeset
37 for file in `find * -type f`; do
014586ef8a84 (issue68) Package licenses
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1242
diff changeset
38 echo File \"\${files_dir}\${path_sep}licenses\${path_sep}$file\" >> @CMAKE_CURRENT_BINARY_DIR@/filelist_in.nsh
014586ef8a84 (issue68) Package licenses
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1242
diff changeset
39 echo Delete \"\$INSTDIR\\licenses\\$file\" >> @CMAKE_CURRENT_BINARY_DIR@/filelist_un.nsh
014586ef8a84 (issue68) Package licenses
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1242
diff changeset
40 done
014586ef8a84 (issue68) Package licenses
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1242
diff changeset
41 echo RmDir \"\$INSTDIR\\licenses\" >> @CMAKE_CURRENT_BINARY_DIR@/filelist_un.nsh
014586ef8a84 (issue68) Package licenses
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1242
diff changeset
42
1188
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
43 cd $TMPDIR/doc
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
44
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
45 for curdir in `find * -maxdepth 0 -type d -not -path .`; do
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
46 cd $curdir
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
47 curpath=\"\$INSTDIR\\doc\\$curdir\"
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
48 echo SetOutPath $curpath >> @CMAKE_CURRENT_BINARY_DIR@/filelist_in.nsh
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
49 for file in `find * -maxdepth 0 -type f`; do
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
50 echo File \"\${files_dir}\${path_sep}doc\${path_sep}$curdir\${path_sep}$file\" >> @CMAKE_CURRENT_BINARY_DIR@/filelist_in.nsh
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
51 echo Delete \"\$INSTDIR\\doc\\$curdir\\$file\" >> @CMAKE_CURRENT_BINARY_DIR@/filelist_un.nsh
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
52 done
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
53 echo RMDir $curpath >> @CMAKE_CURRENT_BINARY_DIR@/filelist_un.nsh
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
54 cd -
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
55 done
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
56
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
57 echo SetOutPath \"\$INSTDIR\\doc\" >> @CMAKE_CURRENT_BINARY_DIR@/filelist_in.nsh
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
58 for file in `find * -maxdepth 0 -type f -not -path .buildinfo`; do
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
59 echo File \"\${files_dir}\${path_sep}doc\${path_sep}$file\" >> @CMAKE_CURRENT_BINARY_DIR@/filelist_in.nsh
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
60 echo Delete \"\$INSTDIR\\doc\\$file\" >> @CMAKE_CURRENT_BINARY_DIR@/filelist_un.nsh
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
61 done
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
62 echo RMDir \"\$INSTDIR\\doc\" >> @CMAKE_CURRENT_BINARY_DIR@/filelist_un.nsh
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
63
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1186
diff changeset
64 cd $OLDDIR
794
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 588
diff changeset
65 EST_SIZE=$(du -s $TMPDIR | cut -f 1)
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 588
diff changeset
66
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
67 echo $TMPDIR
860
43933a605482 Fix tmp-createpackage and rename it to win-createpackge
Andre Heinecke <andre.heinecke@intevation.de>
parents: 852
diff changeset
68 export LC_ALL="de_DE.latin-1"
43933a605482 Fix tmp-createpackage and rename it to win-createpackge
Andre Heinecke <andre.heinecke@intevation.de>
parents: 852
diff changeset
69
43933a605482 Fix tmp-createpackage and rename it to win-createpackge
Andre Heinecke <andre.heinecke@intevation.de>
parents: 852
diff changeset
70 makensis -Dfiles_dir=$TMPDIR \
43933a605482 Fix tmp-createpackage and rename it to win-createpackge
Andre Heinecke <andre.heinecke@intevation.de>
parents: 852
diff changeset
71 -Dcompany="Bundesamt f�r Sicherheit in der Informationstechnik" \
1010
1c1964c27b39 (issue54) commit work in progress on start after installation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 963
diff changeset
72 -Dplugin_dir="@CMAKE_CURRENT_BINARY_DIR@" \
860
43933a605482 Fix tmp-createpackage and rename it to win-createpackge
Andre Heinecke <andre.heinecke@intevation.de>
parents: 852
diff changeset
73 -Dversion_number=@PROJECT_VERSION@ \
43933a605482 Fix tmp-createpackage and rename it to win-createpackge
Andre Heinecke <andre.heinecke@intevation.de>
parents: 852
diff changeset
74 -Dsetupname="$TMPINST" \
43933a605482 Fix tmp-createpackage and rename it to win-createpackge
Andre Heinecke <andre.heinecke@intevation.de>
parents: 852
diff changeset
75 -Dproductname="TrustBridge" \
1027
892f923c18d0 Add description to win-createpackage.sh
Andre Heinecke <andre.heinecke@intevation.de>
parents: 963
diff changeset
76 -Ddescription="TrustBridge" \
860
43933a605482 Fix tmp-createpackage and rename it to win-createpackge
Andre Heinecke <andre.heinecke@intevation.de>
parents: 852
diff changeset
77 -Dpath_sep="/" \
43933a605482 Fix tmp-createpackage and rename it to win-createpackge
Andre Heinecke <andre.heinecke@intevation.de>
parents: 852
diff changeset
78 -Dinfo_url="http://wald.intevation.org/projects/trustbridge/" \
43933a605482 Fix tmp-createpackage and rename it to win-createpackge
Andre Heinecke <andre.heinecke@intevation.de>
parents: 852
diff changeset
79 -Dsize=$EST_SIZE \
43933a605482 Fix tmp-createpackage and rename it to win-createpackge
Andre Heinecke <andre.heinecke@intevation.de>
parents: 852
diff changeset
80 -DWRITE_UNINSTALLER \
43933a605482 Fix tmp-createpackage and rename it to win-createpackge
Andre Heinecke <andre.heinecke@intevation.de>
parents: 852
diff changeset
81 -Dproductname_short="TrustBridge" @CMAKE_SOURCE_DIR@/packaging/trustbridge.nsi
43933a605482 Fix tmp-createpackage and rename it to win-createpackge
Andre Heinecke <andre.heinecke@intevation.de>
parents: 852
diff changeset
82 wine $TMPINST /S || true
43933a605482 Fix tmp-createpackage and rename it to win-createpackge
Andre Heinecke <andre.heinecke@intevation.de>
parents: 852
diff changeset
83 mv ~/.wine/drive_c/tmp-uninstaller/Uninstall.exe $TMPDIR
43933a605482 Fix tmp-createpackage and rename it to win-createpackge
Andre Heinecke <andre.heinecke@intevation.de>
parents: 852
diff changeset
84 rmdir ~/.wine/drive_c/tmp-uninstaller
43933a605482 Fix tmp-createpackage and rename it to win-createpackge
Andre Heinecke <andre.heinecke@intevation.de>
parents: 852
diff changeset
85 rm $TMPINST
43933a605482 Fix tmp-createpackage and rename it to win-createpackge
Andre Heinecke <andre.heinecke@intevation.de>
parents: 852
diff changeset
86
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
87 makensis -Dfiles_dir=$TMPDIR \
588
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 552
diff changeset
88 -Dcompany="Bundesamt f�r Sicherheit in der Informationstechnik" \
1010
1c1964c27b39 (issue54) commit work in progress on start after installation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 963
diff changeset
89 -Dplugin_dir="@CMAKE_CURRENT_BINARY_DIR@" \
495
7a8f5b85fd9a Dynamically generate version information from HG
Andre Heinecke <aheinecke@intevation.de>
parents: 490
diff changeset
90 -Dversion_number=@PROJECT_VERSION@ \
500
4f972b1f4996 Fix packaging information generation
Andre Heinecke <aheinecke@intevation.de>
parents: 495
diff changeset
91 -Dsetupname="@CMAKE_BINARY_DIR@/TrustBridge-@PROJECT_VERSION@.exe" \
410
3132ba0a305d Rename installer to trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 405
diff changeset
92 -Dproductname="TrustBridge" \
1027
892f923c18d0 Add description to win-createpackage.sh
Andre Heinecke <andre.heinecke@intevation.de>
parents: 963
diff changeset
93 -Ddescription="TrustBridge" \
552
fc61ef6612b0 Fix parameter order in makensis call
Andre Heinecke <aheinecke@intevation.de>
parents: 549
diff changeset
94 -Dpath_sep="/" \
852
637948e9e32d (issue61) Change temporary link into wald from https to http
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
95 -Dinfo_url="http://wald.intevation.org/projects/trustbridge/" \
832
170b13ea05ee (Issue10) Force encoding to be latin-1 during installer creation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 794
diff changeset
96 -Dsize=$EST_SIZE \
552
fc61ef6612b0 Fix parameter order in makensis call
Andre Heinecke <aheinecke@intevation.de>
parents: 549
diff changeset
97 -Dproductname_short="TrustBridge" @CMAKE_SOURCE_DIR@/packaging/trustbridge.nsi
860
43933a605482 Fix tmp-createpackage and rename it to win-createpackge
Andre Heinecke <andre.heinecke@intevation.de>
parents: 852
diff changeset
98
922
180daa3ecbec Add signing for windows installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 860
diff changeset
99 osslsigncode sign -certs @CMAKE_SOURCE_DIR@/ui/tests/data/codesign/codesigning.pem \
180daa3ecbec Add signing for windows installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 860
diff changeset
100 -key @CMAKE_SOURCE_DIR@/ui/tests/data/codesign/codesigning.key \
180daa3ecbec Add signing for windows installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 860
diff changeset
101 -h sha256 -in @CMAKE_BINARY_DIR@/TrustBridge-@PROJECT_VERSION@.exe \
180daa3ecbec Add signing for windows installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 860
diff changeset
102 -out @CMAKE_BINARY_DIR@/TrustBridge-@PROJECT_VERSION@-signed.exe
1028
461db8f903f5 Fix renaming of the signed file.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1027
diff changeset
103 mv @CMAKE_BINARY_DIR@/TrustBridge-@PROJECT_VERSION@-signed.exe @CMAKE_BINARY_DIR@/TrustBridge-@PROJECT_VERSION@.exe
922
180daa3ecbec Add signing for windows installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 860
diff changeset
104
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
105 rm -r $TMPDIR

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