summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Admin/release-steps295
1 files changed, 177 insertions, 118 deletions
diff --git a/Admin/release-steps b/Admin/release-steps
index e2b5129..1947434 100644
--- a/Admin/release-steps
+++ b/Admin/release-steps
@@ -1,130 +1,189 @@
-Tasks not to forget before release:
-
-- Update ABOUT-NLS and doc/matrix.texi with information from the Translation
- Project, by running run.sh in gettext-runtime/doc/Admin/.
-
-- Update gettext-runtime/intl/locale.alias from glibc's intl/locale.alias.
-- Update gettext-runtime/intl/{localcharset.h,localcharset.c,config.charset}
- from libcharset inside libiconv.
- Check that gnulib/lib/{localcharset.h,localcharset.c,config.charset}
- agrees with it, except for copyright header changes.
-
-- Update Origin version in
- gettext-runtime/po/Makefile.in.in
- if this file has changed since the last release.
-
-- Update the version numbers in
- gettext-runtime/m4/po.m4
- gettext-runtime/po/Makefile.in.in
- gettext-runtime/intl/libgnuintl.in.h
- gettext-tools/libgettextpo/gettext-po.in.h
-
-- Update -version-info arguments in gettext-runtime/intl/Makefile.in
- and in gettext-tools/libgettextpo/Makefile.am.
- * increment LTV_REVISION,
- * if any functions/classes have been added, removed or changed, increment
- LTV_CURRENT and set LTV_REVISION to 0,
- * if any functions/classes have been added, increment LTV_AGE,
- * if backwards compatibility has been broken, set LTV_AGE to 0.
-
-- Bump po-mode-version-string in gettext-tools/misc/po-mode.el.
-
-- Verify that the C files generated from *.y files contain no absolute
- filenames.
-
-- Update djgpp/*.
-
-- Update gettext-tools/examples/*/LINGUAS and the file list in
- gettext-tools/examples/Makefile.am. Also
- "cd gettext-tools/examples/po; make update-po".
-
-- Update
- NEWS
- gettext-runtime/libasprintf/NEWS
- gettext-runtime/NEWS
-
-- Iterate:
- ./rerun-autogen
- ./rerun-configure
+Release procedure
+============================================================================
+* Create a branch for release
+
+ git checkout -b release-0.XX
+
+* Update 'gnulib' git submodule:
+
+ git submodule foreach git pull origin master
+ git commit -m 'Update gnulib'
+
+* Update files:
+
+ - gettext-runtime/ABOUT-NLS
+ - gettext-runtime/doc/matrix.texi
+
+ Update with information from the Translation Project, by running
+ run.sh in gettext-runtime/doc/Admin/.
+
+ - gettext-runtime/intl/locale.alias
+
+ Update with glibc's intl/locale.alias.
+
+ - gettext-runtime/intl/localcharset.h
+ - gettext-runtime/intl/localcharset.c
+ - gettext-runtime/intl/config.charset
+
+ Update with libcharset inside libiconv. Check that
+ gnulib/lib/{localcharset.h,localcharset.c,config.charset} agrees
+ with it, except for copyright header changes.
+
+ - gettext-runtime/po/Makefile.in.in
+
+ Update Origin version, if this file has changed since the last
+ release.
+
+ - gettext-runtime/m4/po.m4
+ - gettext-runtime/po/Makefile.in.in
+ - gettext-runtime/intl/libgnuintl.in.h
+ - gettext-tools/libgettextpo/gettext-po.in.h
+
+ Update the version numbers.
+
+ - gettext-runtime/intl/Makefile.in
+ - gettext-tools/libgettextpo/Makefile.am
+
+ Update -version-info arguments, according to libtool versioning
+ (info "(libtool) Updating version info").
+
+ * increment LTV_REVISION,
+ * if any functions/classes have been added, removed or changed, increment
+ LTV_CURRENT and set LTV_REVISION to 0,
+ * if any functions/classes have been added, increment LTV_AGE,
+ * if backwards compatibility has been broken, set LTV_AGE to 0.
+
+ - gettext-tools/misc/po-mode.el
+
+ Bump po-mode-version-string.
+
+ - NEWS
+ - gettext-runtime/libasprintf/NEWS
+ - gettext-runtime/NEWS
+
+ - djgpp/*
+
+* Run these commands, in this order:
+
+ ./autogen.sh
+ ./configure
make distcheck-hook
- ./rerun-make
+ make
+ (cd gettext-tools/examples/po && make update-po)
make distcheck
- Test tarball on various platforms.
- Put fixes into gettext and gnulib.
- make distclean
- until it builds and installs fine on the said platforms.
-- Commit all the files in gnulib.
+ Then you will get a distribution tarball:
+
+ gettext-0.XX-*.tar.xz
+
+ Rename it e.g. gettext-ss.tar.xz
+
+* Test the snapshot tarball. If it seems good, then upload to
+ alpha.gnu.org:
-- Update git submodules.
- git submodule foreach git pull origin master
+ gnulib/build-aux/gnupload --to alpha.gnu.org:gettext \
+ gettext-ss.tar.xz
-- Add an entry to all the ChangeLogs
- except gettext-tools/examples/hello-c++-kde/admin/ChangeLog.
- Run Admin/update-changelog from the top-level directory.
+ Notify translators and testers, by sending an email to:
-- Update translations from the Translation Project
+ coordinator@translationproject.org
+ platform-testers@gnu.org
- rsync -Lrtvz translationproject.org::tp/latest/gettext-runtime/ \
- gettext-runtime/po
- rsync -Lrtvz translationproject.org::tp/latest/gettext-tools/ \
- gettext-tools/po
- rsync -Lrtvz translationproject.org::tp/latest/gettext-examples/ \
- gettext-tools/examples/po
+* Once you get enough translation updates, update translations:
+
+ rsync -Lrtvz translationproject.org::tp/latest/gettext-runtime/ \
+ gettext-runtime/po
+ rsync -Lrtvz translationproject.org::tp/latest/gettext-tools/ \
+ gettext-tools/po
+ rsync -Lrtvz translationproject.org::tp/latest/gettext-examples/ \
+ gettext-tools/examples/po
Adjust LINGUAS files if any of the languages has been added or
- removed since the last release. Commit the changes. Please do NOT
- commit regenerated PO files after "make dist".
-
-- Tag the repository (don't push it to the remote repository yet).
- git tag -m 'gettext 0.19 release' v0.19
-
-- "make"; "make dist"; "make distcheck"
-- cd gettext-tools/misc
- cp archive.dir.tar.gz-<last-release-number> archive.dir.tar.gz
- ./add-to-archive /somewhere/gettext-0.xx.yy.tar.gz
- Then update the case statement in autopoint.in. Also, update
- required_gettext_version in gettext-tools/tests/autopoint-[23].
-- regenerate POT and PO files with the built tools
- PATH="$PWD/gettext-tools/src:$PWD/gettext-tools/misc:$PATH" \
- gettext_datadir="$PWD/gettext-tools/misc" \
- make maintainer-update-po
-- again: "make dist"
-
-- Upload gettext-0.xx.yy.tar.{gz,xz} to ftp.gnu.org, according to the
- procedure given by Bradley M. Kuhn on 2003-11-11
- http://www.gnu.org/prep/maintain/maintain.html#Automated-Upload-Procedure,
- or using the gnupload script in gnulib.
- gnulib/build-aux/gnupload --to ftp.gnu.org:gettext gettext-0.xx.yy.tar.{gz,xz}
-
-- Upload archive.dir.tar.xz to alpha.gnu.org.
- xz gettext-tools/misc/archive.dir.tar
- cp gettext-tools/misc/archive.dir.tar.xz archive.dir-0.xx.yy.tar.xz
- gnulib/build-aux/gnupload --to alpha.gnu.org:gettext \
- --symlink-regex archive.dir-0.xx.yy.tar.xz
-
-- Push tag to the repository.
- git push --tags
-
-- Update the homepage on www.gnu.org:
+ removed since the last release. Commit the changes.
+
+* Regenerate POT and PO files with the built tools
+
+ PATH="$PWD/gettext-tools/src:$PWD/gettext-tools/misc:$PATH" \
+ gettext_datadir="$PWD/gettext-tools/misc" \
+ make maintainer-update-po
+
+ Note: Do not commit the generated PO files after "make dist".
+
+* Update autopoint related files:
+
+ - gettext-tools/misc/autopoint.in
+
+ Update the case statement to include the latest release.
+
+ - gettext-tools/tests/autopoint-[23]
+
+ Update required_gettext_version.
+
+ and commit the changes.
+
+* Update all ChangeLogs:
+
+ ./Admin/update-changelog
+
+ and commit the changes.
+
+* Create a release:
+
+ git clean -xdff
+ git checkout .
+ git tag -u <gpg-key-id> v0.XX
+ ./autogen.sh
+ ./configure
+ make distcheck-hook
+ make
+ make distcheck
+ (cd gettext-tools/misc
+ ./add-to-archive ../../gettext-0.XX.tar.gz)
+ make
+ make distcheck
+
+* Upload tarballs:
+
+ gnulib/build-aux/gnupload --to ftp.gnu.org:gettext gettext-0.XX.tar.{gz,xz}
+
+* Merge release-0.XX branch to master and push the changes to the
+ remote repository:
+
+ git checkout master
+ git merge release-0.XX
+ git push
+ git push --tags
+
+* Upload autopoint archive to alpha.gnu.org:
+
+ xz gettext-tools/misc/archive.dir.tar
+ cp gettext-tools/misc/archive.dir.tar.xz archive.dir-0.XX.tar.xz
+ gnulib/build-aux/gnupload --to alpha.gnu.org:gettext \
+ --symlink-regex archive.dir-0.XX.tar.xz
+
+* Update the homepage on www.gnu.org:
+
- Bump the version number in gettext.html.
- Update FAQ.html from gettext-tools/doc/FAQ.html.
-- Regenerate the documentation for www.gnu.org:
- - Run the update.sh script, or
- - Do this:
- - In the gettext-tools/doc/ directory, copy the
- gendocs.sh and gendocs_template files and run
- $ cp -p ../../gettext-runtime/doc/*.texi .
- $ LC_ALL=C ./gendocs.sh --email bug-gnu-gettext gettext "GNU gettext"
- - In the gettext-runtime/libasprintf/ directory, copy the
- gendocs.sh and gendocs_template files and run
- $ LC_ALL=C ./gendocs.sh --email bug-gnu-gettext autosprintf "GNU autosprintf"
- Copy the resulting manual/ directories.
- Commit the resulting manual/ directories in CVS, and for every removed HTML
- file (that corresponds to a deleted node) add a line to the .symlinks file
- in the same directory.
-
-- Submit a News entry on https://savannah.gnu.org/projects/gettext/
-
-- Announce on info-gnu
+* Regenerate the documentation for www.gnu.org:
+
+ cp gnulib/build-aux/gendocs.sh gettext-tools/doc
+ cp gnulib/doc/gendocs_template gettext-tools/doc
+ cp -p gettext-runtime/doc/*.texi gettext-tools/doc
+ (cd gettext-tools/doc
+ LC_ALL=C ./gendocs.sh --email bug-gnu-gettext gettext "GNU gettext")
+
+ cp gnulib/build-aux/gendocs.sh gettext-runtime/libasprintf
+ cp gnulib/doc/gendocs_template gettext-runtime/libasprintf
+ (cd gettext-runtime/libasprintf
+ LC_ALL=C ./gendocs.sh --email bug-gnu-gettext autosprintf "GNU autosprintf")
+
+ Copy the resulting manual/ directories. Commit the resulting
+ manual/ directories in CVS, and for every removed HTML file (that
+ corresponds to a deleted node) add a line to the .symlinks file in
+ the same directory.
+
+* Submit a News entry on https://savannah.gnu.org/projects/gettext/
+
+* Announce on info-gnu