2009-05-05 08:53:47 +00:00
2009-05-05
2001-04-16 12:21:41 +00:00
2003-09-24 14:00:00 +00:00
This text summarizes some points to pay attention to when a new release
2008-01-17 01:03:43 +00:00
of sane-backends is planned.
2002-09-26 21:47:20 +00:00
Timetable (approximate periods):
2003-09-24 14:00:00 +00:00
Day 0: Announcement of upcoming release on sane-devel including timetable
2004-11-07 19:40:52 +00:00
Day 14: Feature freeze (only bugfixes + documentation updates)
2017-05-27 05:27:22 +00:00
Day 28: Code freeze (only fixes for bugs that can destroy hardware, can cause
2002-09-26 21:47:20 +00:00
compilation problems or render a backend completely unusable, and
documentation updates are allowed)
2004-11-07 19:40:52 +00:00
Day 35: Release
2001-04-16 12:21:41 +00:00
Before the release:
2017-05-22 15:16:40 +00:00
* set :new :yes on any new backend .desc files, by looking for added files:
cd backend
ls | while read aa; do git log --follow --diff-filter=A --find-renames=40% --format="%ai $aa" "$aa"; done > foo.log
Then inspect foo.log for any files added since the last release.
2017-06-12 11:53:53 +00:00
* Make sure that upstream files are up-to-date by running:
./tools/update-upstream.sh
Requires curl or wget.
2017-05-22 15:16:40 +00:00
* configure.ac: remove 'git' from textual version number, and increment it
2016-06-15 11:47:28 +00:00
* run autoreconf --force but do *NOT* use the --install option as it will
overwrite our custom ltmain.sh
2017-05-22 15:16:40 +00:00
* ChangeLog: generate from git log, something like:
git log RELEASE_1_0_25..HEAD > ChangeLog
* NEWS: update and enter date of release, etc
Get list of heavily change backends via: git diff --stat RELEASE_1_0_25
Get other things by reading ChangeLog
2001-04-16 12:21:41 +00:00
* sane-backends.lsm: update
2010-04-26 03:28:52 +00:00
* git commit -a
2009-05-05 08:53:47 +00:00
* tag git with release tag; e.g.: 'git tag -a RELEASE_1_0_15'
2017-05-22 15:16:40 +00:00
* probably DONT want to git push here, because alioth will rebuild it's local
2010-04-27 08:09:15 +00:00
checkout needlessly
2001-04-16 12:21:41 +00:00
Making the release:
2003-11-26 21:42:24 +00:00
* make tar.gz, sane-backends-x.y.z.lsm, and .md5sum with "make sane-backends"
2004-11-07 19:40:52 +00:00
* unpack tar.gz in temporary directory
* make diff from last release by unpacking it also in temporary directory
2017-05-27 05:27:22 +00:00
and running e.g.
2013-10-01 02:53:21 +00:00
diff -uNr sane-backends-1.0.23 sane-backends-1.0.24 > sane-backends-1.0.23-1.0.24.diff
2004-11-07 19:40:52 +00:00
* check that the diff applies cleanly to the old version
2009-05-04 00:22:21 +00:00
* gzip the diff
2008-02-10 23:02:31 +00:00
* install devel headers required to build optional backends (1284,gphoto,etc)
2004-11-07 19:40:52 +00:00
* check that the new version .tar.gz can be compiled
2013-10-01 02:53:21 +00:00
* upload the .tar.gz, tar.gz.md5 and .diff.gz to the FTP/HTTP servers
2009-05-04 00:22:21 +00:00
(at the moment: alioth.debian.org, ftp files are in
/srv/alioth.debian.org/chroot/ftproot/pub/sane/ )
2013-10-01 02:53:21 +00:00
In the alioth web interface, you should upload the smallest file first,
since you don't get error messages until after an upload completes,
and you might need to change something.
You can add the larger files afterwards. You may have to split larger
files.
2008-02-11 02:50:55 +00:00
Announcing the release:
2010-02-10 19:27:27 +00:00
* checkout the sane/website.git module and:
2008-02-11 02:50:55 +00:00
* copy sane-backends.html to sane-backends-"old-version".html
* update sane-supported-devices.html with link to above "old" file
2011-02-14 02:40:17 +00:00
* rebuild sane-backends.html and sane-mfgs.html (make -C doc html-pages)
2010-02-10 19:27:27 +00:00
* use man2html from http://hydra.nac.uci.edu/indiv/ehood/man2html.html
2011-02-14 02:40:17 +00:00
to rebuild html man pages (make -C doc html-man) (no other version works)
2013-10-01 02:53:21 +00:00
* add md5 sum to sane-md5sums.txt
2008-02-11 02:50:55 +00:00
* check and update platforms page (sane-support.html)
2010-04-26 03:29:39 +00:00
* add announcement to index.html
2010-02-10 19:27:27 +00:00
* git commit -a && git push
2010-04-26 03:29:39 +00:00
* check that website was updated automatically. if not, see:
2013-10-01 02:53:21 +00:00
/home/groups/sane/bin/update-htdocs.sh
2011-02-14 02:40:17 +00:00
* rebuild descriptions.db (make -C doc descriptions.db)
* scp doc/descriptions.db to alioth:
2013-10-01 02:53:21 +00:00
/home/groups/sane/search/release
2010-02-10 19:27:27 +00:00
* write announcements sane-devel, maybe others (e.g. freshmeat),
include the md5 hash
2001-04-16 12:21:41 +00:00
After the release:
2017-05-22 15:16:40 +00:00
* move ChangeLog to ChangeLogs/ChangeLog-"version"
* start a new ChangeLog, with the following message:
2018-02-09 09:37:21 +00:00
This file is automatically generated at release time using git commit
messages.
2017-05-22 15:16:40 +00:00
For the latest changes please refer to the output of `git log` or see:
2018-02-09 09:37:21 +00:00
https://gitlab.com/sane-project/backends/commits/master
2017-05-22 15:16:40 +00:00
2017-05-23 01:08:33 +00:00
* configure.ac: add 'git' suffix to textual version
2008-02-11 02:50:55 +00:00
* configure: regenerate with autoconf
2009-05-04 02:43:30 +00:00
* remove the ':new' tag from any new backends .desc files
2010-04-26 03:48:14 +00:00
* git add new files and commit
2015-10-05 01:25:08 +00:00
* git push && git push --tags (one of these might give an error 'remote: fatal: bad object 0000000000000000000000000000000000000000', try the other one)