File: HACKING

package info (click to toggle)
lyskom-server 2.1.2-13
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, wheezy
  • size: 10,384 kB
  • ctags: 5,091
  • sloc: ansic: 50,985; exp: 12,368; sh: 10,983; python: 2,927; makefile: 1,017; yacc: 465; awk: 340; lisp: 271; lex: 218; sed: 50
file content (208 lines) | stat: -rw-r--r-- 5,287 bytes parent folder | download | duplicates (7)
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.