summaryrefslogtreecommitdiff
path: root/README-maint
blob: 253b68919a428b7968a66a183ae2ff1473b382b9 (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
#+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_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
  : ./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

* 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 </dev/null alpha". Other possible release types are "beta" and
     "major". Re-directing standard input to /dev/null ensures that the
     procedure runs interactively. If you don't do that, you'll have to hit
     Ctrl+d at one point to satisfy a gnulib test.

* Mounting upload area via FUSE+SSHFS

  : sshfs dl.sv.gnu.org:/releases/autoconf-archive mnt
  : ls -l mnt
  : fusermount -u mnt