On 2014-01-18 02:08, Bron Gondwana wrote:
The version of Xapian that we build against has the following patches
applied to the upstream Debian xapian-core before building:

  rm -rf .pc # remove memory of the debian quilt series
  cp -a $FMPATCHES/xapian_quilt patches
  QUILT_PATCHES=patches quilt push -a || exit
  autoreconf || exit

I've attached a tarball with the patches in it.


Thanks for these, I've built (without *DAV) using the following patch attached.

The conundrum is the build dependencies are not required by configure, but are required by the code, if --enable-http is not given.

Kind regards,

Jeroen van Meeuwen

--
Systems Architect, Kolab Systems AG

e: vanmeeuwen at kolabsys.com
m: +44 74 2516 3817
w: http://www.kolabsys.com

pgp: 9342 BF08
diff --git a/imap/mailbox.c b/imap/mailbox.c
index f9ae70a..3baf44e 100644
--- a/imap/mailbox.c
+++ b/imap/mailbox.c
@@ -51,7 +51,9 @@
 #elif defined(HAVE_STDINT_H)
 # include <stdint.h>
 #endif
+#ifdef WITH_DAV
 #include <libical/vcc.h>
+#endif
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -81,8 +83,10 @@
 
 #include "annotate.h"
 #include "assert.h"
+#ifdef WITH_DAV
 #include "caldav_db.h"
 #include "carddav_db.h"
+#endif
 #include "crc32.h"
 #include "md5.h"
 #include "exitcodes.h"
@@ -2666,6 +2670,7 @@ out:
     return r;
 }
 
+#ifdef WITH_DAV
 static int mailbox_update_carddav(struct mailbox *mailbox,
 				 struct index_record *old,
 				 struct index_record *new)
@@ -2886,6 +2891,7 @@ static int mailbox_update_dav(struct mailbox *mailbox,
 	return mailbox_update_caldav(mailbox, old, new);
     return 0;
 }
