summaryrefslogtreecommitdiff
path: root/README-maint
blob: 43e5180ffe82e4d17a45e7f936a29fd2fb518d14 (plain)
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
#+TITLE: Autoconf Archive README-maint         -*- mode:org;fill-column:79; -*-
#+STARTUP: showall

* How to set up the 'maint' branch.

  Ensure that the following packages are installed in your system:

  - Autoconf, Automake, Gnulib, and GNU Make.

  - Git (1.6.x.x or later)

  - Python (2.6 or later)

    Python 2.6 is needed for textwrap.TextWrapper break_on_hypens option only.
    This is being worked on decrease python version requirements.

  Now run the following commands:

  : git clone ssh://[<login>@]git.sv.gnu.org/srv/git/autoconf-archive
  : cd autoconf-archive
  : cvs -z3 -d:ext:[<login>@]cvs.savannah.nongnu.org:/web/autoconf-archive co -d html autoconf-archive
  : ./bootstrap.sh
  : ./configure

* How to update the web site.

  Run "make generate". The process will typically re-generate a whole bunch of
  files in the html/ directory (which is a separate CVS repository). Check the
  diffs, and if you things look good, commit the changes.

  Unfortunately, the new HTML generator doesn't yet recognize cross-links or
  any other sort of URI (see TODO file). Until those features are implemented,
  the website probably shouldn't be regenerated, because the old pages do
  contain links and an update would overwrite them.

* How to make a release.

  1. Determine the appropriate version number, i.e. today's date in ISO
     formatting.

  2. Update the NEWS file. The script that generates release tarballs checks
     that the current version number in mentioned in that file. If NEWS isn't
     up-to-date, the script will fail.

  3. Ensure that there are no uncommitted changes in 'maint' or 'master'. Then
     create a signed tag using the naming scheme 'v<yyyy>.<mm>.<dd>'. For
     example:

     : git tag v2009.07.31 -s -m 'Autoconf Archive Version 2009.07.31'

  4. Run "make </dev/null alpha". Other possible release types are "beta" and
     "major". Unfortunately, one of the tests performed during that procedure
     doesn't terminate until it receives an EOF on standard input. I have no
     idea why, but redirecting from /dev/null remedies the problem.