summaryrefslogtreecommitdiff
path: root/security/pinentry
diff options
context:
space:
mode:
authorJason E. Hale <jhale@FreeBSD.org>2020-11-15 20:37:58 +0000
committerJason E. Hale <jhale@FreeBSD.org>2020-11-15 20:37:58 +0000
commite572cd2816a0f1abaf98d6abfebac972bc15b0f3 (patch)
treec21082e19efb7b550492f8671b38d268f9e88223 /security/pinentry
parentx11/wtype: add new port (diff)
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>
Notes
Notes: svn path=/head/; revision=555432
Diffstat (limited to 'security/pinentry')
-rw-r--r--security/pinentry/Makefile8
-rw-r--r--security/pinentry/pkg-message.gnome326
2 files changed, 32 insertions, 2 deletions
diff --git a/security/pinentry/Makefile b/security/pinentry/Makefile
index 783071881b84..72b825b1571c 100644
--- a/security/pinentry/Makefile
+++ b/security/pinentry/Makefile
@@ -3,7 +3,7 @@
PORTNAME= pinentry
PORTVERSION= 1.1.0
-PORTREVISION?= 6
+PORTREVISION?= 7
CATEGORIES= security
MASTER_SITES= GNUPG/pinentry
@@ -49,7 +49,11 @@ QT5_RUN_DEPENDS= ${PINENTRY_QT5}:security/pinentry-qt5
GNOME3_DESC= GNOME 3 frontend
PINENTRY_GNOME3= pinentry-gnome3
-GNOME3_RUN_DEPENDS= ${PINENTRY_GNOME3}:security/pinentry-gnome3
+# Due to a dependency loop that exists between security/pinentry-gnome3,
+# security/gcr, security/gnupg and security/pinentry, the user must install
+# pinentry-gnome3 manually. See pkg-message.gnome3 for more details.
+#GNOME3_RUN_DEPENDS= ${PINENTRY_GNOME3}:security/pinentry-gnome3
+GNOME3_VARS= PKGMESSAGE+=${.CURDIR}/pkg-message.gnome3
.include <bsd.port.options.mk>
diff --git a/security/pinentry/pkg-message.gnome3 b/security/pinentry/pkg-message.gnome3
new file mode 100644
index 000000000000..e800fc4b0104
--- /dev/null
+++ b/security/pinentry/pkg-message.gnome3
@@ -0,0 +1,26 @@
+[
+{ type: install
+ message: <<EOM
+Due to a dependency loop, you must install security/pinentry-gnome3 manually.
+A symlink has been created for you so that pinentry-gnome3 will be the default
+pinentry binary after you install it, but bear in mind that the package system
+will not keep track of this dependency.
+
+You may install pinentry-gnome3 with one of the following commands:
+
+# pkg install security/pinentry-gnome3
+ or
+# make -C /usr/ports/security/pinentry-gnome3 install clean
+EOM
+}
+{ type: remove
+ message: <<EOM
+The pinentry package has been removed. If you no longer plan on using this
+package, you may remove the pinentry-gnome3 package as well.
+
+You may remove the pinentry-gnome3 package with the following command:
+
+# pkg delete pinentry-gnome3
+EOM
+}
+]