packages/mail
Daniel F. Dickinson f0fb968346 dovecot: Fix managesieve-login needs libdovecot-login
When trying to use managesieve my MUA complained sieve wasn't supported.
On investigation dovecot logs the following could be seen:

    Aug 16 00:28:44 managesieve-login: Fatal: master:
      service(managesieve-login): child 1430 returned error 127
    Aug 16 00:31:32 managesieve-login: Error: Error loading shared
      library libdovecot-login.so.0: No such file or directory
      (needed by /usr/lib/dovecot/managesieve-login)
    Aug 16 00:31:32 managesieve-login: Error: Error loading
      shared library libdovecot.so.0: No such file or directory
      (needed by /usr/lib/dovecot/managesieve-login)
    Aug 16 00:31:32 managesieve-login: Error: Error relocating
      /usr/lib/dovecot/managesieve-login: net_ip2addr: symbol not found

The issue (verified with readelf on non-working build and build with my fix)
is that there is no RPATH information in the pigeonhole binaries (like
managesieve-login).

The dovecot-config that is 'installed' in the staging dir
assumes that plugins will be built on the same host as the installed files.
The 'installed' dovecot-config (partial) looks like:

LIBDOVECOT='-L/usr/lib/dovecot -ldovecot'
LIBDOVECOT_LOGIN='-ldovecot-login -L/home/user/Build/openwrt/openwrt-ath79/staging_dir/target-mips_24kc_musl/usr/lib -lssl -lcrypto'
LIBDOVECOT_SQL=-ldovecot-sql
LIBDOVECOT_COMPRESS=-ldovecot-compression
LIBDOVECOT_LDA=-ldovecot-lda
LIBDOVECOT_STORAGE='-ldovecot-storage '
LIBDOVECOT_DSYNC=-ldovecot-dsync
LIBDOVECOT_LIBFTS=-ldovecot-fts

The solution I used was to modify dovecot-config to add the rpath to
DOVECOT_BINARY_LDFLAGS, and to replace references to host directories
with staging_dir directories.

This results in RPATH being added as it needs to be, and results in a working
version of dovecot+pigeonhole.

NB: I've also touched package version of pigeonhole as this change in dovecot
results in (needed) binary changes for pigeonhole.

Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
2018-08-19 14:35:23 -04:00
..
alpine alpine: Update to 2.21.9999 2018-07-15 19:42:41 -07:00
bogofilter treewide: run "make check FIXUP=1" 2017-08-29 21:41:14 -07:00
clamsmtp mail: add package clamsmtp 2017-03-07 14:57:02 +02:00
dovecot dovecot: Fix managesieve-login needs libdovecot-login 2018-08-19 14:35:23 -04:00
emailrelay emailrelay: Update to 2.0 2018-07-31 14:40:04 -07:00
fdm fdm: Switch to GitHub releases. 2018-07-07 10:22:57 -07:00
greyfix mail: add greyfix 2017-03-11 04:32:47 +02:00
mailman mailman: Use @GNU macro for download link 2018-02-20 11:12:15 -08:00
mailsend mailsend: add compatibility with openssl 1.1.0 2018-07-06 09:17:17 -03:00
msmtp mail/msmtp: Update to 1.6.6 2017-05-31 17:13:19 +02:00
msmtp-scripts mail/msmtp-scripts: Deprecated upstream; remove myself as maintainer 2018-07-08 17:38:41 -04:00
mutt mutt: bump to version 1.10.0 2018-05-30 06:32:56 +02:00
nail nail: add compatibility with openssl 1.1 2018-05-24 11:41:02 -03:00
opendkim opendkim: Added compatibility wiht openssl 1.1 2018-05-24 11:51:24 -03:00
pigeonhole dovecot: Fix managesieve-login needs libdovecot-login 2018-08-19 14:35:23 -04:00
postfix postfix: version update to 3.3.1 2018-05-28 21:51:34 +03:00
sendmail opendkim: DKIM signing and verifying emails 2018-01-31 10:07:07 -05:00
ssmtp treewide: run "make check FIXUP=1" 2017-08-29 21:41:14 -07:00