Files
tar/bootstrap
2003-07-05 20:14:48 +00:00

156 lines
3.2 KiB
Bash
Executable File

#! /bin/sh
# Bootstrap 'tar' from CVS.
# Copyright (C) 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# Written by Paul Eggert.
# Parse options.
for option; do
case $option in
--help)
echo "$0: usage: $0 [--gnulib-srcdir=DIR]"
exit;;
--gnulib-srcdir=*)
GNULIB_SRCDIR=`expr "$1" : '--gnulib-srcdir=\(.*\)'`;;
*)
echo >&2 "$0: $option: unknown option"
exit 1;;
esac
done
echo "$0: Bootstrapping CVS tar..."
# Get gnulib files.
echo "$0: getting gnulib files..."
case ${GNULIB_SRCDIR--} in
-)
if [ ! -d gnulib ]; then
trap exit 1 2 13 15
trap 'rm -fr gnulib; exit 1' 0
cvs -q -d savannah.gnu.org:/cvsroot/gnulib co gnulib || exit
trap 0
fi
GNULIB_SRCDIR=gnulib
esac
<$GNULIB_SRCDIR/gnulib-tool || exit
gnulib_modules='
alloca
argmatch
backupfile
dirname
error
exclude
fileblocks
fnmatch
ftruncate
full-write
getdate
getline
getopt
gettext
hash
human
lchown
memset
modechange
safe-read
quote
quotearg
rmdir
save-cwd
savedir
stdbool
strtol
strtoul
unlocked-io
utime
xalloc
xgetcwd
xstrtoumax
'
previous_gnulib_modules=
while [ "$gnulib_modules" != "$previous_gnulib_modules" ]; do
previous_gnulib_modules=$gnulib_modules
gnulib_modules=`
(echo "$gnulib_modules"
for gnulib_module in $gnulib_modules; do
$GNULIB_SRCDIR/gnulib-tool --extract-dependencies $gnulib_module
done) | sort -u
`
done
gnulib_files=`
(for gnulib_module in $gnulib_modules; do
$GNULIB_SRCDIR/gnulib-tool --extract-filelist $gnulib_module
done) | sort -u
`
gnulib_dirs=`echo "$gnulib_files" | sed 's,/[^/]*$,,' | sort -u`
mkdir -p $gnulib_dirs || exit
for gnulib_file in $gnulib_files; do
dest=$gnulib_file
case $gnulib_file in
m4/codeset.m4) continue;;
m4/glibc21.m4) continue;;
m4/intdiv0.m4) continue;;
m4/inttypes_h.m4) continue;;
m4/inttypes.m4) continue;;
m4/inttypes-pri.m4) continue;;
m4/isc-posix.m4) continue;;
m4/lcmessage.m4) continue;;
m4/onceonly_2_57.m4) dest=m4/onceonly.m4;;
esac
rm -f $dest &&
echo "$0: Copying file $GNULIB_SRCDIR/$gnulib_file" &&
cp -p $GNULIB_SRCDIR/$gnulib_file $dest || exit
done
# Get translations.
echo "$0: getting translations into po..."
(cd po &&
rm -f dummy `ls | sed -n '/\.gmo$/p; /^en_GB\.po$/d; /\.po/p'` &&
wget -nv -nd -r -l 1 -A .po -C off \
http://www.iro.umontreal.ca/contrib/po/maint/tar/ &&
ls *.po | sed 's/\.po$//' >LINGUAS
) || exit
# Reconfigure, getting other files.
echo "$0: autoreconf --verbose --install --force ..."
autoreconf --verbose --install --force
echo "$0: done. Now you can run './configure'."