Mercurial > hg
view contrib/packaging/dockerrpm @ 45752:d270b9b797a7 stable
contrib: split Windows requirements into multiple files
Package support for Python 2 has diverged significantly. It is no
longer trivial to maintain a single requirements file that supports
both Python 2 and 3 because the set of packages and versions varies
wildly.
This commit split up the Windows requirements files so we have
variants for Python 2 and 3. As part of this, I also renamed the
files to have what I believe to be more reasonable naming ("win32"
felt like a weird identifier to me).
We can see that some package versions decreated on 2.7. This is
because the old pinned versions weren't compatible with Python 2.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Wed, 21 Oct 2020 21:53:19 -0700 |
parents | e66a3bfcb19b |
children | 4713bcf78037 |
line wrap: on
line source
#!/bin/bash -e BUILDDIR=$(dirname $0) 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 if [[ -z "${HG_DOCKER_OWN_USER}" ]]; then DOCKERUID=1000 DOCKERGID=1000 else DOCKERUID=$(id -u) DOCKERGID=$(id -g) fi $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 $ROOTDIR/contrib/packaging/buildrpm --rpmbuilddir $RPMBUILDDIR --prepare $* DSHARED=/mnt/shared DBUILDUSER=build $DOCKER run -e http_proxy -e https_proxy -u $DBUILDUSER --rm -v $RPMBUILDDIR:$DSHARED $CONTAINER \ rpmbuild --define "_topdir $DSHARED" -ba $DSHARED/SPECS/mercurial.spec --clean $DOCKER run -e http_proxy -e https_proxy -u $DBUILDUSER --rm -v $RPMBUILDDIR:$DSHARED $CONTAINER \ createrepo $DSHARED cat << EOF > $RPMBUILDDIR/mercurial.repo # Place this file in /etc/yum.repos.d/mercurial.repo [mercurial] name=Mercurial packages for $PLATFORM # baseurl=file://$RPMBUILDDIR/ baseurl=http://hg.example.com/build/$PLATFORM/ skip_if_unavailable=True gpgcheck=0 enabled=1 EOF echo echo "Build complete - results can be found in $RPMBUILDDIR"