doc: added notes for building debian source packages
[barry.git] / doc / ReleaseChecklist.txt
blob4c771325b2ae83c4e3fa71645d1ec3245d962fd0
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
20                 - update root README file as necessary
22         Binary packaging:
23                 - rpm/barry.spec
25                 - debian/changelog
26                 - debian/control (major version only)
27                 - debian/libbarry*.* (files need to be renamed)
28                 - debian/rules (the barry18 includedir)
29                 - debian/*.lintian-overrides (major version only)
31                 - opensync-plugin/debian/changelog
32                 - opensync-plugin/debian/control (libbarry-dev)
34                 - opensync-plugin-0.4x/debian/changelog
35                 - opensync-plugin-0.4x/debian/control (libbarry-dev)
37         Languages:
38                 - files under:
39                         po/
40                         gui/po/
41                         desktop/po/
42                         desktop/po-osyncwrap/
43                         opensync-plugin/po/
44                         opensync-plugin-0.4x/po/
46         Misc:
47                 - android/jni/barry/config.h (multiple version strings)
48                 - wince/.../config.h
49                 - test/nightly.sh
51 - Building Debian package:
52         - use existing orig tarball if possible
53         - git archive --prefix=barry-0.18.3/ v0.18.3-7 > something.tar
54         - cd empty_work_dir
55         - tar xvf something.tar
56         - cp orig.tar.gz .
57         - dpkg-source -b barry-0.18.3
58         - test build:
59                 - dpkg-source -x *dsc
60                 - cd barry-*
61                 - dpkg-buildpackage -b
62                 - run lintian (see below)
63         - debsign -kB6C2250E barry_0.18.3-7.dsc
64 - tests in following order:
65         - run 'make update-po' periodically in each po directory to
66                 update translation work
67         - test ABI / API and bump major or minor version as appropriate
68         - run tests under test/
69         - starting from a fresh sid base, test build-deps, build debian
70                 packages, and run sid lintian (only sid, since overrides
71                 in Barry are specific to sid):
72                 lintian --info --display-info --pedantic --color auto \
73                         *.changes *.deb *.dsc
74         - double check hardening on sid:
75                 hardening-check tmp/usr/bin/barrydesktop
76                 hardening-check tmp/usr/lib/libbarry.so.18
77                 - between both, should show all options enabled
78         - run binary-meta release build test (remember that chroot builds
79                 need a password, so run them first if running a batch)
80 - write release notes, including contributors, known issues, new
81         features and bugs fixed
82         - include mention of distros that support Barry:
83                 (see AUTHORS file for distro list)
84         - include description at the top of what Barry is
85 - web docs:
86         - update known issues list
87         - check that all external links work, and point to proper content
88         - upload latest web docs to netdirect project page
89                 - run: ./static.sh netdirect
90         - upload latest doxygen docs to netdirect project page
91 - snip this version's git shortlog history into its own file
92 - sign-tag Barry git repo and binary-meta git repo with latest version
93 - no need to run maintainer/tagged-release.sh since you're maintainer now
94 - manually push git tags to repo.or.cz and sourceforge.net
95 - create binary-meta tree under dists/, and debian source packages and tarballs,
96         including binary-meta tarball, under sources/
97         ./make-apt.sh bmbuild
98         ./make-yum.sh bmbuild
99         ./make-slimdist.sh bmbuild
100 - upload above tree to SourceForge
101         ssh -x -a -2 -t USER,PROJECT@shell.sourceforge.net create
102            then use sf-help for details
103         MAKE SURE that the tar source files are under
104                 /files/barry/barry-{version}/barry_{version}.tar.gz,
105                 so that debian/watch remains accurate
106 - upload binary packaging metadata to download.barry.netdirect.ca
107         under a versioned directory (eg. barry-0.18.0/) and update the
108         barry-latest symlink
109         - remember to run make-redirect.sh for both the new release dir
110                 and barry-latest symlink
111                 For example:
112                 ./make-redirect.sh bmbuild /barry-0.18.3 http://sourceforge.net/projects/barry/files/barry/barry-0.18.3/bmbuild
113                 ./make-redirect.sh bmbuild /barry-latest http://sourceforge.net/projects/barry/files/barry/barry-0.18.3/bmbuild
114         - add the new release to .htaccess, and replace barry-latest
115                 redirect links with the new ones
116         - make backup of new htaccess in your local release directory
117 - send announcement to devel and announce mailing list, including:
118         - release notes
119         - shortlog
120         - URLs to sourceforge and OpenSUSE Build Service binary packages
121         - URL to netdirect doc page
122         - send email notice to intrigeri including:
123                 - name of upstream tag (i.e. barry-0.18.3-2)
124                 - example of upstream diff
125                         git log -p barry-0.18.3..barry-0.18.3-2
126                 - release URL directly to the .dsc file
127 - submit tracker news item at SourceForge
128 - update Freshmeat entry
129 - update Sourceforge screenshots / icons if applicable
130 - update source project, bumping revision numbers in source code