Mercurial > hg
view contrib/packaging/dockerdeb @ 51971:69bfd6b242ed
head-revs: merge the two inner_headrevs… variants
Now that there is only one method, it does not make sense to have two different
"inner" method. This is especially true as we are about to add another parameter
to the method. So we clean up before that.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Fri, 27 Sep 2024 00:55:54 +0200 |
parents | 971424517e17 |
children |
line wrap: on
line source
#!/bin/bash -eu . $(dirname $0)/packagelib.sh 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} CONTAINER=hg-docker-$PLATFORM TZ=`ls -la /etc/localtime | cut -d/ -f7-9` DOCKER=$($BUILDDIR/hg-docker docker-path) $BUILDDIR/hg-docker build \ --build-arg TZ=$TZ \ --build-arg CODENAME=$CODENAME \ $BUILDDIR/docker/$DISTID.template \ $CONTAINER # 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. dn=$(basename $ROOTDIR) if [[ -z "${HG_DOCKER_OWN_USER:-}" ]]; then DBUILDUSER=build else DBUILDUSER="$(id -u):$(id -g)" fi if [ $(uname) = "Darwin" ] ; then $DOCKER run -u $DBUILDUSER --rm -v $PWD/..:/mnt $CONTAINER \ sh -c "cd /mnt/$dn && make clean && make local" fi $DOCKER run -u $DBUILDUSER --rm -v $ROOTDIR/..:/mnt $CONTAINER \ sh -c "cd /mnt/$dn && DEB_BUILD_OPTIONS='${DEB_BUILD_OPTIONS:=}' contrib/packaging/builddeb --build --distid $DISTID --codename $CODENAME $@" (cd $ROOTDIR && contrib/packaging/builddeb --cleanup --distid $DISTID --codename $CODENAME) if [ $(uname) = "Darwin" ] ; then $DOCKER run -u $DBUILDUSER --rm -v $PWD/..:/mnt $CONTAINER \ sh -c "cd /mnt/$dn && make clean" fi