On Sat, Sep 05 2020, Edd Barrett <[email protected]> wrote:
> Hi all,
>
> We've been talking about trying to remove security/gnupg (i.e. gpg
> version 1) for some time, and the recent plist clash has given me the
> kick up the butt I needed to look more seriously at this.
>
> Below is a list of things that still depend upon gpg1, by maintainer, as
> determined by:
>
> select fullpkgpath from ports where build_depends glob '*security/gnupg[^2]*'
> or run_depends glob '*security/gnupg[^2]*' order by maintainer;
This doesn't catch everything.
> Let's see if we can move these to gpg2. I'll start by working my way
> through the ports with no maintainer. I'd appreciate it if maintainers
> could help out with their ports.
>
> Cheers!
>
>
> bluhm@:
> security/p5-Module-Signature
>
> giovanni@:
> databases/mysql-zrm
> mail/p5-Mail-SpamAssassin
>
> feinerer@:
> security/fwknop
>
> robert@:
> www/rt
>
> semarie@:
> www/weboob
>
> solene@:
> mail/mailpile
+ gsoares@:
+ security/p5-GnuPG
+ kmos@:
+ net/py-slixmpp
> No maintainer:
> mail/pine-pgp-filters
> security/py-gnupg
> security/py-gnupg,python3
> security/clamav-unofficial-sigs
+ security/p5-GPG (no consumer, not updated since import in 2001)
+ security/p5-GnuPG-Interface (not updated since 2008, has consumers)
+ security/p5-PGP-Sign (not updated since 2008, has consumers)
+ security/tclgpg (no consumer)
+ security/gpgme (I have a wip diff to move it to security/gnupg2)
Below is a slightly modified version of the diff I have shown to edd@
and others. It treats security/gnupg2 as the only provider of the gpg
executable, along with a gpg2 compat symlink.
As Edd notes, the migration path for consumer ports may be as easy as
replacing security/gnupg with security/gnupg2 in BUILD, RUN and
TEST_DEPENDS, and bump REVISION.
Of course, runtime tests would be useful, if only to point out old
software that should have been adapted to work with gnupg-2.X.
Regarding the user migration path, the compat "gpg2" and "gpgv2"
symlinks could be removed for 6.9, or this could be done post-release.
I would go with the latter but I don't feel strongly about it.
Thoughts?
Index: Makefile
===================================================================
RCS file: /cvs/ports/security/gnupg2/Makefile,v
retrieving revision 1.71
diff -u -p -r1.71 Makefile
--- Makefile 5 Sep 2020 10:07:43 -0000 1.71
+++ Makefile 6 Sep 2020 00:24:17 -0000
@@ -3,12 +3,9 @@
COMMENT = GNU privacy guard - a free PGP replacement
DISTNAME = gnupg-2.2.23
-REVISION = 0
+REVISION = 1
CATEGORIES = security
-# don't mix up dependencies with gnupg1
-PKGSPEC = gnupg->=2
-
MASTER_SITES = ${MASTER_SITE_GNUPG:=gnupg/}
HOMEPAGE = https://www.gnupg.org/
@@ -56,12 +53,11 @@ CONFIGURE_ENV = CPPFLAGS="-I${LOCALBASE
LDFLAGS="-L${LOCALBASE}/lib"
CONFIGURE_ARGS += docdir=${LOCALBASE}/share/doc/gnupg2 \
--enable-gpgtar \
- --enable-wks-tools \
- --enable-gpg-is-gpg2
+ --enable-wks-tools
-# Avoid conflict with gnupg-1.x
+# compat symlinks, remove for OpenBSD 7.0?
post-install:
- @mv ${PREFIX}/man/man7/gnupg.7 ${PREFIX}/man/man7/gnupg2.7
- @mv ${PREFIX}/bin/gpgsplit ${PREFIX}/bin/gpgsplit2
+ ln -sf gpg ${PREFIX}/bin/gpg2
+ ln -sf gpgv ${PREFIX}/bin/gpgv2
.include <bsd.port.mk>
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/security/gnupg2/pkg/PLIST,v
retrieving revision 1.22
diff -u -p -r1.22 PLIST
--- pkg/PLIST 5 Sep 2020 10:07:44 -0000 1.22
+++ pkg/PLIST 6 Sep 2020 00:24:17 -0000
@@ -1,20 +1,21 @@
@comment $OpenBSD: PLIST,v 1.22 2020/09/05 10:07:44 jca Exp $
-@option no-default-conflict
-@option is-branch
-@conflict gnupg->=2
+@conflict gnupg-<2.2.23p1
+@pkgpath security/gnupg
@bin bin/dirmngr
@bin bin/dirmngr-client
+@bin bin/gpg
@bin bin/gpg-agent
@bin bin/gpg-connect-agent
@bin bin/gpg-wks-server
-@bin bin/gpg2
+bin/gpg2
@bin bin/gpgconf
@bin bin/gpgparsemail
@bin bin/gpgscm
@bin bin/gpgsm
-@bin bin/gpgsplit2
+@bin bin/gpgsplit
@bin bin/gpgtar
-@bin bin/gpgv2
+@bin bin/gpgv
+bin/gpgv2
@bin bin/kbxutil
@bin bin/watchgnupg
@info info/gnupg.info
@@ -29,16 +30,16 @@
@man man/man1/gpg-preset-passphrase.1
@man man/man1/gpg-wks-client.1
@man man/man1/gpg-wks-server.1
-@man man/man1/gpg2.1
+@man man/man1/gpg.1
@man man/man1/gpgconf.1
@man man/man1/gpgparsemail.1
@man man/man1/gpgsm.1
@man man/man1/gpgtar.1
-@man man/man1/gpgv2.1
+@man man/man1/gpgv.1
@man man/man1/scdaemon.1
@man man/man1/symcryptrun.1
@man man/man1/watchgnupg.1
-@man man/man7/gnupg2.7
+@man man/man7/gnupg.7
@man man/man8/addgnupghome.8
@man man/man8/applygnupgdefaults.8
@man man/man8/dirmngr.8
--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE