summaryrefslogtreecommitdiff
path: root/debian/README.Debian
diff options
context:
space:
mode:
Diffstat (limited to 'debian/README.Debian')
-rw-r--r--debian/README.Debian200
1 files changed, 200 insertions, 0 deletions
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644
index 0000000..829bc0a
--- /dev/null
+++ b/debian/README.Debian
@@ -0,0 +1,200 @@
+This is the Debian package for exim4.
+
+As with the apache package, exim4 is an entirely different package
+that does not currently offer a smooth upgrade path from the Debian
+exim 3 packages. exim 3 will stay default MTA for Debian sarge.
+
+It is the first exim package in Debian that can be configured using
+debconf. However, the entire configuration framework is extremely
+flexible, allowing you to get exactly the amount of control you need
+for the job at hand.
+
+To use exim4, you need at least the following packages:
+exim4-base EXperimental Internal Mailer -- a Mail Transport
+exim4-config Debian configuration for exim4
+exim4-daemon-light Lightweight version of the Exim (v4) MTA
+
+Just apting the meta-package exim4 will pull in the other packages per
+dependency. You'll get an exim daemon with minimal feature set (no external
+lookups, no TLS).
+
+If you want to have a different feature set, you can install one of
+the other exim4-daemon-Packages instead of exim4-daemon-light, or you
+can modify the source package to build exim4-daemon-custom according
+to your needs. The infrastructure to do so is already in place, see
+debian/rules for instructions.
+
+********************************************
+Updating from exim 3 ***********************
+********************************************
+
+If you use exim4-config from Debian, you'll get the debconf based
+configration scheme that is intended to cover the majority of cases.
+
+If exim4-config is installed while an exim 3 package is present on the
+system, exim4-config tries to parse the exim 3 config file to
+determine the answers that were given to eximconfig on exim 3
+installation. These answers are then taken as default values for the
+debconf based configuration process. Be warned! eximconfig from the
+exim 3 packages doesn't record the explicit answers given on exim 3
+configuration. So we have to guess the answers from the exim 3
+configuration file /etc/exim/exim.conf, which is bound to fail if the
+config file has been modified after using eximconfig.
+
+This is the reason why we refrained from doing a "silent update", but
+only use the guessed answers to get reasonable defaults for our
+debconf based configuration process.
+
+Please note that we do not use the update4r4 script, but try to
+configure the exim 4 package in the same way exim 3 was. This will
+hopefully aid future updates.
+
+If you have used a customized exim 3 configuration, you can of course
+use update4r4, and install the resulting file as /etc/exim4/exim4.conf
+after careful inspection. exim4 will then use that file and ignore the
+file that it generated from the debconf configuration. To aid future
+updates, we do, however, encourage you not to use the
+update4r4-generated file verbatim but instead drop appropriate
+configuration snippets in their appropriate place in
+/etc/exim4/conf.d.
+
+*******************************************************
+Customizing configuration for using exim4-config ******
+*******************************************************
+
+exim4-config provides update-exim4.conf, a script that uses the files
+from /etc/exim4/conf.d to build the actual exim4 config file located
+in /var/lib/exim4/config.autogenerated. It is invoked by the init
+script prior to any operation that may invoke an exim process, and
+gives an error message if the generated config file is syntactically
+invalid.
+
+Since /var/lib/exim4/config.autogenerated is generated automatically,
+any changes made there are overwritten!
+/var/lib/exim4/config.autogenerated is _NOT_ a dpkg-conffile!
+
+Each directory in /etc/exim4/conf.d corresponds to a section in the
+actual config file, with the contents if the files in that directory
+being written to the config file in alphabetical order. It is
+encouraged that each router, transport etc. goes in its own file.
+
+exim4-config comes with a collection of control files that build to an
+exim configuration that can handle most tasks of mail delivery.
+Additional parameters are asked from the user on package install with
+debconf questions. The result of these debconf questions is written to
+/etc/exim4/update-exim4.conf.conf. If you want to reconfigure exim with
+debconf invoke "dpkg-reconfigure exim4-config". update-exim4.conf uses
+the contents of /etc/exim4/update-exim4.conf.conf to put parameters
+into the generated exim 4 config file. Some files in /etc/exim4/conf.d
+are modified in this process.
+
+The files modified by update-exim4.conf are protected by an md5
+checksum, so that update-exim4.conf can refrain from changing these
+files if they have been manually modified. This might result in a
+non-working exim 4 configuration, so you might want to set
+conftype=none to keep update-exim4.conf from modifying any
+/etc/exim/conf.d file.
+
+More information about exim4-config's update-exim4.conf can be found
+in its man page, update-exim4.conf(8).
+
+If you want to use a handcrafted, monolithic exim.conf file, you can
+put that file into /etc/exim4/exim4.conf, and exim will use that file.
+/var/lib/exim4/config.autogenerated, the file generated by
+update-exim4.conf, is ignored in that case. You might want to set
+conftype=none in that case. You should not edit /etc/exim4/exim4.conf
+directly when exim is running, because the forked processes exim starts
+for SMTP receiving or queue running would use the new configuration file,
+while the original main exim-daemon would still use the old configuration
+file.
+
+
+*******************************************************
+Using a completely different configuration scheme *****
+*******************************************************
+
+If you want to, you can replace exim4-config by something entirely
+different. The other packages don't care. Your package needs to:
+
+- Provides: exim4-config, Conflicts: exim4-config
+- drop the exim 4 configuration either into
+ /var/lib/exim4/config.autogenerated or into /etc/exim4/exim4.conf.
+
+Your package might provide an executeable update-exim4.conf that must
+be in root's path (/usr/sbin recommended). The init script will invoke
+that executable prior to invoking the actual exim daemon.
+
+The Source Package has a subdirectory debian/exim4-config-simple which
+contains a simple, not debconf-driven configuration scheme as example
+(in form of a Debian source package). And you can invoke
+"debian/config-custom/create-custom-package" which will create a new
+source package "exim4-config-custom" with the debconf-driven config
+scheme of exim4-config for your local modification.
+
+Exchanging the entire exim4-config package with something custom comes
+particularly handy for sites that have more than a few machines that
+are similarly configured, but doesn't want to use the original
+exim4-config package. Build your own exim4-config-custom or
+exim4-config-foo, and simply apt that package to the machines that
+need to have that configuration. Future updates can then be handled
+via the dpkg-conffile mechanism, properly detecting local modifications.
+
+
+
+********************************************
+Misc Notes *********************************
+********************************************
+
+PAM:
+On Debian systems the PAM modules run as the same user as the calling program,
+so they can't do anything you couldn't do yourself, and in particular can't
+access /etc/shadow unless the user is in group shadow. - If you want to use
+/etc/shadow for Exim's SMTP AUTH you will need to run exim as group shadow.
+Only exim4-daemon-heavy is linked against libpam.
+_____________________________________________
+
+convert4r4 ist installed as /usr/sbin/exim_convert4r4.
+_____________________________________________
+
+The CVS repository of the Debian package is publically accessible on
+alioth.debian.org, see https://alioth.debian.org/projects/pkg-exim4
+_____________________________________________
+
+********************************************
+Modifications ******************************
+********************************************
+Patches by Steve Haslam available from
+ http://www.arise.demon.co.uk/exim-patches/:
+******
+boolean_redefine_protect
+ [src/mytypes.h]
+ Surround the definition of TRUE and FALSE macros with #ifndef
+ /#endif, in case some other header defines them (from mixing No
+ Perl and Exim, istr)
+
+******
+Other stuff
+******
+* link exim dynamically against pcre.
+
+* The main binary is /usr/sbin/exim4:
+ - src/globals.c was changed to use 'US BIN_DIRECTORY "/exim4"' as default
+ for exim_path.
+ - changed default for $exim_path (modulo lower/upper case) from
+ BIN_DIRECTORY/exim to BIN_DIRECTORY/exim4 in exicyclog.src,
+ exim_checkaccess.src, eximon.src, exinext.src, exiqgrep.src,
+ exiwhat.src.
+ - OS/Makefile-Linux:EXIWHAT_MULTIKILL_ARG=exim4
+
+* localscan_dlopen.patch downloaded from
+ http://marc.merlins.org/linux/exim/files/sa-exim-current/
+ Allow to use and switch between different local_scan functions without
+ recompiling exim.
+ Use
+ local_scan_path = /path/to/sharedobject
+ to utilze local_scan() in /path/to/sharedobject
+
+* local_scan.c perl plugin by Richard Baker <rich@mondaymorning.org> from
+ http://oss.bibliotech.net/ - Modified to compile as shared object that can be
+ dlopened.
+ Use perl script /etc/exim4/local_scan.pl for local scan API.