# HG changeset patch # User Mads Kiilerich # Date 2019-11-01 14:29:14 # Node ID e66a3bfcb19b317577654fca5bde0ba680f662ca # Parent 518655314fc5043a6757e43998c17559944d2949 packaging: make dockerrpm fedora target more generic Fedora moves fast in version numbers, and often with Mercurial packaging being backwards compatible. Thus, only aim for providing built-in support for latest Fedora version, and make it easy to update. With this refactoring, 'dockerrpm fedora31' also works. 'dockerrpm fedora' will use the 'fedora:latest' Docker image. diff --git a/contrib/packaging/docker/fedora29 b/contrib/packaging/docker/fedora.template rename from contrib/packaging/docker/fedora29 rename to contrib/packaging/docker/fedora.template --- a/contrib/packaging/docker/fedora29 +++ b/contrib/packaging/docker/fedora.template @@ -1,4 +1,4 @@ -FROM fedora:29 +FROM fedora:%OS_RELEASE% RUN groupadd -g 1000 build && \ useradd -u 1000 -g 1000 -s /bin/bash -d /build -m build diff --git a/contrib/packaging/dockerrpm b/contrib/packaging/dockerrpm --- a/contrib/packaging/dockerrpm +++ b/contrib/packaging/dockerrpm @@ -6,6 +6,14 @@ export ROOTDIR=$(cd $BUILDDIR/../..; pwd PLATFORM="$1" shift # extra params are passed to buildrpm +DOCKERFILE="$PLATFORM" +OS_RELEASE="${PLATFORM//[a-z]/}" +case "$PLATFORM" in +fedora*) + DOCKERFILE="${PLATFORM//[0-9]/}.template" + ;; +esac + DOCKER=$($BUILDDIR/hg-docker docker-path) CONTAINER=hg-docker-$PLATFORM @@ -18,7 +26,11 @@ else DOCKERGID=$(id -g) fi -$BUILDDIR/hg-docker build --build-arg UID=$DOCKERUID --build-arg GID=$DOCKERGID $BUILDDIR/docker/$PLATFORM $CONTAINER +$BUILDDIR/hg-docker build \ + --build-arg UID=$DOCKERUID \ + --build-arg GID=$DOCKERGID \ + --build-arg OS_RELEASE=${OS_RELEASE:-latest} \ + $BUILDDIR/docker/$DOCKERFILE $CONTAINER RPMBUILDDIR=$ROOTDIR/packages/$PLATFORM mkdir -p $RPMBUILDDIR