See <https://lists.gnu.org/archive/html/bug-gettext/2012-12/msg00058.html>.
Currently "make all" fails after running autogen.sh, when gettext-tools/misc/archive.dir.tar is not there. In that case users need to copy archive.dir.tar from pre-existing installation (or a tarball of the previous release). For Hydra build, I added a workaround for this: http://git.savannah.gnu.org/cgit/hydra-recipes.git/tree/gettext/release.nix#n70 which creates an empty archive before running autogen.sh. This is, of course, not really helpful for actual installation. To mitigate this, I'm doing an experiment to version control the contents of the archive: https://gitorious.org/gettext/autopoint-archive With the attached patch, autogen.sh pulls the contents for necessary releases from the above location, and generate archive.dir.tar. I'm not sure I'm doing right, so any comments would be appreciated. Regards, -- Daiki Ueno
>From 49cd3a513cc1707c2ede81bf55ea1ce43cd3ea84 Mon Sep 17 00:00:00 2001 From: Daiki Ueno <[email protected]> Date: Wed, 6 Mar 2013 18:46:15 +0900 Subject: [PATCH] Generate archive.dir.tar when bootstrapping --- ChangeLog | 4 ++++ autogen.sh | 22 +++++++++++++++++++++- gettext-tools/ChangeLog | 4 ++++ gettext-tools/configure.ac | 3 +++ gettext-tools/misc/ChangeLog | 7 +++++++ gettext-tools/misc/archive-releases.sh | 32 ++++++++++++++++++++++++++++++++ gettext-tools/misc/autopoint.in | 31 ++++++++++++++----------------- 7 files changed, 85 insertions(+), 18 deletions(-) create mode 100644 gettext-tools/misc/archive-releases.sh diff --git a/ChangeLog b/ChangeLog index f54a329..afe405b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2013-03-07 Daiki Ueno <[email protected]> + + * autogen.sh: Generate gettext-tools/misc/archive.dir.tar. + 2013-03-06 Daiki Ueno <[email protected]> * AUTHORS: Update from fencepost.gnu.org:/gd/gnuorg/copyright.list. diff --git a/autogen.sh b/autogen.sh index d1625ca..be1f23c 100755 --- a/autogen.sh +++ b/autogen.sh @@ -32,7 +32,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -# Usage: ./autogen.sh [--quick] [--skip-gnulib] +# Usage: ./autogen.sh [--quick] [--skip-gnulib] [--skip-archive] # # Usage after a first-time git clone / cvs checkout: ./autogen.sh # Usage after a git clone / cvs update: ./autogen.sh --quick @@ -45,10 +45,12 @@ quick=false skip_gnulib=false +skip_archive=false while :; do case "$1" in --quick) quick=true; shift;; --skip-gnulib) skip_gnulib=true; shift;; + --skip-archive) skip_archive=true; shift;; *) break ;; esac done @@ -387,6 +389,24 @@ cp -p gettext-runtime/ABOUT-NLS gettext-tools/ABOUT-NLS fi ) +if ! $skip_archive && ! test -f gettext-tools/misc/archive.dir.tar; then + # Check out archive in a subdirectory 'archive'. + if test -d archive; then + (cd archive && git pull) + else + git clone git://gitorious.org/gettext/autopoint-archive.git archive + fi + : > dummy + tar -cf gettext-tools/misc/archive.dir.tar dummy + rm -f dummy + (cd archive + . ../gettext-tools/misc/archive-releases.sh + for release in $ARCHIVE_RELEASES; do + tar -rf ../gettext-tools/misc/archive.dir.tar "gettext-$release" + done + ) +fi + build-aux/fixaclocal aclocal -I m4 autoconf automake diff --git a/gettext-tools/ChangeLog b/gettext-tools/ChangeLog index 123c114..0deb206 100644 --- a/gettext-tools/ChangeLog +++ b/gettext-tools/ChangeLog @@ -1,3 +1,7 @@ +2013-03-07 Daiki Ueno <[email protected]> + + * configure.ac (archive_releases_sh): New substituted file. + 2012-12-27 Daiki Ueno <[email protected]> Determine imported C symbol prefix at configure time. diff --git a/gettext-tools/configure.ac b/gettext-tools/configure.ac index 373d3cc..19c9fb9 100644 --- a/gettext-tools/configure.ac +++ b/gettext-tools/configure.ac @@ -458,6 +458,9 @@ changequote([,])dnl fi AC_SUBST([ARCHIVE_FORMAT]) +archive_releases_sh="$srcdir/misc/archive-releases.sh" +AC_SUBST_FILE([archive_releases_sh]) + dnl Check for tools needed for formatting the documentation. ac_aux_dir_abs=`cd $ac_aux_dir && pwd` AC_PATH_PROG([DVIPS], [dvips], [$ac_aux_dir_abs/missing dvips]) diff --git a/gettext-tools/misc/ChangeLog b/gettext-tools/misc/ChangeLog index 5704341..f4ed8f8 100644 --- a/gettext-tools/misc/ChangeLog +++ b/gettext-tools/misc/ChangeLog @@ -1,3 +1,10 @@ +2013-03-07 Daiki Ueno <[email protected]> + + * archive-releases.sh: New file which defines versions supported + by autopoint. + * autopoint.in: Use archive-releases.sh to check supported + versions. + 2013-03-05 Daiki Ueno <[email protected]> * po-mode.el (po-font-lock-keywords): Properly highlight C format diff --git a/gettext-tools/misc/archive-releases.sh b/gettext-tools/misc/archive-releases.sh new file mode 100644 index 0000000..1087fa2 --- /dev/null +++ b/gettext-tools/misc/archive-releases.sh @@ -0,0 +1,32 @@ +# Versions supported by autopoint. +ARCHIVE_RELEASES=" +0.10.35 +0.10.36 +0.10.37 +0.10.38 +0.10.39 +0.10.40 +0.11 +0.11.1 +0.11.2 +0.11.3 +0.11.4 +0.11.5 +0.12 +0.12.1 +0.13 +0.13.1 +0.14 +0.14.1 +0.14.2 +0.14.3 +0.14.4 +0.14.5 +0.14.6 +0.15 +0.16 +0.16.1 +0.17 +0.18 +0.18.1 +" diff --git a/gettext-tools/misc/autopoint.in b/gettext-tools/misc/autopoint.in index 745fdb4..6a48b24 100644 --- a/gettext-tools/misc/autopoint.in +++ b/gettext-tools/misc/autopoint.in @@ -30,6 +30,8 @@ prefix="@prefix@" datarootdir="@datarootdir@" gettext_dir="@datadir@/gettext" +@archive_releases_sh@ + autom4te="autom4te --no-cache --language=Autoconf-without-aclocal-m4" # func_tmpdir @@ -285,23 +287,18 @@ else fi # Check whether the version number is supported. -case "$ver" in - 0.10.35 | 0.10.36 | 0.10.37 | 0.10.38 | 0.10.39 | 0.10.40 | \ - 0.11 | 0.11.1 | 0.11.2 | 0.11.3 | 0.11.4 | 0.11.5 | \ - 0.12 | 0.12.1 | \ - 0.13 | 0.13.1 | \ - 0.14 | 0.14.1 | 0.14.2 | 0.14.3 | 0.14.4 | 0.14.5 | 0.14.6 | \ - 0.15 | \ - 0.16 | 0.16.1 | \ - 0.17 | \ - 0.18 | 0.18.1 | 0.18.2 ) - ;; - *) - func_fatal_error "The AM_GNU_GETTEXT_VERSION declaration in your $configure_in - file requires the infrastructure from gettext-$ver but this version - is older. Please upgrade to gettext-$ver or newer." - ;; -esac +ver_is_supported= +for release in $ARCHIVE_RELEASES "@VERSION@"; do + if test "$ver" = "$release"; then + ver_is_supported=yes + break + fi +done +if test -z "$ver_is_supported"; then + func_fatal_error "The AM_GNU_GETTEXT_VERSION declaration in your $configure_in + file requires the infrastructure from gettext-$ver but this version + is older. Please upgrade to gettext-$ver or newer." +fi # Check in which directory config.rpath, mkinstalldirs etc. belong. auxdir=`$autom4te --trace=AC_CONFIG_AUX_DIR:\$% "$configure_in"` -- 1.8.1.4
