cyrus-imapd.deb: formal Version 2.4.17, in real it is 2.4.3

Michael kolab983 at der-he.de
Wed Nov 6 17:52:55 CET 2013


Am Wed, 06 Nov 2013 16:43:14 +0100 schrieb Christoph Wickert <wickert at kolabsys.com>:

> We are not patching to 2.4.3.

I'm not an expert. So if I'm wrong I do apologise. But...

> The cyrus package in 
> http://mirror.kolabsys.com/pub/debian/kolab-3.0/dists/wheezy/release/source/Sources.gz 
> is 2.4.17-2, that is upstream 2.4.17 and the 2rd release (a.k.a. 
> debian_version) of it.

Yes, you are using the tarball from upstream which is 2.4.17 and has exactly the same content as the one used for the rpm packages. 
But take a look at the file cyrus-imapd_2.4.17-2.diff.gz which gets added to those sources by the debian build system.

For the sake of clarity, try the following (from your own sources; use a debian system for dpkg-source):

$ mkdir /tmp/debtest
$ cd /tmp/debtest
$ wget http://mirror.kolabsys.com/pub/debian/kolab-3.0/pool/release/c/cyrus-imapd/cyrus-imapd_2.4.17.orig.tar.gz
$ wget http://mirror.kolabsys.com/pub/debian/kolab-3.0/pool/release/c/cyrus-imapd/cyrus-imapd_2.4.17-2.diff.gz
$ wget http://mirror.kolabsys.com/pub/debian/kolab-3.0/pool/release/c/cyrus-imapd/cyrus-imapd_2.4.17-2.dsc
$ dpkg-source -x cyrus-imapd_2.4.17-2.dsc
$ grep -e "^VERSION" cyrus-imapd-2.4.17/Makefile.in

Output here at my pc is:
VERSION = 2.4.3

So... maybe it _says_ it is 2.4.3 but it _is_ not. So investigate further:

$ wget "http://git.cyrusimap.org/cyrus-imapd/plain/imap/imapd.c?h=cyrus-imapd-2.4&id=cyrus-imapd-2.4.3" -O 2.4.3_imapd.c
$ wget "http://git.cyrusimap.org/cyrus-imapd/plain/imap/imapd.c?h=cyrus-imapd-2.4&id=cyrus-imapd-2.4.17" -O 2.4.17_imapd.c
$ md5sum 2.4.*imapd.c cyrus-imapd-2.4.17/imap/imapd.c

Here it is:

df475778b0fb264f79702898b6bbda62  2.4.17_imapd.c
0cbf141c3443b925caab06b7c72aec8b  2.4.3_imapd.c
0cbf141c3443b925caab06b7c72aec8b  cyrus-imapd-2.4.17/imap/imapd.c

So... nope, I'm pretty sure you are patching it down to 2.4.3. The imapd.c (which gets compiled to the binary) is exactly the same file than upstream 2.4.3. I didn't compared all files though...

Maybe you are doing it by accident, but you are doing so. ;-)
And if your binaries are built from those sources, and this is not an arm vs. x86 bug, then your debian binaries are also older versions than you think of. 

I figured this out while trying to find some bug which lets claws-mail not recognize shared folders. Turns out it is the line #9712 "if (!config_mupdate_server) return;" in imap/imapd.c which prevents displaying folders tagged "\NonExistent" (which is the case for shared base folders). Then I tried to find out if it is patched in cyrus upstream. That's the case. And then I saw that it was fixed way before releasing 2.4.17...

> In binary-amd64 and binary-i386 we also have a 2.4.17-3 package. it was built 
> by Paul and he probably forgot to upload the source package. But the difference 
> between the two packages is pretty minor, see 
> http://git.kolabsys.com/apt/cyrus-imapd/commit/?id=4552dbe88

I've seen that. If some future 2.4.17-4 will remove those down-patches, then 2.4.17-3 is indeed an absolutely _pretty_minor_ change. :-P

Regards
Michael


More information about the users mailing list