HACKING 3.15 KB
Newer Older
1
2
3
4
5
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.

Per Cederqvist's avatar
Per Cederqvist committed
6
See also doc/lyskomd.texi.
7
8
9
10
11
12


Support programs
================

It is important to use the correct version of some support programs
13
14
15
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.)
16
17
18



19
Automake 1.6.3
20
21
--------

22
Automake 1.6.3 is recommended.  1.5 might be good enough.
23
24


25
Autoconf 2.53
26
27
--------

28
Autoconf 2.53 is recommended.  2.52 might be good enough.
29
30


31
Perl 5.6.1
32
33
34
35
----

The perl version should not matter.

36

Per Cederqvist's avatar
Per Cederqvist committed
37
Python 2.2.1
38
39
40
41
42
43
44
------

The version of Python should not matter.  1.5 should be good enough,
but that has not been tested in a long while.  Go with Python 2.1 or
newer.


45
46
47
48
Bison and flex
--------------

You may need the Gnu tools bison and flex. The standard lex and yacc
49
are not flexible enough. You should have bison version 1.27 or later
50
51
52
and flex version 2.5.4 or later.


53
54
55
56
57
DejaGnu 1.4.2
-------

You need a recent DejaGnu release.  DejaGnu in turn needs TCL and
expect.  See README.
58
59
60
61
62
63
64
65
66
67
68
69
70
71


Release generation
==================

Follow these steps:

* Check that the following files are updated:

	doc/Protocol-A.texi
	doc/lyskomd.texi
	README
	NEWS

72
73
* If this is release 2.1.0: remove all man-pages and this entry, and
  close bug 77.
74

75
76
77
78
* 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.

79
80
* Move all unresolved bugs for the milestone, if any, to a new milestone.

81
82
83
* Set the version number in these files:

	versions
84
85
	configure.in (in two places)
	doc/Protocol-A.texi (potentially in several places)
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108

* Fix the Copyright statement in these files:

	scripts/update-copyright
	scripts/lyskomd-copyrights

* Write a note such as "* Release 1.9.0." in ChangeLog.

* Commit everything.

* Update the copyright statements by running

	scripts/lyskomd-copyrights

  repeatedly until nothing happens.

* Commit everything.

* Run these commands:

	./mkmi
	./configure
	make distclean    # We want to recompute all dependencies.
109
	./configure
110
	make check	  # Recompute them.
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
	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 previous release, and ensure
  that no unexpected differences exists.

* Test the resulting archive on several architectures.  Repeat until
  no failure.

* Set a tag:

	cvs tag server-2-0-0

* Copy the tar file to the FTP server.

* 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

Per Cederqvist's avatar
Per Cederqvist committed
135
  Publish the diff only if it works and is small enough.
136
137

* Announce the release in "Nyheter (om) LysKOM".
138
139

* Add the new version number to Bugzilla.
140
141

* Mark all resolved and verified bugs for the milestone as closed.