summaryrefslogtreecommitdiff
path: root/README-maint
blob: cd5f0d66c6a1c22cffb18a05e13d1542862f05de (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
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
#+TITLE: Autoconf Archive    -*- mode: org; coding: utf-8; fill-column: 79; -*-
#+STARTUP: hidestars odd showall

* Maintainer's Guide

*** How to check-out the 'maint' branch.

    : git clone ssh://git.sv.gnu.org/srv/git/autoconf-archive
    : cd autoconf-archive
    : git checkout -b maint origin/maint
    : git submodule update -i

    : cvs -z3 -d:ext:cvs.savannah.nongnu.org:/web/autoconf-archive co -d html autoconf-archive

*** How to build the web site.

    The build system depends on the following external packages:

    - 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.

    Run =make -f Makefile-maint= to update the files html/*.

*** How to build release tarballs.

    The release tarballs are created by Automake. The process depends on the
    following packages to be installed:

    - Gnulib: git://git.savannah.gnu.org/gnulib.git

    - Automake and Autoconf

    Add the following settings to your =.git/config= file:

    : [alias]
    :       update-gnulib = !gnulib-tool --m4-base build-aux --source-base build-aux --import git-version-gen gitlog-to-changelog gnupload
    :       update-autotools = !autoreconf --install -Wall
    :       update-changelog = !build-aux/gitlog-to-changelog -- --branches >ChangeLog
    :       update-authors = !touch AUTHORS
    :       configure = !./configure --prefix=$(pwd)/_stage
    :       bootstrap = !git update-gnulib && git update-changelog && git update-authors && git update-autotools && git configure

    Running =git bootstrap= sets up and configures the Autotools build. Once
    that's accomplished, run =make -f Makefile distcheck=.

    The tarballs can be uploaded to Savannah as follows:

    : build-aux/gnupload --to dl.sv.nongnu.org:/releases/autoconf-archive -- autoconf-archive-${version}.tar.{gz,bz2}


* THINGS TO DO

*** TODO Document the newly mailing lists.

***** autoconf-archive-maintainers
***** autoconf-archive-commits
***** autoconf-archive-announce

*** TODO Figure out how to handle quoting in Markdown output

    Macro descriptions frequently contain words like "numeric_limits<T>", but
    in Markdown this is a literal HTML tag. The initial '<' character would
    need to be quoted.

    In indented blocks of text, however, use of the '<' character does not need
    to be quoted.

*** TODO Decide how to handle non-ASCII content in m4 files

   Several macros contain non-ASCII characters, for example:

   : $ grep@ Ludo m4/*.m4
   : m4/_ac_c_ifdef.m4:#   Copyright (c) 2008 Ludovic Courtès <ludo@chbouib.org>
   : m4/ac_cxx_compiler_vendor.m4:#   Copyright (c) 2008 Ludovic Courtès <ludo@chbouib.org>
   : m4/ac_cxx_cppflags_std_lang.m4:#   Copyright (c) 2008 Ludovic Courtès <ludo@chbouib.org>
   : m4/ac_cxx_cxxflags_std_lang.m4:#   Copyright (c) 2008 Ludovic Courtès <ludo@chbouib.org>
   : m4/ac_cxx_ldflags_std_lang.m4:#   Copyright (c) 2008 Ludovic Courtès <ludo@chbouib.org>
   : m4/ac_libtoolize_cflags.m4:#   Copyright (c) 2008 Ludovic Courtès <ludo@chbouib.org>

   The encoding currently in use is "latin1", but the m4 files don't expose
   that information. The situation can be improved as follows:

   1) Add machine-readable charset declarations (i.e. for Emacs) to all m4
      files. (Or just to those that actually use non-ASCII?)

   2) Encode all files in UTF-8, like everyone else seems to do. (But add
      charset declarations anyway?)

   3) Restrict m4 files to ASCII.

   Pure ASCII is my favorite.

*** TODO Improve submission guide lines on the web site

***** New submissions should use an AX_ prefix.

      Other prefixes are fine, too, but use of AX_ inside of the Autoconf
      Archive is encouraged. The AC_ prefix should definitely be avoided,
      because it's reserved for the GNU Autoconf distribution.

***** Patch submissions should put the original authors on Cc.

      Everyone is welcome to submit patches, bug reports, or suggestions to the
      Autoconf Archive. If you do, please add the original authors to
      carbon-copy list in the patch tracker. You don't have to, if you don't
      want to look their addresses up, but it's considered good practice to
      give the other authors a heads up when the macro is being changed.

***** If possible, submit patches with Git.

      Give a usage example for git format-patch.

      If you have an account Savannah, simply request access to the Autoconf
      Archive's repository so that you can use git push.

*** TODO Customize quoting function

    String templates can be registered with a quoting function that adapts the
    generated output for a target format, i.e. HTML.

*** TODO Figure out how to generate the AUTHORS file

    The file should contain the people who committed to Git and the people who
    are listed in m4 file copyright lines.