annotate Resources/holy-build-box-compile.sh @ 2:39bdff8f0247

user management in holy-build-box
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 13 Jun 2019 15:32:35 +0200
parents 179203abadc5
children cd1231292eb6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 #!/bin/bash
2
39bdff8f0247 user management in holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1
diff changeset
2
39bdff8f0247 user management in holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1
diff changeset
3 ##
39bdff8f0247 user management in holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1
diff changeset
4 ## This script compiles cross-distribution Linux binaries thanks to
39bdff8f0247 user management in holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1
diff changeset
5 ## Holy Build Box: https://github.com/phusion/holy-build-box
39bdff8f0247 user management in holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1
diff changeset
6 ##
39bdff8f0247 user management in holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1
diff changeset
7 ## The ideal solution would be to use Linux Standard Base
39bdff8f0247 user management in holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1
diff changeset
8 ## (LSB). Unfortunately, the LSB C++ compiler is a pre-4.8 gcc that
39bdff8f0247 user management in holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1
diff changeset
9 ## does not feature full C++11 capabilities, which prevents compiling
39bdff8f0247 user management in holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1
diff changeset
10 ## the google-cloud-cpp project.
39bdff8f0247 user management in holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1
diff changeset
11 ##
39bdff8f0247 user management in holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1
diff changeset
12
0
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 set -ex
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15 ROOT_DIR=`dirname $(readlink -f $0)`/..
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16
2
39bdff8f0247 user management in holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1
diff changeset
17 mkdir -p ${ROOT_DIR}/holy-build-box
39bdff8f0247 user management in holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1
diff changeset
18
1
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 0
diff changeset
19 docker run -t -i --rm \
2
39bdff8f0247 user management in holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1
diff changeset
20 --user $(id -u):$(id -g) \
39bdff8f0247 user management in holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1
diff changeset
21 -v ${ROOT_DIR}:/source:ro \
39bdff8f0247 user management in holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1
diff changeset
22 -v ${ROOT_DIR}/holy-build-box:/target:rw \
39bdff8f0247 user management in holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1
diff changeset
23 phusion/holy-build-box-64:2.0.1 \
39bdff8f0247 user management in holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1
diff changeset
24 bash /source/Resources/holy-build-box-internal.sh
0
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26 ls -l ${ROOT_DIR}/holy-build-box/