Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 436498 - net-mail/dovecot-2.1.10 - various improvements
Summary: net-mail/dovecot-2.1.10 - various improvements
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Server (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Eray Aslan
URL:
Whiteboard:
Keywords: EBUILD, PATCH
Depends on:
Blocks:
 
Reported: 2012-09-28 13:14 UTC by Dennis Schridde
Modified: 2012-11-29 13:31 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
dovecot-2.1.10.ebuild.patch (dovecot-2.1.10.ebuild.patch,12.69 KB, patch)
2012-09-28 13:15 UTC, Dennis Schridde
Details | Diff
dovecot-2.1.10.ebuild (dovecot-2.1.10.ebuild,7.17 KB, text/plain)
2012-09-28 13:17 UTC, Dennis Schridde
Details
dovecot-pigeonhole-0.3.3.ebuild (dovecot-pigeonhole-0.3.3.ebuild,1.94 KB, text/plain)
2012-09-28 13:18 UTC, Dennis Schridde
Details
metadata.xml for net-mail/dovecot (dovecot-metadata.xml,1.01 KB, text/plain)
2012-09-28 13:27 UTC, Dennis Schridde
Details
metadata.xml for net-mail/dovecot-pigeonhole (dovecot-pigeonhole-metadata.xml,406 bytes, text/plain)
2012-09-28 13:29 UTC, Dennis Schridde
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dennis Schridde 2012-09-28 13:14:51 UTC
Attached patch improves the dovecot ebuild. Most significant changes are:
* pigeonhole is split out into an own ebuild
* more useflags / access to dovecot features
* env.d file to set LDPATH, so that libexec binaries find the dovecot libraries in /usr/lib/dovecot
* die on errors (do* commands don't die on their own, afaik)
* I tried to clean the ebuild up, organise it better, make it easier to read

Reproducible: Always
Comment 1 Dennis Schridde 2012-09-28 13:15:15 UTC
Created attachment 325208 [details, diff]
dovecot-2.1.10.ebuild.patch
Comment 2 Dennis Schridde 2012-09-28 13:17:41 UTC
Created attachment 325210 [details]
dovecot-2.1.10.ebuild

This is ebuild (same as the patch-result), as the patch is quite large, and this might be easier to read.
Comment 3 Dennis Schridde 2012-09-28 13:18:49 UTC
Created attachment 325212 [details]
dovecot-pigeonhole-0.3.3.ebuild

Primary benefit of the split pigeonhole: It can be updated/rebuild without having to rebuild dovecot.
Comment 4 Dennis Schridde 2012-09-28 13:24:01 UTC
P.S: I have been using these ebuilds for at least half a year without issues and with following useflags on ia64:
[binary   R   ~] net-mail/dovecot-2.1.10::local  USE="bzip2 caps ipv6 maildir mdbox openssl pam sdbox shadow sqlite ssl tcpd zlib -boehm-gc -bsdauth -cydir -debug -doc -gnutls -imapc -kerberos -ldap -lucene -mbox -mysql -nss -postgres -sia -solr -static-libs -suid -vpopmail" 0 kB
[binary   R   ~] net-mail/dovecot-pigeonhole-0.3.3::local  USE="managesieve -doc -static-libs -unfinished -valgrind" 0 kB
Comment 5 Dennis Schridde 2012-09-28 13:27:53 UTC
Created attachment 325216 [details]
metadata.xml for net-mail/dovecot
Comment 6 Dennis Schridde 2012-09-28 13:29:02 UTC
Created attachment 325218 [details]
metadata.xml for net-mail/dovecot-pigeonhole
Comment 7 Eray Aslan gentoo-dev 2012-09-28 18:07:06 UTC
(In reply to comment #0)
> * pigeonhole is split out into an own ebuild

No.  Some dovecot upgrades needed pigeonhole to be recompiled in the past.  Gentoo users did not have broken systems because dovecot and pigeonhole are not seperate ebuilds.

> * more useflags / access to dovecot features

First look is not very good.  Are you sure you want boehm gc for example?  It's bloated shitty code.  Plus, dovecot already has too many USE flags.

> * env.d file to set LDPATH, so that libexec binaries find the dovecot
> libraries in /usr/lib/dovecot

What's the use case here?  Why do you need this?

> * die on errors (do* commands don't die on their own, afaik)
> * I tried to clean the ebuild up, organise it better, make it easier to read

I'll have a look.
Comment 8 Dennis Schridde 2012-09-28 22:21:37 UTC
(In reply to comment #7)
> (In reply to comment #0)
> > * pigeonhole is split out into an own ebuild
> 
> No.  Some dovecot upgrades needed pigeonhole to be recompiled in the past. 
> Gentoo users did not have broken systems because dovecot and pigeonhole are
> not seperate ebuilds.
It is true that pigeonhole needs to be rebuilt after dovecot was updated (at least due to some version string checks). On the other hand I wrote a plugin on my own (metadata) and wanted to install it via portage. Hence it made sense to separate the plugins from the core, instead of adding my plugin also into the dovecot ebuild.

> > * more useflags / access to dovecot features
> 
> First look is not very good.  Are you sure you want boehm gc for example? 
> It's bloated shitty code.  Plus, dovecot already has too many USE flags.
Mainly I looked at what dovecot supports and wired that support outwards, so the user can decide.

> > * env.d file to set LDPATH, so that libexec binaries find the dovecot
> > libraries in /usr/lib/dovecot
> 
> What's the use case here?  Why do you need this?
Because otherwise I get:
/usr/libexec/dovecot/managesieve: error while loading shared libraries: libdovecot-lda.so.0: cannot open shared object file: No such file or directory
The file is installed to /usr/lib/dovecot.

I could work around that using LD_LIBRARY_PATH, but this seemed cleaner.

> > * die on errors (do* commands don't die on their own, afaik)
> > * I tried to clean the ebuild up, organise it better, make it easier to read
> 
> I'll have a look.
Comment 9 Dennis Schridde 2012-09-28 22:23:29 UTC
(In reply to comment #7)
> (In reply to comment #0)
> > * die on errors (do* commands don't die on their own, afaik)
> > * I tried to clean the ebuild up, organise it better, make it easier to read
> 
> I'll have a look.

Thanks!
Comment 10 Christian Ruppert (idl0r) gentoo-dev 2012-10-06 19:33:58 UTC
(In reply to comment #9)
> (In reply to comment #7)
> > (In reply to comment #0)
> > > * die on errors (do* commands don't die on their own, afaik)
> > > * I tried to clean the ebuild up, organise it better, make it easier to read
> > 
> > I'll have a look.
> 
> Thanks!

With EAPI 4 (or even prior, I don't recall) they don't need "|| die" anymore.
Comment 11 Dennis Schridde 2012-10-06 21:33:24 UTC
(In reply to comment #10)
> With EAPI 4 (or even prior, I don't recall) they don't need "|| die" anymore.
You are right, EAPI4 has die-on-failure for e* and do* commands [1]. I will correct that in the next iteration of the ebuild.

[1] http://dev.gentoo.org/~ulm/pms/4/pms.html#x1-13000012.3.3.1
Comment 12 Eray Aslan gentoo-dev 2012-11-29 13:31:47 UTC
Used some of the suggestions on version bump.  Thank you for your report.

+*dovecot-2.1.11 (29 Nov 2012)
+
+  29 Nov 2012; Eray Aslan <eras@gentoo.org> +dovecot-2.1.11.ebuild,
+  metadata.xml:
+  Version bump. Improve readibility - bug #436498. Add pop3c USE flag - bug
+  #444752
+