2004-11-07 This text summarizes some points to pay attention to when a new release of sane-backends should 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: * Make sure that config.guess and config.sub are up-to-date (get them from the latest autoconf release). * configure.in: increase version number (twice!) * configure.in: remove -cvs from textual version number * configure.in: set is_release=no * configure: recreate * NEWS: update and enter date of release * sane-backends.lsm: update * ChangeLog: set release marker * tag CVS with release tag; e.g.: 'cvs tag RELEASE_1_0_15' 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 * check that the new version .tar.gz can be compiled * upload these files together with the .diff to the FTP/HTTP servers (at the moment: rpm.org and alioth.debian.org). * copy sane-backends.html to sane-backends-"old-version".html, update sane-backends.html, sane-mfgs.html and sane-supported-devices.html on sane-project.org * update SANE standard and man pages on sane-project.org * check and update platforms page on sane-project.org * write announcements on sane-project.org and sane-devel, maybe others (e.g. freshmeat), include the md5 hash * upload to mirrors that don't get the files automatically (ibiblio.org) After the release: * move ChangeLog to ChangeLog-"version" and start a new ChangeLog * configure.in: add -cvs suffix * configure.in: set is_release=no * configure: regenerate