+#endif //WITH_DAV
 
 EXPORTED int mailbox_update_conversations(struct mailbox *mailbox,
 				 struct index_record *old,
@@ -3112,8 +3118,10 @@ static int mailbox_update_indexes(struct mailbox *mailbox,
 {
     int r = 0;
 
+#ifdef WITH_DAV
     r = mailbox_update_dav(mailbox, old, new);
     if (r) return r;
+#endif
 
     r = mailbox_update_conversations(mailbox, old, new);
 
@@ -4238,6 +4246,7 @@ static int chkchildren(char *name,
     return r;
 }
 
+#ifdef WITH_DAV
 EXPORTED int mailbox_add_dav(struct mailbox *mailbox)
 {
     struct index_record record;
@@ -4257,6 +4266,7 @@ EXPORTED int mailbox_add_dav(struct mailbox *mailbox)
 
     return 0;
 }
+#endif
 
 EXPORTED int mailbox_add_conversations(struct mailbox *mailbox)
 {
diff --git a/imap/mailbox.h b/imap/mailbox.h
index 5d3ed01..fe0bf91 100644
--- a/imap/mailbox.h
+++ b/imap/mailbox.h
@@ -587,6 +587,8 @@ extern int mailbox_get_xconvmodseq(struct mailbox *mailbox, modseq_t *);
 extern int mailbox_update_xconvmodseq(struct mailbox *mailbox, modseq_t, int force);
 extern int mailbox_has_conversations(struct mailbox *mailbox);
 
+#ifdef WITH_DAV
 extern int mailbox_add_dav(struct mailbox *mailbox);
+#endif
 
 #endif /* INCLUDED_MAILBOX_H */
diff --git a/imap/mboxevent.c b/imap/mboxevent.c
index eabc462..13f0945 100644
--- a/imap/mboxevent.c
+++ b/imap/mboxevent.c
@@ -53,8 +53,10 @@
 
 #include "annotate.h"
 #include "assert.h"
+#ifdef WITH_DAV
 #include "caldav_db.h"
 #include "carddav_db.h"
+#endif
 #include "exitcodes.h"
 #include "imapurl.h"
 #include "libconfig.h"
@@ -131,9 +133,11 @@ static struct mboxevent event_template =
     { EVENT_USER, "user", EVENT_PARAM_STRING, 0, 0 },
     { EVENT_MESSAGE_SIZE, "messageSize", EVENT_PARAM_INT, 0, 0 },
     { EVENT_MESSAGE_CID, "vnd.fastmail.cid", EVENT_PARAM_STRING, 0, 0 },
+#ifdef WITH_DAV
     { EVENT_MBTYPE, "vnd.cmu.mbtype", EVENT_PARAM_STRING, 0, 0 },
     { EVENT_DAV_FILENAME, "vnd.cmu.davFilename", EVENT_PARAM_STRING, 0, 0 },
     { EVENT_DAV_UID, "vnd.cmu.davUid", EVENT_PARAM_STRING, 0, 0 },
+#endif
     /* always at end to let the parser to easily truncate this part */
     { EVENT_ENVELOPE, "vnd.cmu.envelope", EVENT_PARAM_STRING, 0, 0 },
     { EVENT_BODYSTRUCTURE, "bodyStructure", EVENT_PARAM_STRING, 0, 0 },
@@ -374,8 +378,10 @@ static int mboxevent_expected_param(enum event_type type, enum event_param param
 	return extra_params & IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_FASTMAIL_SESSIONID;
     case EVENT_MAILBOX_ID:
 	return (type & MAILBOX_EVENTS);
+#ifdef WITH_DAV
     case EVENT_MBTYPE:
 	return (type & MAILBOX_EVENTS);
+#endif
     case EVENT_MAX_MESSAGES:
 	return type & QUOTA_EVENTS;
     case EVENT_MESSAGE_CONTENT:
@@ -387,12 +393,14 @@ static int mboxevent_expected_param(enum event_type type, enum event_param param
     case EVENT_MESSAGE_CID:
 	return (extra_params & IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_FASTMAIL_CID) &&
 	       (type & (EVENT_MESSAGE_APPEND|EVENT_MESSAGE_NEW));
+#ifdef WITH_DAV
     case EVENT_DAV_FILENAME:
 	return (extra_params & IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_CMU_DAVFILENAME) &&
 	       (type & EVENT_CALENDAR);
     case EVENT_DAV_UID:
 	return (extra_params & IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_CMU_DAVUID) &&
 	       (type & EVENT_CALENDAR);
+#endif
     case EVENT_MESSAGES:
 	if (type & (EVENT_QUOTA_EXCEED|EVENT_QUOTA_WITHIN))
 	    return 1;
@@ -738,6 +746,7 @@ EXPORTED void mboxevent_extract_record(struct mboxevent *event, struct mailbox *
 				   cacheitem_size(record, CACHE_BODYSTRUCTURE)));
     }
 
+#ifdef WITH_DAV
     /* add caldav items */
     if ((mailbox->mbtype & (MBTYPES_DAV)) &&
 	(mboxevent_expected_param(event->type, EVENT_DAV_FILENAME) ||
@@ -779,7 +788,7 @@ EXPORTED void mboxevent_extract_record(struct mboxevent *event, struct mailbox *
 	    }
 	}
     }
-
+#endif //WITH_DAV
 }
 
 void mboxevent_extract_copied_record(struct mboxevent *event,
@@ -991,8 +1000,10 @@ EXPORTED void mboxevent_extract_mailbox(struct mboxevent *event,
     imapurl_toURL(url, &imapurl);
     FILL_STRING_PARAM(event, EVENT_URI, xstrdup(url));
 
+#ifdef WITH_DAV
     FILL_STRING_PARAM(event, EVENT_MBTYPE,
 	xstrdup(mboxlist_mbtype_to_string(mailbox->mbtype)));
+#endif
 
     /* mailbox related events also require mailboxID */
     if (event->type & MAILBOX_EVENTS) {
diff --git a/imap/mboxevent.h b/imap/mboxevent.h
index f56ad9e..2f1e022 100644
--- a/imap/mboxevent.h
+++ b/imap/mboxevent.h
@@ -113,9 +113,11 @@ enum event_param {
     EVENT_USER,
     EVENT_MESSAGE_SIZE,
     EVENT_MESSAGE_CID,
+#ifdef WITH_DAV
     EVENT_MBTYPE,
     EVENT_DAV_FILENAME,
     EVENT_DAV_UID,
+#endif
     EVENT_ENVELOPE,
     EVENT_BODYSTRUCTURE,
     EVENT_CLIENT_ID,
diff --git a/imap/sync_server.c b/imap/sync_server.c
index 745b3cf..e51983d 100644
--- a/imap/sync_server.c
+++ b/imap/sync_server.c
@@ -74,9 +74,11 @@
 #include "annotate.h"
 #include "append.h"
 #include "auth.h"
+#ifdef WITH_DAV
 #include "caldav_db.h"
 #include "carddav_db.h"
 #include "dav_db.h"
+#endif
 #include "dlist.h"
 #include "exitcodes.h"
 #include "global.h"
@@ -291,9 +293,11 @@ int service_init(int argc __attribute__((unused)),
 	statuscache_open();
     }
 
+#ifdef WITH_DAV
     dav_init();
     caldav_init();
     carddav_init();
+#endif
 
     return 0;
 }
@@ -455,9 +459,11 @@ void shut_down(int code)
 
     proc_cleanup();
 
+#ifdef WITH_DAV
     carddav_done();
     caldav_done();
     dav_done();
+#endif
 
     if (config_getswitch(IMAPOPT_STATUSCACHE)) {
 	statuscache_close();

Reply via email to