Bug 7789 - [PATCH] cyrus imapd is outdated (and does not build in many situations)
Summary: [PATCH] cyrus imapd is outdated (and does not build in many situations)
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: stb
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 1998-08-31 11:40 UTC by hans
Modified: 1998-09-23 16:38 UTC (History)
0 users

See Also:


Attachments
file.diff (8.71 KB, patch)
1998-08-31 11:40 UTC, hans
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description hans 1998-08-31 11:40:00 UTC
The cyrus imapd port is outdated, and it fails to cleanly build if tcl
is not installed.

Fix: A patch to upgrade the cyrus port (1.5.2) to the current version (1.5.14)
is included below.  I contacted the original port submitter, but the mail
bounced.  Seems like a new committer is needed for this port.
How-To-Repeat: 
cd /usr/ports/mail/cyrus; make
Comment 1 Ian Vaudrey 1998-08-31 12:56:09 UTC
I'd like to raise a couple of points on this PR

http://www.scriptics.com/software/download.html says: "Tcl/Tk 8.1.
These are the newest experimental releases; they are available only
in alpha form, so they are not very stable yet." Should we not be
depending on tcl-8.0.2 instead?

The last part of these patches refers to a separate port, i.e. my port
of Makedepend. I think that should've been on a separate PR, copied
to me? Also, wasn't the man/man1/makedepend.1.gz line deliberately
dropped from the PLIST because of the recent changes to bsd.port.mk?

 - Ian
Comment 2 hans 1998-08-31 13:52:52 UTC
On Mon, 31 Aug 1998, Ian Vaudrey wrote:

> http://www.scriptics.com/software/download.html says: "Tcl/Tk 8.1.
> These are the newest experimental releases; they are available only
> in alpha form, so they are not very stable yet." Should we not be
> depending on tcl-8.0.2 instead?

I do not object at all.  I'm not normally using tcl (expect for cyrus),
so I just kept the dependency as it was.  I changed the port to use
tcl-8.0.2 in the patch included below.

> The last part of these patches refers to a separate port, i.e. my port
> of Makedepend. I think that should've been on a separate PR, copied
> to me? 

Sorry.  Culpa mea.  I left the makedepend stuff out in the patch included
below so that you (or anyone else) can take care of that. 

> Also, wasn't the man/man1/makedepend.1.gz line deliberately
> dropped from the PLIST because of the recent changes to bsd.port.mk?

Sorry again for my ignorance.  I left the man pages out of cyrus' PLIST to
follow said convention.

-Hans

diff --exclude=CVS -ru cyrus.old/Makefile cyrus/Makefile
--- cyrus.old/Makefile	Tue May 19 15:55:53 1998
+++ cyrus/Makefile	Mon Aug 31 14:35:38 1998
@@ -6,22 +6,23 @@
 # $Id: Makefile,v 1.7 1998/02/25 09:41:30 asami Exp $
 #
 
-DISTNAME=	cyrus-imapd-v1.5.2
-PKGNAME=	cyrus-1.5.2
-CATEGORIES=	mail tcl81
+DISTNAME=	cyrus-imapd-v1.5.14
+PKGNAME=	cyrus-1.5.14
+CATEGORIES=	mail tcl80
 MASTER_SITES=	ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/
 
 MAINTAINER=	jfitz@FreeBSD.ORG
 
-LIB_DEPENDS=	tcl81\\.1\\.:${PORTSDIR}/lang/tcl81
+LIB_DEPENDS=	tcl80\\.1\\.:${PORTSDIR}/lang/tcl80
 BUILD_DEPENDS=	makedepend:${PORTSDIR}/devel/makedepend
 
 HAS_CONFIGURE=	YES
 CONFIGURE_ARGS=	--with-cyrus-prefix=${PREFIX}/cyrus \
 		--with-cyrus-group=cyrus \
-		--with-tcl=${PREFIX} \
 		--with-login=unix_pwcheck \
-		--with-auth=unix
+		--with-tclsh=${PREFIX}/bin/tclsh8.0 \
+		--with-auth=unix \
+		--with-com-err
 
 MAN1=		cyradm.1
 MAN3=		imclient.3
diff --exclude=CVS -ru cyrus.old/README.html cyrus/README.html
--- cyrus.old/README.html	Tue Oct 21 14:23:28 1997
+++ cyrus/README.html	Mon Aug 31 14:49:05 1998
@@ -18,9 +18,9 @@
 a summary on how to use the ports collection.
 
 <p>
