stow/doc/HOWTO-RELEASE

103 lines
2.7 KiB
Text
Raw Normal View History

2011-11-26 13:15:26 -05:00
How to make a new release of GNU Stow
=====================================
Prerequisite reading
--------------------
First read the official information for maintainers of GNU software:
2015-11-09 06:05:00 -05:00
https://www.gnu.org/prep/maintain/
Release procedure
-----------------
- Ensure NEWS contains the latest changes, and that any new
contributors have been added to THANKS.
2011-11-26 13:15:26 -05:00
2015-11-09 06:05:00 -05:00
- Ensure configure.ac contains the new version number.
This should follow Semantic Versioning as described at:
2015-11-09 05:13:34 -05:00
2015-11-09 06:05:00 -05:00
http://semver.org/
2011-11-26 13:15:26 -05:00
2015-11-09 06:05:00 -05:00
- Check CPAN distribution will work via Module::Build:
2011-11-26 13:15:26 -05:00
2015-11-09 06:05:00 -05:00
- Generate stow, chkstow, and lib/Stow.pm via:
2015-11-09 06:05:00 -05:00
eval `perl -V:siteprefix`
automake --add-missing
./configure --prefix=$siteprefix && make
2015-11-09 06:05:00 -05:00
(N.B. the CPAN distribution will contain these files, whereas
the GNU distribution will not.)
2015-11-09 06:05:00 -05:00
- Make sure all the following commands all run successfully:
2015-11-09 06:05:00 -05:00
perl Build.PL --prefix=/tmp/stow-test
./Build test
./Build install
./Build distcheck
./Build distmeta
2015-11-09 06:05:00 -05:00
- Check META.yaml and META.json have the new version number.
2011-11-26 13:15:26 -05:00
2015-11-09 06:05:00 -05:00
- Ensure all changes are committed to git.
2011-11-26 13:15:26 -05:00
2015-11-09 06:05:00 -05:00
- Run make distcheck and ensure that everything looks good.
It should generate the distribution files for you.
2011-11-26 13:15:26 -05:00
2015-11-09 06:05:00 -05:00
- Tag the current git HEAD with the new version number:
2011-11-26 13:15:26 -05:00
2015-11-09 06:05:00 -05:00
git tag -s v7.8.9
2011-11-26 13:15:26 -05:00
2015-11-09 06:05:00 -05:00
- Push HEAD and tag to savannah
2015-11-09 06:05:00 -05:00
git push
git push --tags
2015-11-09 06:05:00 -05:00
- Regenerate the documentation for the website:
2015-11-09 06:05:00 -05:00
# First check out gnulib repository via:
# git clone git://git.savannah.gnu.org/gnulib.git
2015-11-09 06:05:00 -05:00
# and stow-web CVS repository via the instructions here:
# https://savannah.gnu.org/cvs/?group=stow
2015-11-09 06:05:00 -05:00
# Set paths:
stow_repo=/path/to/stow/git/repo
stow_web_repo=/path/to/stow-web/CVS/working/dir
gnulib_repo=/path/to/gnulib/git/repo
2015-11-09 06:05:00 -05:00
cd $stow_repo
export GENDOCS_TEMPLATE_DIR=$gnulib_repo/doc
$gnulib_repo/util/gendocs.sh \
-s doc/stow.texi \
-o $stow_web_repo/manual \
--email bug-stow@gnu.org \
stow "GNU Stow manual"
2015-11-09 06:05:00 -05:00
cd $stow_web_repo
# Check that the changes look OK
cvs diff
# Then commit
cvs commit -m 'Update manual to v7.8.9'
2015-11-09 06:05:00 -05:00
- Run ./Build dist
2015-11-09 06:05:00 -05:00
- Upload the resulting Stow-v7.8.9.tar.gz to CPAN via https://pause.perl.org/
2015-11-09 06:05:00 -05:00
- Upload to ftp.gnu.org. This is easiest using gnupload:
2011-11-26 13:15:26 -05:00
2015-11-09 06:05:00 -05:00
- git clone git://git.savannah.gnu.org/gnulib.git
- Copy gnulib/build-aux/gnupload to somewhere on your $PATH
- Run gnupload --to ftp.gnu.org:stow --symlink-regex stow-7.8.9.tar.*
2011-11-26 13:15:26 -05:00
2015-11-09 06:05:00 -05:00
- Send release announcements to
2011-11-26 13:15:26 -05:00
2015-11-09 06:05:00 -05:00
- info-stow@gnu.org
- stow-devel@gnu.org
- info-gnu@gnu.org
- https://savannah.gnu.org/news/?group=stow
2011-11-26 13:15:26 -05:00
2015-11-09 06:05:00 -05:00
See http://www.gnu.org/prep/maintain/html_node/Announcements.html for
more on making release announcements.