dockerdeb
40 lines
| 1.3 KiB
| text/plain
|
TextLexer
Gregory Szorc
|
r38024 | #!/bin/bash -eu | ||
Gregory Szorc
|
r38025 | . $(dirname $0)/packagelib.sh | ||
Gregory Szorc
|
r38024 | |||
BUILDDIR=$(dirname $0) | ||||
export ROOTDIR=$(cd $BUILDDIR/../.. > /dev/null; pwd) | ||||
DISTID="$1" | ||||
CODENAME="$2" | ||||
PLATFORM="$1-$2" | ||||
shift; shift # extra params are passed to build process | ||||
OUTPUTDIR=${OUTPUTDIR:=$ROOTDIR/packages/$PLATFORM} | ||||
Gregory Szorc
|
r38476 | CONTAINER=hg-docker-$PLATFORM | ||
Gregory Szorc
|
r38024 | |||
Gregory Szorc
|
r38476 | DOCKER=$($BUILDDIR/hg-docker docker-path) | ||
Gregory Szorc
|
r38477 | $BUILDDIR/hg-docker build \ | ||
--build-arg CODENAME=$CODENAME \ | ||||
$BUILDDIR/docker/$DISTID.template \ | ||||
$CONTAINER | ||||
Gregory Szorc
|
r38024 | |||
# debuild only appears to be able to save built debs etc to .., so we | ||||
# have to share the .. of the current directory with the docker | ||||
# container and hope it's writable. Whee. | ||||
Gregory Szorc
|
r38033 | dn=$(basename $ROOTDIR) | ||
Gregory Szorc
|
r38024 | |||
Gregory Szorc
|
r38475 | DBUILDUSER=build | ||
Gregory Szorc
|
r38024 | if [ $(uname) = "Darwin" ] ; then | ||
$DOCKER run -u $DBUILDUSER --rm -v $PWD/..:/mnt $CONTAINER \ | ||||
sh -c "cd /mnt/$dn && make clean && make local" | ||||
fi | ||||
Gregory Szorc
|
r38033 | $DOCKER run -u $DBUILDUSER --rm -v $ROOTDIR/..:/mnt $CONTAINER \ | ||
Gregory Szorc
|
r38026 | sh -c "cd /mnt/$dn && DEB_BUILD_OPTIONS='${DEB_BUILD_OPTIONS:=}' contrib/packaging/builddeb --build --distid $DISTID --codename $CODENAME $@" | ||
Gregory Szorc
|
r38804 | (cd $ROOTDIR && contrib/packaging/builddeb --cleanup --distid $DISTID --codename $CODENAME) | ||
Gregory Szorc
|
r38024 | if [ $(uname) = "Darwin" ] ; then | ||
$DOCKER run -u $DBUILDUSER --rm -v $PWD/..:/mnt $CONTAINER \ | ||||
sh -c "cd /mnt/$dn && make clean" | ||||
fi | ||||