Difference between revisions of "Courier-Cygwin"

From YobiWiki
Jump to navigation Jump to search
Line 15: Line 15:
 
# missing ''crypt'' library in main ''Makefile''
 
# missing ''crypt'' library in main ''Makefile''
   
  +
The package installation fails, due to:
To correct the first issue, apply the following [{{#file:courrier-authlib-0.61.0-cygwin.patch}} patch] before configuration.
 
  +
  +
# incorrect version of shared library file (*.la)
  +
 
To correct the first compilation issue and the installation error, apply the following [{{#file:courrier-authlib-0.61.0-cygwin.patch}} patch] before configuration.
   
 
<source lang=diff>
 
<source lang=diff>
Line 38: Line 42:
 
makedatprog_DEPENDENCIES = @dblibrary@
 
makedatprog_DEPENDENCIES = @dblibrary@
 
makedatprog_LDADD = @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
 
</source>
 
</source>
   

Revision as of 18:55, 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

The package installation fails, due to:

  1. incorrect version of shared library file (*.la)

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

Configure the package without most authentication modules keeping only userdb. Replace mailuser by an existing user name (in your /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 second issue.

$ make LDFLAGS=-lcrypt LIBS=-lcrypt

Maildir

maildirmake is part of the courier-imap package