* bootstrap (cleanup_gnulib): New function. Use it to clean up

gnulib when interrupted.  This fixes some race conditions and
works around some portability problems (one noted by Paul
Hilfinger).
This commit is contained in:
Paul Eggert
2005-10-31 00:11:48 +00:00
parent 067b32eef4
commit e10a80eeac
2 changed files with 18 additions and 5 deletions

View File

@@ -1,3 +1,10 @@
2005-10-30 Paul Eggert <eggert@cs.ucla.edu>
* bootstrap (cleanup_gnulib): New function. Use it to clean up
gnulib when interrupted. This fixes some race conditions and
works around some portability problems (one noted by Paul
Hilfinger).
2005-10-22 Akim <akim@epita.fr> 2005-10-22 Akim <akim@epita.fr>
* Makefile.cfg: Adjust to config -> build-aux. * Makefile.cfg: Adjust to config -> build-aux.

View File

@@ -58,6 +58,12 @@ build_cvs_prefix() {
fi fi
} }
cleanup_gnulib() {
status=$?
rm -fr gnulib
exit $status
}
# Get gnulib files. # Get gnulib files.
case ${GNULIB_SRCDIR--} in case ${GNULIB_SRCDIR--} in
@@ -65,9 +71,6 @@ case ${GNULIB_SRCDIR--} in
if [ ! -d gnulib ]; then if [ ! -d gnulib ]; then
echo "$0: getting gnulib files..." echo "$0: getting gnulib files..."
trap exit 1 2 13 15
trap 'rm -fr gnulib; exit 1' 0
case ${CVS_AUTH-anoncvs} in case ${CVS_AUTH-anoncvs} in
anoncvs) anoncvs)
CVS_PREFIX='anoncvs@';; CVS_PREFIX='anoncvs@';;
@@ -82,9 +85,12 @@ case ${GNULIB_SRCDIR--} in
'') export CVS_RSH=ssh;; '') export CVS_RSH=ssh;;
esac esac
cvs -z3 -q -d ${CVS_PREFIX}subversions.gnu.org:/cvsroot/gnulib co gnulib || exit trap cleanup_gnulib 1 2 13 15
trap - 0 cvs -z3 -q -d ${CVS_PREFIX}subversions.gnu.org:/cvsroot/gnulib co gnulib ||
cleanup_gnulib
trap - 1 2 13 15
fi fi
GNULIB_SRCDIR=gnulib GNULIB_SRCDIR=gnulib
esac esac