aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--debian/changelog29
-rw-r--r--debian/control79
-rw-r--r--debian/copyright15
-rw-r--r--debian/gbp.conf6
-rw-r--r--debian/interimap.NEWS14
-rw-r--r--debian/interimap.docs4
-rw-r--r--debian/interimap.install3
-rw-r--r--debian/interimap.manpages1
-rw-r--r--debian/libinterimap.install1
-rw-r--r--debian/patches/Ignore-custom-lib-PATH.patch31
-rw-r--r--debian/patches/Mention-the-Debian-BTS-in-the-manpages.patch46
-rw-r--r--debian/patches/series4
-rw-r--r--debian/patches/tests-run-Don-t-redirect-stderr-by-process-substitut.patch34
-rw-r--r--debian/patches/tests-t-Increase-timeout-from-2-to-5s-after-backgrou.patch68
-rw-r--r--debian/pullimap.docs1
-rw-r--r--debian/pullimap.install2
-rw-r--r--debian/pullimap.manpages1
-rwxr-xr-xdebian/rules4
-rw-r--r--debian/source/format1
-rw-r--r--debian/source/lintian-overrides2
20 files changed, 346 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..7ff1de4
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,29 @@
+interimap (0.5~rc-2) experimental; urgency=low
+
+ * Apply patches from master to make the test suite pass on the buildds.
+
+ -- Guilhem Moulin <guilhem@debian.org> Sun, 15 Dec 2019 03:44:27 +0100
+
+interimap (0.5~rc-1) experimental; urgency=low
+
+ * New upstream release. Closes: #942725, #944812, #944859.
+ * debian/control:
+ + New Build-Depends for the test-suite: dovecot-imapd, dovecot-lmtpd,
+ libconfig-tiny-perl, libdbd-sqlite3-perl, libnet-ssleay-perl, openssl,
+ procps, sqlite3, and xxd.
+ + interimap: no longer depends on 'libdbi-perl' (pulled by DBD::SQLite).
+ + interimap: now suggests dovecot-imapd.
+ + Bump debhelper compatibility level to 12 and set debhelper-compat
+ version in Build-Depends.
+ + Add Homepage field, pointing to https://guilhem.org/interimap .
+ + Bump Standards-Version to 4.4.1 (no changes necessary).
+ + Set 'Rules-Requires-Root: no'.
+ * Rename debian/source.lintian-overrides to debian/source/lintian-overrides.
+
+ -- Guilhem Moulin <guilhem@debian.org> Sat, 14 Dec 2019 19:41:21 +0100
+
+interimap (0.4-1) unstable; urgency=low
+
+ * Initial release. Closes: #919904, #919906, #919908.
+
+ -- Guilhem Moulin <guilhem@debian.org> Sun, 20 Jan 2019 21:25:54 +0100
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..6da19c5
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,79 @@
+Source: interimap
+Section: mail
+Priority: optional
+Maintainer: Guilhem Moulin <guilhem@debian.org>
+Build-Depends: debhelper-compat (= 12),
+ dovecot-imapd (>= 2~),
+ dovecot-lmtpd (>= 2~),
+ jq,
+ libconfig-tiny-perl,
+ libdbd-sqlite3-perl,
+ libnet-ssleay-perl (>= 1.73~),
+ openssl,
+ pandoc (>= 2.1~),
+ procps,
+ sqlite3,
+ xxd
+Rules-Requires-Root: no
+Standards-Version: 4.4.1
+Homepage: https://guilhem.org/interimap
+Vcs-Git: https://git.guilhem.org/interimap
+Vcs-Browser: https://git.guilhem.org/interimap
+
+Package: interimap
+Architecture: all
+Depends: libdbd-sqlite3-perl,
+ libinterimap (>= ${source:Upstream-Version}~),
+ ${misc:Depends},
+ ${perl:Depends}
+Suggests: dovecot-imapd (>= 2~)
+Description: Fast bidirectional synchronization for QRESYNC-capable IMAP servers
+ InterIMAP performs stateful bi-directional synchronization between two
+ IMAP4rev1 servers. Compared to the so-called "full" synchronization
+ solutions, InterIMAP is both much faster and parsimonious in network
+ traffic.
+ .
+ Stateful synchronization is made possible by the QRESYNC extension from
+ [RFC7162]; for convenience reasons servers must also support LIST-EXTENDED
+ [RFC5258], LIST-STATUS [RFC5819] and UIDPLUS [RFC4315].
+ .
+ Furthermore, while InterIMAP can work with servers lacking support for
+ LITERAL+ [RFC2088] and MULTIAPPEND [RFC3502], these extensions greatly
+ improve performance by reducing the number of required round trips and it
+ thus strongly recommended to use a server supporting these.
+ .
+ InterIMAP supports the COMPRESS=DEFLATE extension from [RFC4978]. It is
+ enabled by default on remote servers advertising it, in order to reduce
+ network traffic, especially for long-lived connections.
+
+Package: pullimap
+Architecture: all
+Depends: libinterimap (>= ${source:Upstream-Version}~),
+ ${misc:Depends},
+ ${perl:Depends}
+Description: Pull mails from an IMAP mailbox and deliver them via SMTP or LMTP
+ PullIMAP retrieves messages from an IMAP mailbox and deliver them to an
+ SMTP or LMTP transmission channel. It can also remove old messages after
+ a configurable retention period.
+ .
+ A statefile is used to keep track of the mailbox's UIDVALIDITY and UIDNEXT
+ values. While PullIMAP is running, the statefile is also used to keep
+ track of UIDs being delivered, which avoids duplicate deliveries if the
+ process is interrupted.
+ .
+ PullIMAP supports the COMPRESS=DEFLATE extension from [RFC4978]. It is
+ enabled by default on servers advertising it, in order to reduce network
+ traffic, especially for long-lived connections (when IDLE commands are
+ enabled.)
+
+Package: libinterimap
+Architecture: all
+Depends: libconfig-tiny-perl,
+ libnet-ssleay-perl (>= 1.73~),
+ ${misc:Depends},
+ ${perl:Depends}
+Description: Net::IMAP::InterIMAP library and utils
+ Net::IMAP::InterIMAP is a minimal IMAP4rev1 client for QRESYNC-capable
+ servers, used by interimap. It can also be used with non QRESYNC-capable
+ servers, but doing so can be unsafe as the client does not store any
+ in-session mapping between message sequence numbers and UIDs.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..12704ee
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,15 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Source: https://git.guilhem.org/interimap/
+
+Files: *
+Copyright: © 2015-2018 Guilhem Moulin <guilhem@fripost.org>
+License: GPL-3+
+
+License: GPL-3+
+ This package is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 3 of the License, or (at your
+ option) any later version.
+ .
+ On Debian systems, the complete text of the GNU General Public License
+ version 3 can be found in file "/usr/share/common-licenses/GPL-3".
diff --git a/debian/gbp.conf b/debian/gbp.conf
new file mode 100644
index 0000000..4daf79f
--- /dev/null
+++ b/debian/gbp.conf
@@ -0,0 +1,6 @@
+[DEFAULT]
+upstream-branch = master
+debian-branch = debian
+upstream-tag = upstream/%(version)s
+debian-tag = debian/%(version)s
+pristine-tar = False
diff --git a/debian/interimap.NEWS b/debian/interimap.NEWS
new file mode 100644
index 0000000..a662b0a
--- /dev/null
+++ b/debian/interimap.NEWS
@@ -0,0 +1,14 @@
+interimap (0.5~rc-1) experimental; urgency=low
+
+ This release introduces a new database schema; the next interimap(1) run
+ will automatically upgrade its existing DB.
+
+ The hierarchy delimiter SHOULD NOT be hardcoded in the configuration file
+ anymore. Null characters, escaped as '\0' or '\x00', should be used
+ instead. This is a MUST NOT for the "ignore-mailbox" setting, as "^foo/"
+ won't match the children of mailbox "foo" anymore, even when the hierarchy
+ delimiter is '/'. Use "ignore-mailbox = ^foo(?:\x00|$)" instead in order
+ to exclude mailbox "foo" as well as its descendants (regardless of which
+ hierarchy delimiter is used).
+
+ -- Guilhem Moulin <guilhem@debian.org> Sat, 14 Dec 2019 19:41:16 +0100
diff --git a/debian/interimap.docs b/debian/interimap.docs
new file mode 100644
index 0000000..d2febd0
--- /dev/null
+++ b/debian/interimap.docs
@@ -0,0 +1,4 @@
+README
+doc/getting-started.md
+doc/multi-account.md
+interimap.sample
diff --git a/debian/interimap.install b/debian/interimap.install
new file mode 100644
index 0000000..4e95d07
--- /dev/null
+++ b/debian/interimap.install
@@ -0,0 +1,3 @@
+interimap /usr/bin
+interimap.service usr/lib/systemd/user
+interimap@.service usr/lib/systemd/user
diff --git a/debian/interimap.manpages b/debian/interimap.manpages
new file mode 100644
index 0000000..52bd645
--- /dev/null
+++ b/debian/interimap.manpages
@@ -0,0 +1 @@
+doc/interimap.1
diff --git a/debian/libinterimap.install b/debian/libinterimap.install
new file mode 100644
index 0000000..c79d222
--- /dev/null
+++ b/debian/libinterimap.install
@@ -0,0 +1 @@
+lib/Net/IMAP/InterIMAP.pm /usr/share/perl5/Net/IMAP
diff --git a/debian/patches/Ignore-custom-lib-PATH.patch b/debian/patches/Ignore-custom-lib-PATH.patch
new file mode 100644
index 0000000..d621767
--- /dev/null
+++ b/debian/patches/Ignore-custom-lib-PATH.patch
@@ -0,0 +1,31 @@
+From: Guilhem Moulin <guilhem@debian.org>
+Date: Sun, 12 Jun 2016 22:42:16 +0200
+Subject: Ignore custom lib PATH.
+
+---
+ interimap | 2 +-
+ pullimap | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+--- a/interimap
++++ b/interimap
+@@ -32,7 +32,7 @@ use DBD::SQLite::Constants ':file_open';
+ use Fcntl qw/F_GETFD F_SETFD FD_CLOEXEC/;
+ use List::Util 'first';
+
+-use lib 'lib';
++
+ use Net::IMAP::InterIMAP 0.0.5 qw/xdg_basedir read_config compact_set/;
+
+ # Clean up PATH
+--- a/pullimap
++++ b/pullimap
+@@ -31,7 +31,7 @@ use Getopt::Long qw/:config posix_defaul
+ use List::Util 'first';
+ use Socket qw/PF_INET PF_INET6 SOCK_STREAM IPPROTO_TCP/;
+
+-use lib 'lib';
++
+ use Net::IMAP::InterIMAP 0.0.5 qw/xdg_basedir read_config compact_set/;
+
+ # Clean up PATH
diff --git a/debian/patches/Mention-the-Debian-BTS-in-the-manpages.patch b/debian/patches/Mention-the-Debian-BTS-in-the-manpages.patch
new file mode 100644
index 0000000..a5f429c
--- /dev/null
+++ b/debian/patches/Mention-the-Debian-BTS-in-the-manpages.patch
@@ -0,0 +1,46 @@
+From: Guilhem Moulin <guilhem@debian.org>
+Date: Sun, 20 Jan 2019 21:09:43 +0100
+Subject: Mention the Debian BTS in the manpages.
+
+---
+ doc/interimap.1.md | 10 +++++++++-
+ doc/pullimap.1.md | 6 ++++++
+ 2 files changed, 15 insertions(+), 1 deletion(-)
+
+--- a/doc/interimap.1.md
++++ b/doc/interimap.1.md
+@@ -535,10 +535,18 @@ Standards
+ and Quick Mailbox Resynchronization (`QRESYNC`)_,
+ [RFC 7162], May 2014.
+
++Bugs and feedback
++=================
++
++Bugs or feature requests for `interimap` should be filed with the
++Debian project's bug tracker at <<https://www.debian.org/Bugs/>>.
++
+ See also
+ ========
+
+-A _getting started_ guide is available [there](getting-started.html).
++A _getting started_ guide is available locally at
++<<file:///usr/share/doc/interimap/getting-started.md.gz>>, and
++online at <<https://guilhem.org/interimap/getting-started.html>>.
+
+ [RFC 7162]: https://tools.ietf.org/html/rfc7162
+ [RFC 5258]: https://tools.ietf.org/html/rfc5258
+--- a/doc/pullimap.1.md
++++ b/doc/pullimap.1.md
+@@ -353,6 +353,12 @@ Standards
+ * J. Klensin, _Simple Mail Transfer Protocol_,
+ [RFC 5321], October 2008.
+
++Bugs and feedback
++=================
++
++Bugs or feature requests for `pullimap` should be filed with the
++Debian project's bug tracker at <<https://www.debian.org/Bugs/>>.
++
+ [RFC 4315]: https://tools.ietf.org/html/rfc4315
+ [RFC 2177]: https://tools.ietf.org/html/rfc2177
+ [RFC 2595]: https://tools.ietf.org/html/rfc2595
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..e7fcfbe
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,4 @@
+Ignore-custom-lib-PATH.patch
+Mention-the-Debian-BTS-in-the-manpages.patch
+tests-t-Increase-timeout-from-2-to-5s-after-backgrou.patch
+tests-run-Don-t-redirect-stderr-by-process-substitut.patch
diff --git a/debian/patches/tests-run-Don-t-redirect-stderr-by-process-substitut.patch b/debian/patches/tests-run-Don-t-redirect-stderr-by-process-substitut.patch
new file mode 100644
index 0000000..1a300f2
--- /dev/null
+++ b/debian/patches/tests-run-Don-t-redirect-stderr-by-process-substitut.patch
@@ -0,0 +1,34 @@
+From 49d7a90c159b12173ce202fb9b101465b87da96c Mon Sep 17 00:00:00 2001
+From: Guilhem Moulin <guilhem@fripost.org>
+Date: Sun, 15 Dec 2019 03:38:59 +0100
+Subject: [PATCH 2/2] tests/run: Don't redirect stderr by process substitution.
+
+This seems to cause timing issues.
+---
+ tests/run | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/tests/run b/tests/run
+index a34e4a9..4aa0685 100755
+--- a/tests/run
++++ b/tests/run
+@@ -202,11 +202,13 @@ prepare
+ interimap() { _interimap_cmd "interimap" "$@"; }
+ pullimap() { _interimap_cmd "pullimap" "$@"; }
+ _interimap_cmd() {
+- declare -a ENVIRON=() r=0
+- local script="$1"
++ declare -a ENVIRON=()
++ local script="$1" rv=0
+ shift
+ environ_set "local"
+- env -i "${ENVIRON[@]}" perl -I./lib -T "./$script" "$@" 2> >(tee "$STDERR" >&2)
++ env -i "${ENVIRON[@]}" perl -I./lib -T "./$script" "$@" 2>"$STDERR" || rv=$?
++ cat <"$STDERR" >&2
++ return $rv
+ }
+ interimap_init() {
+ local u="${1-remote}"
+--
+2.24.0
+
diff --git a/debian/patches/tests-t-Increase-timeout-from-2-to-5s-after-backgrou.patch b/debian/patches/tests-t-Increase-timeout-from-2-to-5s-after-backgrou.patch
new file mode 100644
index 0000000..76b678b
--- /dev/null
+++ b/debian/patches/tests-t-Increase-timeout-from-2-to-5s-after-backgrou.patch
@@ -0,0 +1,68 @@
+From a7517e35cf0c835fcb68db56d8634fab9b4d5f0d Mon Sep 17 00:00:00 2001
+From: Guilhem Moulin <guilhem@fripost.org>
+Date: Sun, 15 Dec 2019 03:35:51 +0100
+Subject: [PATCH 1/2] tests/*/t: Increase timeout from 2 to 5s after background
+ syncs.
+
+---
+ tests/condstore/t | 2 +-
+ tests/pullimap/t | 2 +-
+ tests/sync-live-multi/t | 2 +-
+ tests/sync-live/t | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/tests/condstore/t b/tests/condstore/t
+index d4da50f..1963b2b 100644
+--- a/tests/condstore/t
++++ b/tests/condstore/t
+@@ -31,7 +31,7 @@ while [ $(date +%s) -le $timer ]; do
+ doveadm -u "$u" flags "$a" "$f" mailbox "INBOX" "${seqs//$'\n'/,}"
+ sleep "0.0$(shuf -n1 -i10-99)" # 10 to 99ms
+ done
+-sleep 2
++sleep 5
+
+ ptree_abort $PID
+ trap - EXIT INT TERM
+diff --git a/tests/pullimap/t b/tests/pullimap/t
+index 79da3e0..115432d 100644
+--- a/tests/pullimap/t
++++ b/tests/pullimap/t
+@@ -123,7 +123,7 @@ while [ $(date +%s) -le $timer ]; do
+ sleep "$s"
+ done
+
+-sleep 2
++sleep 5
+ ptree_abort $PID
+ trap - EXIT INT TERM
+
+diff --git a/tests/sync-live-multi/t b/tests/sync-live-multi/t
+index 9b129ec..ba7f326 100644
+--- a/tests/sync-live-multi/t
++++ b/tests/sync-live-multi/t
+@@ -96,7 +96,7 @@ done
+ # wait a little longer so interimap has time to run loop() again and
+ # synchronize outstanding changes, then terminate the processes we
+ # started above
+-sleep 2
++sleep 5
+
+ ptree_abort ${PID[@]}
+ trap - EXIT INT TERM
+diff --git a/tests/sync-live/t b/tests/sync-live/t
+index 19d1e08..5f5b291 100644
+--- a/tests/sync-live/t
++++ b/tests/sync-live/t
+@@ -65,7 +65,7 @@ done
+ # wait a little longer so interimap has time to run loop() again and
+ # synchronize outstanding changes, then terminate the process we started
+ # above
+-sleep 2
++sleep 5
+
+ ptree_abort $PID
+ trap - EXIT INT TERM
+--
+2.24.0
+
diff --git a/debian/pullimap.docs b/debian/pullimap.docs
new file mode 100644
index 0000000..7a3ecbb
--- /dev/null
+++ b/debian/pullimap.docs
@@ -0,0 +1 @@
+pullimap.sample
diff --git a/debian/pullimap.install b/debian/pullimap.install
new file mode 100644
index 0000000..581805d
--- /dev/null
+++ b/debian/pullimap.install
@@ -0,0 +1,2 @@
+pullimap /usr/bin
+pullimap@.service usr/lib/systemd/user
diff --git a/debian/pullimap.manpages b/debian/pullimap.manpages
new file mode 100644
index 0000000..0d791aa
--- /dev/null
+++ b/debian/pullimap.manpages
@@ -0,0 +1 @@
+doc/pullimap.1
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..2d33f6a
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,4 @@
+#!/usr/bin/make -f
+
+%:
+ dh $@
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides
new file mode 100644
index 0000000..264ad5e
--- /dev/null
+++ b/debian/source/lintian-overrides
@@ -0,0 +1,2 @@
+# this repository is also upstream
+debian-watch-file-is-missing