#! /bin/bash PKG=apache-maven VERSION=3.6.0 BUILD=0 # from https://maven.apache.org/download.cgi URL=http://mirror.checkdomain.de/apache/maven/maven-3/$VERSION/source/apache-maven-$VERSION-src.tar.gz SRC=$( echo $URL | rev | cut -d/ -f1 | rev ) PREFIX=/pkg/$PKG-$VERSION-$BUILD set -xe umask 022 # Note: setting HOME doesn't prevent maven from placing files in # /scratch/local/build_home/.m2/repository exec </dev/null PATH=/bin:/usr/bin:/usr/sbin:/usr/local/package/bin:/usr/local/bin mkdir -p $PREFIX cat >$PREFIX/profile <<-EOF PATH=$PREFIX/bin:\$PATH EOF . $PREFIX/profile # this won't work, maven commits suicide by deleting $PREFIX after a 'failed' clean -- oops :) # BUILDDIR=$PREFIX/build # I'm curious what will happen when the prefix is set to /usr. COOKIE=$(mcookie) BUILDDIR=/scratch/local2/maven_build-$COOKIE mkdir -p $BUILDDIR cd $BUILDDIR test -e $SRC || wget $URL test -d $PKG-$VERSION || tar xf $SRC cd $PKG-$VERSION # dear maven, you can not delete $PREFIX ... mvn -DdistributionTargetDir="$PREFIX/__tmp__" clean package mv $PREFIX/__tmp__/* $PREFIX rmdir $PREFIX/__tmp__ rm -r $BUILDDIR exit