Trying to build with poudriere, a depency loop is detected [00:00:30] Error: Dependency loop detected: These packages depend on each other: pinentry-gnome3-1.1.0 gcr-3.38.0 gnupg-2.2.23 pinentry-1.1.0_6
synth also exits due to this loop: security/gnupg scan aborted because a circular dependency on security/gnupg was detected. ... backtrace security/gcr ... backtrace security/pinentry-gnome3 ... backtrace security/pinentry ... backtrace security/gnupg
I have two different 12.2-STABLE machines with different copies of the ports tree (same svn revision though -- 554783). Importantly, "make index" fails on one machine and NOT on the other. I will replace the ports tree on the makeindex-failing machine and re-run the index build there to see if the copy of the ports tree is the thing that's actually broken.
(In reply to M. Voorhis from comment #2) Duh, the pinentry on the working machine didn't have GNOME3 selected as an option. The default settings for pinentry have GNOME3 shut off.
A commit references this bug: Author: jhale Date: Sun Nov 15 20:37:59 UTC 2020 New revision: 555432 URL: https://svnweb.freebsd.org/changeset/ports/555432 Log: security/pinentry: Users who enable the non-default GNOME3 option will now have to install security/pinentry-gnome3 manually. This has been done to break a dependency loop that was introduced in r553735 where security/gcr added a build dependency on security/gnupg. Before r553735: security/gnupg -> security/pinentry -> security/pinentry-gnome3 -> security/gcr After r553735: security/gnupg -> security/pinentry -> security/pinentry-gnome3 -> security/gcr -> security/gnupg Now: security/gnupg -> security/pinentry security/pinentry-gnome3 -> security/gcr -> security/gnupg A pkg-message has been added to remind users of the GNOME3 option to install the required package manually and to deinstall it if no longer needed. PR: 250945 Reported by: <sdalu@sdalu.com> Changes: head/security/pinentry/Makefile head/security/pinentry/pkg-message.gnome3
This dependency loop was caused by an update to security/gcr (r553735). I have removed the security/pinentry-gnome3 dependency from security/pinentry, but users of the GNOME3 option will have to install it manually now.
Since security/gcr only needs some gnupg instance during the build, it may be better to specify security/gnupg1 as a BUILD_DEPENDS there. This is what I have been running with ever since I've started dogfooding security/gcr 3.36. Otherwise, this commit breaks building security/gnupg at all when GNOME3 option is selected.
Alternatively, the RUN_DEPENDS in security/gnupg can be adjusted to pinentry>0:security/pinentry to check for the package rather than checking for the "executable".