Mercurial > hg
view contrib/packaging/dockerdeb @ 45968:971424517e17
packaging: drop Disco (19.04) and add Focal (20.04)
Disco support ended in January 2020, and Focal does not have an announced EOL.
Something is now installing and configuring `tzdata`, which was throwing up an
interactive prompt to configure the timezone. Aside from being hostile to
automation, the prompt didn't actually accept input and hung the process. This
propagates the host's timezone into the image via environment variable in order
to skip the prompt, and avoid hardcoding a value.
Differential Revision: https://phab.mercurial-scm.org/D9396
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Tue, 24 Nov 2020 16:17:16 -0500 |
parents | f6a1540dc572 |
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