Make your own free website on Tripod.com

cyrus-imapd RPM packages


Standard disclaimer:

The files which may be downloaded from this site are provided without any warranties or support.


RPM packages specific notes

This is the content of the README.RPM now included in the cyrus-imapd-doc sub-package:
RPM packages of Cyrus IMAPd server
----------------------------------

Cyrus IMAPd version: 2.0.14
rpm package release: 3rm
Release date       : Mon Jul 16 2001

1. Intro

   This set of rpm packages forked from the versions shipped with Red 
   Hat Linux Powertools when Cyrus IMAPd was at version 2.0.7. The 
   goals are a) follow more closely the Cyrus releases, b) fix bugs 
   and omissions and c) add the necessary features in order to facili-
   tate the use of the software in a production environment with Red 
   Hat Linux servers. Posterior fixes from Red Hat to their packages 
   are being tracked and incorporated as well.

   The packages were built and tested in a Red Hat Linux 6.2 system 
   with every relevant official errata published by Red Hat applied. 
   The version of rpm used is 3.0.5 (more specifically, the version of 
   official errata 
   http://www.redhat.com/support/errata/RHEA-2000-051.html, note that 
   I'm not yet using the recently published official update of rpm to 
   version 4.0.2).

   IMPORTANT: It is recommendable to download the source rpm and 
              rebuild it with:

              # rpm --rebuild <cyrus-imapd-x.x.x-x.src.rpm>

              in your system. Please read all this file to understand
	      the reason.

   I'm trying to make the packages compatible with versions 7 and 7.1 
   of Red Hat Linux as well (read: you should be able to download 
   the source rpm of Cyrus IMAPd from this site, re-build your own
   set of binary rpms and install them) but I have no means to be 
   sure the re-build process will be successful because I do not have 
   yet a system running such versions of Red Hat Linux (I'm planning 
   to install 7.1 soon). Please share your experiences with me and 
   help me improve the packages.
   
2. Packaging

   The software is split in 5 (five) packages: main package, -doc, 
   -devel, perl-Cyrus and -utils sub-packages. Notes:
   
   - It is recommended to always install the -doc sub-package (you 
     can even install it before the main package). All the referen-
     ces below to the Cyrus IMAPd documentation are to files contai-
     ned in the cyrus-imapd-doc rpm.
   - The main package contains the server programs.
   - The -utils sub-package contains utilities needed to perform ba-
     sic administrative tasks. These utilities communicate with the 
     server using the IMAP protocol. Install this sub-package in all 
     hosts of your network from where you want to perform these tasks 
     (including the host running the server).
   - The perl-Cyrus sub-package contains the Perl modules 
     Cyrus::IMAP::{,Admin,IMSP,Shell} and Cyrus::SIEVE::{acap,manage-
     sieve} trying to mimic the DNA CPAN rpm packages. Some utilities 
     in the -utils sub-package need perl-Cyrus.
     
   The packages are GPG signed. You can download My GPG public key 
   from:

     http://rmrpms.tripod.com/RM-GPG-KEY
     
   or from

     http://www.rmorales.com.ar/RM-GPG-KEY

