##// END OF EJS Templates
docker: pass proxy arguments to docker process...
Mathias De Maré -
r33598:a3ac1ea6 stable
parent child Browse files
Show More
@@ -1,42 +1,42 b''
1 #!/bin/sh -eu
1 #!/bin/sh -eu
2
2
3 # This function exists to set up the DOCKER variable and verify that
3 # This function exists to set up the DOCKER variable and verify that
4 # it's the binary we expect. It also verifies that the docker service
4 # it's the binary we expect. It also verifies that the docker service
5 # is running on the system and we can talk to it.
5 # is running on the system and we can talk to it.
6 function checkdocker() {
6 function checkdocker() {
7 if which docker.io >> /dev/null 2>&1 ; then
7 if which docker.io >> /dev/null 2>&1 ; then
8 DOCKER=docker.io
8 DOCKER=docker.io
9 elif which docker >> /dev/null 2>&1 ; then
9 elif which docker >> /dev/null 2>&1 ; then
10 DOCKER=docker
10 DOCKER=docker
11 else
11 else
12 echo "Error: docker must be installed"
12 echo "Error: docker must be installed"
13 exit 1
13 exit 1
14 fi
14 fi
15
15
16 $DOCKER -h 2> /dev/null | grep -q Jansens && { echo "Error: $DOCKER is the Docking System Tray - install docker.io instead"; exit 1; }
16 $DOCKER -h 2> /dev/null | grep -q Jansens && { echo "Error: $DOCKER is the Docking System Tray - install docker.io instead"; exit 1; }
17 $DOCKER version | grep -Eq "^Client( version)?:" || { echo "Error: unexpected output from \"$DOCKER version\""; exit 1; }
17 $DOCKER version | grep -Eq "^Client( version)?:" || { echo "Error: unexpected output from \"$DOCKER version\""; exit 1; }
18 $DOCKER version | grep -Eq "^Server( version)?:" || { echo "Error: could not get docker server version - check it is running and your permissions"; exit 1; }
18 $DOCKER version | grep -Eq "^Server( version)?:" || { echo "Error: could not get docker server version - check it is running and your permissions"; exit 1; }
19 }
19 }
20
20
21 # Construct a container and leave its name in $CONTAINER for future use.
21 # Construct a container and leave its name in $CONTAINER for future use.
22 function initcontainer() {
22 function initcontainer() {
23 [ "$1" ] || { echo "Error: platform name must be specified"; exit 1; }
23 [ "$1" ] || { echo "Error: platform name must be specified"; exit 1; }
24
24
25 DFILE="$ROOTDIR/contrib/docker/$1"
25 DFILE="$ROOTDIR/contrib/docker/$1"
26 [ -f "$DFILE" ] || { echo "Error: docker file $DFILE not found"; exit 1; }
26 [ -f "$DFILE" ] || { echo "Error: docker file $DFILE not found"; exit 1; }
27
27
28 CONTAINER="hg-dockerrpm-$1"
28 CONTAINER="hg-dockerrpm-$1"
29 DBUILDUSER=build
29 DBUILDUSER=build
30 (
30 (
31 cat $DFILE
31 cat $DFILE
32 if [ $(uname) = "Darwin" ] ; then
32 if [ $(uname) = "Darwin" ] ; then
33 # The builder is using boot2docker on OS X, so we're going to
33 # The builder is using boot2docker on OS X, so we're going to
34 # *guess* the uid of the user inside the VM that is actually
34 # *guess* the uid of the user inside the VM that is actually
35 # running docker. This is *very likely* to fail at some point.
35 # running docker. This is *very likely* to fail at some point.
36 echo RUN useradd $DBUILDUSER -u 1000
36 echo RUN useradd $DBUILDUSER -u 1000
37 else
37 else
38 echo RUN groupadd $DBUILDUSER -g `id -g` -o
38 echo RUN groupadd $DBUILDUSER -g `id -g` -o
39 echo RUN useradd $DBUILDUSER -u `id -u` -g $DBUILDUSER -o
39 echo RUN useradd $DBUILDUSER -u `id -u` -g $DBUILDUSER -o
40 fi
40 fi
41 ) | $DOCKER build --tag $CONTAINER -
41 ) | $DOCKER build --build-arg http_proxy --build-arg https_proxy --tag $CONTAINER -
42 }
42 }
@@ -1,37 +1,37 b''
1 #!/bin/bash -e
1 #!/bin/bash -e
2
2
3 . $(dirname $0)/dockerlib.sh
3 . $(dirname $0)/dockerlib.sh
4
4
5 BUILDDIR=$(dirname $0)
5 BUILDDIR=$(dirname $0)
6 export ROOTDIR=$(cd $BUILDDIR/..; pwd)
6 export ROOTDIR=$(cd $BUILDDIR/..; pwd)
7
7
8 checkdocker
8 checkdocker
9
9
10 PLATFORM="$1"
10 PLATFORM="$1"
11 shift # extra params are passed to buildrpm
11 shift # extra params are passed to buildrpm
12
12
13 initcontainer $PLATFORM
13 initcontainer $PLATFORM
14
14
15 RPMBUILDDIR=$ROOTDIR/packages/$PLATFORM
15 RPMBUILDDIR=$ROOTDIR/packages/$PLATFORM
16 contrib/buildrpm --rpmbuilddir $RPMBUILDDIR --prepare $*
16 contrib/buildrpm --rpmbuilddir $RPMBUILDDIR --prepare $*
17
17
18 DSHARED=/mnt/shared
18 DSHARED=/mnt/shared
19 $DOCKER run -u $DBUILDUSER --rm -v $RPMBUILDDIR:$DSHARED $CONTAINER \
19 $DOCKER run -e http_proxy -e https_proxy -u $DBUILDUSER --rm -v $RPMBUILDDIR:$DSHARED $CONTAINER \
20 rpmbuild --define "_topdir $DSHARED" -ba $DSHARED/SPECS/mercurial.spec --clean
20 rpmbuild --define "_topdir $DSHARED" -ba $DSHARED/SPECS/mercurial.spec --clean
21
21
22 $DOCKER run -u $DBUILDUSER --rm -v $RPMBUILDDIR:$DSHARED $CONTAINER \
22 $DOCKER run -e http_proxy -e https_proxy -u $DBUILDUSER --rm -v $RPMBUILDDIR:$DSHARED $CONTAINER \
23 createrepo $DSHARED
23 createrepo $DSHARED
24
24
25 cat << EOF > $RPMBUILDDIR/mercurial.repo
25 cat << EOF > $RPMBUILDDIR/mercurial.repo
26 # Place this file in /etc/yum.repos.d/mercurial.repo
26 # Place this file in /etc/yum.repos.d/mercurial.repo
27 [mercurial]
27 [mercurial]
28 name=Mercurial packages for $PLATFORM
28 name=Mercurial packages for $PLATFORM
29 # baseurl=file://$RPMBUILDDIR/
29 # baseurl=file://$RPMBUILDDIR/
30 baseurl=http://hg.example.com/build/$PLATFORM/
30 baseurl=http://hg.example.com/build/$PLATFORM/
31 skip_if_unavailable=True
31 skip_if_unavailable=True
32 gpgcheck=0
32 gpgcheck=0
33 enabled=1
33 enabled=1
34 EOF
34 EOF
35
35
36 echo
36 echo
37 echo "Build complete - results can be found in $RPMBUILDDIR"
37 echo "Build complete - results can be found in $RPMBUILDDIR"
General Comments 0
You need to be logged in to leave comments. Login now