Mercurial > trustbridge
annotate packaging/create-dist-package.sh.in @ 1177:53a02fbe2fc9
(issue112) Rename deinstaller to uninstaller
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Mon, 22 Sep 2014 11:51:59 +0200 |
parents | c8f698ca6355 |
children | 3de099c8129e |
rev | line source |
---|---|
760
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
1 #!/bin/bash |
1160
a974b61a5cce
(issue108) Add missing license headers
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1121
diff
changeset
|
2 |
a974b61a5cce
(issue108) Add missing license headers
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1121
diff
changeset
|
3 # Copyright (C) 2014 by Bundesamt f�r Sicherheit in der Informationstechnik |
a974b61a5cce
(issue108) Add missing license headers
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1121
diff
changeset
|
4 # Software engineering by Intevation GmbH |
a974b61a5cce
(issue108) Add missing license headers
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1121
diff
changeset
|
5 # |
a974b61a5cce
(issue108) Add missing license headers
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1121
diff
changeset
|
6 # This file is Free Software under the GNU GPL (v>=2) |
a974b61a5cce
(issue108) Add missing license headers
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1121
diff
changeset
|
7 # and comes with ABSOLUTELY NO WARRANTY! |
a974b61a5cce
(issue108) Add missing license headers
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1121
diff
changeset
|
8 # See LICENSE.txt for details. |
a974b61a5cce
(issue108) Add missing license headers
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1121
diff
changeset
|
9 |
a974b61a5cce
(issue108) Add missing license headers
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1121
diff
changeset
|
10 |
760
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
11 # Helper script to package the files expected by the -admin application |
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
12 # Windows build is expected to live in CMAKE_SOURCE_DIR/build-windows |
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
13 set -x |
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
14 set -e |
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
15 |
831
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
16 if [ ! -x `which wine` ]; then |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
17 echo "ERROR: Could not find wine." |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
18 exit 1 |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
19 fi |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
20 |
885
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
21 if [ ! -f @CMAKE_SOURCE_DIR@/build-windows/Makefile ]; then |
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
22 echo "Could not find a windows build in: @CMAKE_SOURCE_DIR@/build-windows " |
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
23 exit 1 |
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
24 fi |
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
25 |
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
26 if [ ! -f @CMAKE_SOURCE_DIR@/build-i386/Makefile ]; then |
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
27 echo "Could not find a i386 build in: @CMAKE_SOURCE_DIR@/build-i386 " |
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
28 exit 1 |
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
29 fi |
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
30 |
760
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
31 TMPD=$(mktemp -d) |
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
32 TMPDIR=$TMPD/TrustBridge-@PROJECT_VERSION@ |
885
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
33 cd @CMAKE_SOURCE_DIR@/build-windows |
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
34 echo "Updating windows build" |
887
accda55ae053
Use make -j`nproc` everywhere instead of fixed number
Andre Heinecke <andre.heinecke@intevation.de>
parents:
885
diff
changeset
|
35 make -j`nproc` |
885
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
36 cd @CMAKE_SOURCE_DIR@/build-i386 |
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
37 echo "Building x86 package" |
887
accda55ae053
Use make -j`nproc` everywhere instead of fixed number
Andre Heinecke <andre.heinecke@intevation.de>
parents:
885
diff
changeset
|
38 make -j`nproc` |
972
8be2f510adbf
(issue91) Make installer architecture aware.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
963
diff
changeset
|
39 /bin/bash packaging/linux-createpackage.sh i386 |
760
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
40 cd @CMAKE_BINARY_DIR@ |
885
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
41 echo "Building amd64 package" |
972
8be2f510adbf
(issue91) Make installer architecture aware.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
963
diff
changeset
|
42 /bin/bash packaging/linux-createpackage.sh x86_64 |
760
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
43 mkdir -p $TMPDIR/linux |
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
44 mkdir -p $TMPDIR/windows |
885
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
45 mv @CMAKE_BINARY_DIR@/TrustBridge-@PROJECT_VERSION@.sh \ |
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
46 $TMPDIR/linux/TrustBridge-@PROJECT_VERSION@-amd64.sh |
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
47 mv @CMAKE_SOURCE_DIR@/build-i386/TrustBridge-@PROJECT_VERSION@.sh \ |
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
48 $TMPDIR/linux/TrustBridge-@PROJECT_VERSION@-i386.sh |
760
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
49 cp @CMAKE_SOURCE_DIR@/build-windows/ui/trustbridge.exe $TMPDIR/windows |
1176
c8f698ca6355
(issue128) Rename cinst to trustbridge-certificate-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1175
diff
changeset
|
50 cp @CMAKE_SOURCE_DIR@/build-windows/cinst/trustbridge-certificate-installer.exe $TMPDIR/windows |
1175
e210ecc32d69
(issue128) Rename mozilla process to trustbridge-nss-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1160
diff
changeset
|
51 cp @CMAKE_SOURCE_DIR@/build-windows/cinst/trustbridge-nss-installer.exe $TMPDIR/windows |
1121
a162f4cbba75
(issue54) Handle plugin dir in create-dist-package and on installer creation.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1010
diff
changeset
|
52 cp -r @CMAKE_SOURCE_DIR@/packaging/resources $TMPDIR/resources |
a162f4cbba75
(issue54) Handle plugin dir in create-dist-package and on installer creation.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1010
diff
changeset
|
53 cp @CMAKE_SOURCE_DIR@/build-windows/packaging/DesktopShellRun.dll $TMPDIR/resources |
974
cbd32175c56c
Add recursive copy for html documentation for windows
Andre Heinecke <andre.heinecke@intevation.de>
parents:
972
diff
changeset
|
54 cp -r @CMAKE_BINARY_DIR@/manuals/help-manual/html $TMPDIR/windows/doc |
963
62b832d0b839
(issue89) Package help for windows
Andre Heinecke <andre.heinecke@intevation.de>
parents:
887
diff
changeset
|
55 |
760
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
56 cp @CMAKE_SOURCE_DIR@/packaging/filelist.nsh $TMPDIR |
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
57 cp @CMAKE_SOURCE_DIR@/packaging/trustbridge.nsi $TMPDIR |
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
58 LC_ALL="de_DE.latin-1" echo "company=Bundesamt f�r Sicherheit in der Informationstechnik" > $TMPDIR/meta.ini |
794
fdc15f0cfdd8
(issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
760
diff
changeset
|
59 EST_SIZE=$(du -s $TMPDIR/windows | cut -f 1) |
760
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
60 echo "version_number=@PROJECT_VERSION@" >> $TMPDIR/meta.ini |
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
61 echo "setupname=%1TrustBridge-@PROJECT_VERSION@.exe" >> $TMPDIR/meta.ini |
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
62 echo "productname=TrustBridge" >> $TMPDIR/meta.ini |
852
637948e9e32d
(issue61) Change temporary link into wald from https to http
Andre Heinecke <andre.heinecke@intevation.de>
parents:
834
diff
changeset
|
63 echo "info_url=http://wald.intevation.org/projects/trustbridge/" >> $TMPDIR/meta.ini |
820
eef8e0ca82b9
Fix distpackage script
Andre Heinecke <andre.heinecke@intevation.de>
parents:
794
diff
changeset
|
64 echo "productname_short=TrustBridge" >> $TMPDIR/meta.ini |
eef8e0ca82b9
Fix distpackage script
Andre Heinecke <andre.heinecke@intevation.de>
parents:
794
diff
changeset
|
65 echo "description=TrustBridge" >> $TMPDIR/meta.ini |
794
fdc15f0cfdd8
(issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
760
diff
changeset
|
66 echo "size=$EST_SIZE" >> $TMPDIR/meta.ini |
831
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
67 |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
68 # Create a temporary NSIS file for the uninstaller cration |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
69 LC_ALL="de_DE.latin-1" makensis -Dfiles_dir=$TMPDIR/windows \ |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
70 -Dcompany="Bundesamt f�r Sicherheit in der Informationstechnik" \ |
1121
a162f4cbba75
(issue54) Handle plugin dir in create-dist-package and on installer creation.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1010
diff
changeset
|
71 -Dplugin_dir="$TMPDIR/resources" \ |
831
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
72 -Dversion_number=@PROJECT_VERSION@ \ |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
73 -Dsetupname="$TMPDIR/TrustBridge-@PROJECT_VERSION@-uni.exe" \ |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
74 -Dproductname="TrustBridge" \ |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
75 -Dpath_sep="/" \ |
852
637948e9e32d
(issue61) Change temporary link into wald from https to http
Andre Heinecke <andre.heinecke@intevation.de>
parents:
834
diff
changeset
|
76 -Dinfo_url="http://wald.intevation.org/projects/trustbridge/" \ |
831
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
77 -Dsize=$EST_SIZE \ |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
78 -DWRITE_UNINSTALLER \ |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
79 -Dproductname_short="TrustBridge" @CMAKE_SOURCE_DIR@/packaging/trustbridge.nsi |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
80 wine $TMPDIR/TrustBridge-@PROJECT_VERSION@-uni.exe /S || true |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
81 mv ~/.wine/drive_c/tmp-uninstaller/Uninstall.exe $TMPDIR/windows |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
82 rmdir ~/.wine/drive_c/tmp-uninstaller |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
83 rm $TMPDIR/TrustBridge-@PROJECT_VERSION@-uni.exe |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
84 |
760
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
85 cd $TMPD |
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
86 zip -r TrustBridge-@PROJECT_VERSION@.zip TrustBridge-@PROJECT_VERSION@ |
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
87 mv TrustBridge-@PROJECT_VERSION@.zip @CMAKE_BINARY_DIR@ |
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
88 rm -r $TMPD |
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
89 echo "Package is: @CMAKE_BINARY_DIR@/TrustBridge-@PROJECT_VERSION@.zip" |