kopia lustrzana https://gitlab.com/sane-project/backends
99 wiersze
4.0 KiB
Plaintext
99 wiersze
4.0 KiB
Plaintext
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, 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.
|
|
* Make sure that upstream files are up-to-date by running:
|
|
|
|
./tools/update-upstream.sh
|
|
|
|
Requires curl or wget.
|
|
* configure.ac: remove 'git' from textual version number, and increment it
|
|
* run autoreconf --force but do *NOT* use the --install option as it will
|
|
overwrite our custom ltmain.sh
|
|
* 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
|
|
* sane-backends.lsm: update
|
|
* git commit -a
|
|
* tag git with release tag; e.g.: 'git tag -a RELEASE_1_0_15'
|
|
* probably DONT want to git push here, because 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.23 sane-backends-1.0.24 > sane-backends-1.0.23-1.0.24.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 the .tar.gz, tar.gz.md5 and .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/ )
|
|
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.
|
|
|
|
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-md5sums.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:
|
|
/home/groups/sane/bin/update-htdocs.sh
|
|
* rebuild descriptions.db (make -C doc descriptions.db)
|
|
* scp doc/descriptions.db to alioth:
|
|
/home/groups/sane/search/release
|
|
* write announcements sane-devel, maybe others (e.g. freshmeat),
|
|
include the md5 hash
|
|
|
|
After the release:
|
|
|
|
* move ChangeLog to ChangeLogs/ChangeLog-"version"
|
|
* start a new ChangeLog, with the following message:
|
|
|
|
This file is automatically generated at release time using git commit
|
|
messages.
|
|
|
|
For the latest changes please refer to the output of `git log` or see:
|
|
|
|
https://gitlab.com/sane-project/backends/commits/master
|
|
|
|
* configure.ac: add 'git' suffix to textual version
|
|
* configure: regenerate with autoconf
|
|
* remove the ':new' tag from any new backends .desc files
|
|
* git add new files and commit
|
|
* git push && git push --tags (one of these might give an error 'remote: fatal: bad object 0000000000000000000000000000000000000000', try the other one)
|