Difference between revisions of "Courier-Cygwin"

From YobiWiki
Jump to navigation Jump to search
Line 1: Line 1:
 
=Courier-IMAP=
 
=Courier-IMAP=
   
First of all Courier-IMAP requires the installation of the [http://www.courier-mta.org/authlib/ Courier Authentication Library]
+
Courier-IMAP requires the installation of the [http://www.courier-mta.org/authlib/ Courier Authentication Library] and the following cygwin tools and packages
  +
  +
* patch
  +
* crypt
   
 
==Courier Authentication Library==
 
==Courier Authentication Library==
Line 52: Line 55:
 
</source>
 
</source>
   
  +
Install the patch
Configure the package without most authentication modules keeping only ''userdb''.
 
  +
  +
$ patch -Np1 < courrier-authlib-0.61.0-cygwin.patch
  +
 
Configure the package without most authentication modules, keeping only ''userdb''.
   
 
'''Note''': replace ''mailuser'' by an existing user name (in your /etc/passwd file). I used my own username.
 
'''Note''': replace ''mailuser'' by an existing user name (in your /etc/passwd file). I used my own username.
Line 72: Line 79:
 
Download and untar package [http://www.courier-mta.org/download.php#imap courier-imap] in your favorite sandbox.
 
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]
 
Version used: [http://prdownloads.sourceforge.net/courier/courier-imap-4.4.1.tar.bz2 4.4.1.20080920]
  +
  +
The package compilation fails, due to:
  +
  +
# incorrect usage of EXEEXT in ''makedat/Makefile''
  +
# incorrect usage of EXTEXT in main ''Makefile''
  +
  +
To correct the configuration issues, apply the following [{{#file:courrier-imap-4.4.1-cygwin.patch}} patch] before configuration.
  +
  +
<source lang=diff>
  +
--- courier-imap-4.4.1.20080920/makedat/Makefile.in 2008-08-24 19:52:51.000000000 +0200
  +
+++ courier-imap-4.4.1.20080920-cygwin/makedat/Makefile.in 2008-10-21 20:43:27.500000000 +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@
  +
--- courier-imap-4.4.1.20080920/Makefile.in 2008-09-20 14:48:46.000000000 +0200
  +
+++ courier-imap-4.4.1.20080920-cygwin/Makefile.in 2008-10-21 20:59:45.156250000 +0200
  +
@@ -247,9 +247,9 @@
  +
CLEANFILES = $(databin_SCRIPTS) $(man_MANS) $(sysconf_DATA) $(sbin_SCRIPTS)
  +
databindir = $(datadir)
  +
databin_SCRIPTS = mkimapdcert mkpop3dcert
  +
-binPROGRAMS = imapd pop3d maildirmake maildiracl deliverquota maildirkw
  +
-sbinPROGRAMS = imaplogin pop3login
  +
-libexecPROGRAMS = makedatprog couriertcpd
  +
+binPROGRAMS = imapd$(EXEEXT) pop3d$(EXEEXT) maildirmake$(EXEEXT) maildiracl$(EXEEXT) deliverquota$(EXEEXT) maildirkw$(EXEEXT)
  +
+sbinPROGRAMS = imaplogin$(EXEEXT) pop3login$(EXEEXT)
  +
+libexecPROGRAMS = makedatprog$(EXEEXT) couriertcpd$(EXEEXT)
  +
bin_PROGRAMS = @binPROGRAMS_exec@
  +
sbin_PROGRAMS = @sbinPROGRAMS_exec@
  +
libexec_PROGRAMS = @libexecPROGRAMS_exec@
  +
</source>
  +
  +
Install the patch
  +
  +
$ patch -Np1 < courrier-imap-4.4.1-cygwin.patch
  +
  +
Configure the package without most authentication modules, keeping only ''userdb''.
  +
  +
'''Note''': replace ''mailuser'' by an existing user name (in your /etc/passwd file). 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 second issue.
  +
  +
$ make LDFLAGS=-lcrypt LIBS=-lcrypt
  +
  +
Time to go for a coffee... and then install the libraries with the usual
  +
  +
$ make install
  +
$ make install-configuration
  +
   
 
=Maildir=
 
=Maildir=

Revision as of 21:12, 21 October 2008

Courier-IMAP

Courier-IMAP requires the installation of the Courier Authentication Library and the following cygwin tools and packages

  • patch
  • crypt

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

The package installation fails, due to:

  1. incorrect or incompatible (text-)format of install library files (*.la). Unix like library name (as provided by 'dlname') are not used under cygwin. Hence skip the related operation in the installation.

To correct the first compilation issue and the installation error, apply the following [{{#file:courrier-authlib-0.61.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@
--- courier-authlib-0.61.0/Makefile.in	2008-07-12 21:41:08.000000000 +0200
+++ courier-authlib-0.61.0-cygwin/Makefile.in	2008-10-21 18:51:47.093466600 +0200
@@ -1659,7 +1659,6 @@
 				$(DESTDIR)$(sbindir)/userdbpw ; \
 		$(INSTALL_SCRIPT) userdb-test-cram-md5.pl \
 				$(DESTDIR)$(sbindir)/userdb-test-cram-md5
-	for f in $(pkglib_LTLIBRARIES); do . $$f; rm -f $(DESTDIR)$(pkglibdir)/$$dlname.0 $(DESTDIR)$(pkglibdir)/$$dlname.0.0; ln -s $$dlname $(DESTDIR)$(pkglibdir)/$$dlname.0; done
 
 uninstall-hook: uninstall-authldaprc uninstall-authdaemonrc uninstall-authmysqlrc uninstall-authpgsqlrc
 	rm -f $(DESTDIR)$(pkglibexecdir)/authdaemond

Install the patch

$ patch -Np1 < courrier-authlib-0.61.0-cygwin.patch

Configure the package without most authentication modules, keeping only userdb.

Note: replace mailuser by an existing user name (in your /etc/passwd file). 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 second issue.

$ make LDFLAGS=-lcrypt LIBS=-lcrypt

Take again a long pause... and install the libraries with the usual

$ make install

Compilation and installation

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

The package compilation fails, due to:

  1. incorrect usage of EXEEXT in makedat/Makefile
  2. incorrect usage of EXTEXT in main Makefile

To correct the configuration issues, apply the following [{{#file:courrier-imap-4.4.1-cygwin.patch}} patch] before configuration.

--- courier-imap-4.4.1.20080920/makedat/Makefile.in	2008-08-24 19:52:51.000000000 +0200
+++ courier-imap-4.4.1.20080920-cygwin/makedat/Makefile.in	2008-10-21 20:43:27.500000000 +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@
--- courier-imap-4.4.1.20080920/Makefile.in	2008-09-20 14:48:46.000000000 +0200
+++ courier-imap-4.4.1.20080920-cygwin/Makefile.in	2008-10-21 20:59:45.156250000 +0200
@@ -247,9 +247,9 @@
 CLEANFILES = $(databin_SCRIPTS) $(man_MANS) $(sysconf_DATA) $(sbin_SCRIPTS)
 databindir = $(datadir)
 databin_SCRIPTS = mkimapdcert mkpop3dcert
-binPROGRAMS = imapd pop3d maildirmake maildiracl deliverquota maildirkw
-sbinPROGRAMS = imaplogin pop3login
-libexecPROGRAMS = makedatprog couriertcpd
+binPROGRAMS = imapd$(EXEEXT) pop3d$(EXEEXT) maildirmake$(EXEEXT) maildiracl$(EXEEXT) deliverquota$(EXEEXT) maildirkw$(EXEEXT)
+sbinPROGRAMS = imaplogin$(EXEEXT) pop3login$(EXEEXT)
+libexecPROGRAMS = makedatprog$(EXEEXT) couriertcpd$(EXEEXT)
 bin_PROGRAMS = @binPROGRAMS_exec@
 sbin_PROGRAMS = @sbinPROGRAMS_exec@
 libexec_PROGRAMS = @libexecPROGRAMS_exec@

Install the patch

$ patch -Np1 < courrier-imap-4.4.1-cygwin.patch

Configure the package without most authentication modules, keeping only userdb.

Note: replace mailuser by an existing user name (in your /etc/passwd file). 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 second issue.

$ make LDFLAGS=-lcrypt LIBS=-lcrypt

Time to go for a coffee... and then install the libraries with the usual

$ make install
$ make install-configuration


Maildir

maildirmake is part of the courier-imap package