Difference between revisions of "Courier-Cygwin"
Line 3: | Line 3: | ||
Courier-IMAP requires the installation of the [http://www.courier-mta.org/authlib/ Courier Authentication Library] and the following cygwin tools and packages |
Courier-IMAP requires the installation of the [http://www.courier-mta.org/authlib/ Courier Authentication Library] and the following cygwin tools and packages |
||
− | * patch |
+ | * patch, tar, make, gcc |
* crypt |
* crypt |
||
+ | * libgdbm-devel |
||
+ | * inetutils |
||
+ | * cygrunsrv |
||
==Courier Authentication Library== |
==Courier Authentication Library== |
||
Line 145: | Line 148: | ||
$ make install |
$ make install |
||
$ make install-configuration |
$ make install-configuration |
||
− | |||
=Maildir= |
=Maildir= |
Revision as of 20:21, 21 October 2008
Courier-IMAP
Courier-IMAP requires the installation of the Courier Authentication Library and the following cygwin tools and packages
- patch, tar, make, gcc
- crypt
- libgdbm-devel
- inetutils
- cygrunsrv
Courier Authentication Library
Download and untar courier-authlib in your favorite sandbox. Version used: 0.61.0
The package compilation fails, due to:
- incorrect usage of EXEEXT in makedat/Makefile
- missing crypt library in main Makefile
The package installation fails, due to:
- 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:
- 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.
--- 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