-This port requires package(s) "makedepend-95.07.05" to build.
+This port requires package(s) "makedepend-95.07.05 tcl-8.0.2" to build.
 <p>
-
+This port requires package(s) "tcl-8.0.2" to run.
 
 <p><hr><p>
 <a href="../README.html"> Go up one level</a>
diff --exclude=CVS -ru cyrus.old/files/md5 cyrus/files/md5
--- cyrus.old/files/md5	Fri May 30 21:59:08 1997
+++ cyrus/files/md5	Wed Aug 26 11:17:58 1998
@@ -1 +1 @@
-MD5 (cyrus-imapd-v1.5.2.tar.gz) = d9e1471469320c7bc43837ce1b781945
+MD5 (cyrus-imapd-v1.5.14.tar.gz) = e90555be60ec3a647f1661e10cc16458
diff --exclude=CVS -ru cyrus.old/patches/patch-ba cyrus/patches/patch-ba
--- cyrus.old/patches/patch-ba	Sun Feb 15 13:14:14 1998
+++ cyrus/patches/patch-ba	Wed Aug 26 11:29:16 1998
@@ -1,46 +1,42 @@
---- pwcheck/pwcheck.c.orig	Sat Dec 21 02:09:01 1996
-+++ pwcheck/pwcheck.c	Wed Oct  8 15:00:36 1997
-@@ -18,9 +18,16 @@
- #include <sys/socket.h>
- #include <sys/un.h>
- #include <sys/uio.h>
-+#include <paths.h>
-+#include <unistd.h>
-+#include <syslog.h>
- 
- extern int errno;
- 
-+#if !defined(_PATH_PWCHECKPID)
-+    #define _PATH_PWCHECKPID  _PATH_VARRUN "pwcheck.pid"
-+#endif
-+
- /*
-  * Unix pwcheck daemon-authenticated login (shadow password)
-  */
-@@ -35,6 +42,26 @@
-     struct sockaddr_un clientaddr;
-     int r;
-     int len;
-+    char *pid_file = _PATH_PWCHECKPID;
-+    FILE *fp;
-+    pid_t pid;
-+
-+    /*
-+     *   Record process ID - shamelessly stolen from inetd (I.V.)
-+     */
-+    pid = getpid();
-+    fp = fopen(pid_file, "w");
-+    if (fp) {
-+        fprintf(fp, "%ld\n", (long)pid);
-+        fclose(fp);
-+    } else {
-+        syslog(LOG_WARNING, "%s: %m", pid_file);
-+    }
-+
-+    /*
-+     *   Make sure socket is rw for everyone (T.S.)
-+     */
-+    umask(0);
- 
-     s = socket(AF_UNIX, SOCK_STREAM, 0);
-     if (s == -1) {
+*** pwcheck/pwcheck.c.orig	Fri May 15 23:55:22 1998
+--- pwcheck/pwcheck.c	Wed Aug 26 11:28:01 1998
+***************
+*** 31,36 ****
+--- 31,43 ----
+  #include <sys/un.h>
+  #include <sys/uio.h>
+  #include <sys/stat.h>
++ #include <paths.h>
++ #include <unistd.h>
++ #include <syslog.h>
++ 
++ #if !defined(_PATH_PWCHECKPID)
++ # define _PATH_PWCHECKPID  _PATH_VARRUN "pwcheck.pid"
++ #endif
+  
+  extern int errno;
+  
+***************
+*** 49,54 ****
+--- 56,76 ----
+      int r;
+      int len;
+      mode_t oldumask;
++     char *pid_file = _PATH_PWCHECKPID;
++     FILE *fp;
++     pid_t pid;
++ 
++     /*
++      *   Record process ID - shamelessly stolen from inetd (I.V.)
++      */
++     pid = getpid();
++     fp = fopen(pid_file, "w");
++     if (fp) {
++         fprintf(fp, "%ld\n", (long)pid);
++         fclose(fp);
++     } else {
++         syslog(LOG_WARNING, "%s: %m", pid_file);
++     }
+  
+      s = socket(AF_UNIX, SOCK_STREAM, 0);
+      if (s == -1) {
diff --exclude=CVS -ru cyrus.old/patches/patch-bb cyrus/patches/patch-bb
--- cyrus.old/patches/patch-bb	Tue Feb 24 22:43:07 1998
+++ cyrus/patches/patch-bb	Mon Aug 31 14:40:25 1998
@@ -1,13 +1,22 @@
---- cyradm/Makefile.in.orig	Sat Dec 21 02:07:57 1996
-+++ cyradm/Makefile.in	Wed Oct  8 13:56:57 1997
-@@ -21,8 +21,8 @@
- RANLIB = @RANLIB@
- 
- DEFS = @DEFS@
--CPPFLAGS = -I. -I$(srcdir) -I$(srcdir)/../lib -I$(srcdir)/../et @CPPFLAGS@ 
--LIBS = @LIBS@ @TCLLIBS@
-+CPPFLAGS = -I. -I$(srcdir) -I$(srcdir)/../lib -I$(srcdir)/../et -I$(prefix)/include/tcl8.1 @CPPFLAGS@ 
-+LIBS = @LIBS@ -L/usr/local/lib -ltcl81 -lm
- DEPLIBS = ../lib/libcyrus.a @DEPLIBS@ 
- 
- CFLAGS = @CFLAGS@
+*** cyradm/Makefile.in.orig	Tue Jun  9 06:30:40 1998
+--- cyradm/Makefile.in	Wed Aug 26 11:35:46 1998
+***************
+*** 33,41 ****
+  RANLIB = @RANLIB@
+  
+  DEFS = @DEFS@ @TCL_DEFS@
+! CPPFLAGS = -I. -I$(srcdir) -I$(srcdir)/../lib -I$(srcdir)/../et @CPPFLAGS@ @TCL_CPPFLAGS@
+! # lazy approach to linking: just do it a lot
+! LIBS =  @TCL_LIBS@ @LIBS@ @TCL_LIBS@ @LIBS@
+  DEPLIBS = ../lib/libcyrus.a @DEPLIBS@ 
+  
+  CFLAGS = @CFLAGS@
+--- 33,40 ----
+  RANLIB = @RANLIB@
+  
+  DEFS = @DEFS@ @TCL_DEFS@
+! CPPFLAGS = -I. -I$(srcdir) -I$(srcdir)/../lib -I$(srcdir)/../et -I$(prefix)/include/tcl8.0 @CPPFLAGS@ 
+! LIBS = @LIBS@ -L/usr/local/lib -ltcl80 -lm
+  DEPLIBS = ../lib/libcyrus.a @DEPLIBS@ 
+  
+  CFLAGS = @CFLAGS@
diff --exclude=CVS -ru cyrus.old/patches/patch-bc cyrus/patches/patch-bc
--- cyrus.old/patches/patch-bc	Sun Feb 15 13:14:14 1998
+++ cyrus/patches/patch-bc	Wed Aug 26 11:42:40 1998
@@ -1,11 +1,19 @@
---- imap/Makefile.in.orig	Thu Mar 13 10:23:01 1997
-+++ imap/Makefile.in	Wed Oct  8 13:56:57 1997
-@@ -34,7 +34,7 @@
- CYRUS_USER=@cyrus_user@
- CYRUS_GROUP=@cyrus_group@
- 
--DEFS = @DEFS@
-+DEFS = @DEFS@ -DCONFIG_FILENAME=\"$(prefix)/etc/imapd.conf\"
- CPPFLAGS = -I. -I$(srcdir) -I$(srcdir)/../lib -I$(srcdir)/../et @CPPFLAGS@ 
- LIBS = @LIBS@ 
- DEPLIBS = ../et/libcom_err.a ../lib/libcyrus.a @DEPLIBS@
+*** imap/Makefile.in	Wed Aug 26 11:40:10 1998
+--- imap/Makefile.in.orig	Wed Aug 26 11:37:56 1998
+***************
+*** 47,53 ****
+  CYRUS_USER=@cyrus_user@
+  CYRUS_GROUP=@cyrus_group@
+  
+! DEFS = @DEFS@ @LOCALDEFS@
+  CPPFLAGS = -I. -I$(srcdir) -I$(srcdir)/../lib @COM_ERR_CPPFLAGS@ @CPPFLAGS@
+  LIBS = @LIBS@ @COM_ERR_LIBS@
+  DEPLIBS = ../lib/libcyrus.a @DEPLIBS@
+--- 47,53 ----
+  CYRUS_USER=@cyrus_user@
+  CYRUS_GROUP=@cyrus_group@
+  
+! DEFS = @DEFS@ @LOCALDEFS@  -DCONFIG_FILENAME=\"$(prefix)/etc/imapd.conf\"
+  CPPFLAGS = -I. -I$(srcdir) -I$(srcdir)/../lib @COM_ERR_CPPFLAGS@ @CPPFLAGS@
+  LIBS = @LIBS@ @COM_ERR_LIBS@
+  DEPLIBS = ../lib/libcyrus.a @DEPLIBS@
diff --exclude=CVS -ru cyrus.old/patches/patch-bd cyrus/patches/patch-bd
--- cyrus.old/patches/patch-bd	Sun Feb 15 13:14:14 1998
+++ cyrus/patches/patch-bd	Wed Aug 26 11:45:05 1998
@@ -1,13 +1,22 @@
---- imap/config.c.orig	Sat Dec 21 02:08:11 1996
-+++ imap/config.c	Wed Oct  8 13:56:58 1997
-@@ -23,7 +23,9 @@
- 
- extern int errno;
- 
--#define CONFIG_FILENAME "/etc/imapd.conf"
-+#if !defined(CONFIG_FILENAME)
-+	#define CONFIG_FILENAME "/etc/imapd.conf"
-+#endif
- 
- struct configlist {
-     char *key;
+*** imap/config.c.orig	Fri May 15 23:48:14 1998
+--- imap/config.c	Wed Aug 26 11:44:18 1998
+***************
+*** 37,43 ****
+  
+  extern int errno;
+  
+! #define CONFIG_FILENAME "/etc/imapd.conf"
+  /* You'd think this'd be EX_CONFIG, but you'd be wrong.
+     If it's EX_CONFIG then sendmail's result is to fatally reject the
+     message; this isn't desireable, we just want to fail the message in a
+--- 37,46 ----
+  
+  extern int errno;
+  
+! #if !defined(CONFIG_FILENAME)
+! # define CONFIG_FILENAME "/etc/imapd.conf"
+! #endif
+! 
+  /* You'd think this'd be EX_CONFIG, but you'd be wrong.
+     If it's EX_CONFIG then sendmail's result is to fatally reject the
+     message; this isn't desireable, we just want to fail the message in a
diff --exclude=CVS -ru cyrus.old/pkg/PLIST cyrus/pkg/PLIST
--- cyrus.old/pkg/PLIST	Tue May 19 15:55:54 1998
+++ cyrus/pkg/PLIST	Mon Aug 31 14:45:10 1998
@@ -34,18 +34,6 @@
 include/cyrus/util.h
 include/cyrus/xmalloc.h
 lib/libcyrus.a
-man/man1/cyradm.1.gz
-man/man3/imclient.3.gz
-man/man5/imapd.conf.5.gz
-man/man8/arbitron.8.gz
-man/man8/collectnews.8.gz
-man/man8/cyrquota.8.gz
-man/man8/deliver.8.gz
-man/man8/imapd.8.gz
-man/man8/pop3d.8.gz
-man/man8/reconstruct.8.gz
-man/man8/rmnews.8.gz
-man/man8/syncnews.8.gz
 share/doc/cyrus/html/bugs.html
 share/doc/cyrus/html/changes.html
 share/doc/cyrus/html/htmlstrip.c
Comment 3 Ian Vaudrey 1998-08-31 19:40:03 UTC
On 31 August 1998 15:52, Hans Huebner wrote:
> On Mon, 31 Aug 1998, Ian Vaudrey wrote:
> 
> > http://www.scriptics.com/software/download.html says: "Tcl/Tk 8.1.
> > These are the newest experimental releases; they are available only
> > in alpha form, so they are not very stable yet." Should we not be
> > depending on tcl-8.0.2 instead?
> 
> I do not object at all.  I'm not normally using tcl (expect for cyrus),
> so I just kept the dependency as it was.  I changed the port to use
> tcl-8.0.2 in the patch included below.

Ah, sorry, I thought you had changed the dependency.

> > The last part of these patches refers to a separate port, i.e. my port
> > of Makedepend. I think that should've been on a separate PR, copied
> > to me? 
> 
> Sorry.  Culpa mea.  I left the makedepend stuff out in the patch included
> below so that you (or anyone else) can take care of that. 

Please go ahead and PR the update for Makedepend. As long as
it's on a separate PR and I know it's going to happen, I've no
problem with that at all. Just the opposite in fact - it saves me
some work!

<snip> 

> -Hans
> 

 - Ian
Comment 4 stb freebsd_committer freebsd_triage 1998-09-03 00:37:04 UTC
Responsible Changed
From-To: freebsd-ports->stb

Evaluating patches, hoopefully updating port tomorrow. 
Comment 5 stb freebsd_committer freebsd_triage 1998-09-23 16:38:17 UTC
State Changed
From-To: open->closed