gettext/Admin/release-steps
Daiki Ueno 614ff78da5 build: Remove ChangeLogs
Generate ChangeLog files at "make dist" time, using
gitlog-to-changelog.  We still keep ChangeLog files under "po" and
"intl" directories, since those files are copied as part of gettext
infrastructure and it is still meaningful to have them there.
* .gitignore: Add ChangeLog files.
* Admin/release-steps: Remove mention of running update-changelog
script.
* Admin/update-changelog: Remove.
* Makefile.am (gen-ChangeLog): New rule.
* autogen.sh: Copy gitlog-to-changelog from gnulib.  Create empty
ChangeLog files to suppress Automake errors.
* gettext-tools/doc/Makefile.am (EXTRA_DIST): Remove ChangeLog.0.
* gettext-tools/man/Makefile.am (EXTRA_DIST): Remove ChangeLog.0.
* gettext-tools/src/Makefile.am (EXTRA_DIST): Remove ChangeLog.0.
* gettext-tools/tests/Makefile.am (EXTRA_DIST): Remove ChangeLog.0.
* gnulib-local/Makefile.am (EXTRA_DIST): Remove ChangeLog files.
* */ChangeLog: Rename to ChangeLog.0 or ChangeLog.1.
* HACKING: Add brief guideline to submit patches.
2015-10-14 15:00:09 +09:00

185 lines
5.1 KiB
Plaintext

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 add gnulib
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} agree
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
make
(cd gettext-tools/examples/po && make update-po)
make distcheck
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:
gnulib/build-aux/gnupload --to alpha.gnu.org:gettext \
gettext-ss.tar.xz
Notify translators and testers, by sending an email to:
coordinator@translationproject.org
platform-testers@gnu.org
* 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.
* 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/configure.ac
Update ARCHIVE_VERSION
- gettext-tools/misc/autopoint.in
Update the case statement to include the latest release.
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:
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