maintainer-scripts: Use /sourceware/snapshot-tmp/gcc as temp directory if possible

> https://gcc.gnu.org/pipermail/gccadmin/2020q4/017037.html
>
> OSError: [Errno 28] No space left on device:
> '/tmp/tmp.Zq3p6D4MxS/gcc/.git/objects/objn31xpefh' ->
> '/tmp/tmp.Zq3p6D4MxS/gcc/.git/objects/db/ffb02a4bcdd4ec04af3db75d86b8cc2e52bdff'
>
> Maybe change the script to use /sourceware/snapshot-tmp/gcc (which has
> rather more space) instead of /tmp?

This patch implements that.

2020-12-17  Jakub Jelinek  <jakub@redhat.com>

	* update_version_git: Put BASEDIR into /sourceware/snapshot-tmp/gcc
	if it exist.
This commit is contained in:
Jakub Jelinek 2020-12-17 00:14:30 +01:00
parent 2a4183234a
commit f4ae1f2c43

View File

@ -5,24 +5,31 @@
# commit messages.
GITROOT=${GITROOT:-"/git/gcc.git"}
if [ -z "$TMPDIR" ]; then
if [ -d /sourceware/snapshot-tmp/gcc ]; then
TMPDIR=/sourceware/snapshot-tmp/gcc
else
TMPDIR=/tmp
fi
fi
# Run this from /tmp.
export GITROOT
# Run this from $TMPDIR.
export GITROOT TMPDIR
BASEDIR=`mktemp -d`
cd "$BASEDIR"
GIT=${GIT:-/usr/local/bin/git}
# Assume all will go well.
SUBDIR=$BASEDIR/gcc
SUBDIR="$BASEDIR/gcc"
${GIT} clone -q -b master "$GITROOT" "$SUBDIR"
cp -a $SUBDIR/contrib/gcc-changelog $BASEDIR/gcc-changelog
cp -a "$SUBDIR"/contrib/gcc-changelog "$BASEDIR"/gcc-changelog
cd "$SUBDIR"
python3 ../gcc-changelog/git_update_version.py -p
RESULT=$?
cd /tmp
cd "$TMPDIR"
/bin/rm -rf $BASEDIR
/bin/rm -rf "$BASEDIR"
exit $RESULT