Bug 234016 - mail/dovecot: After upgrade to 12.0, "pkg upgrade" did not update dovecot
Summary: mail/dovecot: After upgrade to 12.0, "pkg upgrade" did not update dovecot
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Larry Rosenman
Keywords: needs-qa
Depends on:
Reported: 2018-12-14 16:27 UTC by Eric van Gyzen
Modified: 2019-02-10 14:26 UTC (History)
2 users (show)

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description Eric van Gyzen freebsd_committer 2018-12-14 16:27:40 UTC
I was running 11.2-RELEASE and dovecot2-  I updated to 12.0-RELEASE and ran "pkg upgrade".  dovecot did not get updated, so it failed to start because the old OpenSSL libraries were gone:

# ldd /usr/local/libexec/dovecot/imap-login
	libssl.so.8 => not found (0)
	libcrypto.so.8 => not found (0)

I would have expected dovecot to get updated automatically with the rest of my packages during "pkg upgrade".  Of course, "pkg install dovecot" works around the problem, but it would be nice if users didn't need to do that.
Comment 1 Larry Rosenman freebsd_committer 2018-12-15 15:18:35 UTC

1) did you have mail/dovecot or mail/dovecot22 installed?
23 which pkg-repo (head or quarterly)?

It looks like you hadn't updated in a while, as pkg name had changed a long time ago from dovecot2 to dovecot.  I'll check MOVED, but I don't know if pkg takes that into account.
Comment 2 Larry Rosenman freebsd_committer 2018-12-15 15:21:58 UTC
ok, so MOVED has:
mail/dovecot2|mail/dovecot|2017-08-07|Renamed to mail/dovecot
mail/dovecot2-pigeonhole|mail/dovecot-pigeonhole|2017-08-07|Renamed to mail/dovecot-pigeonhole

so, I don't know if pkg takes that into account.
Comment 3 Adam Weinberger freebsd_committer 2018-12-15 17:33:42 UTC
pkg can't do anything with MOVED, as most pkg-only users don't have /usr/ports/MOVED (or /usr/ports at all!). The name change requires manual intervention as described in /usr/ports/UPDATING 20170807:

  AFFECTS: users of mail/dovecot2 and mail/dovecot2-pigeonhole
  AUTHOR: adamw@FreeBSD.org

  Now that dovecot1 has been removed from the ports tree, dovecot2
  and dovecot2-pigeonhole have been renamed to simply dovecot and

  pkg should handle the rename automatically, but if you run into
  trouble, you can point pkg at the new origin via:

  # pkg set -o mail/dovecot2:mail/dovecot
  # pkg set -o mail/dovecot2-pigeonhole:mail/dovecot-pigeonhole

  Similarly, you can point portmaster at the new location via:

  # portmaster -o mail/dovecot mail/dovecot2

  If all else fails, just remove and reinstall the package:

  # pkg delete dovecot2
  # pkg install dovecot
Comment 4 Eric van Gyzen freebsd_committer 2018-12-18 02:04:02 UTC

I was running dovecot2, installed May 2017 (before the port was renamed).  I'm using the quarterly pkg repo.


I was expecting the information in MOVED to be somehow encoded into the pkg repo metadata, so that pkg could follow the renames.  Indeed, the UPDATING entry you cited says, "pkg should handle the rename automatically."

If pkg really doesn't handle MOVED, I guess this bug could be considered a feature request.
Comment 5 Larry Rosenman freebsd_committer 2019-02-10 03:34:54 UTC
I'm not sure what I (as mail/dovecot) maintainer can do here.

Portmgr: what say you?
Comment 6 Adam Weinberger freebsd_committer 2019-02-10 14:26:22 UTC
I'm not aware of any plans to teach pkg about MOVED. Essentially, the problem is that there's no way for pkg to parse a file that doesn't exist.