autoconf-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

update fetch


From: Ralf Wildenhues
Subject: update fetch
Date: Tue, 22 Jan 2008 21:59:01 +0100
User-agent: Mutt/1.5.13 (2006-08-11)

Hello,

I've started to convert the release rules to git.  I'm pretty sure they
don't work right yet (with Automake I ended up typing them manually),
but this patch will cause `make git-update' to bring in upstream
versions of gnulib hosted files.

OK to apply?

Cheers,
Ralf

    Update maintenance targets for git.
    
    * Makefile.cfg (git_files): Renamed from cvs_files.
    (git_executable_files): Renamed from cvs_executable_files.
    Adjust users.
    * Makefile.maint: Likewise.
    (GIT): New.
    (this-git-tag): Renamed from this-cvs-tag.
    (git-tag-check): Renamed from cvs-tag-check.
    (git-diff-check): Renamed from cvs-diff-check.
    (git-dist): Renamed from cvs-dist.
    (git-update): Renamed from cvs-update.  Adjust to gnulib being
    a git repository now.
    Adjust all users, and adjust usage to git.

diff --git a/Makefile.cfg b/Makefile.cfg
index 7164e3b..d67b408 100644
--- a/Makefile.cfg
+++ b/Makefile.cfg
@@ -1,5 +1,5 @@
 # Customize Makefile.maint for Autoconf.            -*- Makefile -*-
-# Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2006, 2008 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
@@ -29,7 +29,7 @@ url_dir_list = \
   ftp://$(gnu_rel_host).gnu.org/gnu/autoconf
 
 # Files to update automatically.
-cvs_executable_files = \
+git_executable_files = \
   $(srcdir)/build-aux/config.guess \
   $(srcdir)/build-aux/config.sub \
   $(srcdir)/build-aux/elisp-comp \
@@ -37,7 +37,7 @@ cvs_executable_files = \
   $(srcdir)/build-aux/mdate-sh \
   $(srcdir)/build-aux/missing \
 
-cvs_files = $(cvs_executable_files) \
+git_files = $(git_executable_files) \
   $(srcdir)/build-aux/texinfo.tex \
   $(srcdir)/doc/fdl.texi \
   $(srcdir)/doc/make-stds.texi \
@@ -48,8 +48,8 @@ local_updates = executable-update
 
 .PHONY: executable-update
 # autom4te-update is defined in Makefile.am.
-executable-update: wget-update cvs-update autom4te-update
-       chmod a+x $(cvs_executable_files)
+executable-update: wget-update git-update autom4te-update
+       chmod a+x $(git_executable_files)
 
 # Tests not to run.
 local-checks-to-skip ?= \
diff --git a/Makefile.maint b/Makefile.maint
index 3a4fe7a..ee2dc06 100644
--- a/Makefile.maint
+++ b/Makefile.maint
@@ -2,7 +2,7 @@
 # This Makefile fragment is shared between the coreutils,
 # CPPI, Bison, and Autoconf.
 
-# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2008 Free Software
 # Foundation, Inc.
 #
 # This program is free software: you can redistribute it and/or modify
@@ -29,6 +29,7 @@ gzip_rsyncable := \
 GZIP_ENV = '--no-name --best $(gzip_rsyncable)'
 
 CVS = cvs
+GIT = git
 
 # cvsu is part of the cvsutils package: http://www.red-bean.com/cvsutils/
 CVS_LIST = build-aux/vc-list-files
@@ -45,7 +46,7 @@ VERSION_REGEXP = $(subst .,\.,$(VERSION))
 
 tag-package = $(shell echo "$(PACKAGE)" | tr '[:lower:]' '[:upper:]')
 tag-this-version = $(subst .,_,$(VERSION))
-this-cvs-tag = $(tag-package)-$(tag-this-version)
+this-git-tag = $(tag-package)-$(tag-this-version)
 my_distdir = $(PACKAGE)-$(VERSION)
 
 # Old releases are stored here.
@@ -410,24 +411,21 @@ copyright-check:
        fi
 
 
-# Sanity checks with the CVS repository.
-cvs-tag-check:
-       echo $(this-cvs-tag); \
-       if $(CVS) -n log -h README | grep -e $(this-cvs-tag): >/dev/null; then \
-         echo "$(this-cvs-tag) as already been used; not tagging" 1>&2; \
+# Sanity checks with the git repository.
+git-tag-check:
+       cd $(srcdir) && echo $(this-git-tag); \
+       if $(GIT) tag -l | grep -e $(this-git-tag): >/dev/null; then \
+         echo "$(this-git-tag) as already been used; not tagging" 1>&2; \
          exit 1; \
        else :; fi
 
-cvs-diff-check:
-       if $(CVS) diff >cvs-diffs; then                         \
-         rm cvs-diffs;                                         \
-       else                                                    \
+git-diff-check:
+       cd $(srcdir) && if $(GIT) status -a; then               \
          echo "Some files are locally modified:" 1>&2;         \
-         cat cvs-diffs;                                        \
          exit 1;                                               \
        fi
 
-cvs-check: cvs-diff-check cvs-tag-check
+git-check: git-diff-check git-tag-check
 
 maintainer-distcheck:
        $(MAKE) distcheck
@@ -437,9 +435,8 @@ maintainer-distcheck:
 # Tag before making distribution.  Also, don't make a distribution if
 # checks fail.  Also, make sure the NEWS file is up-to-date.
 # FIXME: use dist-hook/my-dist like distcheck-hook/my-distcheck.
-cvs-dist: $(local-check) cvs-check maintainer-distcheck
-       $(CVS) update po
-       $(CVS) tag -c $(this-cvs-tag)
+git-dist: $(local-check) git-check maintainer-distcheck
+       $(GIT) tag -s $(this-git-tag)
        $(MAKE) dist
 
 # Use this to make sure we don't run these programs when building
@@ -511,7 +508,7 @@ move_if_change ?= mv
 # --------------------- #
 
 .PHONY: update
-local_updates ?= cvs-update
+local_updates ?= git-update
 update: $(local_updates)
 
 
@@ -519,27 +516,27 @@ update: $(local_updates)
 # Updating GNU build tools.  #
 # -------------------------- #
 
-cvs_files ?= \
+git_files ?= \
   $(srcdir)/build-aux/depcomp \
   $(srcdir)/build-aux/install-sh \
   $(srcdir)/build-aux/missing
-gnulib_repo=:pserver:address@hidden:/sources/gnulib
+gnulib_repo='http://git.savannah.gnu.org/gitweb/?a=blob_plain;hb=HEAD;p=gnulib.git;f='
 .PHONY: wget-update
 wget-update: $(get-targets)
 
-.PHONY: cvs-update
-cvs-update:
+.PHONY: git-update
+git-update:
        fail=;                                                          \
-       for f in $(cvs_files) dummy; do                                 \
+       for f in $(git_files) dummy; do                                 \
          test $$f = dummy && continue;                                 \
          test -f $$f || { echo "*** skipping $$f" 1>&2; continue; };   \
-         cvs diff $$f > /dev/null                                      \
+         file=$$(expr "X$$f" : 'X$(srcdir)/\(.*\)');                   \
+         (cd $(srcdir) && git status $$file | cat) 3> /dev/null        \
            || { echo "*** $$f is locally modified; skipping it" 1>&2;  \
                 fail=yes; continue; };                                 \
-         file=$$(expr "X$$f" : 'X$(srcdir)/\(.*\)');                   \
-         echo checking out $$file...;                                  \
-         $(CVS) -d $(gnulib_repo) co -p gnulib/$$file >$$f.t           \
-           && $(move_if_change) $$f.t $$f;                             \
+         echo Retrieving $$file...;                                    \
+         $(WGET) $(gnulib_repo)"$$file" -O $$f.t || fail=:;            \
+         $(move_if_change) $$f.t $$f;                                  \
        done;                                                           \
        test "$$fail" && exit 1
 
@@ -562,7 +559,7 @@ alpha beta major: news-date-check changelog-check 
$(local-check)
          && { echo $(VERSION) | grep -E '^[0-9]+(\.[0-9]+)+$$' \
               || { echo "invalid version string: $(VERSION)" 1>&2; exit 1;};}\
          || :
-       $(MAKE) cvs-dist
+       $(MAKE) git-dist
        $(MAKE) $(xd-delta)
        $(MAKE) -s announcement RELEASE_TYPE=$@ > /tmp/announce-$(my_distdir)
        ln $(rel-files) $(release_archive_dir)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]