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
|
#+TITLE: Autoconf Archive TODO -*- mode:org;fill-column:79; -*-
* TODO Improve submission guide lines on the web site
** 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 Recognize cross-links in macro documentation.
Macros often refer to other entries in the archive. The macro2texi scripts
should recognize those references and generate appropriate links in the
output.
The implementation of this feature is not as simple as it may sound, because
Texinfo doesn't offer plain and simple cross-references. There is @xref, of
course, but use of that macros inserts additional words into the text! The
reference =@xref{Node}=, for instance, is rendered as =*Note Node=. This
property makes it very hard to insert references automatically.
* TODO Recognize URIs in macro documentation.
Some macros feature http or mailto URIs. The generator scripts should
recognize those and generate appropriate hyperlinks output (where feasible).
* TODO Re-enable disabled sc_* checks from maint.mk [0/6]
Gnulib wants us to use spelling "file system" and objects when it sees the
name ax_boost_filesystem in autoconf-archive.texi. There ought to be a way to
avoid that error.
Progress: The [[bootstrap.sh]] script disable those checks that don't work well
for this project. In order to get on, though, some meaningful tests were
disable, too. We should re-enable those and fix the macro contents to comply
with those rules:
* [ ] sc_m4_quote_check
* [ ] sc_prohibit_strcmp
* [ ] sc_space_tab
* [ ] sc_useless_cpp_parens
* [ ] sc_prohibit_magic_number_exit
* [ ] sc_copyright_check
* TODO Generate serial lines automatically
The script [[file:set-serial.sh][set-serial.sh]] uses the git repository to determine an appropriate
serial number (i.e. the number of commits that have occurred) and patches
that number into the m4 file. The solution seems to work nicely, but it isn't
integrated into the build process yet.
* TODO Don't repeat license texts in Texinfo for every macro
The Texinfo documentation has a section "license" for every macro that
contains the complete license disclaimer. In case of the all-permissive
license, that's no big deal because that license is very short. In case of
GPL + Autoconf exception, however, this leads to a significant amount of
redundancy in the generated documentation.
It would be desirable to have the license texts in the documentation *once*
and to have every macro refer to the appropriate section.
* TODO Add copyright notices to all files [1/3]
* [X] autoconf-archive.texi should say what its own (the documentation)
copyright is in the @copying. Presumably GFDLv1.3+.
* [ ] small top-level files like NEWS, ChangeLog, TODO should have some kind
of notice, e.g., the all-permissive one.
* [ ] Makefile.am files should use the standard GPL notice, not just say
"Licensed under the terms ...". That leaves it unclear as to what
version of the GPL applies, and whether it is GPLvN-only vs.
GPLvN-or-later.
* TODO Update infrastructure files from gnulib
Most of our infrastructure files come from the Automake versions that's used
to run =autoreconf -i=. However, there are newer files in gnulib that we
should use instead: install-sh got a minor update, ditto the INSTALL file.
texinfo.tex has also been updated.
Karl Berry suggested using =gnulib/config/srclist-update= to keep those files
synchronized.
|