diff options
Diffstat (limited to 'doc/releases.txt')
-rw-r--r-- | doc/releases.txt | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/doc/releases.txt b/doc/releases.txt new file mode 100644 index 0000000..320c8a0 --- /dev/null +++ b/doc/releases.txt @@ -0,0 +1,81 @@ +2009-05-05 + +This text summarizes some points to pay attention to when a new release +of sane-backends is planned. + +Timetable (approximate periods): + +Day 0: Announcement of upcoming release on sane-devel including timetable +Day 14: Feature freeze (only bugfixes + documentation updates) +Day 28: Code freeze (only fixes for bugs that can destroy hardware, can cause + compilation problems or render a backend completely unusable, and + documentation updates are allowed) +Day 35: Release + +Before the release: + +* set :new :yes on any new backend .desc files +* Make sure that config.guess and config.sub are up-to-date (get them from + savannah.gnu.org/projects/config) +* configure.in: increase version number +* configure.in: remove 'git' from textual version number +* configure.in: set is_release=yes +* OPTIONAL: aclocal.m4: recreate by running aclocal +* OPTIONAL: include/sane/config.h.in: recreate (autoheader in root of checkout) +* DONT run autoreconf, it will overwrite our custom ltmain.sh +* configure: recreate by running autoconf +* NEWS: update and enter date of release +* sane-backends.lsm: update +* ChangeLog: set release marker +* git commit -a +* tag git with release tag; e.g.: 'git tag -a RELEASE_1_0_15' +* probably DONT want to git push here, cause alioth will rebuild it's local + checkout needlessly + +Making the release: + +* make tar.gz, sane-backends-x.y.z.lsm, and .md5sum with "make sane-backends" +* unpack tar.gz in temporary directory +* make diff from last release by unpacking it also in temporary directory + and running e.g. + diff -uNr sane-backends-1.0.14 sane-backends-1.0.15 > sane-backends-1.0.14-1.0.15.diff +* check that the diff applies cleanly to the old version +* gzip the diff +* install devel headers required to build optional backends (1284,gphoto,etc) +* check that the new version .tar.gz can be compiled +* upload these files together with the .diff.gz to the FTP/HTTP servers + (at the moment: alioth.debian.org, ftp files are in + /srv/alioth.debian.org/chroot/ftproot/pub/sane/ ) + +Announcing the release: + +* checkout the sane/website.git module and: +* copy sane-backends.html to sane-backends-"old-version".html +* update sane-supported-devices.html with link to above "old" file +* rebuild sane-backends.html and sane-mfgs.html (make -C doc html-pages) +* use man2html from http://hydra.nac.uci.edu/indiv/ehood/man2html.html + to rebuild html man pages (make -C doc html-man) (no other version works) +* add md5 sum to sane-md5sum.txt +* check and update platforms page (sane-support.html) +* add announcement to index.html +* git commit -a && git push +* check that website was updated automatically. if not, see: + /org/alioth.debian.org/chroot/home/groups/sane/bin/update-htdocs.sh +* rebuild descriptions.db (make -C doc descriptions.db) +* scp doc/descriptions.db to alioth: + /org/alioth.debian.org/chroot/home/groups/sane/search/release +* write announcements sane-devel, maybe others (e.g. freshmeat), + include the md5 hash + +After the release: + +* move ChangeLog to ChangeLog-"version" +* start a new ChangeLog +* add ChangeLog-"version" to EXTRA_DIST in Makefile.in and Makefile.am +* configure.in: bump textual version & add 'git' suffix +* configure.in: bump V_REV +* configure.in: set is_release=no +* configure: regenerate with autoconf +* remove the ':new' tag from any new backends .desc files +* git add new files and commit +* git push --tags |