From: Paul Eggert Date: Mon, 31 Oct 2005 00:11:48 +0000 (+0000) Subject: * bootstrap (cleanup_gnulib): New function. Use it to clean up X-Git-Tag: v2.3b~587 X-Git-Url: https://git.saurik.com/bison.git/commitdiff_plain/e10a80eeacc597767cf01c0277bc3e200f498688?ds=sidebyside * 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). --- diff --git a/ChangeLog b/ChangeLog index 5218c810..bd649070 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2005-10-30 Paul Eggert + + * 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 * Makefile.cfg: Adjust to config -> build-aux. diff --git a/bootstrap b/bootstrap index 4b3164a3..a86aeb83 100755 --- a/bootstrap +++ b/bootstrap @@ -58,6 +58,12 @@ build_cvs_prefix() { fi } +cleanup_gnulib() { + status=$? + rm -fr gnulib + exit $status +} + # Get gnulib files. case ${GNULIB_SRCDIR--} in @@ -65,9 +71,6 @@ case ${GNULIB_SRCDIR--} in if [ ! -d gnulib ]; then echo "$0: getting gnulib files..." - trap exit 1 2 13 15 - trap 'rm -fr gnulib; exit 1' 0 - case ${CVS_AUTH-anoncvs} in anoncvs) CVS_PREFIX='anoncvs@';; @@ -82,9 +85,12 @@ case ${GNULIB_SRCDIR--} in '') export CVS_RSH=ssh;; esac - cvs -z3 -q -d ${CVS_PREFIX}subversions.gnu.org:/cvsroot/gnulib co gnulib || exit + trap cleanup_gnulib 1 2 13 15 + + cvs -z3 -q -d ${CVS_PREFIX}subversions.gnu.org:/cvsroot/gnulib co gnulib || + cleanup_gnulib - trap - 0 + trap - 1 2 13 15 fi GNULIB_SRCDIR=gnulib esac