[cairo-commit] 6 commits - configure.in .gitignore INSTALL Makefile.am RELEASING

Behdad Esfahbod behdad at kemper.freedesktop.org
Wed Mar 15 12:31:27 PST 2006


 .gitignore   |    1 +
 INSTALL      |    2 +-
 Makefile.am  |   47 ++++++++++++++++++++++++++++++++++++++++++++---
 RELEASING    |   26 ++++++++++++++------------
 configure.in |    2 +-
 5 files changed, 61 insertions(+), 17 deletions(-)

New commits:
diff-tree 0623f8a7d1452c27892f938fe28e6e173e67e136 (from parents)
Merge: 26b06b3638ec768da01839cfa3c75e9807b14ee8 a7f58f886253f4ae66c9b0ed4472f575eaf2ec1d
Author: Behdad Esfahbod <behdad at home.(none)>
Date:   Wed Mar 15 15:25:59 2006 -0500

    Merge branch 'master' of git+ssh://git.cairographics.org/git/cairo

diff-tree 26b06b3638ec768da01839cfa3c75e9807b14ee8 (from f5013b6dc6442493ea38949fdcc137e5c44b6872)
Author: Behdad Esfahbod <behdad at home.(none)>
Date:   Wed Mar 15 15:17:26 2006 -0500

    Clarify that git tag -s does GPG signing.
    (cherry picked from e94251861565ed154e15ca3a7198ffe3828536fe commit)

diff --git a/RELEASING b/RELEASING
index 8020404..49dd82c 100644
--- a/RELEASING
+++ b/RELEASING
@@ -68,8 +68,13 @@ Here are the steps to follow to create a
 	* scp the three files to appear on http://cairographics.org/releases
 	* Place local copies of the three files in the releases directory
 	* Create a LATEST-package-version file (after deleting any old one)
-	* Tag the entire source tree with a tag of the form X.Y.Z
+	* Tag the entire source tree with a tag of the form X.Y.Z, and sign
+	  the tag with your GPG key (asks for your GPG password, and you
+	  may need to set GIT_COMMITTER_NAME and GIT_COMMITTER_EMAIL to match
+	  your public-key's setting or this fails.)
 	* Provide some text for the release announcement (see below).
+	  If for some reason you lost this message, "make release-publish-message"
+	  prints it for you.
 
 7) Increment cairo_version_micro to the next larger (odd) number in
    configure, and commit.
diff-tree f5013b6dc6442493ea38949fdcc137e5c44b6872 (from 46e5ed66d3329f1608950d817e7248c91087893a)
Author: Behdad Esfahbod <behdad at home.(none)>
Date:   Wed Mar 15 14:19:08 2006 -0500

    Add a release-publish-message target to only get the message.
    (cherry picked from 98facc6c2d0f57f05de7b98c2aaa592c895d1a09 commit)

diff --git a/Makefile.am b/Makefile.am
index 47bedef..165f9c3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -145,7 +145,7 @@ release-upload: release-check $(tar_file
 	ssh $(RELEASE_UPLOAD_HOST) "rm -f $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-[0-9]* && ln -s $(tar_file) $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-$(VERSION)"
 	git tag -s $(CAIRO_VERSION_MAJOR).$(CAIRO_VERSION_MINOR).$(CAIRO_VERSION_MICRO)
 
-release-publish: release-upload releases/$(sha1_file)
+release-publish-message: releases/$(sha1_file)
 	@echo ""
 	@echo "Please send an announcement to $(RELEASE_ANNOUNCE_LIST)"
 	@echo "including the following:"
@@ -172,6 +172,8 @@ release-publish: release-upload releases
 	@echo "Last but not least, do not forget to bump up the micro"
 	@echo "version component to the next (odd) number and commit."
 
+release-publish: release-upload release-publish-message
+
 # XXX: Depending on all here is rather overkill. We don't really need
 # the library built in order to create the documentation.
 docs-publish: all
diff-tree 46e5ed66d3329f1608950d817e7248c91087893a (from f00a1833341699135e792e3a77e19dca0d1dba86)
Author: Behdad Esfahbod <behdad at home.(none)>
Date:   Wed Mar 15 11:25:02 2006 -0500

    Note using "git diff" instead of "git status" as the latter is a bit tricky when it says nothing to commit...
    (cherry picked from a1621eadb655806de8bb47c2e701de6eaa9d2090 commit)

diff --git a/RELEASING b/RELEASING
index bf7317b..8020404 100644
--- a/RELEASING
+++ b/RELEASING
@@ -1,7 +1,7 @@
 Here are the steps to follow to create a new cairo release:
 
 1) Ensure that there are no local, uncommitted modifications.
