| 1 |
This is the GNU mailutils package. |
|---|
| 2 |
This document describes the actions needed to build the pre-release |
|---|
| 3 |
or CVS version of the package. See end of file for copying conditions. |
|---|
| 4 |
|
|---|
| 5 |
* Introduction |
|---|
| 6 |
|
|---|
| 7 |
This is a *pre-release* version, and not ready for production use |
|---|
| 8 |
yet. If you are taking source from CVS, you will need to have libtool, |
|---|
| 9 |
automake, and autoconf installed to help contribute. See the chapter |
|---|
| 10 |
`Building' for the detailed instructions. The script autogen.sh is |
|---|
| 11 |
provided to help autoconfigure mailutils from the cvs src. After you |
|---|
| 12 |
run autogen.sh, there should be a file 'INSTALL' with (generic) |
|---|
| 13 |
installation instructions. Package-specific installation instructions |
|---|
| 14 |
are set forth in the file README. |
|---|
| 15 |
|
|---|
| 16 |
Please, note that the accompanying documentation may be inaccurate |
|---|
| 17 |
or incomplete. The ChangeLog file is the authoritative documentation of |
|---|
| 18 |
all recent changes. |
|---|
| 19 |
|
|---|
| 20 |
Report bugs to <bug-mailutils@gnu.org> |
|---|
| 21 |
|
|---|
| 22 |
* Checking Out the Sources |
|---|
| 23 |
|
|---|
| 24 |
The following instructions apply if you wish to obtain sources from |
|---|
| 25 |
the CVS repository: |
|---|
| 26 |
|
|---|
| 27 |
To checkout the source tree from CVS issue the following command: |
|---|
| 28 |
|
|---|
| 29 |
CVS_RSH=ssh \ |
|---|
| 30 |
cvs -d :ext:anoncvs@savannah.gnu.org:/cvsroot/mailutils checkout mailutils |
|---|
| 31 |
|
|---|
| 32 |
Make sure SSHv2 is used. |
|---|
| 33 |
|
|---|
| 34 |
This will give you read-only access. If you think you need write access, |
|---|
| 35 |
contact the mailing list. |
|---|
| 36 |
|
|---|
| 37 |
* Building |
|---|
| 38 |
|
|---|
| 39 |
In order to build this you will first need to have right versions |
|---|
| 40 |
of autotools and some auxiliary GNU programs. At the time of this |
|---|
| 41 |
writing these are: |
|---|
| 42 |
|
|---|
| 43 |
Package Version (>=) |
|---|
| 44 |
======== ============ |
|---|
| 45 |
automake 1.8.5 |
|---|
| 46 |
autoconf 2.59 |
|---|
| 47 |
libtool 1.5.8 |
|---|
| 48 |
gettext 0.14.1 |
|---|
| 49 |
gawk 3.1.3 |
|---|
| 50 |
|
|---|
| 51 |
You will also need bison (or yacc) and flex. The grammar sources |
|---|
| 52 |
were written so that any version of yacc or bison should be able to |
|---|
| 53 |
handle them, however using recent bison is anyway recommended. The lex |
|---|
| 54 |
sources could theoretically be compiled with AT&T lex. I have not |
|---|
| 55 |
tested this, however, so using flex is higly recommended. I use flex |
|---|
| 56 |
2.5.4. |
|---|
| 57 |
|
|---|
| 58 |
To prepare the package for building run autogen.sh. Then run |
|---|
| 59 |
./configure with the desired options (See INSTALL and README for the |
|---|
| 60 |
detailed instructions). Finally, run make. Notice that the first make |
|---|
| 61 |
of the package should be made in the source directory. Subsequent |
|---|
| 62 |
makes can use build directory different from the source one. |
|---|
| 63 |
|
|---|
| 64 |
* Debugging |
|---|
| 65 |
|
|---|
| 66 |
To enable additional debugging information, configure the package |
|---|
| 67 |
with --enable-debug option. |
|---|
| 68 |
|
|---|
| 69 |
Unless you compile mailutils statically, you will need to run |
|---|
| 70 |
following command to debug any utility: |
|---|
| 71 |
|
|---|
| 72 |
libtool --mode execute gdb UTILITY-NAME |
|---|
| 73 |
|
|---|
| 74 |
Sometimes it is impossible or inconvenient to start a utility from |
|---|
| 75 |
the debugger. In this case, use --HANG option, which is supported by |
|---|
| 76 |
any of the mailutils programs. The option instructs the program to |
|---|
| 77 |
sleep for a given number of seconds (3600 by default) right after |
|---|
| 78 |
startup. For example, to debug `mimeview' utility, run |
|---|
| 79 |
|
|---|
| 80 |
mimeview --HANG [OTHER-OPTIONS] |
|---|
| 81 |
|
|---|
| 82 |
Then switch to another terminal, get the PID of the ivoked utility and |
|---|
| 83 |
attach to it using gdb: |
|---|
| 84 |
|
|---|
| 85 |
gdb mimeview PID |
|---|
| 86 |
|
|---|
| 87 |
Once in gdb, issue the following command |
|---|
| 88 |
|
|---|
| 89 |
set _argp_hang=0 |
|---|
| 90 |
|
|---|
| 91 |
Now set your breakpoints and proceed as usual. |
|---|
| 92 |
|
|---|
| 93 |
* Importing gnulib files |
|---|
| 94 |
|
|---|
| 95 |
Mailutils imports several source files from gnulib. These go |
|---|
| 96 |
mainly to the conventional library libmuaux (directory lib/), but |
|---|
| 97 |
several of them are incorporated into the main library libmailutils |
|---|
| 98 |
(directory mailbox/). The imported sources are kept in the CVS |
|---|
| 99 |
repository to avoid using eventually unstable versions appearing in |
|---|
| 100 |
the main gnulib CVS. Once in a time we update the sources. The update |
|---|
| 101 |
procedure is quite straightforward: change to the root directory of |
|---|
| 102 |
the mailutils tree and run `gnulib-sync' script: |
|---|
| 103 |
|
|---|
| 104 |
$ cd mailutils |
|---|
| 105 |
$ scripts/gnulib-sync $HOME/src/gnulib |
|---|
| 106 |
|
|---|
| 107 |
The script takes a single argument: name of the directory with the |
|---|
| 108 |
copy of gnulib source tree (see http://savannah.gnu.org/projects/gnulib |
|---|
| 109 |
for information on how to obtain gnulib sources). After incorporating |
|---|
| 110 |
the files, gnulib-sync leaves in the current directory two files named |
|---|
| 111 |
gnulib.changelog and gnulib.cvs. The file gnulib.changelog contains |
|---|
| 112 |
an entry to be prepended to ChangeLog, the file gnulib.cvs is a shell |
|---|
| 113 |
script with the commands necessary to incorporate all the changes into |
|---|
| 114 |
CVS. |
|---|
| 115 |
|
|---|
| 116 |
If you need to add more gnulib modules to mailutils, add their |
|---|
| 117 |
names to gnulib.modules file, following the instructions in its |
|---|
| 118 |
heading comment. Please avoid placing modules in :mailutils section, as |
|---|
| 119 |
this may lead to unwanted name clashes when linking user programs with |
|---|
| 120 |
libmailutils. |
|---|
| 121 |
|
|---|
| 122 |
* Copyright information: |
|---|
| 123 |
|
|---|
| 124 |
Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. |
|---|
| 125 |
|
|---|
| 126 |
Permission is granted to anyone to make or distribute verbatim copies |
|---|
| 127 |
of this document as received, in any medium, provided that the |
|---|
| 128 |
copyright notice and this permission notice are preserved, |
|---|
| 129 |
thus giving the recipient permission to redistribute in turn. |
|---|
| 130 |
|
|---|
| 131 |
Permission is granted to distribute modified versions |
|---|
| 132 |
of this document, or of portions of it, |
|---|
| 133 |
under the above conditions, provided also that they |
|---|
| 134 |
carry prominent notices stating who last changed them. |
|---|
| 135 |
|
|---|
| 136 |
|
|---|
| 137 |
Local Variables: |
|---|
| 138 |
mode: outline |
|---|
| 139 |
paragraph-separate: "[ ]*$" |
|---|
| 140 |
version-control: never |
|---|
| 141 |
End: |
|---|
| 142 |
|
|---|
| 143 |
|
|---|