diff options
Diffstat (limited to 'debian/README.Debian')
-rw-r--r-- | debian/README.Debian | 200 |
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. |