144 lines
5.1 KiB
Text
144 lines
5.1 KiB
Text
|
This is the GNU mailutils package.
|
|||
|
This document describes the actions needed to build the pre-release
|
|||
|
or CVS version of the package. See end of file for copying conditions.
|
|||
|
|
|||
|
* Introduction
|
|||
|
|
|||
|
This is a *pre-release* version, and not ready for production use
|
|||
|
yet. If you are taking source from CVS, you will need to have libtool,
|
|||
|
automake, and autoconf installed to help contribute. See the chapter
|
|||
|
`Building' for the detailed instructions. The script autogen.sh is
|
|||
|
provided to help autoconfigure mailutils from the cvs src. After you
|
|||
|
run autogen.sh, there should be a file 'INSTALL' with (generic)
|
|||
|
installation instructions. Package-specific installation instructions
|
|||
|
are set forth in the file README.
|
|||
|
|
|||
|
Please, note that the accompanying documentation may be inaccurate
|
|||
|
or incomplete. The ChangeLog file is the authoritative documentation of
|
|||
|
all recent changes.
|
|||
|
|
|||
|
Report bugs to <bug-mailutils@gnu.org>
|
|||
|
|
|||
|
* Checking Out the Sources
|
|||
|
|
|||
|
The following instructions apply if you wish to obtain sources from
|
|||
|
the CVS repository:
|
|||
|
|
|||
|
To checkout the source tree from CVS issue the following command:
|
|||
|
|
|||
|
CVS_RSH=ssh \
|
|||
|
cvs -d :ext:anoncvs@savannah.gnu.org:/cvsroot/mailutils checkout mailutils
|
|||
|
|
|||
|
Make sure SSHv2 is used.
|
|||
|
|
|||
|
This will give you read-only access. If you think you need write access,
|
|||
|
contact the mailing list.
|
|||
|
|
|||
|
* Building
|
|||
|
|
|||
|
In order to build this you will first need to have right versions
|
|||
|
of autotools and some auxiliary GNU programs. At the time of this
|
|||
|
writing these are:
|
|||
|
|
|||
|
Package Version (>=)
|
|||
|
======== ============
|
|||
|
automake 1.8.5
|
|||
|
autoconf 2.59
|
|||
|
libtool 1.5.8
|
|||
|
gettext 0.14.1
|
|||
|
gawk 3.1.3
|
|||
|
|
|||
|
You will also need bison (or yacc) and flex. The grammar sources
|
|||
|
were written so that any version of yacc or bison should be able to
|
|||
|
handle them, however using recent bison is anyway recommended. The lex
|
|||
|
sources could theoretically be compiled with AT&T lex. I have not
|
|||
|
tested this, however, so using flex is higly recommended. I use flex
|
|||
|
2.5.4.
|
|||
|
|
|||
|
To prepare the package for building run autogen.sh. Then run
|
|||
|
./configure with the desired options (See INSTALL and README for the
|
|||
|
detailed instructions). Finally, run make. Notice that the first make
|
|||
|
of the package should be made in the source directory. Subsequent
|
|||
|
makes can use build directory different from the source one.
|
|||
|
|
|||
|
* Debugging
|
|||
|
|
|||
|
To enable additional debugging information, configure the package
|
|||
|
with --enable-debug option.
|
|||
|
|
|||
|
Unless you compile mailutils statically, you will need to run
|
|||
|
following command to debug any utility:
|
|||
|
|
|||
|
libtool --mode execute gdb UTILITY-NAME
|
|||
|
|
|||
|
Sometimes it is impossible or inconvenient to start a utility from
|
|||
|
the debugger. In this case, use --HANG option, which is supported by
|
|||
|
any of the mailutils programs. The option instructs the program to
|
|||
|
sleep for a given number of seconds (3600 by default) right after
|
|||
|
startup. For example, to debug `mimeview' utility, run
|
|||
|
|
|||
|
mimeview --HANG [OTHER-OPTIONS]
|
|||
|
|
|||
|
Then switch to another terminal, get the PID of the ivoked utility and
|
|||
|
attach to it using gdb:
|
|||
|
|
|||
|
gdb mimeview PID
|
|||
|
|
|||
|
Once in gdb, issue the following command
|
|||
|
|
|||
|
set _argp_hang=0
|
|||
|
|
|||
|
Now set your breakpoints and proceed as usual.
|
|||
|
|
|||
|
* Importing gnulib files
|
|||
|
|
|||
|
Mailutils imports several source files from gnulib. These go
|
|||
|
mainly to the conventional library libmuaux (directory lib/), but
|
|||
|
several of them are incorporated into the main library libmailutils
|
|||
|
(directory mailbox/). The imported sources are kept in the CVS
|
|||
|
repository to avoid using eventually unstable versions appearing in
|
|||
|
the main gnulib CVS. Once in a time we update the sources. The update
|
|||
|
procedure is quite straightforward: change to the root directory of
|
|||
|
the mailutils tree and run `gnulib-sync' script:
|
|||
|
|
|||
|
$ cd mailutils
|
|||
|
$ scripts/gnulib-sync $HOME/src/gnulib
|
|||
|
|
|||
|
The script takes a single argument: name of the directory with the
|
|||
|
copy of gnulib source tree (see http://savannah.gnu.org/projects/gnulib
|
|||
|
for information on how to obtain gnulib sources). After incorporating
|
|||
|
the files, gnulib-sync leaves in the current directory two files named
|
|||
|
gnulib.changelog and gnulib.cvs. The file gnulib.changelog contains
|
|||
|
an entry to be prepended to ChangeLog, the file gnulib.cvs is a shell
|
|||
|
script with the commands necessary to incorporate all the changes into
|
|||
|
CVS.
|
|||
|
|
|||
|
If you need to add more gnulib modules to mailutils, add their
|
|||
|
names to gnulib.modules file, following the instructions in its
|
|||
|
heading comment. Please avoid placing modules in :mailutils section, as
|
|||
|
this may lead to unwanted name clashes when linking user programs with
|
|||
|
libmailutils.
|
|||
|
|
|||
|
* Copyright information:
|
|||
|
|
|||
|
Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
|||
|
|
|||
|
Permission is granted to anyone to make or distribute verbatim copies
|
|||
|
of this document as received, in any medium, provided that the
|
|||
|
copyright notice and this permission notice are preserved,
|
|||
|
thus giving the recipient permission to redistribute in turn.
|
|||
|
|
|||
|
Permission is granted to distribute modified versions
|
|||
|
of this document, or of portions of it,
|
|||
|
under the above conditions, provided also that they
|
|||
|
carry prominent notices stating who last changed them.
|
|||
|
|
|||
|
|
|||
|
Local Variables:
|
|||
|
mode: outline
|
|||
|
paragraph-separate: "[ ]*$"
|
|||
|
version-control: never
|
|||
|
End:
|
|||
|
|
|||
|
|