Mercurial > trustbridge
annotate packaging/create-dist-package.sh.in @ 1070:f110a3f6e387
(issue114) Fine tune ACL propagation
using mkdir_p the ACL of the parent directories would
propagate to all subdirectories and objects in the directory.
Now we only use ACL propagation in the last directory to make
sure that files we might create in that directory inherit the
correct (resitricted) ACL
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Wed, 10 Sep 2014 16:41:36 +0200 |
parents | cbd32175c56c |
children | 1c1964c27b39 |
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 |
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
2 # 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
|
3 # 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
|
4 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
|
5 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
|
6 |
831
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
7 if [ ! -x `which wine` ]; then |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
8 echo "ERROR: Could not find wine." |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
9 exit 1 |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
10 fi |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
11 |
885
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
12 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
|
13 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
|
14 exit 1 |
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
15 fi |
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
16 |
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
17 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
|
18 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
|
19 exit 1 |
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
20 fi |
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
21 |
760
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
22 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
|
23 TMPDIR=$TMPD/TrustBridge-@PROJECT_VERSION@ |
885
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
24 cd @CMAKE_SOURCE_DIR@/build-windows |
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
25 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
|
26 make -j`nproc` |
885
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
27 cd @CMAKE_SOURCE_DIR@/build-i386 |
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
28 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
|
29 make -j`nproc` |
972
8be2f510adbf
(issue91) Make installer architecture aware.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
963
diff
changeset
|
30 /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
|
31 cd @CMAKE_BINARY_DIR@ |
885
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
32 echo "Building amd64 package" |
972
8be2f510adbf
(issue91) Make installer architecture aware.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
963
diff
changeset
|
33 /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
|
34 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
|
35 mkdir -p $TMPDIR/windows |
885
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
36 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
|
37 $TMPDIR/linux/TrustBridge-@PROJECT_VERSION@-amd64.sh |
1cc85fd3daa5
(issue70) Handle i386 and amd64 packages
Andre Heinecke <andre.heinecke@intevation.de>
parents:
853
diff
changeset
|
38 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
|
39 $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
|
40 cp @CMAKE_SOURCE_DIR@/build-windows/ui/trustbridge.exe $TMPDIR/windows |
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
41 cp @CMAKE_SOURCE_DIR@/build-windows/cinst/cinst.exe $TMPDIR/windows |
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
42 cp @CMAKE_SOURCE_DIR@/build-windows/cinst/mozilla.exe $TMPDIR/windows |
974
cbd32175c56c
Add recursive copy for html documentation for windows
Andre Heinecke <andre.heinecke@intevation.de>
parents:
972
diff
changeset
|
43 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
|
44 |
760
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
45 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
|
46 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
|
47 cp -r @CMAKE_SOURCE_DIR@/packaging/resources $TMPDIR/resources |
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
48 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
|
49 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
|
50 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
|
51 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
|
52 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
|
53 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
|
54 echo "productname_short=TrustBridge" >> $TMPDIR/meta.ini |
eef8e0ca82b9
Fix distpackage script
Andre Heinecke <andre.heinecke@intevation.de>
parents:
794
diff
changeset
|
55 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
|
56 echo "size=$EST_SIZE" >> $TMPDIR/meta.ini |
831
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
57 |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
58 # Create a temporary NSIS file for the uninstaller cration |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
59 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
|
60 -Dcompany="Bundesamt f�r Sicherheit in der Informationstechnik" \ |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
61 -Dversion_number=@PROJECT_VERSION@ \ |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
62 -Dsetupname="$TMPDIR/TrustBridge-@PROJECT_VERSION@-uni.exe" \ |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
63 -Dproductname="TrustBridge" \ |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
64 -Dpath_sep="/" \ |
852
637948e9e32d
(issue61) Change temporary link into wald from https to http
Andre Heinecke <andre.heinecke@intevation.de>
parents:
834
diff
changeset
|
65 -Dinfo_url="http://wald.intevation.org/projects/trustbridge/" \ |
831
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
66 -Dsize=$EST_SIZE \ |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
67 -DWRITE_UNINSTALLER \ |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
68 -Dproductname_short="TrustBridge" @CMAKE_SOURCE_DIR@/packaging/trustbridge.nsi |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
69 wine $TMPDIR/TrustBridge-@PROJECT_VERSION@-uni.exe /S || true |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
70 mv ~/.wine/drive_c/tmp-uninstaller/Uninstall.exe $TMPDIR/windows |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
71 rmdir ~/.wine/drive_c/tmp-uninstaller |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
72 rm $TMPDIR/TrustBridge-@PROJECT_VERSION@-uni.exe |
747a48996c1f
(Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents:
820
diff
changeset
|
73 |
760
438d7c88104f
Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
74 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
|
75 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
|
76 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
|
77 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
|
78 echo "Package is: @CMAKE_BINARY_DIR@/TrustBridge-@PROJECT_VERSION@.zip" |