Let autogen.sh check the git config

To avoid checking in trailing scripts the autogen.sh script now
enables the standard pre-commit hook, which check for this.

Add a cleanpo filter if not yet set.  This works with together with
po/.gitattributes.
This commit is contained in:
Werner Koch 2011-02-04 12:12:51 +01:00
parent cd9614b81b
commit ffd099eb19
2 changed files with 41 additions and 15 deletions

View File

@ -1,3 +1,8 @@
2011-02-04 Werner Koch <wk@g10code.com>
* autogen.sh: Ensure that the git pre-commit hoom has been
enabled. Add a cleanpo filter if not yet set.
2011-02-03 Werner Koch <wk@g10code.com>
* configure.ac (HAVE_GCRY_PK_GET_CURVE): Use AC_TRY_LINK.

View File

@ -1,5 +1,5 @@
#! /bin/sh
# Run this to generate all the initial makefiles, etc.
# Run this to generate all the initial makefiles, etc.
#
# Copyright (C) 2003 g10 Code GmbH
#
@ -54,7 +54,7 @@ w32ce_toolprefixes=
w32ce_extraoptions=
amd64_toolprefixes=
# End list of optional variables sourced from ~/.gnupg-autogen.rc
# What follows are variables which are sourced but default to
# What follows are variables which are sourced but default to
# environment variables or lacking them hardcoded values.
#w32root=
#w32ce_root=
@ -66,7 +66,7 @@ if [ -f "$HOME/.gnupg-autogen.rc" ]; then
fi
# Convenience option to use certain configure options for some hosts.
myhost=""
myhost=""
myhostsub=""
case "$1" in
--build-w32)
@ -115,7 +115,7 @@ if [ "$myhost" = "w32" ]; then
;;
esac
echo "Using $w32root as standard install directory" >&2
# Locate the cross compiler
crossbindir=
for host in $toolprefixes; do
@ -127,14 +127,14 @@ if [ "$myhost" = "w32" ]; then
done
if [ -z "$crossbindir" ]; then
echo "Cross compiler kit not installed" >&2
if [ -z "$sub" ]; then
if [ -z "$sub" ]; then
echo "Under Debian GNU/Linux, you may install it using" >&2
echo " apt-get install mingw32 mingw32-runtime mingw32-binutils" >&2
echo " apt-get install mingw32 mingw32-runtime mingw32-binutils" >&2
fi
echo "Stop." >&2
exit 1
fi
if [ -f "$tsdir/config.log" ]; then
if ! head $tsdir/config.log | grep "$host" >/dev/null; then
echo "Please run a 'make distclean' first" >&2
@ -172,7 +172,7 @@ if [ "$myhost" = "amd64" ]; then
echo "Using $amd64root as standard install directory" >&2
toolprefixes="$amd64_toolprefixes x86_64-linux-gnu amd64-linux-gnu"
# Locate the cross compiler
crossbindir=
for host in $toolprefixes ; do
@ -187,7 +187,7 @@ if [ "$myhost" = "amd64" ]; then
echo "Stop." >&2
exit 1
fi
if [ -f "$tsdir/config.log" ]; then
if ! head $tsdir/config.log | grep "$host" >/dev/null; then
echo "Please run a 'make distclean' first" >&2
@ -210,19 +210,19 @@ fi
# Grep the required versions from configure.ac
autoconf_vers=`sed -n '/^AC_PREREQ(/ {
autoconf_vers=`sed -n '/^AC_PREREQ(/ {
s/^.*(\(.*\))/\1/p
q
}' ${configure_ac}`
autoconf_vers_num=`echo "$autoconf_vers" | cvtver`
automake_vers=`sed -n '/^min_automake_version=/ {
automake_vers=`sed -n '/^min_automake_version=/ {
s/^.*="\(.*\)"/\1/p
q
}' ${configure_ac}`
automake_vers_num=`echo "$automake_vers" | cvtver`
gettext_vers=`sed -n '/^AM_GNU_GETTEXT_VERSION(/ {
gettext_vers=`sed -n '/^AM_GNU_GETTEXT_VERSION(/ {
s/^.*\[\(.*\)])/\1/p
q
}' ${configure_ac}`
@ -249,13 +249,34 @@ fi
if test "$DIE" = "yes"; then
cat <<EOF
Note that you may use alternative versions of the tools by setting
Note that you may use alternative versions of the tools by setting
the corresponding environment variables; see README.SVN for details.
EOF
exit 1
fi
# Check the git setup.
if [ -d .git ]; then
if [ -f .git/hooks/pre-commit.sample -a ! -f .git/hooks/pre-commit ] ; then
cat <<EOF >&2
*** Activating trailing whitespace git pre-commit hook. ***
For more information see this thread:
http://mail.gnome.org/archives/desktop-devel-list/2009-May/msg00084html
To deactivate this pre-commit hook again move .git/hooks/pre-commit
and .git/hooks/pre-commit.sample out of the way.
EOF
cp -av .git/hooks/pre-commit.sample .git/hooks/pre-commit
chmod -c +x .git/hooks/pre-commit
fi
tmp=$(git config --get filter.cleanpo.clean)
if [ "$tmp" != "awk '/^\"POT-Creation-Date:/&&!s{s=1;next};!/^#: /{print}'" ]
then
echo "*** Adding GIT filter.cleanpo.clean configuration." >&2
git config --add filter.cleanpo.clean \
"awk '/^\"POT-Creation-Date:/&&!s{s=1;next};!/^#: /{print}'"
fi
fi
echo "Running aclocal -I m4 -I gl/m4 ${ACLOCAL_FLAGS:+$ACLOCAL_FLAGS }..."
$ACLOCAL -I m4 -I gl/m4 $ACLOCAL_FLAGS
@ -266,6 +287,6 @@ $AUTOMAKE --gnu;
echo "Running autoconf${FORCE} ..."
$AUTOCONF${FORCE}
echo "You may now run:
echo "You may now run:
./configure --sysconfdir=/etc --enable-maintainer-mode --enable-symcryptrun --enable-mailto --enable-gpgtar && make
"