On Fri, Oct 27, 2023 at 09:57:55AM +0100, Stuart Henderson wrote:
> (not related to the diff, but noticed while reviewing - some files
> aren't useful with the port as built anyway - dictd_popen.conf.in and
> dictd_plugin_dbi.conf could be @comment'ed - dict1.conf is in the
> server PLIST but it's actually a client config file).

This means old dict-server conflicts with new dictd-client.

        # TRUSTED_PKG_PATH=/usr/ports/packages/amd64/all pkg_add dictd-client
        Collision in dictd-client-1.13.1p0->1.13.1p1: the following files 
already exist
                /usr/local/share/examples/dictd/dict1.conf 
(dictd-server-1.13.1p0 and dictd-client-1.13.1p1)
        Couldn't find updates for dictd-client-1.13.1p0
        Couldn't install dictd-client-1.13.1p1

So I added conflicts between new old and old, which looks good for when
the result would actually conflict:

        # TRUSTED_PKG_PATH=/usr/ports/packages/amd64/all pkg_add -n dictd-server
        Can't install dictd-server-1.13.1p1 because of conflicts 
(dictd-client-1.13.1p0,dictd-server-1.13.1p0)
        --- dictd-server-1.13.1p1 -------------------
        Can't install dictd-server-1.13.1p1: conflicts
        Couldn't install dictd-server-1.13.1p1

        # TRUSTED_PKG_PATH=/usr/ports/packages/amd64/all pkg_add -n dictd-client
        Can't install dictd-client-1.13.1p1 because of conflicts 
(dictd-client-1.13.1p0,dictd-server-1.13.1p0)
        --- dictd-client-1.13.1p1 -------------------
        Can't install dictd-client-1.13.1p1: conflicts
        Couldn't install dictd-client-1.13.1p1

But that also means I can't update both to new versions:

        # TRUSTED_PKG_PATH=/usr/ports/packages/amd64/all pkg_add 
dictd-{client,server}
        Can't install dictd-client-1.13.1p1 because of conflicts 
(dictd-server-1.13.1p0,dictd-client-1.13.1p0)
        Can't install dictd-server-1.13.1p1 because of conflicts 
(dictd-client-1.13.1p0,dictd-server-1.13.1p0)
        --- dictd-client-1.13.1p1 -------------------
        Can't install dictd-client-1.13.1p1: conflicts
        --- dictd-server-1.13.1p1 -------------------
        Can't install dictd-server-1.13.1p1: conflicts
        Couldn't install dictd-client-1.13.1p1 dictd-server-1.13.1p1

Dropping both @conflict markers also fails (less nicely), of course.

How can we make an update like that?
Remove dict1.conf from -server, wait for update, add to -client?

Index: Makefile
===================================================================
RCS file: /cvs/ports/net/dictd/Makefile,v
diff -u -p -r1.18 Makefile
--- Makefile    27 Oct 2023 18:51:10 -0000      1.18
+++ Makefile    27 Oct 2023 19:23:26 -0000
@@ -6,8 +6,8 @@ DISTNAME=       dictd-$V
 
 PKGNAME-main=  dictd-client-$V
 PKGNAME-server=        dictd-server-$V
-REVISION-main=0
-REVISION-server=0
+REVISION-main= 1
+REVISION-server=1
 
 CATEGORIES=    net education
 
Index: pkg/PLIST-main
===================================================================
RCS file: /cvs/ports/net/dictd/pkg/PLIST-main,v
diff -u -p -r1.3 PLIST-main
--- pkg/PLIST-main      26 Oct 2023 16:49:27 -0000      1.3
+++ pkg/PLIST-main      27 Oct 2023 19:23:26 -0000
@@ -1,3 +1,4 @@
+@conflict dictd-server-<1.13.1p1
 @conflict p5-Net-Dict-*
 @pkgpath net/dictd
 @bin bin/dict
@@ -6,3 +7,5 @@ bin/dictl
 @man man/man1/dict.1
 @man man/man1/dict_lookup.1
 @man man/man1/dictl.1
+share/examples/dictd/
+share/examples/dictd/dict1.conf
Index: pkg/PLIST-server
===================================================================
RCS file: /cvs/ports/net/dictd/pkg/PLIST-server,v
diff -u -p -r1.4 PLIST-server
--- pkg/PLIST-server    27 Oct 2023 18:51:10 -0000      1.4
+++ pkg/PLIST-server    27 Oct 2023 19:23:26 -0000
@@ -1,3 +1,4 @@
+@conflict dictd-client-<1.13.1p0
 @newgroup _dictd:639
 @newuser _dictd:639:_dictd::dictd Account:/nonexistent:/sbin/nologin
 @rcscript ${RCDIR}/dictd
@@ -20,14 +21,13 @@ include/dictdplugin.h
 share/examples/dictd/
 share/examples/dictd/dictd.conf
 @sample ${SYSCONFDIR}/dictd.conf
-share/examples/dictd/dict1.conf
 share/examples/dictd/dictd1.conf
 share/examples/dictd/dictd2.conf
 share/examples/dictd/dictd3.conf
 share/examples/dictd/dictd4.conf
 share/examples/dictd/dictd_complex.conf
 share/examples/dictd/dictd_mime.conf
-share/examples/dictd/dictd_plugin_dbi.conf
-share/examples/dictd/dictd_popen.conf.in
+@comment share/examples/dictd/dictd_plugin_dbi.conf
+@comment share/examples/dictd/dictd_popen.conf.in
 share/examples/dictd/dictd_site.txt
 share/examples/dictd/dictd_virtual.conf

Reply via email to