Files
third_party_gettext/Admin/release-steps
T
Bruno Haible 8f39b38f33 all: Replace more http and ftp URLs by https URLs.
* autogen.sh: Use https: URLs.
* gettext-runtime/doc/nls.texi (Translating Teams, Available Packages): Likewise.
* gettext-tools/doc/gettext.texi: Likewise.
* gettext-tools/doc/FAQ.html: Likewise.
* gettext-tools/doc/tutorial.html: Likewise.
* gettext-tools/misc/gettextize.in: Likewise.
* gettext-tools/projects/GNOME/team-address: Likewise.
* gettext-tools/projects/GNOME/teams.url: Likewise.
* gettext-tools/projects/KDE/team-address: Likewise.
* gettext-tools/projects/KDE/teams.url: Likewise.
* gettext-tools/projects/TP/teams.url: Likewise.
* gettext-tools/src/x-python.c: Likewise.
* gettext-tools/tests/xgettext-its-1: Likewise.
2018-05-05 13:39:22 +02:00

223 lines
6.4 KiB
Plaintext

-*- outline -*-
Here are most of the steps we (maintainers) follow when making a release.
We assume that the following environment variables are set:
GPG_KEY_ID - your gpg key ID
CURRENT_VERSION - the next release version
PREVIOUS_VERSION - the previous release version
* Making a snapshot release
** Update 'gnulib' git submodule:
git submodule foreach git pull origin master
git add gnulib
git commit -m 'Update gnulib'
** Run these commands, in this order:
./autogen.sh
./configure
make
make dist
# To prevent auto-updating '.version' file by GNUmakefile due to
# regenerated PO files, specify Makefile manually.
make -f Makefile distcheck
Then you will get a distribution tarball:
gettext-$CURRENT_VERSION-*.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
* Making an official release
** Create a branch for release
git checkout -b release-$CURRENT_VERSION
** 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/. Copy resulting matrix.texi
into gettext-runtime/doc/, and gettext-runtime/ABOUT-NLS will be
automatically regenerated in the next build process.
- 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.
- gettext-runtime/m4/*.m4
Update version at the first line.
- gettext-runtime/intl/libgnuintl.in.h
Update LIBINTL_VERSION.
- gettext-tools/libgettextpo/gettext-po.in.h
Update LIBGETTEXTPO_VERSION.
- 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
Update po-mode-version-string, if there is any change.
- NEWS
- gettext-runtime/libasprintf/NEWS
- gettext-runtime/NEWS
Add news entries if any.
- djgpp/*
Update to the latest upstream.
** Update autopoint related files:
- gettext-tools/configure.ac
Update ARCHIVE_VERSION.
- gettext-tools/misc/autopoint.in
Update the 'case' statement around line 371 to include the latest release.
** 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.
** Create a release:
git clean -xdff
git checkout .
git commit --allow-empty -m "Release $CURRENT_VERSION"
git tag -u $GPG_KEY_ID $CURRENT_VERSION
./autogen.sh
./configure
make distcheck-hook
make
make dist
(cd gettext-tools/misc
./add-to-archive ../../gettext-$CURRENT_VERSION.tar.gz)
# To prevent auto-updating '.version' file by GNUmakefile due to
# regenerated PO files, specify Makefile manually.
make -f Makefile distcheck
** Upload tarballs:
gnulib/build-aux/gnupload --to ftp.gnu.org:gettext \
gettext-$CURRENT_VERSION.tar.{gz,xz,lz}
** Merge release-$CURRENT_VERSION branch to master and push the changes to the
remote repository:
git checkout master
git merge release-$CURRENT_VERSION
git push origin master
git push origin release-$CURRENT_VERSION
** Upload autopoint archive to alpha.gnu.org:
This is needed to compile git master after the release (as
autogen.sh fetches the archive).
xz gettext-tools/misc/archive.dir.tar
cp gettext-tools/misc/archive.dir.tar.xz archive.dir-$CURRENT_VERSION.tar.xz
gnulib/build-aux/gnupload \
--to alpha.gnu.org:gettext \
--symlink-regex archive.dir-$CURRENT_VERSION.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
cp build-aux/texinfo.tex 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
cp build-aux/texinfo.tex gettext-runtime/libasprintf
(cd gettext-runtime/libasprintf
LC_ALL=C ./gendocs.sh --email bug-gnu-gettext autosprintf "GNU autosprintf")
FIXME: Add a script to automate this process.
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.
** Announce on info-gnu
The announcement template can be generated with:
gnulib/build-aux/announce-gen \
--release-type stable \
--package-name gettext \
--previous-version $PREVIOUS_VERSION \
--current-version $CURRENT_VERSION \
--gpg-key-id $GPG_KEY_ID \
--url-directory https://ftp.gnu.org/gnu/gettext \
--bootstrap-tools=autoconf,automake,libtool,bison,gnulib \
--gnulib-version=$(cd gnulib && git describe)
* Submit a News entry on https://savannah.gnu.org/projects/gettext/