diff options
-rw-r--r-- | Admin/release-steps | 295 |
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 |