doc: updated ReleaseChecklist.txt to include .pc file versioning
[barry.git] / doc / ReleaseChecklist.txt
blob5328919ac339793982bb295a728bc9a488670939
1 Barry Release Checklist:
2 ------------------------
3 - bump version numbers in
4         Source locations:
5                 - configure.ac (2 places)
6                 - gui/configure.ac
7                 - opensync-plugin/configure.ac
8                 - opensync-plugin-0.4x/configure.ac
9                 - desktop/configure.ac (2 places)
10                 - libbarry*.pc.in (renamed for major version... also, requires
11                         version changes inside those .pc files, in the
12                         Requires: field)
13                         - if renamed, update following:
14                                 - Makefile.am (root dir)
15                                 - all configure.ac files
17         Documentation:
18                 - doc/www/index.php
19                 - Doxyfile
21         Binary packaging:
22                 - rpm/barry.spec
24                 - debian/changelog
25                 - debian/control (major version only)
26                 - debian/libbarry*.* (files need to be renamed)
27                 - debian/rules (the barry18 includedir)
29                 - opensync-plugin/debian/changelog
30                 - opensync-plugin/debian/control (libbarry-dev)
32                 - opensync-plugin-0.4x/debian/changelog
33                 - opensync-plugin-0.4x/debian/control (libbarry-dev)
35         Languages:
36                 - files under po/
37 - test ABI / API and bump major or minor version as appropriate
38 - run all tests on a clean git tree, including build test script
39 - write release notes, including contributors, known issues, new
40         features and bugs fixed
41         - include mention of distros that support Barry:
42                 (see AUTHORS file for distro list)
43         - include description at the top of what Barry is
44 - web docs:
45         - bump version number and release date on index.php
46         - update known issues list
47         - check that all external links work, and point to proper content
48         - upload latest web docs to netdirect project page
49                 - run: ./static.sh netdirect
50         - upload latest doxygen docs to netdirect project page
51 - update root README file
52 - snip this version's git shortlog history into its own file
53 - sign-tag git repo with latest version
54 - no need to run maintainer/tagged-release.sh since you're maintainer now
55 - manually push git tags to repo.or.cz and sourceforge.net
56 - upload packages to SourceForge
57         ssh -x -a -2 -t USER,PROJECT@shell.sourceforge.net create
58            then use sf-help for details
59         MAKE SURE that the tar source files are under
60                 /files/barry/barry-{version}/barry_{version}.tar.gz,
61                 so that debian/watch remains accurate
62         - Ubuntu: 7.10, 8.04, 9.04
63         - Fedora: 7, 8, 9, 11
64         - Debian: stable (lenny)
65         - openSUSE: ?
66 - upload binary packaging metadata to download.barry.netdirect.ca
67         under a versioned directory (barry-0.18.0/) and update the
68         barry-latest symlink
69         - remember to run make-redirect.sh for both the new release
70                 and barry-latest
71         - add the new release to .htaccess, and replace barry-latest
72                 redirect links with the new ones
73         - make backup of new htaccess
74 - send announcement to devel and announce mailing list, including:
75         - release notes
76         - shortlog
77         - URLs to sourceforge and OpenSUSE Build Service binary packages
78         - URL to netdirect doc page
79 - submit tracker news item at SourceForge
80 - update Freshmeat entry
81 - update Sourceforge screenshots / icons if applicable
82 - send identi.ca/cdfrey and blog notices
83 - update source project, bumping revision numbers in source code
86 A note on the tags in Barry's git repository:
87 ---------------------------------------------
88 Each release will now have at least 3 tags.  For example, if releasing
89 version 0.14, the tags will be:
91         barry-0.14              Tag on master branch, signifying the
92                                 development point that the release occured
93         barry-0.14.tar.bz2      Contains the exact contents of the
94                                 full tar.bz2 release tarball.  If you
95                                 look far enough in the history logs, you will
96                                 find the barry-0.14 tag.
97         barry_0.14.orig.tar.gz  Contains the exact contents of the debian
98                                 source package tarball.  Again, barry-0.14
99                                 will be in this tag's history.
101 Basically, the first tag contains only the source code, and no generated
102 files.  The second tag (tar.bz2) contains the source code and all
103 generated files.  And the third tag (orig) contains all of tar.bz2
104 *except* the debian/ directory.  They are arranged so all history
105 merges back into the main non-generated source development tree.