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
[submodule "gint"]
path = gint
url = git://git.gnu.org.ua/gint.git
[submodule "doc/imprimatur"]
path = doc/imprimatur
url = git://git.gnu.org.ua/imprimatur.git
......
......@@ -15,7 +15,7 @@
## You should have received a copy of the GNU General Public License
## along with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>.
ACLOCAL_AMFLAGS = -I m4 -I am -I gint
ACLOCAL_AMFLAGS = -I m4 -I am -I gint -I doc/imprimatur
if MU_COND_PYTHON
PYTHON_DIR = python
......
......@@ -100,5 +100,5 @@ done
wget -P m4 http://git.savannah.gnu.org/cgit/radius.git/plain/scripts/radius.m4
# Create included listings for texinfo docs.
make -C doc/texinfo -f maint.mk
#make -C doc/texinfo -f maint.mk
......
......@@ -1316,23 +1316,7 @@ dnl get sysconfdir expanded.
CPPFLAGS="$CPPFLAGS -DSYSCONFDIR=\\\"\$(sysconfdir)\\\""
# Doc hints.
# Select a rendition level:
# DISTRIB for stable releases (at most one dot in the version number)
# and maintenance releases (two dots, patchlevel < 50)
# PROOF for alpha releases.
# PUBLISH can only be required manually when running make in doc/
AC_SUBST(RENDITION)
case `echo $VERSION|sed 's/[[^.]]//g'` in
""|".") RENDITION=DISTRIB;;
"..") if test `echo $VERSION | sed 's/.*\.//'` -lt 50; then
RENDITION=DISTRIB
else
AC_DEFINE_UNQUOTED([MU_ALPHA_RELEASE], 1,
[Define if this is an alpha release])
RENDITION=PROOF
fi;;
*) RENDITION=PROOF;;
esac
IMPRIMATUR_INIT([doc/imprimatur])
AC_CONFIG_COMMANDS([status],[
cat <<EOF
......
......@@ -15,5 +15,5 @@
## You should have received a copy of the GNU General Public License
## along with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>.
SUBDIRS = texinfo man
SUBDIRS = imprimatur texinfo man
EXTRA_DIST = ChangeLog.CVS rfc/README
......
imprimatur @ f32ef198
Subproject commit f32ef1983968e755cd580b06e369476d7e7f88b6
......@@ -19,6 +19,10 @@ mailutils.tmp
mailutils.toc
mailutils.tp
mailutils.vr
mailutils.fl
mailutils.kw
mailutils.pdf
mailutils.pr
mdate-sh
muint.info*
stamp-1
......
......@@ -17,174 +17,53 @@
info_TEXINFOS = mailutils.texi
INCFILES = \
addr.inc\
http.inc\
mailcap.inc\
numaddr.inc\
sfrom.inc\
url-parse.inc
RENDITION_TEXI=rendition.texi macros.texi
mailutils_TEXINFOS = \
address.texi\
attribute.texi\
auth.texi\
body.texi\
c-api.texi\
encoding.texi\
envelope.texi\
fdl.texi\
folder.texi\
framework.texi\
getdate.texi\
headers.texi\
imap4.texi\
iterator.texi\
libmu_scm.texi\
libmu_auth.texi\
libmu_sieve.texi\
locker.texi\
mailbox.texi\
mailcap.texi\
maildir.texi\
mailer.texi\
mbox.texi\
message.texi\
mh.texi\
macros.texi\
mu-mh.texi\
mu_address.texi\
mu_body.texi\
mu_logger.texi\
mu_mailbox.texi\
mu_message.texi\
mu_mime.texi\
mu_scm.texi\
nntp.texi\
parse822.texi\
pop3.texi\
programs.texi\
sendmail.texi\
sieve.texi\
smtp.texi\
stream.texi\
usage.texi\
url.texi\
$(RENDITION_TEXI)\
$(INCFILES)
version.texi
DISTCLEANFILES=*.pgs *.kys *.vrs
clean-local:
rm -rf manual
# The rendering level is one of PUBLISH, DISTRIB or PROOF.
# Just call `make RENDITION=PROOF [target]' if you want PROOF rendition.
MAKEINFOFLAGS=-D$(RENDITION)
GENDOCS=gendocs.sh
TEXI2DVI=texi2dvi -t '@set $(RENDITION)' -E
# Make sure you set TEXINPUTS.
# TEXINPUTS=/usr/share/texmf/pdftex/plain/misc/ is ok for most distributions
TEXINPUTS=$(srcdir):$(top_srcdir)/build-aux:$$TEXINPUTS
manual:
TEXINPUTS=$(srcdir):$(top_srcdir)/build-aux:$(TEXINPUTS) \
MAKEINFO="$(MAKEINFO) $(MAKEINFOFLAGS)" \
TEXI2DVI="$(TEXI2DVI) -t @finalout" \
$(GENDOCS) --texi2html $(PACKAGE) '$(PACKAGE_NAME) manual'
EXTRA_DIST=gendocs_template mastermenu.el untabify.el
AM_MAKEINFOFLAGS = @IMPRIMATUR_MAKEINFOFLAGS@
# Imprimatur setup
imprimatur_INPUT=$(info_TEXINFOS) $(mailutils_TEXINFOS)
include ../imprimatur/imprimatur.mk
#CHECK_DOCS=$(top_srcdir)/@IMPRIMATUR_MODULE_DIR@/check-docs.sh
master-menu:
emacs -batch -l mastermenu.el -f make-master-menu $(info_TEXINFOS)
# Checking
all-check-docs: imprimatur-basic-checks
untabify:
emacs -batch -l untabify.el $(info_TEXINFOS) $(mailutils_TEXINFOS)
fix-sentence-spacing:
for file in $(info_TEXINFOS) $(mailutils_TEXINFOS); \
do \
if grep -q '\. [@A-Z]' $$file; then \
mv $$file $${file}~; \
sed -r 's/\. ([@A-Z])/. \1/g' $${file}~ > $$file; \
fi; \
done
final: untabify fix-sentence-spacing master-menu
# Checks
check-tabs:
@if test -n "`cat $(info_TEXINFOS) $(mailutils_TEXINFOS) |\
tr -d -c '\t'`"; then \
echo >&2 "Sources contain tabs; run make untabify"; \
false; \
fi
check-sentence-spacing:
@if grep -q '\. [@A-Z]' $(info_TEXINFOS) $(mailutils_TEXINFOS); then \
echo >&2 "Sources contain double-space sentence separators"; \
echo >&2 "Run make fix-sentence-spacing to fix"; \
fi
check-docs:
@$(MAKE) -k all-check-docs
check-format: check-tabs check-sentence-spacing
#
check-refs:
@for file in $(info_TEXINFOS) $(mailutils_TEXINFOS); \
do \
sed -e = $$file | \
sed -n 'N;/@FIXME-.*ref/{s/\(^[0-9][0-9]*\).*@FIXME-.*ref{\([^}]*\)}.*/'$$file':\1: \2/gp}'; \
done > $@-t; \
if [ -s $@-t ]; then \
echo >&2 "Unresolved cross-references:"; \
cat $@-t >&2;\
rm $@-t; \
else \
rm -f $@-t; \
fi
master-menu: imprimatur-master-menu
untabify: imprimatur-untabify
final: imprimatur-final
check-fixmes:
@for file in $(info_TEXINFOS) $(mailutils_TEXINFOS); \
do \
sed -e = $$file | \
sed -n 'N;/@FIXME{/{s/\(^[0-9][0-9]*\).*@FIXME{\([^}]*\).*/'$$file':\1: \2/gp}'; \
done > $@-t; \
if [ -s $@-t ]; then \
echo >&2 "Unresolved FIXMEs:"; \
cat $@-t >&2; \
rm $@-t; \
false; \
else \
rm -f $@-t; \
fi
# Web manual
#EXTRA_DIST = \
# gendocs_template
check-writeme:
@grep -Hn @WRITEME $(info_TEXINFOS) $(mailutils_TEXINFOS) > $@-t; \
if [ -s $@-t ]; then \
echo "Empty nodes:"; \
cat $@-t; \
rm $@-t; \
false;\
else \
rm $@-t; \
fi
GENDOCS=gendocs.sh
TEXI2DVI=texi2dvi -t '@set $(RENDITION)' -E
check-unrevised:
@grep -Hn @UNREVISED $(info_TEXINFOS) $(mailutils_TEXINFOS) > $@-t; \
if [ -s $@-t ]; then \
echo >&2 "Unrevised nodes:"; \
cat $@-t >&2; \
rm $@-t; \
false;\
else \
rm $@-t; \
fi
.PHONY: manual
manual:
TEXINPUTS=$(srcdir):$(top_srcdir)/build-aux:$(TEXINPUTS) \
MAKEINFO="$(MAKEINFO) $(MAKEINFOFLAGS) $(AM_MAKEINFOFLAGS)" \
TEXI2DVI="$(TEXI2DVI)" \
TEXI2HTML="texi2html $(AM_MAKEINFOFLAGS)" \
$(GENDOCS) --texi2html $(PACKAGE) '$(PACKAGE_NAME) manual'
all-check-docs: check-format check-writeme check-unrevised check-refs check-fixmes
manual.tar.bz2: manual
tar cfj manual.tar.bz2 manual
check-docs:
$(MAKE) -k all-check-docs
man-tar: manual.tar.bz2
......
@setfilename fdl.info
@node GNU FDL
@appendix GNU Free Documentation License
@cindex FDL, GNU Free Documentation License
@center Version 1.2, November 2002
......
......@@ -16,7 +16,7 @@ For the information about the current state of Mailutils MH
implementation please refer to file @file{mh/TODO} in the Mailutils
distribution directory.
[FIXME]
@FIXME{This is perhaps not so important now.}
@menu
* Diffs:: Major differences between Mailutils MH and other MH
......
This diff could not be displayed because it is too large.
......@@ -3,8 +3,6 @@
@c 2008, 2010, 2011 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
@node Usage Vars
@appendix Configuring Help Summary
Running @command{@var{prog} --help} displays the short usage summary
for @var{prog} utility (@pxref{Common Options}). This summary is
......
......@@ -100,7 +100,7 @@ P [1-9][0-9]*
yylval.string = _mu_line_finish ();
return MU_TOK_IDENT; }
/* Strings */
[a-zA-Z0-9_\./:\*=-]+ { _mu_line_begin ();
[a-zA-Z0-9_\./:\*=@-]+ { _mu_line_begin ();
_mu_line_add (yytext, yyleng);
yylval.string = _mu_line_finish ();
return MU_TOK_STRING; }
......
......@@ -133,6 +133,8 @@ read_bulletin_db (size_t *pnum)
return rc;
}
mu_dbm_safety_set_flags (db, DEFAULT_GROUP_DB_SAFETY);
rc = mu_dbm_safety_check (db);
if (rc)
{
......@@ -225,6 +227,8 @@ write_bulletin_db (size_t num)
return rc;
}
mu_dbm_safety_set_flags (db, DEFAULT_GROUP_DB_SAFETY);
rc = mu_dbm_safety_check (db);
if (rc && rc != ENOENT)
{
......
......@@ -32,8 +32,10 @@ open_stat_db (int mode)
return NULL;
}
mu_dbm_safety_set_flags (db, DEFAULT_GROUP_DB_SAFETY);
rc = mu_dbm_safety_check (db);
if (rc)
if (rc && rc != ENOENT)
{
mu_diag_output (MU_DIAG_ERROR,
_("statistics db fails safety check: %s"),
......
......@@ -201,6 +201,17 @@ extern char *apop_database_name;
extern int apop_database_safety;
extern int apop_database_safety_set;
/* Safety checks for group-rw database files, such as stat and bulletin
databases */
#define DEFAULT_GROUP_DB_SAFETY \
(MU_FILE_SAFETY_WORLD_WRITABLE| \
MU_FILE_SAFETY_WORLD_READABLE| \
MU_FILE_SAFETY_LINKED_WRDIR| \
MU_FILE_SAFETY_DIR_IWGRP| \
MU_FILE_SAFETY_DIR_IWOTH)
extern pop3d_command_handler_t pop3d_find_command (const char *name);
extern int pop3d_stat (char *);
......