mirror of
git://git.savannah.gnu.org/libtool.git
synced 2025-01-12 14:06:37 +08:00
This fixes release procedure problems discovered whilst making
the 1.5.2 release. * Makefile.am (cvs-dist): Because we check whether ChangeLog has been committed, this rule can't be run with uncommitted source so we can't run 'commit' and don't need to run 'make dist' a second time. Fix CVS tag as it should be "release-X" not "Release-X". (cvs_commit): New rule for the cvs-release chain that runs 'commit' (cvs-release): Depend on cvs-commit, depend on deltas instead of cvs-diff and xdelta. (cvs-diff): Removed, replaced with delta-diff. (delta-diff): Unpack and diff the old and new tarballs rather than using CVS, so we get a genuinely complete diff. (xdelta): Removed, replaced with delta-xdelta. (got-xdelta): New rule for improved reading. (delta-xdiff): Copied and cleaned up version of old xdelta rule. (deltas): Depends on delta-diff and delta-xdelta (make deltas). (cvs-news): Don't depend on timestamps, cvs-dist itself does now. (prev-tarball): This is the only place we need a LASTRELEASE check so copy the code here and remove the CHECK_RELEASE variable. (new-tarball): Check there's a new tarball (did cvs-dist work?) (FETCHFILES): Remove obsolete libltdl mentions. * README-alpha: Update CVS instructions as everything's changed on Savannah. (Release procedure): Update NEWS and ChangeLog after changing the version number (both times); Run 'make fetch' after running 'configure' (difficult to do it beforehand); Require 'commit' before 'make cvs-dist' as that checks ChangeLog is committed; 'make deltas' instead of 'cvs-diff' and 'xdelta', pass LASTRELEASE to make instead of OLDVERSION (and it's mandatory); Clean up uploading paragraph; Clearer announcement sending instruction; Removed ftp-upload@gnu.org mail as that's not necessary now; Make web page updating instructions a bit clearer; Add an instruction to update the manual for non-alphas. (Alpha release note template): Add a Subject; update CVS instructions. (Full release note template): Add a Subject; update CVS instructions. * configure.ac: Add dist-bzip2 to AM_INIT_AUTOMAKE as we talk about bz2 files in our release announcements; remove old reference to OLDVERSION.
This commit is contained in:
parent
a702e8a9fb
commit
d608987264
44
ChangeLog
44
ChangeLog
@ -1,3 +1,47 @@
|
||||
2004-01-27 Scott James Remnant <scott@netsplit.com>
|
||||
|
||||
This fixes release procedure problems discovered whilst making
|
||||
the 1.5.2 release.
|
||||
|
||||
* Makefile.am (cvs-dist): Because we check whether ChangeLog
|
||||
has been committed, this rule can't be run with uncommitted
|
||||
source so we can't run 'commit' and don't need to run
|
||||
'make dist' a second time. Fix CVS tag as it should be
|
||||
"release-X" not "Release-X".
|
||||
(cvs_commit): New rule for the cvs-release chain that runs
|
||||
'commit'
|
||||
(cvs-release): Depend on cvs-commit, depend on deltas instead of
|
||||
cvs-diff and xdelta.
|
||||
(cvs-diff): Removed, replaced with delta-diff.
|
||||
(delta-diff): Unpack and diff the old and new tarballs rather
|
||||
than using CVS, so we get a genuinely complete diff.
|
||||
(xdelta): Removed, replaced with delta-xdelta.
|
||||
(got-xdelta): New rule for improved reading.
|
||||
(delta-xdiff): Copied and cleaned up version of old xdelta rule.
|
||||
(deltas): Depends on delta-diff and delta-xdelta (make deltas).
|
||||
(cvs-news): Don't depend on timestamps, cvs-dist itself does now.
|
||||
(prev-tarball): This is the only place we need a LASTRELEASE check
|
||||
so copy the code here and remove the CHECK_RELEASE variable.
|
||||
(new-tarball): Check there's a new tarball (did cvs-dist work?)
|
||||
(FETCHFILES): Remove obsolete libltdl mentions.
|
||||
* README-alpha: Update CVS instructions as everything's changed
|
||||
on Savannah.
|
||||
(Release procedure): Update NEWS and ChangeLog after changing
|
||||
the version number (both times); Run 'make fetch' after running
|
||||
'configure' (difficult to do it beforehand); Require 'commit'
|
||||
before 'make cvs-dist' as that checks ChangeLog is committed;
|
||||
'make deltas' instead of 'cvs-diff' and 'xdelta', pass LASTRELEASE
|
||||
to make instead of OLDVERSION (and it's mandatory); Clean up
|
||||
uploading paragraph; Clearer announcement sending instruction;
|
||||
Removed ftp-upload@gnu.org mail as that's not necessary now;
|
||||
Make web page updating instructions a bit clearer; Add an instruction
|
||||
to update the manual for non-alphas.
|
||||
(Alpha release note template): Add a Subject; update CVS instructions.
|
||||
(Full release note template): Add a Subject; update CVS instructions.
|
||||
* configure.ac: Add dist-bzip2 to AM_INIT_AUTOMAKE as we talk
|
||||
about bz2 files in our release announcements; remove old reference
|
||||
to OLDVERSION.
|
||||
|
||||
2004-01-25 Scott James Remnant <scott@netsplit.com>
|
||||
|
||||
* NEWS: Include 1.5.2 release information.
|
||||
|
104
Makefile.am
104
Makefile.am
@ -87,12 +87,9 @@ install-data-local:
|
||||
## not to anybody else (inspiration from automake/Makefile.am). ##
|
||||
## ---------------------------------------------------------------- ##
|
||||
|
||||
CHECK_LASTRELEASE = if test -z "$(LASTRELEASE)"; \
|
||||
then echo "LASTRELEASE is not set"; exit 1; fi
|
||||
|
||||
.PHONY: cvs-release
|
||||
cvs-release: version-check prev-tarball cvs-news fetch cvs-dist cvs-diff xdelta
|
||||
@$(CHECK_LASTRELEASE); tarname="$(PACKAGE)-$(VERSION).tar.gz"; \
|
||||
cvs-release: version-check prev-tarball cvs-news fetch cvs-commit cvs-dist deltas
|
||||
@tarname="$(PACKAGE)-$(VERSION).tar.gz"; \
|
||||
diffname="$(PACKAGE)-$(LASTRELEASE)-$(VERSION).diff.gz"; \
|
||||
xdeltaname="$(PACKAGE)-$(LASTRELEASE)-$(VERSION).xdelta"; \
|
||||
echo " *** Upload $$tarname, $$tarname.sig,";\
|
||||
@ -115,9 +112,11 @@ version-check:
|
||||
.PHONY: prev-tarball
|
||||
prev-tarball:
|
||||
## Make sure we have the previous release tarball in the tree.
|
||||
@$(CHECK_LASTRELEASE); ofile="$(PACKAGE)-$(LASTRELEASE).tar.gz"; \
|
||||
@if test -z "$(LASTRELEASE)"; \
|
||||
then echo "LASTRELEASE is not set"; exit 1; fi
|
||||
@ofile="$(PACKAGE)-$(LASTRELEASE).tar.gz"; \
|
||||
if test -f $$ofile; then :; \
|
||||
else echo "Cannot make xdelta without $$ofile"; exit 1; fi
|
||||
else echo "Cannot make deltas without $$ofile"; exit 1; fi
|
||||
|
||||
# TSDEPS will be defined to TSDEPS_DIST at `make dist' time
|
||||
TSDEPS =
|
||||
@ -133,7 +132,7 @@ update-timestamps:
|
||||
|
||||
|
||||
.PHONY: cvs-news
|
||||
cvs-news: timestamps
|
||||
cvs-news:
|
||||
## Make sure the NEWS file is up-to-date:
|
||||
@if sed '1,2d;3q' $(srcdir)/NEWS | grep -e "$(VERSION)" >/dev/null; \
|
||||
then :; \
|
||||
@ -151,9 +150,7 @@ WGETSGO = $(WGET) http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~
|
||||
FETCHFILES = \
|
||||
./INSTALL \
|
||||
config/config.guess \
|
||||
libltdl/config.guess \
|
||||
config/config.sub \
|
||||
libltdl/config.sub \
|
||||
config/texinfo.tex
|
||||
|
||||
## Fetch the latest versions of files we care about.
|
||||
@ -186,46 +183,33 @@ fetch:
|
||||
|
||||
GPG = gpg # set it to `:' to avoid gpg operations
|
||||
|
||||
.PHONY: cvs-commit
|
||||
cvs-commit: cvs-news
|
||||
cd $(srcdir) && $(SHELL) ./commit
|
||||
|
||||
.PHONY: cvs-dist
|
||||
cvs-dist: cvs-news
|
||||
cvs-dist: cvs-news timestamps
|
||||
## Build the distribution:
|
||||
$(MAKE) distcheck
|
||||
## Finally, if everything was successful, commit the last changes and tag
|
||||
## the release in the repository:
|
||||
## Finally, if everything was successful, tag the release
|
||||
cd $(srcdir) \
|
||||
&& $(SHELL) ./commit \
|
||||
&& $(CVS) -q tag -c `echo "Release-$(VERSION)" | sed 's/\./-/g'`
|
||||
## We do want the timestamped version numbers from the CVS keywords in
|
||||
## ChangeLog to be correct, so we must rebuild the release tarball after
|
||||
## a successfull commit, and then generate the signatures needed for
|
||||
## FSF ftp-upload:
|
||||
&& $(CVS) -q tag -c `echo "release-$(VERSION)" | sed 's/\./-/g'`
|
||||
## Generate signatures and directives for FSF ftp-upload:
|
||||
ofile="$(PACKAGE)-$(VERSION).tar.gz"; \
|
||||
$(MAKE) dist \
|
||||
&& $(GPG) --detach-sign $$ofile \
|
||||
&& echo "directory: libtool" > $$ofile.directive \
|
||||
&& $(GPG) --clearsign $$ofile.directive \
|
||||
&& rm -f $$ofile.directive
|
||||
$(GPG) --detach-sign $$ofile \
|
||||
&& echo "directory: libtool" > $$ofile.directive \
|
||||
&& $(GPG) --clearsign $$ofile.directive \
|
||||
&& rm -f $$ofile.directive
|
||||
|
||||
.PHONY: cvs-diff
|
||||
cvs-diff:
|
||||
## Figure out which cvs tags we are diffing, and if the diff works we
|
||||
## compress it and then generate the signatures needed for FSF ftp-upload:
|
||||
thisver=`echo "release-$(VERSION)" | sed 's/\./-/g'`; \
|
||||
$(CHECK_LASTRELEASE); \
|
||||
prevver=release-`echo $(LASTRELEASE) | sed 's/\./-/g'`; \
|
||||
ofile="$(PACKAGE)-$(LASTRELEASE)-$(VERSION).diff.gz"; \
|
||||
$(CVS) -f rdiff -c -r $$prevver -r $$thisver $(PACKAGE) \
|
||||
| GZIP=$(GZIP_ENV) gzip -c > $$ofile \
|
||||
&& $(GPG) --detach-sign $$ofile \
|
||||
&& echo "directory: libtool" > $$ofile.directive \
|
||||
&& $(GPG) --clearsign $$ofile.directive \
|
||||
&& rm -f $$ofile.directive
|
||||
.PHONY: new-tarball
|
||||
new-tarball:
|
||||
## Make sure we have the new release tarball in the tree.
|
||||
@ofile="$(PACKAGE)-$(VERSION).tar.gz"; \
|
||||
if test -f $$ofile; then :; \
|
||||
else echo "Cannot make deltas without $$ofile"; exit 1; fi
|
||||
|
||||
XDELTA = xdelta
|
||||
XDELTA_OPTIONS = --pristine -9
|
||||
|
||||
.PHONY: xdelta
|
||||
xdelta: prev-tarball
|
||||
.PHONY: got-xdelta
|
||||
got-xdelta:
|
||||
## Make sure xdelta exists;
|
||||
@if ($(XDELTA) --version 2>&1 | grep version)>/dev/null 2>/dev/null; \
|
||||
then :;\
|
||||
@ -233,10 +217,41 @@ xdelta: prev-tarball
|
||||
echo "Get xdelta from http://sourceforge.net/projects/xdelta."; \
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
.PHONY: deltas
|
||||
deltas: delta-diff delta-xdelta
|
||||
|
||||
DIFF = diff
|
||||
DIFF_OPTIONS = -ruNp
|
||||
|
||||
.PHONY: delta-diff
|
||||
delta-diff: prev-tarball new-tarball
|
||||
## Unpack the tarballs somewhere to diff them
|
||||
rm -rf delta-diff
|
||||
mkdir delta-diff
|
||||
|
||||
ofile="../$(PACKAGE)-$(LASTRELEASE)-$(VERSION).diff.gz"; \
|
||||
cd delta-diff \
|
||||
&& tar xzf "../$(PACKAGE)-$(LASTRELEASE).tar.gz" \
|
||||
&& tar xzf "../$(PACKAGE)-$(VERSION).tar.gz" \
|
||||
&& $(DIFF) $(DIFF_OPTIONS) \
|
||||
$(PACKAGE)-$(LASTRELEASE) $(PACKAGE)-$(VERSION) \
|
||||
| GZIP=$(GZIP_ENV) gzip -c > $$ofile \
|
||||
&& $(GPG) --detach-sign $$ofile \
|
||||
&& echo "directory: libtool" > $$ofile.directive \
|
||||
&& $(GPG) --clearsign $$ofile.directive \
|
||||
&& rm -f $$ofile.directive
|
||||
|
||||
rm -rf delta-diff
|
||||
|
||||
XDELTA = xdelta
|
||||
XDELTA_OPTIONS = --pristine -9
|
||||
|
||||
.PHONY: delta-xdelta
|
||||
delta-xdelta: prev-tarball new-tarball got-xdelta
|
||||
## Generate the delta file (xdelta has wierd exit statuses, so we need to
|
||||
## add some shell code to keep make happy), and then generate the signatures
|
||||
## for FSF ftp-upload:
|
||||
$(CHECK_LASTRELEASE); \
|
||||
ofile="$(PACKAGE)-$(LASTRELEASE)-$(VERSION).xdelta"; \
|
||||
( test -z `$(XDELTA) delta $(XDELTA_OPTIONS) \
|
||||
$(PACKAGE)-$(LASTRELEASE).tar.gz $(PACKAGE)-$(VERSION).tar.gz \
|
||||
@ -246,3 +261,4 @@ xdelta: prev-tarball
|
||||
&& echo "directory: libtool" > $$ofile.directive \
|
||||
&& $(GPG) --clearsign $$ofile.directive \
|
||||
&& rm -f $$ofile.directive
|
||||
|
||||
|
70
README-alpha
70
README-alpha
@ -1,9 +1,8 @@
|
||||
This is an alpha testing release of GNU Libtool. To get the latest
|
||||
CVS version of this package, do:
|
||||
|
||||
cvs -d :pserver:anoncvs@subversions.gnu.org:/home/cvs login
|
||||
[Hit return when prompted for the password]
|
||||
cvs -d :pserver:anoncvs@subversions.gnu.org:/home/cvs checkout libtool
|
||||
export CVS_RSH=ssh
|
||||
cvs -z3 -d :ext:anoncvs@savannah.gnu.org:/cvsroot/libtool co libtool
|
||||
cd libtool
|
||||
./bootstrap
|
||||
|
||||
@ -83,56 +82,63 @@ using (by typing `libtool --version').
|
||||
keys will be registered on ftp-upload.gnu.org and only then will you be
|
||||
authorized to upload files to the FSF ftp machines.
|
||||
|
||||
* Update NEWS, ChangeLog.
|
||||
|
||||
* Update the version number in configure.ac.
|
||||
See http://www.gnu.org/software/libtool/contribute.html for details of
|
||||
the numbering scheme.
|
||||
|
||||
* Update NEWS, ChangeLog.
|
||||
|
||||
* Run ./bootstrap.
|
||||
|
||||
* Run ./configure and then make.
|
||||
|
||||
* Run `make fetch', which will fetch new versions of the files that are
|
||||
maintained outside of libtool.
|
||||
|
||||
* Run ./configure and then make.
|
||||
* Run ./commit.
|
||||
|
||||
* Run `make cvs-dist' which will build a release tarball (with `make
|
||||
distcheck'), commit the last NEWS, ChangeLog and configure.ac changes,
|
||||
tag the tree with release-$(VERSION), and generate gpg signature files.
|
||||
|
||||
* Run `make cvs-diff' which will create a diff file against the previous
|
||||
release tag (set OLDVERSION=min.maj[.mic[alpha]] in the environment
|
||||
beforehand if necessary), and generate gpg signature files.
|
||||
distcheck'), tag the tree with release-$(VERSION) and generate the
|
||||
gpg signature files.
|
||||
|
||||
* Make sure you have a copy of xdelta installed, and a copy of the previous
|
||||
release tarball in the build directory, then run `make xdelta', which will
|
||||
create an xdelta file between this and the previous release tarballs (set
|
||||
OLDVERSION=min.maj[.mic[alpha]] in the environment beforehand if necessary),
|
||||
and generate gpg signature files.
|
||||
release tarball in the build directory.
|
||||
|
||||
* Run 'make deltas' (pass LASTRELEASE=min.maj[.mic[alpha]] if needed) to
|
||||
create both diff and xdelta files between the previous release tarball
|
||||
and the new with detached gpg signature files and clear signed directive
|
||||
files.
|
||||
|
||||
* Upload release tarball, diff file and xdelta file, plus their associated
|
||||
detached gpg signature files and clear signed directive files to
|
||||
ftp-upload.gnu.org. If the upload is destined for ftp.gnu.org, then the
|
||||
ftp-upload.gnu.org. If the upload is destined for ftp.gnu.org, then the
|
||||
files should be placed in the /incoming/ftp directory. If the upload is
|
||||
an alpha release destined for alpha.gnu.org, then the files should be
|
||||
placed in the /incoming/alpha directory.incoming/ftp/gnu/libtool. Then send
|
||||
announcement to libtool@gnu.org and autotools-announce@gnu.org.
|
||||
placed in the /incoming/alpha directory.
|
||||
|
||||
* If not an alpha, announcement must also go to info-gnu@gnu.org, and an
|
||||
upload request be sent to ftp-upload@gnu.org requesting files be transferred
|
||||
from ftp://alpha.gnu.org/gnu/libtool to ftp://ftp.gnu.org/gnu/libtool.
|
||||
* Send announcement to libtool@gnu.org and autotools-announce@gnu.org,
|
||||
if not an alpha send to info-gnu@gnu.org as well.
|
||||
|
||||
* Update version number in configure.ac to next alpha number.
|
||||
See http://www.gnu.org/software/libtool/contribute.html for details of
|
||||
the numbering scheme.
|
||||
|
||||
* Commit.
|
||||
* Update NEWS, ChangeLog.
|
||||
|
||||
* Update the front libtool webpage to indicate the latest release
|
||||
number, and the news page to reflect the latest release note.
|
||||
* Run ./commit.
|
||||
|
||||
* Update the webpages, libtool.html will need to indicate the latest
|
||||
release number and the news page should get a HTMLified copy of your
|
||||
release announcement.
|
||||
|
||||
* If not an alpha, replace manual.html with the new one
|
||||
(generate with cd doc && texi2html libtool.texi)
|
||||
|
||||
================================================================
|
||||
= Alpha release note template
|
||||
|
||||
To: libtool@gnu.org, autotools-announce@gnu.org
|
||||
Subject: GNU Libtool @VERSION@ released (alpha release).
|
||||
|
||||
The Libtool Team is pleased to announce alpha release @VERSION@ of GNU
|
||||
Libtool.
|
||||
@ -177,12 +183,10 @@ but is useable with @COMPATIBLE_AUTOTOOL_VERSIONS@ in your own
|
||||
projects.
|
||||
|
||||
Alternatively, you can fetch the unbootstrapped sourcecode from
|
||||
anonymous cvs by using the following commands (just hit return when
|
||||
you are prompted for the password):
|
||||
anonymous cvs by using the following commands:
|
||||
|
||||
$ cvs -z3 -d :pserver:anoncvs@subversions.gnu.org:/cvsroot/libtool login
|
||||
Password:
|
||||
$ cvs -z3 -d :pserver:anoncvs@subversions.gnu.org:/cvsroot/libtool \
|
||||
$ export CVS_RSH=ssh
|
||||
$ cvs -z3 -d :ext:anoncvs@savannah.gnu.org:/cvsroot/libtool \
|
||||
co -r @CVS_RELEASE_TAG@ libtool
|
||||
|
||||
You will then need to have recent (possibly as yet unreleased) versions
|
||||
@ -200,6 +204,7 @@ Please report bugs to <bug-libtool@gnu.org>.
|
||||
|
||||
To: info-gnu@gnu.org
|
||||
Cc: libtool@gnu.org, autotools-announce@gnu.org
|
||||
Subject: GNU Libtool @VERSION@ released.
|
||||
|
||||
The Libtool Team is pleased to announce the release of GNU Libtool
|
||||
@VERSION@.
|
||||
@ -258,9 +263,8 @@ Alternatively, you can fetch the unbootstrapped sourcecode from
|
||||
anonymous cvs by using the following commands (just hit return when
|
||||
you are prompted for the password):
|
||||
|
||||
$ cvs -z3 -d :pserver:anoncvs@subversions.gnu.org:/cvsroot/libtool login
|
||||
Password:
|
||||
$ cvs -z3 -d :pserver:anoncvs@subversions.gnu.org:/cvsroot/libtool \
|
||||
$ export CVS_RSH=ssh
|
||||
$ cvs -z3 -d :ext:anoncvs@savannah.gnu.org:/cvsroot/libtool \
|
||||
co -r @CVS_RELEASE_TAG@ libtool
|
||||
|
||||
You will then need to have the latest release versions of Automake
|
||||
|
@ -58,7 +58,7 @@ test "$LT_MICRO" = "AC_PACKAGE_VERSION" && LT_MICRO=""
|
||||
|
||||
# Then we try to work out what the release before this one would have been
|
||||
# numbered. The only time we come unstuck is when this is the first release
|
||||
# from a stable branch (LT_MICRO=LT_ALPHA=""), so OLDVERSION is the last
|
||||
# from a stable branch (LT_MICRO=LT_ALPHA=""), so LASTRELEASE is the last
|
||||
# release from the old stable branch, and we don't know what version that
|
||||
# was, so leave it unset so that the Makefile can complain.
|
||||
case $LT_ALPHA in
|
||||
@ -110,7 +110,7 @@ AC_SUBST([TIMESTAMP])
|
||||
|
||||
dnl These are bootstrap requirements, once built, libtool may work with
|
||||
dnl much older releases of autoconf and automake. See release notes.
|
||||
AM_INIT_AUTOMAKE([1.8 gnits]) ## We use auto-m4_including
|
||||
AM_INIT_AUTOMAKE([1.8 gnits dist-bzip2]) ## We use auto-m4_including
|
||||
|
||||
|
||||
## ------------------------------- ##
|
||||
|
Loading…
Reference in New Issue
Block a user