Courier-Cygwin: Difference between revisions

From YobiWiki
Jump to navigation Jump to search
Content deleted Content added
<bdi>Twalrant</bdi> (talk | contribs)
No edit summary
<bdi>Twalrant</bdi> (talk | contribs)
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 16: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