diff options
-rw-r--r-- | debian/changelog | 29 | ||||
-rw-r--r-- | debian/control | 79 | ||||
-rw-r--r-- | debian/copyright | 15 | ||||
-rw-r--r-- | debian/gbp.conf | 6 | ||||
-rw-r--r-- | debian/interimap.NEWS | 14 | ||||
-rw-r--r-- | debian/interimap.docs | 4 | ||||
-rw-r--r-- | debian/interimap.install | 3 | ||||
-rw-r--r-- | debian/interimap.manpages | 1 | ||||
-rw-r--r-- | debian/libinterimap.install | 1 | ||||
-rw-r--r-- | debian/patches/Ignore-custom-lib-PATH.patch | 31 | ||||
-rw-r--r-- | debian/patches/Mention-the-Debian-BTS-in-the-manpages.patch | 46 | ||||
-rw-r--r-- | debian/patches/series | 4 | ||||
-rw-r--r-- | debian/patches/tests-run-Don-t-redirect-stderr-by-process-substitut.patch | 34 | ||||
-rw-r--r-- | debian/patches/tests-t-Increase-timeout-from-2-to-5s-after-backgrou.patch | 68 | ||||
-rw-r--r-- | debian/pullimap.docs | 1 | ||||
-rw-r--r-- | debian/pullimap.install | 2 | ||||
-rw-r--r-- | debian/pullimap.manpages | 1 | ||||
-rwxr-xr-x | debian/rules | 4 | ||||
-rw-r--r-- | debian/source/format | 1 | ||||
-rw-r--r-- | debian/source/lintian-overrides | 2 |
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 |