Commit 3ec5d07e 3ec5d07e67044b614b8beab0e34908b4eec23eab by Sergey Poznyakoff

Update docs + minor changes.

* .gitmodules: Add imprimatur.
* Makefile.am: Likewise.
* configure.ac: Likewise.
* doc/Makefile.am: Likewise.
* bootstrap.conf: Comment out make in doc/texinfo
* doc/texinfo/Makefile.am: Rewrite.
* doc/texinfo/fdl.texi: Minor change.
* doc/texinfo/getdate.texi: Minor change.
* doc/texinfo/mailutils.texi: begin rewrite.
* doc/texinfo/mu-mh.texi: Minor change.
* doc/texinfo/programs.texi: begin rewrite.
* doc/texinfo/sieve.texi: Minor change.
* doc/texinfo/usage.texi: Minor change.

* libmailutils/cfg/lexer.l: Allow for @ in unquoted strings
* pop3d/bulletin.c: Relax safety checks for bulletin.db
* pop3d/logindelay.c: Relax safety checks for stat.sb
* pop3d/pop3d.h (DEFAULT_GROUP_DB_SAFETY): New define.
1 parent 6d9c7d66
1 [submodule "gint"] 1 [submodule "gint"]
2 path = gint 2 path = gint
3 url = git://git.gnu.org.ua/gint.git 3 url = git://git.gnu.org.ua/gint.git
4 [submodule "doc/imprimatur"]
5 path = doc/imprimatur
6 url = git://git.gnu.org.ua/imprimatur.git
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
15 ## You should have received a copy of the GNU General Public License 15 ## You should have received a copy of the GNU General Public License
16 ## along with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>. 16 ## along with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>.
17 17
18 ACLOCAL_AMFLAGS = -I m4 -I am -I gint 18 ACLOCAL_AMFLAGS = -I m4 -I am -I gint -I doc/imprimatur
19 19
20 if MU_COND_PYTHON 20 if MU_COND_PYTHON
21 PYTHON_DIR = python 21 PYTHON_DIR = python
......
...@@ -100,5 +100,5 @@ done ...@@ -100,5 +100,5 @@ done
100 wget -P m4 http://git.savannah.gnu.org/cgit/radius.git/plain/scripts/radius.m4 100 wget -P m4 http://git.savannah.gnu.org/cgit/radius.git/plain/scripts/radius.m4
101 101
102 # Create included listings for texinfo docs. 102 # Create included listings for texinfo docs.
103 make -C doc/texinfo -f maint.mk 103 #make -C doc/texinfo -f maint.mk
104 104
......
...@@ -1316,23 +1316,7 @@ dnl get sysconfdir expanded. ...@@ -1316,23 +1316,7 @@ dnl get sysconfdir expanded.
1316 CPPFLAGS="$CPPFLAGS -DSYSCONFDIR=\\\"\$(sysconfdir)\\\"" 1316 CPPFLAGS="$CPPFLAGS -DSYSCONFDIR=\\\"\$(sysconfdir)\\\""
1317 1317
1318 # Doc hints. 1318 # Doc hints.
1319 # Select a rendition level: 1319 IMPRIMATUR_INIT([doc/imprimatur])
1320 # DISTRIB for stable releases (at most one dot in the version number)
1321 # and maintenance releases (two dots, patchlevel < 50)
1322 # PROOF for alpha releases.
1323 # PUBLISH can only be required manually when running make in doc/
1324 AC_SUBST(RENDITION)
1325 case `echo $VERSION|sed 's/[[^.]]//g'` in
1326 ""|".") RENDITION=DISTRIB;;
1327 "..") if test `echo $VERSION | sed 's/.*\.//'` -lt 50; then
1328 RENDITION=DISTRIB
1329 else
1330 AC_DEFINE_UNQUOTED([MU_ALPHA_RELEASE], 1,
1331 [Define if this is an alpha release])
1332 RENDITION=PROOF
1333 fi;;
1334 *) RENDITION=PROOF;;
1335 esac
1336 1320
1337 AC_CONFIG_COMMANDS([status],[ 1321 AC_CONFIG_COMMANDS([status],[
1338 cat <<EOF 1322 cat <<EOF
......
...@@ -15,5 +15,5 @@ ...@@ -15,5 +15,5 @@
15 ## You should have received a copy of the GNU General Public License 15 ## You should have received a copy of the GNU General Public License
16 ## along with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>. 16 ## along with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>.
17 17
18 SUBDIRS = texinfo man 18 SUBDIRS = imprimatur texinfo man
19 EXTRA_DIST = ChangeLog.CVS rfc/README 19 EXTRA_DIST = ChangeLog.CVS rfc/README
......
imprimatur @ f32ef198
1 Subproject commit f32ef1983968e755cd580b06e369476d7e7f88b6
...@@ -19,6 +19,10 @@ mailutils.tmp ...@@ -19,6 +19,10 @@ mailutils.tmp
19 mailutils.toc 19 mailutils.toc
20 mailutils.tp 20 mailutils.tp
21 mailutils.vr 21 mailutils.vr
22 mailutils.fl
23 mailutils.kw
24 mailutils.pdf
25 mailutils.pr
22 mdate-sh 26 mdate-sh
23 muint.info* 27 muint.info*
24 stamp-1 28 stamp-1
......
...@@ -17,174 +17,53 @@ ...@@ -17,174 +17,53 @@
17 17
18 info_TEXINFOS = mailutils.texi 18 info_TEXINFOS = mailutils.texi
19 19
20 INCFILES = \
21 addr.inc\
22 http.inc\
23 mailcap.inc\
24 numaddr.inc\
25 sfrom.inc\
26 url-parse.inc
27
28 RENDITION_TEXI=rendition.texi macros.texi
29
30 mailutils_TEXINFOS = \ 20 mailutils_TEXINFOS = \
31 address.texi\
32 attribute.texi\
33 auth.texi\
34 body.texi\
35 c-api.texi\
36 encoding.texi\
37 envelope.texi\
38 fdl.texi\ 21 fdl.texi\
39 folder.texi\
40 framework.texi\
41 getdate.texi\ 22 getdate.texi\
42 headers.texi\ 23 macros.texi\
43 imap4.texi\
44 iterator.texi\
45 libmu_scm.texi\
46 libmu_auth.texi\
47 libmu_sieve.texi\
48 locker.texi\
49 mailbox.texi\
50 mailcap.texi\
51 maildir.texi\
52 mailer.texi\
53 mbox.texi\
54 message.texi\
55 mh.texi\
56 mu-mh.texi\ 24 mu-mh.texi\
57 mu_address.texi\
58 mu_body.texi\
59 mu_logger.texi\
60 mu_mailbox.texi\
61 mu_message.texi\
62 mu_mime.texi\
63 mu_scm.texi\
64 nntp.texi\
65 parse822.texi\
66 pop3.texi\
67 programs.texi\ 25 programs.texi\
68 sendmail.texi\
69 sieve.texi\ 26 sieve.texi\
70 smtp.texi\
71 stream.texi\
72 usage.texi\ 27 usage.texi\
73 url.texi\ 28 version.texi
74 $(RENDITION_TEXI)\
75 $(INCFILES)
76 29
77 DISTCLEANFILES=*.pgs *.kys *.vrs
78 clean-local: 30 clean-local:
79 rm -rf manual 31 rm -rf manual
80 32
81 # The rendering level is one of PUBLISH, DISTRIB or PROOF. 33 AM_MAKEINFOFLAGS = @IMPRIMATUR_MAKEINFOFLAGS@
82 # Just call `make RENDITION=PROOF [target]' if you want PROOF rendition. 34 # Imprimatur setup
83 35 imprimatur_INPUT=$(info_TEXINFOS) $(mailutils_TEXINFOS)
84 MAKEINFOFLAGS=-D$(RENDITION) 36 include ../imprimatur/imprimatur.mk
85 GENDOCS=gendocs.sh 37 #CHECK_DOCS=$(top_srcdir)/@IMPRIMATUR_MODULE_DIR@/check-docs.sh
86 TEXI2DVI=texi2dvi -t '@set $(RENDITION)' -E
87
88 # Make sure you set TEXINPUTS.
89 # TEXINPUTS=/usr/share/texmf/pdftex/plain/misc/ is ok for most distributions
90
91 TEXINPUTS=$(srcdir):$(top_srcdir)/build-aux:$$TEXINPUTS
92
93 manual:
94 TEXINPUTS=$(srcdir):$(top_srcdir)/build-aux:$(TEXINPUTS) \
95 MAKEINFO="$(MAKEINFO) $(MAKEINFOFLAGS)" \
96 TEXI2DVI="$(TEXI2DVI) -t @finalout" \
97 $(GENDOCS) --texi2html $(PACKAGE) '$(PACKAGE_NAME) manual'
98
99
100 EXTRA_DIST=gendocs_template mastermenu.el untabify.el
101 38
102 master-menu: 39 # Checking
103 emacs -batch -l mastermenu.el -f make-master-menu $(info_TEXINFOS) 40 all-check-docs: imprimatur-basic-checks
104 41
105 untabify: 42 check-docs:
106 emacs -batch -l untabify.el $(info_TEXINFOS) $(mailutils_TEXINFOS) 43 @$(MAKE) -k all-check-docs
107
108 fix-sentence-spacing:
109 for file in $(info_TEXINFOS) $(mailutils_TEXINFOS); \
110 do \
111 if grep -q '\. [@A-Z]' $$file; then \
112 mv $$file $${file}~; \
113 sed -r 's/\. ([@A-Z])/. \1/g' $${file}~ > $$file; \
114 fi; \
115 done
116
117 final: untabify fix-sentence-spacing master-menu
118
119
120 # Checks
121 check-tabs:
122 @if test -n "`cat $(info_TEXINFOS) $(mailutils_TEXINFOS) |\
123 tr -d -c '\t'`"; then \
124 echo >&2 "Sources contain tabs; run make untabify"; \
125 false; \
126 fi
127
128 check-sentence-spacing:
129 @if grep -q '\. [@A-Z]' $(info_TEXINFOS) $(mailutils_TEXINFOS); then \
130 echo >&2 "Sources contain double-space sentence separators"; \
131 echo >&2 "Run make fix-sentence-spacing to fix"; \
132 fi
133 44
134 check-format: check-tabs check-sentence-spacing 45 #
135 46
136 check-refs: 47 master-menu: imprimatur-master-menu
137 @for file in $(info_TEXINFOS) $(mailutils_TEXINFOS); \ 48 untabify: imprimatur-untabify
138 do \ 49 final: imprimatur-final
139 sed -e = $$file | \
140 sed -n 'N;/@FIXME-.*ref/{s/\(^[0-9][0-9]*\).*@FIXME-.*ref{\([^}]*\)}.*/'$$file':\1: \2/gp}'; \
141 done > $@-t; \
142 if [ -s $@-t ]; then \
143 echo >&2 "Unresolved cross-references:"; \
144 cat $@-t >&2;\
145 rm $@-t; \
146 else \
147 rm -f $@-t; \
148 fi
149 50
150 check-fixmes: 51 # Web manual
151 @for file in $(info_TEXINFOS) $(mailutils_TEXINFOS); \ 52 #EXTRA_DIST = \
152 do \ 53 # gendocs_template
153 sed -e = $$file | \
154 sed -n 'N;/@FIXME{/{s/\(^[0-9][0-9]*\).*@FIXME{\([^}]*\).*/'$$file':\1: \2/gp}'; \
155 done > $@-t; \
156 if [ -s $@-t ]; then \
157 echo >&2 "Unresolved FIXMEs:"; \
158 cat $@-t >&2; \
159 rm $@-t; \
160 false; \
161 else \
162 rm -f $@-t; \
163 fi
164 54
165 check-writeme: 55 GENDOCS=gendocs.sh
166 @grep -Hn @WRITEME $(info_TEXINFOS) $(mailutils_TEXINFOS) > $@-t; \ 56 TEXI2DVI=texi2dvi -t '@set $(RENDITION)' -E
167 if [ -s $@-t ]; then \
168 echo "Empty nodes:"; \
169 cat $@-t; \
170 rm $@-t; \
171 false;\
172 else \
173 rm $@-t; \
174 fi
175 57
176 check-unrevised: 58 .PHONY: manual
177 @grep -Hn @UNREVISED $(info_TEXINFOS) $(mailutils_TEXINFOS) > $@-t; \ 59 manual:
178 if [ -s $@-t ]; then \ 60 TEXINPUTS=$(srcdir):$(top_srcdir)/build-aux:$(TEXINPUTS) \
179 echo >&2 "Unrevised nodes:"; \ 61 MAKEINFO="$(MAKEINFO) $(MAKEINFOFLAGS) $(AM_MAKEINFOFLAGS)" \
180 cat $@-t >&2; \ 62 TEXI2DVI="$(TEXI2DVI)" \
181 rm $@-t; \ 63 TEXI2HTML="texi2html $(AM_MAKEINFOFLAGS)" \
182 false;\ 64 $(GENDOCS) --texi2html $(PACKAGE) '$(PACKAGE_NAME) manual'
183 else \
184 rm $@-t; \
185 fi
186 65
187 all-check-docs: check-format check-writeme check-unrevised check-refs check-fixmes 66 manual.tar.bz2: manual
67 tar cfj manual.tar.bz2 manual
188 68
189 check-docs: 69 man-tar: manual.tar.bz2
190 $(MAKE) -k all-check-docs
......
1 @setfilename fdl.info
2 @node GNU FDL
3 @appendix GNU Free Documentation License
4 @cindex FDL, GNU Free Documentation License 1 @cindex FDL, GNU Free Documentation License
5 @center Version 1.2, November 2002 2 @center Version 1.2, November 2002
6 3
......
...@@ -16,7 +16,7 @@ For the information about the current state of Mailutils MH ...@@ -16,7 +16,7 @@ For the information about the current state of Mailutils MH
16 implementation please refer to file @file{mh/TODO} in the Mailutils 16 implementation please refer to file @file{mh/TODO} in the Mailutils
17 distribution directory. 17 distribution directory.
18 18
19 [FIXME] 19 @FIXME{This is perhaps not so important now.}
20 20
21 @menu 21 @menu
22 * Diffs:: Major differences between Mailutils MH and other MH 22 * Diffs:: Major differences between Mailutils MH and other MH
......
This diff could not be displayed because it is too large.
...@@ -3,8 +3,6 @@ ...@@ -3,8 +3,6 @@
3 @c 2008, 2010, 2011 Free Software Foundation, Inc. 3 @c 2008, 2010, 2011 Free Software Foundation, Inc.
4 @c See file mailutils.texi for copying conditions. 4 @c See file mailutils.texi for copying conditions.
5 @comment ******************************************************************* 5 @comment *******************************************************************
6 @node Usage Vars
7 @appendix Configuring Help Summary
8 6
9 Running @command{@var{prog} --help} displays the short usage summary 7 Running @command{@var{prog} --help} displays the short usage summary
10 for @var{prog} utility (@pxref{Common Options}). This summary is 8 for @var{prog} utility (@pxref{Common Options}). This summary is
......
...@@ -100,7 +100,7 @@ P [1-9][0-9]* ...@@ -100,7 +100,7 @@ P [1-9][0-9]*
100 yylval.string = _mu_line_finish (); 100 yylval.string = _mu_line_finish ();
101 return MU_TOK_IDENT; } 101 return MU_TOK_IDENT; }
102 /* Strings */ 102 /* Strings */
103 [a-zA-Z0-9_\./:\*=-]+ { _mu_line_begin (); 103 [a-zA-Z0-9_\./:\*=@-]+ { _mu_line_begin ();
104 _mu_line_add (yytext, yyleng); 104 _mu_line_add (yytext, yyleng);
105 yylval.string = _mu_line_finish (); 105 yylval.string = _mu_line_finish ();
106 return MU_TOK_STRING; } 106 return MU_TOK_STRING; }
......
...@@ -133,6 +133,8 @@ read_bulletin_db (size_t *pnum) ...@@ -133,6 +133,8 @@ read_bulletin_db (size_t *pnum)
133 return rc; 133 return rc;
134 } 134 }
135 135
136 mu_dbm_safety_set_flags (db, DEFAULT_GROUP_DB_SAFETY);
137
136 rc = mu_dbm_safety_check (db); 138 rc = mu_dbm_safety_check (db);
137 if (rc) 139 if (rc)
138 { 140 {
...@@ -225,6 +227,8 @@ write_bulletin_db (size_t num) ...@@ -225,6 +227,8 @@ write_bulletin_db (size_t num)
225 return rc; 227 return rc;
226 } 228 }
227 229
230 mu_dbm_safety_set_flags (db, DEFAULT_GROUP_DB_SAFETY);
231
228 rc = mu_dbm_safety_check (db); 232 rc = mu_dbm_safety_check (db);
229 if (rc && rc != ENOENT) 233 if (rc && rc != ENOENT)
230 { 234 {
......
...@@ -32,8 +32,10 @@ open_stat_db (int mode) ...@@ -32,8 +32,10 @@ open_stat_db (int mode)
32 return NULL; 32 return NULL;
33 } 33 }
34 34
35 mu_dbm_safety_set_flags (db, DEFAULT_GROUP_DB_SAFETY);
36
35 rc = mu_dbm_safety_check (db); 37 rc = mu_dbm_safety_check (db);
36 if (rc) 38 if (rc && rc != ENOENT)
37 { 39 {
38 mu_diag_output (MU_DIAG_ERROR, 40 mu_diag_output (MU_DIAG_ERROR,
39 _("statistics db fails safety check: %s"), 41 _("statistics db fails safety check: %s"),
......
...@@ -201,6 +201,17 @@ extern char *apop_database_name; ...@@ -201,6 +201,17 @@ extern char *apop_database_name;
201 extern int apop_database_safety; 201 extern int apop_database_safety;
202 extern int apop_database_safety_set; 202 extern int apop_database_safety_set;
203 203
204 /* Safety checks for group-rw database files, such as stat and bulletin
205 databases */
206
207 #define DEFAULT_GROUP_DB_SAFETY \
208 (MU_FILE_SAFETY_WORLD_WRITABLE| \
209 MU_FILE_SAFETY_WORLD_READABLE| \
210 MU_FILE_SAFETY_LINKED_WRDIR| \
211 MU_FILE_SAFETY_DIR_IWGRP| \
212 MU_FILE_SAFETY_DIR_IWOTH)
213
214
204 extern pop3d_command_handler_t pop3d_find_command (const char *name); 215 extern pop3d_command_handler_t pop3d_find_command (const char *name);
205 216
206 extern int pop3d_stat (char *); 217 extern int pop3d_stat (char *);
......