summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchristos <christos@pkgsrc.org>2003-01-07 18:25:21 +0000
committerchristos <christos@pkgsrc.org>2003-01-07 18:25:21 +0000
commit2e3434370fecb082af34d74c8f68a5f64b03abcb (patch)
tree9f9b1fa28279d8ebd455358ecc37a2851f8dff2d
parent1c41e3f50814550aef2d5a84e964417560106210 (diff)
downloadpkgsrc-2e3434370fecb082af34d74c8f68a5f64b03abcb.tar.gz
- deal with NetBSD failing on mkdir("foo/"), rmdir("foo/") etc.
- print the correct errors, not from a stale error code.
-rw-r--r--mail/cyrus-imapd21/distinfo3
-rw-r--r--mail/cyrus-imapd21/patches/patch-ak58
2 files changed, 60 insertions, 1 deletions
diff --git a/mail/cyrus-imapd21/distinfo b/mail/cyrus-imapd21/distinfo
index e34cfe50a10..32f60a4d69f 100644
--- a/mail/cyrus-imapd21/distinfo
+++ b/mail/cyrus-imapd21/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.3 2002/12/08 00:39:43 chris Exp $
+$NetBSD: distinfo,v 1.4 2003/01/07 18:25:21 christos Exp $
SHA1 (cyrus-imapd-2.1.11.tar.gz) = 33a575ff1212362c7c6e6f195669c3ef866364d2
Size (cyrus-imapd-2.1.11.tar.gz) = 1646196 bytes
@@ -13,3 +13,4 @@ SHA1 (patch-ag) = 55e7bbd00f8fe4b47d48fad3a06e3ad0aa835a4a
SHA1 (patch-ah) = 99e25634852897f8df72b9af5f35789a0ef4b892
SHA1 (patch-ai) = df0551cd295d660dcd12601cb1aa2d930f85d2f1
SHA1 (patch-aj) = df5f4ebee3d971a257c514beda4ca9cf5b315ca0
+SHA1 (patch-ak) = ce82f0f97591f8808dd2d089a09712636e782f38
diff --git a/mail/cyrus-imapd21/patches/patch-ak b/mail/cyrus-imapd21/patches/patch-ak
new file mode 100644
index 00000000000..79e638bd1e4
--- /dev/null
+++ b/mail/cyrus-imapd21/patches/patch-ak
@@ -0,0 +1,58 @@
+--- imap/ctl_cyrusdb.c.orig Wed May 29 12:49:14 2002
++++ imap/ctl_cyrusdb.c Tue Jan 7 13:03:45 2003
+@@ -231,9 +231,9 @@
+
+ /* create the names of the backup directories */
+ strcpy(backup1, dirname);
+- strcat(backup1, ".backup1/");
++ strcat(backup1, ".backup1");
+ strcpy(backup2, dirname);
+- strcat(backup2, ".backup2/");
++ strcat(backup2, ".backup2");
+
+ syslog(LOG_NOTICE, "%s", msg);
+
+@@ -274,7 +274,7 @@
+ r2 = (dblist[i].env)->sync();
+ if (r2) {
+ syslog(LOG_ERR, "DBERROR: sync %s: %s", dirname,
+- cyrusdb_strerror(r));
++ cyrusdb_strerror(r2));
+ fprintf(stderr,
+ "ctl_cyrusdb: unable to sync environment\n");
+ }
+@@ -289,6 +289,7 @@
+ struct dirent *dirent;
+
+ tail = backup2 + strlen(backup2);
++ *tail++ = '/';
+
+ /* remove db.backup2 */
+ dirp = opendir(backup2);
+@@ -302,7 +303,7 @@
+
+ closedir(dirp);
+ }
+- *tail = '\0';
++ tail[-1] = '\0';
+ r2 = rmdir(backup2);
+
+ /* move db.backup1 to db.backup2 */
+@@ -323,7 +324,7 @@
+
+ if (r2) {
+ syslog(LOG_ERR, "DBERROR: archive %s: %s", dirname,
+- cyrusdb_strerror(r));
++ cyrusdb_strerror(r2));
+ fprintf(stderr,
+ "ctl_cyrusdb: unable to archive environment\n");
+ }
+@@ -342,7 +343,7 @@
+
+ r2 = (dblist[i].env)->done();
+ if (r2) {
+- syslog(LOG_ERR, "DBERROR: done: %s", cyrusdb_strerror(r));
++ syslog(LOG_ERR, "DBERROR: done: %s", cyrusdb_strerror(r2));
+ }
+ }
+