3. Upgrade/Installation notes

   Since version of 2.0.9 the pre-uninstall script of the main rpm 
   package stops unconditionally the master daemon and the 
   post-uninstall script does not start it automatically.

   The logic behind this behavior is:

   If the user is upgrading a production server she/he should get 
   a chance of reading the documentation and then doing all the 
   necessary tasks to prepare the system before starting the daemon; 
   the format/location of some file(s) used by the software may change 
   even between minor releases and running some utilities may be 
   necessary as a previous step to starting the new server for the 
   first time.

   This is specially true if the previous version of Cyrus IMAPd 
   you have is 1.x.x (so you are doing a major version upgrade) AND 
   if you have installed it from a rpm package. Unfortunately in 
   this case the pre-uninstall of the old package is already stored 
   in the system and rpm will always run it, if the script does the 
   following checking "If an upgrade is in progress and the old dae-
   mon was running then start the new daemon" it will end doing what 
   we are trying to avoid don't matter what we do in the install 
   scripts of the 2.x.x rpm packages. The only way to avoid it is by 
   stopping the old daemon.

   Another characteristic of the rpm packages is the SysV init script 
   is installed but is not configured to start Cyrus automatically in 
   any run-level so when you are happy with your configuration don't 
   forget to activate it with ntsysv or chkconfig. 

   Taking in account these and some other issues we can build the fo-
   llowing list of recommended pre-install/-upgrade tasks. Perform 
   the relevant ones for your case:

   3.1.  For all users:

   The installation does not configures the system to start Cyrus 
   IMAPd automatically at boot-time. You can do it with your favorite 
   SysV run-level editor.

   3.2. For all users upgrading from some rpm package version:

   Stop the old daemon before the upgrade operation. It keeps the
   post-uninstall script of the previous version from starting
   automatically the new daemon.

   3.3. For users upgrading from a rpm package not downloaded from 
        this site:

   Please check the directories /var/imap and /var/spool/imap 
   and sub-directories below them with the lsattr command to be sure 
   some of them have the S ext2fs attribute set (read 
   install-configure.html in the Cyrus IMAPd documentation to find 
   the detailed recommendations for Linux systems). If you are doing 
   a fresh install or upgrading from a rpm package downloaded from 
   this site you can skip this manual check because the post-install 
   script takes care of setting the S attribute in the right directo-
   ries.

   3.4. For users upgrading from versions < 2.0.x of Cyrus IMAPd:

   Please read the Cyrus IMAPd documentation before upgrading; the 
   critical files to read are:
   
     changes.html 
     This file describes all functional changes.
   
     install-configure.html
     Linux-specific recommended list of directories that should get 
     the synchronous-write ext2fs attribute applied changed starting 
     with version 2 of Cyrus IMAPd.

     install-upgrade.html 
     his file details the recommended upgrade procedures.

   3.5. For users upgrading from release 2.0.9-4.62.crm of the rpm 
        package downloaded from this site:

   The package is now split in a main package and four sub-packages:
   -doc, -devel, perl-Cyrus and -utils.

   After the upgrade process you will get a 
   /var/imap/mailboxes.db.rpmsave file, please rename the file to 
   /var/imap/mailboxes.db and then start the new daemon (this is 
   because the file was marked as an configuration file in the old  
   release so rpm saves it at un-install time). If you have a produc-
   tion installation and want to be really safe I should not tell you 
   must save a backup copy of the file before the upgrade. Just don't 
   forget to check it is owned by user cyrus and group mail before 
   starting the server.

   If you use timsieved, read install-upgrade.html included with the 
   Cyrus IMAPd documentation.

   3.6. For users upgrading from release 2.0.11-5.62.crm of the rpm 
        packages downloaded from this site:

   The package is now split in a main package and four sub-packages:
   -doc, -devel, perl-Cyrus and -utils.

4. Specific user/group creation during install

   This rpm creates an user "cyrus" with UID 76 and a group "shadow" 
   with GID 76, if the user or group already exist and they do not 
   use the UID/GID or if either UID or GID are already assigned to 
   another user/group then the installation process fails.

5. Installation logging

   During installation and removal, errors in such actions as creating
   or deleting the cyrus userID in /etc/passwd generate commentary 
   via logger(1) with syslog. In a standard Red Hat system this will 
   be recorded in /var/log/messages.
   In case of error and in order to be able to diagnostic it, the fo-
   llowing command should extract them:

   grep cyrus/rpm /var/log/messages

   (this feature is based in code used by Simon J. Mudd in the 
   Postfix rpm packages he maintains).

6. Build dependencies

   This is the list of packages that must be present in the system 
   before you try to rebuild the Cyrus IMAPd source rpm:

   rpm-build
   cyrus-sasl-devel >= 1.5.24-11
   e2fsprogs-devel
   perl
   tcp_wrappers
   db3
   db3-devel
   openssl-devel
   flex
   bison
   sendmail-cf (if you activate support for Sendmail, see below)
   dracd (if you activate support for DRACd, see below)

   additionally the following programs are necessary:

   /usr/sbin/useradd, /usr/sbin/groupadd, /usr/sbin/usermod
   (shadow-utils package in Red Hat Linux distribution)

   /usr/bin/logger
   (util-linux package in Red Hat Linux distribution)

   /usr/bin/id
   (utils package in Red Hat Linux distribution)

   NOTE: You must have the 'rpm-build' sub-package of rpm installed 
   to be able to (re)build rpm packages.
   
7. Installation dependencies

   This is the list of packages that must be present in the system 
   before installing the Cyrus IMAPd rpm:

   cyrus-sasl >= 1.5.24-11
   db3
   openssl
   perl
   tcp_wrappers

   additionally the following programs are necessary:

   /usr/sbin/useradd, /usr/sbin/groupadd, /usr/sbin/usermod
   (shadow-utils package in Red Hat Linux distribution)

   /usr/bin/logger
   (util-linux package in Red Hat Linux distribution)

   /usr/bin/id
   (utils package in Red Hat Linux distribution)

