-
Notifications
You must be signed in to change notification settings - Fork 0
/
HACKING
63 lines (50 loc) · 2.39 KB
/
HACKING
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
Coding Standards
================
Please try and stick to the GNU coding standards. A lot of hard work
went into making Check compatible with the standards, and would be
nice if that work didn't erode. I decided on the standards because
they work well for a lot of programs much bigger than Check. Ok,
since you're wondering, the advantages of sticking to the standards
are three-fold:
1) consistent style within the project
2) being familiar with the standards lets you work on lots of
different GNU standards-compliant projects pretty easily
3) it reduces the number of decisions that must be made
So far, the only intentional deviation from the standards is the use
of `svn log -v > SVNChangeLog' to generate an SVNChangeLog, rather
than manual editing. Subversion solves many of the problems in CVS,
for which the GNU ChangeLog rules are written, the lack of atomic
commits being one of them. However, this doesn't work for make
distcheck because it never reaches the SVN working copy, so perhaps a
better mechanism is needed.
Release Process
===============
You need 'release tech' access within the project to do this.
Start in a configured in-place build of trunk.
If you are behind a proxy remember to "socksify" (or similar) your
'make' and 'sftp' commands. Make sure svn works.
1. Fix your ssh connectivity and accept ssh-keys:
'sftp <SF_USERNAME>@web.sourceforge.net'
'sftp <SF_USERNAME>@frs.sourceforge.net'
2. Decide on a X.Y.Z revision suitable for release.
3. Update configure.ac with new versions and run
'svn commit -m "Update for release" configure.ac'
4. Update NEWS with new version number. Use this format:
"Mon, Oct 22, 2012: Released Check 0.9.9
based on r637 (2012-10-22 13:54:14 +0200)"
Now 'svn commit -m "* Update for release" NEWS'
5. make SF_USERNAME=username RELEASE_VERSION=X.Y.Z preparerelease
This will tag trunk as https://svn.sourceforge.net/svnroot/check/tags/check-X.Y.Z
6. Follow the prompts. If anything goes wrong see Makefile.am and complete it by hand.
7. Use the following template to announce the release:
=====
Subject: check-X.Y.Z released
Hi,
<some sentence about the release, e.g. "This is a bug fix release.">
Please test it out and report any problems you might have.
http://prdownloads.sourceforge.net/check/check-X.Y.Z.tar.gz?download
Thanks,
`whoami`
<paste contents of NEWS-release here>
=====
8. Follow the remaining prompts.