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

Reply via email to