Difference between revisions of "Courier-Cygwin"

From YobiWiki
Jump to navigation Jump to search
Line 1: Line 1:
 
=Courier-IMAP=
 
=Courier-IMAP=
Version: 4.4.1.20080920 from http://www.courier-mta.org/imap/
+
Download and untar package [http://www.courier-mta.org/download.php#imap courier-imap] in your favorite sandbox.
  +
Version used: [http://prdownloads.sourceforge.net/courier/courier-imap-4.4.1.tar.bz2 4.4.1.20080920]
   
Courier-IMAP requires the installation of the Courier Authentication Library http://www.courier-mta.org/authlib/
+
Courier-IMAP requires the installation of the [http://www.courier-mta.org/authlib/ Courier Authentication Library]
  +
  +
==Courier Authentication Library==
  +
  +
Download and untar [http://www.courier-mta.org/download.php#authlib courier-authlib] in your favorite sandbox.
  +
Version used: [http://prdownloads.sourceforge.net/courier/courier-authlib-0.61.0.tar.bz2 0.61.0]
  +
  +
The package compilation fails, due to:
  +
  +
# incorrect usage of EXEEXT in ''makedat/Makefile''
  +
# missing ''crypt'' library in main ''Makefile''
  +
  +
To correct the first issue, apply the following [{{#file:courrier-authlib-061.0-cygwin.patch}} patch] before configuration.
  +
  +
<source lang=diff>
  +
--- courier-authlib-0.61.0/makedat/Makefile.in 2008-05-24 16:21:09.000000000 +0200
  +
+++ courier-authlib-0.61.0-cygwin/makedat/Makefile.in 2008-10-21 16:02:38.709166700 +0200
  +
@@ -182,7 +182,7 @@
  +
libexecdir = @libexecdir@
  +
localedir = @localedir@
  +
localstatedir = @localstatedir@
  +
-makedatprog_target = @makedatprog_target@
  +
+makedatprog_target = @makedatprog_target@$(EXEEXT)
  +
makedatprogpath = @makedatprogpath@
  +
mandir = @mandir@
  +
mkdir_p = @mkdir_p@
  +
@@ -198,7 +198,7 @@
  +
target_alias = @target_alias@
  +
top_builddir = @top_builddir@
  +
top_srcdir = @top_srcdir@
  +
-noinst_PROGRAMS = @makedatprog_target@
  +
+noinst_PROGRAMS = @makedatprog_target@$(EXEEXT)
  +
makedatprog_SOURCES = makedatprog.c
  +
makedatprog_DEPENDENCIES = @dblibrary@
  +
makedatprog_LDADD = @dblibrary@
  +
</source>
  +
  +
Configure the package without most authentication modules keeping only ''userdb''. Replace ''mailuser'' by an existing user name (in you /etc/passwd file). Note: I used my own username.
  +
  +
$ ./configure --disable-root-check --with-waitfunc=wait --without-authpam --without-authldap --without-authpwd \
  +
--without-authshadow --without-custom --without-authpipe --without-authmysql --without-authpgsql --with-mailuser=mailuser \
  +
--with-mailgroup=mkgroup-l-d --enable-shared=no
  +
  +
Take a long pause... and when ready execute the following command. The ''LDFLAGS'' and ''LIBS'' variables are used to correct the 2nd issue.
  +
  +
$ make LDFLAGS=-lcrypt LIBS=-lcrypt
  +
  +
During some test I also encounter a compilation error complaining about function res_query (See http://www.cygwin.com/ml/cygwin/2005-04/msg00926.html for details). You'll need to change the configuration script to include <sys/types.h> before <netinet/in.h> in the section testing res_query. TODO: provide a patch.
   
 
=Maildir=
 
=Maildir=

Revision as of 18:21, 21 October 2008

Courier-IMAP

Download and untar package courier-imap in your favorite sandbox. Version used: 4.4.1.20080920

Courier-IMAP requires the installation of the Courier Authentication Library

Courier Authentication Library

Download and untar courier-authlib in your favorite sandbox. Version used: 0.61.0

The package compilation fails, due to:

  1. incorrect usage of EXEEXT in makedat/Makefile
  2. missing crypt library in main Makefile

To correct the first issue, apply the following [{{#file:courrier-authlib-061.0-cygwin.patch}} patch] before configuration.

--- courier-authlib-0.61.0/makedat/Makefile.in  2008-05-24 16:21:09.000000000 +0200
+++ courier-authlib-0.61.0-cygwin/makedat/Makefile.in   2008-10-21 16:02:38.709166700 +0200
@@ -182,7 +182,7 @@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-makedatprog_target = @makedatprog_target@
+makedatprog_target = @makedatprog_target@$(EXEEXT)
 makedatprogpath = @makedatprogpath@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -198,7 +198,7 @@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-noinst_PROGRAMS = @makedatprog_target@
+noinst_PROGRAMS = @makedatprog_target@$(EXEEXT)
 makedatprog_SOURCES = makedatprog.c
 makedatprog_DEPENDENCIES = @dblibrary@
 makedatprog_LDADD = @dblibrary@

Configure the package without most authentication modules keeping only userdb. Replace mailuser by an existing user name (in you /etc/passwd file). Note: I used my own username.

$ ./configure --disable-root-check --with-waitfunc=wait --without-authpam --without-authldap --without-authpwd \
--without-authshadow --without-custom --without-authpipe --without-authmysql --without-authpgsql --with-mailuser=mailuser \
--with-mailgroup=mkgroup-l-d --enable-shared=no

Take a long pause... and when ready execute the following command. The LDFLAGS and LIBS variables are used to correct the 2nd issue.

$ make LDFLAGS=-lcrypt LIBS=-lcrypt

During some test I also encounter a compilation error complaining about function res_query (See http://www.cygwin.com/ml/cygwin/2005-04/msg00926.html for details). You'll need to change the configuration script to include <sys/types.h> before <netinet/in.h> in the section testing res_query. TODO: provide a patch.

Maildir

maildirmake is part of the courier-imap package