summaryrefslogtreecommitdiff
path: root/README-maint
blob: 686f441623793b389b7ef2da7d80a9c148592e33 (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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#+TITLE: GNU Autoconf Archive Maintainer README  -*-mode:org;fill-column:79;-*-
#+STARTUP: showall

* How to build the archive from Git.

  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_hyphens option only.
    This is being worked on decrease python version requirements.

  - texinfo (5.0 or later)

  Now run the following commands:

  : git clone ssh://[<login>@]git.sv.gnu.org/srv/git/autoconf-archive
  : cd autoconf-archive
  : ./bootstrap.sh              # set up autotools and gnulib environment
  : ./configure                 # determine system properties
  : make maintainer-all         # create/update all generated files that will be in a release
  : make                        # update texinfo documentation

  If "bootstrap.sh" fails because it can't find "gnulib-tool", then you should
  clone the "gnulib" project into the top-level directory of the autoconf-archive
  repository by running:

  : git clone git://git.savannah.gnu.org/gnulib.git

* How to update the web site.

  Check out the web site from CVS:

  : cvs -z3 -d:ext:[<login>@]cvs.savannah.gnu.org:/web/autoconf-archive co -d html autoconf-archive

  Run the following commands:

  : make web-manual             # generate an HTML rendering of the user documentation
  : ./fix-website.sh            # massage file names generated by texinfo
  :                             # copy the new files into the CVS checkout
  : rsync -vrcH --exclude CVS --delete-after doc/manual/html/ html/
  : (cd html ; cvs commit -m "generated from autoconf-archive $(git describe)")

* How to make a release.

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

  2. Update the date stamps in the README file.

  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 stable". Other possible release types are "beta" and "major".

  5. Use the command line call printed out by gnulib to upload the tarballs to
     the GNU ftp server.