view contrib/packaging/dockerdeb @ 49495:59a72267f5ce

fsmonitor: migrate Python ABCs from collections to collections.abc The Collections Abstract Base Classes in the collections module are deprecated since Python 3.3 in favor of collections.abc, and removed in Python 3.10.
author Martin von Zweigbergk <martinvonz@google.com>
date Fri, 09 Sep 2022 12:45:26 -0700
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