-   It's probably good enough if "git status" says so.
+   It's probably good enough if "git diff" doesn't output anything.
 
 2) Verify that the code passes "make distcheck"
 
diff-tree f00a1833341699135e792e3a77e19dca0d1dba86 (from 037732cac9ff402e51d80d6ed54cc32d669aa0d9)
Author: Behdad Esfahbod <behdad at home.(none)>
Date:   Wed Mar 15 11:18:40 2006 -0500

    Update release infra to reflect git transition.
    (cherry picked from 508b0be5f2023dabe9561f4ca62481d6a4c8c5ae commit)

diff --git a/INSTALL b/INSTALL
index 4a49f00..ab82781 100644
--- a/INSTALL
+++ b/INSTALL
@@ -16,7 +16,7 @@ This final step may require temporary ro
 you don't have write permission to the directory in which cairo will
 be installed.
 
-NOTE: If you are working with source from CVS rather than from a tar
+NOTE: If you are working with source from git/cvs rather than from a tar
 file, then you should use ./autogen.sh in place of ./configure
 anywhere it is mentioned in these instructions.
 
diff --git a/Makefile.am b/Makefile.am
index 1b209da..47bedef 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -121,7 +121,7 @@ release-verify-newer:
 	@echo -n "Checking that no $(VERSION) release already exists..."
 	@ssh $(RELEASE_UPLOAD_HOST) test ! -e $(RELEASE_UPLOAD_DIR)/$(tar_file) \
 		|| (echo "Ouch." && echo "Found: $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR)/$(tar_file)" \
-		&& echo "Are you sure you have an updated CVS checkout?" \
+		&& echo "Are you sure you have an updated checkout?" \
 		&& echo "This should never happen." \
 		&& false)
 	@echo "Good."
@@ -143,7 +143,7 @@ release-upload: release-check $(tar_file
 	scp $(tar_file) $(sha1_file) $(gpg_file) $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR)
 	mv $(tar_file) $(sha1_file) $(gpg_file) releases
 	ssh $(RELEASE_UPLOAD_HOST) "rm -f $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-[0-9]* && ln -s $(tar_file) $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-$(VERSION)"
-	$(CVS) tag RELEASE_$(CAIRO_VERSION_MAJOR)_$(CAIRO_VERSION_MINOR)_$(CAIRO_VERSION_MICRO)
+	git tag -s $(CAIRO_VERSION_MAJOR).$(CAIRO_VERSION_MINOR).$(CAIRO_VERSION_MICRO)
 
 release-publish: release-upload releases/$(sha1_file)
 	@echo ""
diff --git a/RELEASING b/RELEASING
index df87e38..bf7317b 100644
--- a/RELEASING
+++ b/RELEASING
@@ -1,12 +1,7 @@
 Here are the steps to follow to create a new cairo release:
 
-1) Ensure that there are no local, uncommitted modifications. The best
-   thing to do here may be to begin with a fresh checkout from CVS:
-
-	cvs -d cairographics.org:/cvs/cairo co cairo
-
-   But it's probably good enough if "cvs -q update -Ad" generates no
-   output.
+1) Ensure that there are no local, uncommitted modifications.
+   It's probably good enough if "git status" says so.
 
 2) Verify that the code passes "make distcheck"
 
@@ -32,7 +27,10 @@ Here are the steps to follow to create a
 	previous release tag:
 
 		find src/ -name '*.h' -not -name '*-private.h' -not -name 'cairoint.h' | \
-		xargs cvs diff -r RELEASE_X_Y_Z
+		xargs git diff X.Y.Z --
+	
+	Note that for older releases made under CVS, the tag name is
+	RELEASE_X_Y_Z instead.
 
 4) Increment cairo_version_{minor|micro} and LT_{CURRENT|VERSION|AGE}
    in configure.in:
