As of now, mail/dovecot2-pigeonhole cannot be installed using pkgng due to conflicts with the base dovecot2 system (files are installed at same place). There is at least a problem with : ${PREFIX}/share/doc/dovecot/example-config/conf.d/20-managesieve.conf when making install : ===> Registering installation for dovecot-pigeonhole-0.3.3_1 pkg: lstat(/usr/local/libdata/ldconfig/dovecot-pigeonhole/): Not a directory Installing dovecot-pigeonhole-0.3.3_1...pkg: dovecot-pigeonhole-0.3.3_1 conflicts with dovecot-2.1.12 (installs files into the same place). Problematic file: /usr/local/share/doc/dovecot/example-config/conf.d/20-managesieve.conf *** [fake-pkg] Error code 70 Stop in /usr/ports/mail/dovecot2-pigeonhole. *** [install] Error code 1 Stop in /usr/ports/mail/dovecot2-pigeonhole. *** [reinstall] Error code 1 Stop in /usr/ports/mail/dovecot2-pigeonhole. How-To-Repeat: 1. Configure ports to use pkg-ng 2. install mail/dovecot2 3. try to install mail/dovecot2-pigeonhole
Maintainer of mail/dovecot2-pigeonhole, Please note that PR ports/175523 has just been submitted. If it contains a patch for an upgrade, an enhancement or a bug fix you agree on, reply to this email stating that you approve the patch and a committer will take care of it. The full text of the PR can be found at: http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/175523 -- Edwin Groothuis via the GNATS Auto Assign Tool edwin@FreeBSD.org
State Changed From-To: open->feedback Awaiting maintainers feedback (via the GNATS Auto Assign Tool)
Hi, Never used pkg-ng, but as far as I can see, this file is installed by the pigeonhole port, they are not shared. So the problem is that they (there is 90-sieve.conf also, which goes into the same directory) are installed into a common directory?
Sorry for the delay, It seems to be the problem indeed, I'm not really sure about a fix since I recently tried to migrate to pkg-ng. Here was the answer from bapt when I sumbited the problem on the freebsd ports mailing list: http://lists.freebsd.org/pipermail/freebsd-ports/2013-January/080860.html I'm not sure from here how to manage things... -- Matthieu Volat <mazhe@alkumuna.eu>
The proposed fix in http://lists.freebsd.org/pipermail/freebsd-ports/2013-January/080860.html did not work for me. The message I get is: ... ===> Registering installation for dovecot-2.1.15 as automatic pkg: unknown keyword stopdaemon, ignoring @stopdaemon pkg: lstat(/usr/local/libdata/ldconfig/dovecot2/): Not a directory pkg: duplicate directory listing: /usr/local/share/doc/dovecot/, ignoring Installing dovecot-2.1.15...pkg: dovecot-2.1.15 conflicts with dovecot-pigeonhole-0.3.3_1 (installs files into the same place). Problematic file: /usr/local/share/doc/dovecot/example-config/conf.d/20-managesieve.conf *** [fake-pkg] Error code 70 Stop in /usr/ports/mail/dovecot2. *** [install] Error code 1
Try uninstalling mail/dovecot2-pigeonhole before rebuilding the mail/dovecot2. It should fix the problem. After the mail/dovecot2 you should be able to reinstall mail/dovecot2-pigeonhole again without problem. As to the root cause of the problem, it is this line in the mail/dovecot2/pkg-plist: %%PORTDOCS%%@dirrmtry %%DOCSDIR%% What happens is (as far as I understand) it picks everything that is placed in the /usr/local/share/doc/dovecot and tries to put it into the package. If you build dovecot2 for the first time it what it is expected to do. But if you are rebuilding the dovecot2 on a system that has dovecot2-pigeonhole installed already, it picks up files installed by the dovecot2-pigeonhole as well, and that's what leads to a reported problem. Best regards, Andriy.
The mail/dovecot2 port is (IMO) broken, and should eventually be fixed. I've just shared a (temporary) solution that worked for me. We have a dedicated VM where we incrementally updating our packages using portmaster, rebuilding the repo using 'pkg repo' and then deploying the resulting packages using pkgng on a number of production machines, so (temporarily) removing dovecot2-pigeonhole while rebuilding dovecot2 was acceptable for us. Alternatively, you can try to do the following before the upgrade, but I haven't checked this solution myself: # rm -r /usr/local/share/doc/dovecot # rm -r /usr/local/share/examples/dovecot When you do this, make sure you upgrade mail/dovecot2 first before upgrading mail/dovecot2-pigeonhole. 2013/3/30 Harlan Stenn <stenn@ntp.org> > > So this seems to mean that we will have to stop dovecot, uninstall > pigeonhole, upgrade dovect, reinstall pigeonhole, and then restart > dovecot each time we have to upgade dovecot?
The problem described in the PR bites me over and over again as well. It's impractical because everytime there is an update, I need to schedule much more time to update the ports then needed. While deinstalling pigeonhole, reinstalling dovecot2, reinstalling pigeonhole is a working workaround, it's not something I would actively keep pursuing. Is there anything I can do to help and get rid of this "issue"? Thanks Remko -- /"\ With kind regards, | remko@elvandar.org \ / Remko Lodder | remko@FreeBSD.org X FreeBSD | http://www.evilcoder.org / \ The Power to Serve | Quis custodiet ipsos custodes
Here's an overhaul of this port so it doesn't conflict with dovecot. Please test! I'd like to see this committed soon as this fix is relevant to my interests as well. https://redports.org/buildarchive/20130702155500-8155/
Responsible Changed From-To: freebsd-ports-bugs->feld I'll take it.
----- Forwarded message from Mark Felder <feld@feld.me> ----- Date: Tue, 02 Jul 2013 11:50:00 -0500 From: Mark Felder <feld@feld.me> To: freebsd-ports-bugs@freebsd.org Subject: Re: ports/175523: pkgng: mail/dovecot2-pigeonhole conflicts with mail/dovecot2 User-Agent: Opera Mail/12.15 (FreeBSD) I can confirm it works when you enable the plugin: Escape character is '^]'. "IMPLEMENTATION" "Dovecot Pigeonhole" "SIEVE" "fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave" "NOTIFY" "mailto" "SASL" "PLAIN" "STARTTLS" "VERSION" "1.0" OK "Dovecot ready." I just need another user to confirm it's functional before I can commit ----- End forwarded message -----
Hello maintainer, Matthieu Volat has confirmed this works for him as well. I simply need confirmation that these changes are OK to commit or the maintainer timeout of 2 weeks needs to occur. Thanks!
Author: feld Date: Tue Jul 16 17:51:12 2013 New Revision: 323115 URL: http://svnweb.freebsd.org/changeset/ports/323115 Log: - Fix conflict with mail/dovecot2 PR: ports/175523 Approved by: crees (mentor) Modified: head/mail/dovecot2-pigeonhole/Makefile head/mail/dovecot2-pigeonhole/pkg-plist Modified: head/mail/dovecot2-pigeonhole/Makefile ============================================================================== --- head/mail/dovecot2-pigeonhole/Makefile Tue Jul 16 17:25:45 2013 (r323114) +++ head/mail/dovecot2-pigeonhole/Makefile Tue Jul 16 17:51:12 2013 (r323115) @@ -3,7 +3,7 @@ PORTNAME= dovecot-pigeonhole PORTVERSION= 0.4.0 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= mail MASTER_SITES= http://www.rename-it.nl/dovecot/${DOVECOTVERSION}/ DISTNAME= ${PORTNAME:C/-/-${DOVECOTVERSION}-/}-${PORTVERSION} @@ -12,15 +12,17 @@ MAINTAINER= bra@fsn.hu COMMENT= Sieve plugin for the Dovecot 'deliver' LDA and LMTP LICENSE= LGPL21 +LICENSE_FILE= ${WRKSRC}/COPYING -BUILD_DEPENDS:= dovecot>=${DOVECOTVERSION}:${PORTSDIR}/mail/dovecot${DOVECOTVERSION:R} -RUN_DEPENDS:= dovecot>=${DOVECOTVERSION}:${PORTSDIR}/mail/dovecot${DOVECOTVERSION:R} +BUILD_DEPENDS:= dovecot>=${DOVECOTVERSION}:${PORTSDIR}/mail/dovecot2 +RUN_DEPENDS:= dovecot>=${DOVECOTVERSION}:${PORTSDIR}/mail/dovecot2 DOVECOTVERSION= 2.2 GNU_CONFIGURE= yes -CONFIGURE_TARGET=--build=${MACHINE_ARCH}-portbld-freebsd${OSREL} -CONFIGURE_ARGS= --prefix=${PREFIX} \ +CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL} +CONFIGURE_ARGS= --exec-prefix=${PREFIX} \ + --without-dovecot-install-dirs \ --docdir=${DOCSDIR} \ --with-dovecot="${LOCALBASE}/lib/dovecot" LDFLAGS+= -L${LOCALBASE}/lib @@ -28,50 +30,17 @@ USE_LDCONFIG= ${PREFIX}/lib/dovecot MAN1= sieve-dump.1 sieve-filter.1 sieve-test.1 sievec.1 sieved.1 MAN7= pigeonhole.7 +PORTDOCS= doc/extensions/* doc/plugins/* doc/rfc/* -DOCSDIR= ${PREFIX}/share/doc/${PORTNAME:S/-/\//} - -OPTIONS_DEFINE= DOCS EXAMPLES - -.include <bsd.port.options.mk> - -.if ${PORT_OPTIONS:MDOCS} -EXTENSIONDOCS= editheader.txt include.txt spamtest-virustest.txt \ - vacation.txt vnd.dovecot.duplicate.txt -PORTDOCS= AUTHORS COPYING COPYING.LGPL INSTALL NEWS README TODO \ - script-location-dict.txt ${EXTENSIONDOCS} -.endif - -.if ${PORT_OPTIONS:MEXAMPLES} -EXAMPLESDIR= ${PREFIX}/share/examples/${PORTNAME:S/-/\//} -PORTEXAMPLES= *.sieve -.endif +.include <bsd.port.pre.mk> post-patch: @${REINPLACE_CMD} -E '\ - s!^(install-data-am:) install-sieve_docDATA!\1!; \ + s!^(install-data-am:) install-sieve_docDATA!\1!; \ s!^(uninstall-am:) uninstall-sieve_docDATA!\1!;' \ ${WRKSRC}/doc/Makefile.in -.if ${PORT_OPTIONS:MDOCS} -.for f in ${EXTENSIONDOCS} - @${LN} -f ${WRKSRC}/doc/extensions/${f} ${WRKSRC}/ -.endfor - @${LN} -f ${WRKSRC}/doc/script-location-dict.txt ${WRKSRC}/ -.endif post-install: -.if ${PORT_OPTIONS:MDOCS} - @${INSTALL} ${_SHROWNGRP} -m ${BINMODE} -d ${DOCSDIR} -.for f in ${PORTDOCS} - @${INSTALL_DATA} ${WRKSRC}/${f} ${DOCSDIR} -.endfor - @${ECHO_MSG} "===> Documentation installed in ${DOCSDIR}" -.endif -.if ${PORT_OPTIONS:MEXAMPLES} - @${INSTALL} ${_SHROWNGRP} -m ${BINMODE} -d ${EXAMPLESDIR} - @${INSTALL_DATA} ${WRKSRC}/examples/*.sieve ${EXAMPLESDIR} - @${ECHO_MSG} "===> Examples installed in ${EXAMPLESDIR}" -.endif @${CAT} ${PKGMESSAGE} -.include <bsd.port.mk> +.include <bsd.port.post.mk> Modified: head/mail/dovecot2-pigeonhole/pkg-plist ============================================================================== --- head/mail/dovecot2-pigeonhole/pkg-plist Tue Jul 16 17:25:45 2013 (r323114) +++ head/mail/dovecot2-pigeonhole/pkg-plist Tue Jul 16 17:51:12 2013 (r323115) @@ -1,63 +1,66 @@ +%%DOCSDIR%%/example-config/conf.d/20-managesieve.conf +%%DOCSDIR%%/example-config/conf.d/90-sieve-extprograms.conf +%%DOCSDIR%%/example-config/conf.d/90-sieve.conf bin/sieve-dump bin/sieve-filter bin/sieve-test bin/sievec -include/dovecot/sieve/edit-mail.h -include/dovecot/sieve/pigeonhole-config.h -include/dovecot/sieve/rfc2822.h -include/dovecot/sieve/sieve-actions.h -include/dovecot/sieve/sieve-address-parts.h -include/dovecot/sieve/sieve-address.h -include/dovecot/sieve/sieve-ast.h -include/dovecot/sieve/sieve-binary-dumper.h -include/dovecot/sieve/sieve-binary-private.h -include/dovecot/sieve/sieve-binary.h -include/dovecot/sieve/sieve-code-dumper.h -include/dovecot/sieve/sieve-code.h -include/dovecot/sieve/sieve-commands.h -include/dovecot/sieve/sieve-common.h -include/dovecot/sieve/sieve-comparators.h -include/dovecot/sieve/sieve-config.h -include/dovecot/sieve/sieve-dump.h -include/dovecot/sieve/sieve-error-private.h -include/dovecot/sieve/sieve-error.h -include/dovecot/sieve/sieve-ext-copy.h -include/dovecot/sieve/sieve-ext-enotify.h -include/dovecot/sieve/sieve-ext-environment.h -include/dovecot/sieve/sieve-ext-variables.h -include/dovecot/sieve/sieve-extensions.h -include/dovecot/sieve/sieve-generator.h -include/dovecot/sieve/sieve-interpreter.h -include/dovecot/sieve/sieve-lexer.h -include/dovecot/sieve/sieve-limits.h -include/dovecot/sieve/sieve-match-types.h -include/dovecot/sieve/sieve-match.h -include/dovecot/sieve/sieve-message.h -include/dovecot/sieve/sieve-objects.h -include/dovecot/sieve/sieve-parser.h -include/dovecot/sieve/sieve-plugins.h -include/dovecot/sieve/sieve-result.h -include/dovecot/sieve/sieve-runtime-trace.h -include/dovecot/sieve/sieve-runtime.h -include/dovecot/sieve/sieve-script-private.h -include/dovecot/sieve/sieve-script.h -include/dovecot/sieve/sieve-script-file.h -include/dovecot/sieve/sieve-settings.h -include/dovecot/sieve/sieve-smtp.h -include/dovecot/sieve/sieve-stringlist.h -include/dovecot/sieve/sieve-types.h -include/dovecot/sieve/sieve-validator.h -include/dovecot/sieve/sieve.h -lib/dovecot/lib90_sieve_plugin.a -lib/dovecot/lib90_sieve_plugin.la -lib/dovecot/lib90_sieve_plugin.so -lib/dovecot/libdovecot-sieve.a -lib/dovecot/libdovecot-sieve.la -lib/dovecot/libdovecot-sieve.so -lib/dovecot/libdovecot-sieve.so.0 +include/dovecot-2.2-pigeonhole/sieve/edit-mail.h +include/dovecot-2.2-pigeonhole/sieve/pigeonhole-config.h +include/dovecot-2.2-pigeonhole/sieve/rfc2822.h +include/dovecot-2.2-pigeonhole/sieve/sieve-actions.h +include/dovecot-2.2-pigeonhole/sieve/sieve-address-parts.h +include/dovecot-2.2-pigeonhole/sieve/sieve-address.h +include/dovecot-2.2-pigeonhole/sieve/sieve-ast.h +include/dovecot-2.2-pigeonhole/sieve/sieve-binary-dumper.h +include/dovecot-2.2-pigeonhole/sieve/sieve-binary-private.h +include/dovecot-2.2-pigeonhole/sieve/sieve-binary.h +include/dovecot-2.2-pigeonhole/sieve/sieve-code-dumper.h +include/dovecot-2.2-pigeonhole/sieve/sieve-code.h +include/dovecot-2.2-pigeonhole/sieve/sieve-commands.h +include/dovecot-2.2-pigeonhole/sieve/sieve-common.h +include/dovecot-2.2-pigeonhole/sieve/sieve-comparators.h +include/dovecot-2.2-pigeonhole/sieve/sieve-config.h +include/dovecot-2.2-pigeonhole/sieve/sieve-dump.h +include/dovecot-2.2-pigeonhole/sieve/sieve-error-private.h +include/dovecot-2.2-pigeonhole/sieve/sieve-error.h +include/dovecot-2.2-pigeonhole/sieve/sieve-ext-copy.h +include/dovecot-2.2-pigeonhole/sieve/sieve-ext-enotify.h +include/dovecot-2.2-pigeonhole/sieve/sieve-ext-environment.h +include/dovecot-2.2-pigeonhole/sieve/sieve-ext-variables.h +include/dovecot-2.2-pigeonhole/sieve/sieve-extensions.h +include/dovecot-2.2-pigeonhole/sieve/sieve-generator.h +include/dovecot-2.2-pigeonhole/sieve/sieve-interpreter.h +include/dovecot-2.2-pigeonhole/sieve/sieve-lexer.h +include/dovecot-2.2-pigeonhole/sieve/sieve-limits.h +include/dovecot-2.2-pigeonhole/sieve/sieve-match-types.h +include/dovecot-2.2-pigeonhole/sieve/sieve-match.h +include/dovecot-2.2-pigeonhole/sieve/sieve-message.h +include/dovecot-2.2-pigeonhole/sieve/sieve-objects.h +include/dovecot-2.2-pigeonhole/sieve/sieve-parser.h +include/dovecot-2.2-pigeonhole/sieve/sieve-plugins.h +include/dovecot-2.2-pigeonhole/sieve/sieve-result.h +include/dovecot-2.2-pigeonhole/sieve/sieve-runtime-trace.h +include/dovecot-2.2-pigeonhole/sieve/sieve-runtime.h +include/dovecot-2.2-pigeonhole/sieve/sieve-script-file.h +include/dovecot-2.2-pigeonhole/sieve/sieve-script-private.h +include/dovecot-2.2-pigeonhole/sieve/sieve-script.h +include/dovecot-2.2-pigeonhole/sieve/sieve-settings.h +include/dovecot-2.2-pigeonhole/sieve/sieve-smtp.h +include/dovecot-2.2-pigeonhole/sieve/sieve-stringlist.h +include/dovecot-2.2-pigeonhole/sieve/sieve-types.h +include/dovecot-2.2-pigeonhole/sieve/sieve-validator.h +include/dovecot-2.2-pigeonhole/sieve/sieve.h +lib/dovecot-2.2-pigeonhole/libdovecot-sieve.a +lib/dovecot-2.2-pigeonhole/libdovecot-sieve.la +lib/dovecot-2.2-pigeonhole/libdovecot-sieve.so +lib/dovecot-2.2-pigeonhole/libdovecot-sieve.so.0 lib/dovecot/doveadm/lib10_doveadm_sieve_plugin.a lib/dovecot/doveadm/lib10_doveadm_sieve_plugin.la lib/dovecot/doveadm/lib10_doveadm_sieve_plugin.so +lib/dovecot/lib90_sieve_plugin.a +lib/dovecot/lib90_sieve_plugin.la +lib/dovecot/lib90_sieve_plugin.so lib/dovecot/settings/libmanagesieve_login_settings.a lib/dovecot/settings/libmanagesieve_login_settings.la lib/dovecot/settings/libmanagesieve_login_settings.so @@ -69,15 +72,14 @@ lib/dovecot/sieve/lib90_sieve_extprogram lib/dovecot/sieve/lib90_sieve_extprograms_plugin.so libexec/dovecot/managesieve libexec/dovecot/managesieve-login -share/doc/dovecot/example-config/conf.d/20-managesieve.conf -share/doc/dovecot/example-config/conf.d/90-sieve.conf -share/doc/dovecot/example-config/conf.d/90-sieve-extprograms.conf -@dirrmtry share/doc/dovecot/example-config/conf.d -@dirrmtry share/doc/dovecot/example-config -@dirrmtry share/doc/dovecot @dirrmtry libexec/dovecot -@dirrm lib/dovecot/sieve -@dirrm lib/dovecot/settings +@dirrmtry lib/dovecot/sieve +@dirrmtry lib/dovecot/settings +@dirrmtry lib/dovecot/doveadm +@dirrmtry lib/dovecot-2.2-pigeonhole @dirrmtry lib/dovecot -@dirrm include/dovecot/sieve -@dirrmtry include/dovecot +@dirrm include/dovecot-2.2-pigeonhole/sieve +@dirrm include/dovecot-2.2-pigeonhole +@dirrm %%DOCSDIR%%/example-config/conf.d +@dirrm %%DOCSDIR%%/example-config +@dirrm %%DOCSDIR%% _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
State Changed From-To: feedback->closed Maintainer timeout. Patch committed.