shellinabox/update

43 lines
1.4 KiB
Text
Raw Permalink Normal View History

#!/bin/bash -e
# If you want to track the status of the project in Subversion, run this script
# instead of relying on "svn update". The script makes sure you end up with a
# working copy of the source tree that is customized to the version of GNU
# "autotools" that are installed on your machine.
#
# Alternatively, you can always remove the entire tree and check out a fresh
# copy from Subversion.
[ -x "$(type -path svn)" ] || {
echo "You must have the 'svn' binary to use this script." >&2
exit 1
}
[ -x "$(type -path libtoolize)" ] || {
echo "You must install 'libtool', if you want to track SVN." >&2
echo "Alternatively, delete all files and check out a clean copy" \
"from SVN." >&2
exit 1
}
[ -x "$(type -path autoreconf)" -a -x "$(type -path aclocal)" ] || {
echo "You must install the GNU 'autotools', if you want to track SVN." >&2
echo "Alternatively, delete all files and check out a clean copy" \
"from SVN" >&2
exit 1
}
rm -rf aclocal.m4 configure config.guess config.h config.h.in config.sub \
ltmain.sh m4 Makefile.in
svn update
[ -z "$(svn st|grep '^C')" ] || {
echo "Some files could not be synchronized with the SVN repository." >&2
echo "You have to manually resolve the merge conflicts and rerun this " \
"script" >&2
exit 1
}
aclocal
libtoolize --force --copy
autoreconf
./configure