8. OpenSSL notes

   Since OpenSSL does not comes in Red Hat Linux 6.2 you can obtain 
   it from the official errata

   http://www.redhat.com/support/errata/RHEA-2000-085.html

   these OpenSSL packages were published to allow the installation of 
   an updated version of pine in Red Hat Linux 6.2.

9. db3 notes

   IMPORTANT: You must have Cyrus IMAPd and Cyrus SASL linked against 
   the SAME version of db3.

   Since db3 does not comes in Red Hat Linux 6.2 you can obtain it 
   from the official errata

   http://www.redhat.com/support/errata/RHEA-2001-015.html

   these db3 packages were published to allow the installation of 
   rpm 4.0.2 in Red Hat Linux 6.2.
   
   Now you can rebuild Cyrus SASL (see below) and Cyrus IMAPd in your 
   system.

10. Cyrus SASL notes

   Since Cyrus SASL does not comes in Red Hat Linux 6.2 you can 
   obtain it by downloading a source rpm of Cyrus SASL from the 
   official errata for Red Hat Linux 7 (or from the Red Hat Linux 7.1 
   distribution or from Rawhide) and rebuilding it in your system. 
   Just be sure you use a package release >= 11 of Cyrus SASL 1.5.24 
   because previous revisions have a serious security bug (see 
   http://www.redhat.com/support/errata/RHSA-2000-094.html).

   You must have installed the db3 rpm packages before rebuilding 
   Cyrus SASL (see above).

11. Quick per-RHL version checklist

   As a short conclusion of the above notes this is the status of the 
   relevant packages in different versions of Red Hat Linux. Beware I 
   actually only tested the packages on a RHL 6.2 system.
   
   RHL 6.2:
     db3: Not included in original distribution. Install packages 
     announced in
        http://www.redhat.com/support/errata/RHEA-2001-015.html
     be sure to install at least db3 main package and db3-devel 
     sub-package.
 
     OpenSSL: Not included in original distribution. Install packages 
     announced in
        http://www.redhat.com/support/errata/RHEA-2000-085.html
     be sure to install both openssl main package and openssl-devel 
     sub-package.

     Cyrus SASL: Not included in original distribution. download the 
     source rpm package announced in the security advisory for RHL 7
       http://www.redhat.com/support/errata/RHSA-2000-094.html
     and rebuild it in your system. After that install at least the 
     resultant cyrus-sasl and cyrus-sasl-devel packages. You can also
     try rebuilding the source rpm from RHL 7.1.

   RHL 7:
     db3: Already included in original distribution. Be sure to ins-
     tall at least db3 main package and db3-devel sub-package.
 
     OpenSSL: Already included in original distribution. Be sure to 
     install both openssl main package and openssl-devel sub-package.

     Cyrus SASL: Already included in original distribution but you 
     must install the packages announced in the security advisory
       http://www.redhat.com/support/errata/RHSA-2000-094.html
     Be sure to install at least the cyrus-sasl and cyrus-sasl-devel 
     packages.

   RHL 7.1:
     db3: Already included in original distribution. Be sure to ins-
     tall at least db3 main package and db3-devel sub-package.
 
     OpenSSL: Already included in original distribution. Be sure to 
     install both openssl main package and openssl-devel sub-package.

     Cyrus SASL: Already included in original distribution. Be sure 
     to install at least the cyrus-sasl and cyrus-sasl-devel packages.

12. Sendmail -- optional support

   In this version of the rpm package, the inclusion of some files 
   very specific to the task of using Cyrus IMAPd with the Sendmail 
   MTA is selectable at build time. If you use Postfix, Exim, Qmail, 
   ..., you are not in danger if you install a package with this op-
   tion activated because no system configuration is made/modified 
   and you just end with a couple of extra files in your filesystem.

   Additionally, you can select support of Sendmail as packaged in 
   Red Hat Linux 6.2, 7 or as packaged in version 7.1.

   By default the specfile comes with support for Sendmail as shipped 
   in RHL 6.2 and 7 turned on. you can change this adding

   --define 'sendmail_rhl71 1'

   to the command line of rpm when you do

   # rpm -bx|--recompile|--rebuild <cyrus-imapd-x.x.x-xx.src.rpm>

   to specify support for Sendmail shipped in RHL 7.1, or adding

   --define 'disable_sendmail 1'

   to disable support for Sendmail, this also deletes sendmail-cf 
   from the list of build dependencies.

13. DRACd -- optional support

   It is possible to add support for the DRACd (Dynamic Relay Autho-
   rization Control daemon) by applying a modified version of the 
   relevant patch located in the contrib directory of the source 
   distribution of Cyrus IMAPd.

   If you want to know more about DRAC see

   http://mail.cc.umanitoba.ca/drac/

   Activating this feature will add a build-time dependency on the 
   DRAC static library but will allow one to use the resultant bina-
   ries even when the system where you install them does not have 
   DRACd installed/active because activation of this support is done 
   at run-time by means of setting a couple of configuration variables 
   in imapd.conf(5)

   By default DRACd support is turned off, you can enable it adding

   --define 'enable_drac 1'

   to the command line of rpm when you do

   # rpm -bx|--recompile|--rebuild <cyrus-imapd-x.x.x-xx.src.rpm>

   You can download rpm packages of DRACd packages in rpm format I 
   maintain from http://rmrpms.tripod.com/

14. Syslog configuration

   The installation process creates an empty /var/log/imapd.log 
   file and logrotate is configured to rotate it. But you should 
   configure syslog to send the messages of local6 facility 
   to this file adding a line to /etc/syslog.conf like:
   
	local6.<level>	/var/log/imapd.log
	
   with <level> selecting the verbosity you want (see overview.html 
   and install-configuration.html in the Cyrus IMAPd documentation).
   
   Also, in the Red Hat Linux default configuration of syslog you 
   may get the Cyrus IMAPd messages going also to /var/log/messages, 
   This signifies the log messages are duplicated and if the verbosity 
   selected with the above line is high, it will pollute the logs in 
   the latter file. You can avoid it changing the /etc/syslog.conf 
   line that reads:

   *.info;mail.none;authpriv.none		/var/log/messages

   to

   *.info;mail.none;authpriv.none;local6.none	/var/log/messages

15. Authentication method

    As the rpms from Red Hat, the default authentication method the 
    server uses is the sasldb method. If you want to use another me-
    thod you can change it (read the file install-auth.html in the 
    Cyrus IMAPd documentation to learn about the different methods 
    the server supports).

16. To do list

   - I added tcp_wrappers to the install time required dependencies 
     list, it this correct?.

   - Analyze which packages should be (Build)Requires and which packa-
     ges should be (Build)Prereq.

   - Consider upgrading to rpm 4.0.2.

17. Feedback

   Please send any comments, rants, bug-reports, etc. about the 
   packages or this file to rmrpms at usa dot net.

// -- end of file ---

Changes

Most relevant changes since the last release:

- GPG sign the packages
- Change initscript strategy used to avoid killing Postfix master on 
   stop: copy fragments from /etc/init.d/functions of RHL 7.1
- Update to 2.0.14
- note about auth method in README.RPM
- Ship perl modules docs
- Add e2fsprogs prereq
- create -utils sub-package.
- create perl-Cyrus sub-package.
- remove rmnews manpage, feedcyrus tool.

Download

Download the source RPM to rebuild it in your system (recommended)

You can then do (you must be root for the following steps):

rpm -i cyrus-imapd-VVV-RRR.src.rpm

Now you can (in the /usr/src/redhat/SPECS directory) do:

rpm -ba /usr/src/redhat/SPECS/cyrus-imapd-....spec
And then you will have your personalized RPMs in
/usr/src/redhat/RPMS/<yourarchitecture>

Or if you use an Intel system you can download the i386 binary RPMs built on my Red Hat Linux 6.2 system.


Changes (to this page)

* Wed Jul 25 2001
- Change page access counter service provider.

* Tue Jul 17 2001
- http://validator.w3.org/ validation service passed.

* Mon Jul 16 2001
- version 2.0.14; release 3rm announced. Update README.RPM contents.

* Wed May  9 2001
- version 2.0.12; release 9rm announced. Update README.RPM contents.

* Mon Apr 30 2001
- version 2.0.12; release 8rm announced. Update README.RPM contents.

* Wed Apr  4 2001
- Add links to the packages ;-)

* Tue Apr  3 2001
- version 2.0.12; release 5rm announced.

* Wed Feb 28 2001
- Delete 'the initscript problem when stopping the daemon' problem from the ToDo 
  list because it was fixed just before releasing the package.

* Thu Feb 15 2001
- Added postfix related changes description. Fixed typos and mod date of page.

* Wed Feb 14 2001
- version 2.0.11; release 5.62.crm announced.


Back to main page

Valid HTML 4.01!

Last modified Wed Jul 25 2001
Ramiro Morales <rmrpms at usa dot net>