annotate build.sh @ 648:e41a2537b84d

Implement root installation We now iterate over all users that do not obviously have their login shell disabled and look for NSS directories in their home directory, dropping our privileges to do so.
author Andre Heinecke <andre.heinecke@intevation.de>
date Wed, 25 Jun 2014 12:44:47 +0200
parents 35d6b371ba63
children
rev   line source
405
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 373
diff changeset
1 # Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 373
diff changeset
2 # Software engineering by Intevation GmbH
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 373
diff changeset
3 #
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 373
diff changeset
4 # 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: 373
diff changeset
5 # and comes with ABSOLUTELY NO WARRANTY!
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 373
diff changeset
6 # See LICENSE.txt for details.
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 373
diff changeset
7
3
b684e25adbbb Add personal build script
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
8 #!/bin/bash
b684e25adbbb Add personal build script
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
9
b684e25adbbb Add personal build script
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
10 # This script is currently a dummy to take down some notes on building.
b684e25adbbb Add personal build script
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
11 # It is not meant to be a general purpose build script.
b684e25adbbb Add personal build script
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
12
b684e25adbbb Add personal build script
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
13 set -e
b684e25adbbb Add personal build script
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
14
b684e25adbbb Add personal build script
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
15 cd `dirname $0`
b684e25adbbb Add personal build script
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
16
56
7b0efad494ea build.sh: added hint that requirements must be installed before building.
Bernhard Reiter <bernhard@intevation.de>
parents: 37
diff changeset
17 # build requirements need to be installed:
301
aec9008c3b30 Add note about libnss in build deps
Andre Heinecke <andre.heinecke@intevation.de>
parents: 77
diff changeset
18 # polarssl, qt5, (opt) doxygen, (opt) hiawatha-webserver, (opt) libnss3-dev
56
7b0efad494ea build.sh: added hint that requirements must be installed before building.
Bernhard Reiter <bernhard@intevation.de>
parents: 37
diff changeset
19
3
b684e25adbbb Add personal build script
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
20 mkdir -p build-linux
b684e25adbbb Add personal build script
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
21 cd build-linux
37
00aa5fa3c2fb Build System maintainance. Correct integration of Polarssl.
Andre Heinecke <aheinecke@intevation.de>
parents: 4
diff changeset
22 cmake .. -DCMAKE_VERBOSE_MAKEFILE=True -DCMAKE_PREFIX_PATH=~/ubuntu
3
b684e25adbbb Add personal build script
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
23 nice make -j8
b684e25adbbb Add personal build script
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
24 cd ..
b684e25adbbb Add personal build script
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
25 mkdir -p build-windows
b684e25adbbb Add personal build script
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
26 cd build-windows
373
42082e402d3e Set mxepath explicitly. Should make it easier to adapt
Andre Heinecke <andre.heinecke@intevation.de>
parents: 328
diff changeset
27 MXEPATH=~/ubuntu/src/mxe/usr/i686-w64-mingw32.static/
67
1bf41957418f Update notes in build.sh script
Andre Heinecke <aheinecke@intevation.de>
parents: 56
diff changeset
28 cmake .. \
373
42082e402d3e Set mxepath explicitly. Should make it easier to adapt
Andre Heinecke <andre.heinecke@intevation.de>
parents: 328
diff changeset
29 -DCMAKE_PREFIX_PATH="$MXEPATH/qt5;$MXEPATH;" \
328
18b31e2498a3 Build / dependency notes for nss
Andre Heinecke <aheinecke@intevation.de>
parents: 301
diff changeset
30 -DNSS_INCLUDEDIR="/nss-3.12.7/include;/nss-3.12.7/public/nss" \
18b31e2498a3 Build / dependency notes for nss
Andre Heinecke <aheinecke@intevation.de>
parents: 301
diff changeset
31 -DNSS_LIBDIR="/nss-3.12.7/lib" \
373
42082e402d3e Set mxepath explicitly. Should make it easier to adapt
Andre Heinecke <andre.heinecke@intevation.de>
parents: 328
diff changeset
32 -DCMAKE_TOOLCHAIN_FILE="$MXEPATH/share/cmake/mxe-conf.cmake" \
4
9849250f50f2 Start implementation of certificatelist parser
Andre Heinecke <aheinecke@intevation.de>
parents: 3
diff changeset
33 -DCMAKE_VERBOSE_MAKEFILE=True
3
b684e25adbbb Add personal build script
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
34 nice make -j8
b684e25adbbb Add personal build script
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
35 cd ..
b684e25adbbb Add personal build script
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
36
b684e25adbbb Add personal build script
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
37 # Note: qt5 plugins have .lib suffix
77
056ddb71a310 Fix Brace escaping in sed command
Andre Heinecke <aheinecke@intevation.de>
parents: 69
diff changeset
38 # find ~/ubuntu/src/mxe/usr/i686-w64-mingw32.static/qt5/lib/cmake -name \*.cmake | xargs sed -i 's/\/\([a-z]*\)\.lib/\/lib\1\.a/g'
3
b684e25adbbb Add personal build script
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
39 # Also they need to have a lib prefixed...
b684e25adbbb Add personal build script
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
40 # Then there is a bogous call _qt5gui_find_extra_libs(OPENGL "glu32;opengl32;gdi32;user32" "" "")
67
1bf41957418f Update notes in build.sh script
Andre Heinecke <aheinecke@intevation.de>
parents: 56
diff changeset
41 # where the first "" has to be replaced by your windows prefix. e.g.
1bf41957418f Update notes in build.sh script
Andre Heinecke <aheinecke@intevation.de>
parents: 56
diff changeset
42 # /home/andre/ubuntu/src/mxe/usr/i686-w64-mingw32.static/lib
69
92f523997086 Updated build notes
Andre Heinecke <aheinecke@intevation.de>
parents: 67
diff changeset
43 # if this does not work you can omment out the line altogether

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