@@ -55,9 +53,8 @@ Here are the steps to follow to create a
 
 5) Commit the changes to NEWS and configure.in
 
-	Don't forget to fill out the ChangeLog just like with any
-	other commit. It's especially important to mention the new
-	version number in the ChangeLog.
+	It's especially important to mention the new version number in your
+	commit log.
 
 6) Run "make release-publish" which will perform the following steps
    for you:
@@ -71,7 +68,7 @@ Here are the steps to follow to create a
 	* scp the three files to appear on http://cairographics.org/releases
 	* Place local copies of the three files in the releases directory
 	* Create a LATEST-package-version file (after deleting any old one)
-	* Tag the entire source tree with a tag of the form RELEASE_X_Y_Z
+	* Tag the entire source tree with a tag of the form X.Y.Z
 	* Provide some text for the release announcement (see below).
 
 7) Increment cairo_version_micro to the next larger (odd) number in
diff --git a/configure.in b/configure.in
index b957ada..44783bd 100644
--- a/configure.in
+++ b/configure.in
@@ -1,7 +1,7 @@
 AC_PREREQ(2.54)
 
 # cairo package version number, (as distinct from shared library version)
-# An odd micro number indicates in-progress development, (eg. from CVS)
+# An odd micro number indicates in-progress development, (eg. from git/cvs)
 # An even micro number indicates a released version.
 m4_define(cairo_version_major, 1)
 m4_define(cairo_version_minor, 1)
diff-tree 037732cac9ff402e51d80d6ed54cc32d669aa0d9 (from 2af29f720faac0a9ee3961a81b81acae9a716220)
Author: Behdad Esfahbod <behdad at home.(none)>
Date:   Wed Mar 15 10:59:59 2006 -0500

    Add make bits to autogenerate ChangeLog
    (cherry picked from 393000021c2e082d4b3c235939009a90035b0daf commit)

diff --git a/.gitignore b/.gitignore
index aaa9f03..ebcd093 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+ChangeLog
 Makefile
 Makefile.in
 aclocal.m4
diff --git a/Makefile.am b/Makefile.am
index ab5ca24..1b209da 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -11,6 +11,21 @@ EXTRA_DIST = \
 	COPYING-LGPL-2.1 \
 	COPYING-MPL-1.1 \
 	cairo.pc.in
+MAINTAINERCLEANFILES = \
+	$(srcdir)/INSTALL \
+	$(srcdir)/aclocal.m4 \
+	$(srcdir)/autoscan.log \
+	$(srcdir)/compile \
+	$(srcdir)/config.guess \
+	$(srcdir)/config.h.in \
+	$(srcdir)/config.sub \
+	$(srcdir)/configure.scan \
+	$(srcdir)/depcomp \
+	$(srcdir)/install-sh \
+	$(srcdir)/ltmain.sh \
+	$(srcdir)/missing \
+	$(srcdir)/mkinstalldirs \
+	`find "$(srcdir)" -type f -name Makefile.in -print`
 
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = cairo.pc
@@ -20,6 +35,30 @@ check-valgrind: all
 
 DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
 
+# Creating ChangeLog from git log:
+
+MAINTAINERCLEANFILES += ChangeLog
+
+EXTRA_DIST += ChangeLog
+
+ChangeLog: $(srcdir)/ChangeLog
+
+$(srcdir)/ChangeLog:
+	@if test -d "$(srcdir)/.git"; then \
+	  (cd "$(srcdir)" && \
+	  ./missing --run git-log) | fmt --split-only > $@.tmp \
+	  && mv -f $@.tmp $@ \
+	  || ($(RM) $@.tmp; \
+	      echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \
+	      (test -f $@ || echo git-log is required to generate this file >> $@)); \
+	else \
+	  test -f $@ || \
+	  (echo A git checkout and git-log is required to generate ChangeLog >&2 && \
+	  echo A git checkout and git-log is required to generate this file >> $@); \
+	fi
+
+.PHONY: ChangeLog $(srcdir)/ChangeLog
+
 # Some custom targets to make it easier to release things.
 # Use either:
 #		make release-check


More information about the cairo-commit mailing list