1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208
|
This file contains some information intended for the developers of
lyskomd. It is probably only useful if you have access to the CVS
repository (there is no anoncvs access at this time) or if you are
about to make a new release of lyskomd.
See also doc/lyskomd.texi.
Support programs
================
It is important to use the correct version of some support programs
when creating the distribution. (This section is not relevant if you
are using a normal release -- these tools are only needed when
creating the distribution.)
Automake 1.7.6
--------
Automake 1.7.6 is recommended. To get decent handling of locating the
python binary you need to apply a patch that can be found at
http://sources.redhat.com/cgi-bin/gnatsweb.pl?database=automake. The
relevant problem report number is 398. The CVS version of automake
contains a better fix, but the lyskomd code is not yet updated to use
it.
Autoconf 2.56
--------
Autoconf 2.56 is recommended. 2.55 might be good enough.
Perl 5.6.1
----
The perl version should not matter.
Python 2.1
------
The version of Python should not matter. 1.5 should be good enough.
Go with Python 2.1, Python 2.2.1 or newer.
Bison and flex
--------------
You may need the Gnu tools bison and flex. The standard lex and yacc
are not flexible enough. You should have bison version 1.35 or later
and flex version 2.5.4 or later.
DejaGnu 1.4.2
-------
You need a recent DejaGnu release. DejaGnu in turn needs TCL and
expect. See README.
Texinfo 4.2
-------
You need a recent version of GNU texinfo to process the documentation.
Version 4.2 is recommended. Version 4.0 is too old.
Release generation
==================
Follow these steps:
* Check that all bugs refered to in doc/Protocol-A.texi are still
open. (Search for "bugzilla" to find them.)
* Run
make distcheck
and make sure it works.
* Check that you can unpack the resulting archive, and then run
./configure --prefix=/tmp/foo
make install
Note that the "-C" option isn't used, and that there is no
intermediate "make" step (those more normal methods of compilation
are tested thoroughly by the Xenofarm).
* Check that the following files are updated:
doc/Protocol-A.texi
doc/lyskomd.texi
README
NEWS
* Run doc/Protocol-A.texi through M-x ispell.
* Run the testsuite with the EXTENDED tests (search for EXTENDED in
src/server/testsuite/lyskomd.0/gen-*.py). This requires some
patience. Be sure to reset EXTENDED to 0 when you are done.
* Define TYPE_CHECK_COMPILATION in misc-types.h and recompile. Check
that the error messages are sane. Undo the change.
* Use src/server/testsuite/lyskomd.0/summarize.sh
* Move all unresolved bugs for the milestone, if any, to a new milestone.
* Set the version number in these files:
versions
configure.in
doc/Protocol-A.texi
* Fix the Copyright statement in these files:
scripts/update-copyright
scripts/lyskomd-copyrights
* Write a note such as "* Release 1.9.0." in ChangeLog.
* Make sure the release date is properly set in NEWS and
doc/Protocol-A.texi.
* Commit everything.
* Update the copyright statements by running
scripts/lyskomd-copyrights
repeatedly until nothing happens.
* Commit everything.
* Wait until the Xenofarm has built the package and tested it.
* Run these commands:
./mkmi
./configure -C
make distclean # We want to recompute all dependencies.
./configure -C
make check # Recompute them.
make distcheck
Make sure that the host where you do this have TeX installed, so
that you ensure that the dvi target is working.
* Compare the resulting file with the file in the Xenofarm build.
There should be no noteworthy differences. Discard the resulting
file and use the distribution from Xenofarm, as that is the
distribution that has received a lot of testing.
* Compare the distribution with the previous release, and ensure
that no unexpected differences exists.
* Test the distribution on u137 and possibly more machines. Repeat
until no failure.
* Sign the archive using GPG:
gpg -s -b lyskom-server-2.0.7.tar.gz
* Set a tag:
cvs tag server-2-0-0
* Copy the tar file and the GPG signature to the FTP server and the
Web server:
/lysator/ftp/pub/lyskom/server/
/lysator/www/www-pages/html/lyskom/
* Create a diff.
tar xfz /lysator/ftp/pub/lyskom/server/lyskom-server-1.9.0.tar.gz
tar xfz /lysator/ftp/pub/lyskom/server/lyskom-server-2.0.0.tar.gz
diff -u --recursive --unidirectional-new-file \
lyskom-1.9.0 lyskom-server-2.0.0
Publish the diff only if it works and is small enough.
* Add the new version number to Bugzilla.
* Mark all resolved and verified bugs for the milestone as closed.
* Update /lysator/www/www-pages/html/lyskom/index.html
* Update /lysator/www/www-pages/html/lyskom/index-en.html
* Update /lysator/www/www-pages/html/lyskom/lyskom-server/index.html
* Update /lysator/www/www-pages/html/lyskom/lyskom-server/NEWS.txt
* Publish the protocol specification using the update-www target of
doc/Makefile. Be careful! Check that nothing in the WWW setup has
changed before running the make target.
* Announce the release in "Nyheter (om) LysKOM".
* Announce the release on Freshmeat.
* Announce the release in "News about LysKOM" in com.lysator.liu.se.
|