From: Stuart Henderson Subject: Re: net/openmdns 0.7 -> 0.8 To: Christoph Liebender Cc: ports@openbsd.org, gonzalo@openbsd.org Date: Mon, 24 Nov 2025 21:18:19 +0000 On 2025/11/24 21:34, Christoph Liebender wrote: > On 11/23/25 15:12, Stuart Henderson wrote: > > On 2025/11/22 21:27, Christoph Liebender wrote: > > > > > thunderbird user and I have no clue how to submit patches such that everyone > > > is satisfied. > > > > some people use an alternative MUA to send diffs if their preferred one > > is unable to do this cleanly. > > I found a setting. Let's see how this email turns out... > > > > > > Another note; the produced package contains libmdns.a static libraries that > > > are probably not useful in any way, at least without the headers installed > > > as well. I wonder, does it make sense to ship them at all? If not, what is > > > the best way to remove them? post-build: rm ...*.a ? Or is there a more > > > elegant way with MAKE_FLAGS? > > > > i'd just @comment them in this case > > Applied. > > > > > > +SHARED_LIBS += mdns 0.1 > > > > start at 0.0 > > > > normally this goes higher, above CATEGORIES > > Done - though I am not sure if patching shlib_version was the way you > thought of. The version number in the package needs to be _controlled_ by the SHARED_LIBS setting. Because openmdns is using bsd source make rules rather than autoconf/meson/etc (where ports knows how to deal with this) it's a bit more fiddly than usual. The library major is available via LIBmdns_VERSION:R and the minor via LIBmdns_VERSION:E. It's probably simplest to use these and replace shlib_version with printf rather than patching. > > the distfile isn't present at the first SITES entry, so drop that. > > I just replaced that with GH_*. I suppose that makes more sense since > development is (was?) there, and the other working SITE was only a mirror > anyway. an actual tar that somebody has uploaded is generally preferred over autogenerated git-archive files which are not always 100% identical over time. > > > > also HOMEPAGE can switch to https. > > > > Applied. > > > > index 00000000000..ab65cc99126 > > > --- /dev/null > > > +++ b/net/openmdns/patches/patch-libmdns_mdnsl_c > > > > would be better with comments in the patches showing where they're from > > and what they're for > > > > This particular patch wasn't from me - it was present in the previous port > version as well. It is just a rename. For good measure I left some comments > still. > thanks. > diff --git a/net/openmdns/Makefile b/net/openmdns/Makefile > index 8f519886c76..9663ded16ef 100644 > --- a/net/openmdns/Makefile > +++ b/net/openmdns/Makefile > @@ -1,25 +1,30 @@ > COMMENT = MDNS/DNS-SD daemon > > -DISTNAME = openmdns-0.7 > +V = 0.8 > +DISTNAME = openmdns-$V > + > +GH_ACCOUNT = haesbaert > +GH_PROJECT = mdnsd > +GH_TAGNAME = $V > + > +SHARED_LIBS += mdns 0.0 > + > CATEGORIES = net > -REVISION = 3 > > MAINTAINER = Gonzalo L. R. > > -HOMEPAGE = http://www.haesbaert.org/openmdns/ > +HOMEPAGE = https://www.haesbaert.org/openmdns/ > > # ISC > PERMIT_PACKAGE = Yes > > -SITES = http://www.haesbaert.org/openmdns/releases/ \ > - http://x61.com.ar/mirrors/openmdns/ > - > WANTLIB += c event util > > -WRKDIST = ${WRKDIR}/mdnsd > +WRKDIST = ${WRKDIR}/mdnsd-$V > > MAKE_FLAGS = BINDIR="${TRUEPREFIX}/bin" \ > - MANDIR="${TRUEPREFIX}/man/man" > + MANDIR="${TRUEPREFIX}/man/man" \ > + LIBDIR="${TRUEPREFIX}/lib" > > NO_TEST = Yes > > diff --git a/net/openmdns/distinfo b/net/openmdns/distinfo > index 8be676c9b7c..e06049e2ac2 100644 > --- a/net/openmdns/distinfo > +++ b/net/openmdns/distinfo > @@ -1,2 +1,2 @@ > -SHA256 (openmdns-0.7.tar.gz) = 6Qmw5yOWv8XagyWPRSKqebRA9wabCbf9vqL6ZT7Mfuo= > -SIZE (openmdns-0.7.tar.gz) = 49299 > +SHA256 (openmdns-0.8.tar.gz) = p+So9KUkD3pr4UPjiIRwGfWcYgqXhUWN2xtaIVMFYtA= > +SIZE (openmdns-0.8.tar.gz) = 2946543 > diff --git a/net/openmdns/patches/patch-mdnsctl_mdnsl_c b/net/openmdns/patches/patch-libmdns_mdnsl_c > similarity index 89% > rename from net/openmdns/patches/patch-mdnsctl_mdnsl_c > rename to net/openmdns/patches/patch-libmdns_mdnsl_c btw you can do "git config diff.renames no" to set the default for a checkout so you don't need to remember --no-renames when you run git diff > index 3994eca5834..78f9ca156b8 100644 > --- a/net/openmdns/patches/patch-mdnsctl_mdnsl_c > +++ b/net/openmdns/patches/patch-libmdns_mdnsl_c > @@ -1,6 +1,8 @@ > -Index: mdnsctl/mdnsl.c > ---- mdnsctl/mdnsl.c.orig > -+++ mdnsctl/mdnsl.c > +Fix imsg API usage. > + > +Index: libmdns/mdnsl.c > +--- libmdns/mdnsl.c.orig > ++++ libmdns/mdnsl.c > @@ -59,7 +59,8 @@ mdns_open(struct mdns *m) > bzero(m, sizeof(*m)); > if ((sockfd = mdns_connect()) == -1) > diff --git a/net/openmdns/patches/patch-libmdns_shlib_version b/net/openmdns/patches/patch-libmdns_shlib_version > new file mode 100644 > index 00000000000..33a8d6274ad > --- /dev/null > +++ b/net/openmdns/patches/patch-libmdns_shlib_version > @@ -0,0 +1,9 @@ > +Let ports control shlib version. > + > +Index: libmdns/shlib_version > +--- libmdns/shlib_version.orig > ++++ libmdns/shlib_version > +@@ -1,2 +1,2 @@ > + major=0 > +-minor=1 > ++minor=0 > diff --git a/net/openmdns/patches/patch-mdnsctl_Makefile b/net/openmdns/patches/patch-mdnsctl_Makefile > new file mode 100644 > index 00000000000..706e74ee799 > --- /dev/null > +++ b/net/openmdns/patches/patch-mdnsctl_Makefile > @@ -0,0 +1,17 @@ > +Fix build by not outputting to obj directory. > + > +Index: mdnsctl/Makefile > +--- mdnsctl/Makefile.orig > ++++ mdnsctl/Makefile > +@@ -12,11 +12,7 @@ CFLAGS+= -Wshadow -Wpointer-arith -Wcast-qual > + CFLAGS+= -Wsign-compare > + CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../mdnsd > + > +-.if exists(${.CURDIR}/../libmdns/${__objdir}) > +-LDADD+= -L${.CURDIR}/../libmdns/${__objdir} -lmdns > +-.else > + LDADD+= -L${.CURDIR}/../libmdns -lmdns > +-.endif > + LDADD+= -lutil > + DPADD+= ${LIBUTIL} > + > diff --git a/net/openmdns/patches/patch-mdnsd_Makefile b/net/openmdns/patches/patch-mdnsd_Makefile > new file mode 100644 > index 00000000000..61e229a0290 > --- /dev/null > +++ b/net/openmdns/patches/patch-mdnsd_Makefile > @@ -0,0 +1,17 @@ > +Fix build by not outputting to obj directory. > + > +Index: mdnsd/Makefile > +--- mdnsd/Makefile.orig > ++++ mdnsd/Makefile > +@@ -14,11 +14,7 @@ CFLAGS+= -Wmissing-declarations > + CFLAGS+= -Wshadow -Wpointer-arith -Wcast-qual > + CFLAGS+= -Wsign-compare > + > +-.if exists(${.CURDIR}/../libmdns/${__objdir}) > +-LDADD+= -L${.CURDIR}/../libmdns/${__objdir} -lmdns > +-.else > + LDADD+= -L${.CURDIR}/../libmdns -lmdns > +-.endif > + LDADD+= -levent -lutil > + DPADD+= ${LIBEVENT} ${LIBUTIL} > + > diff --git a/net/openmdns/patches/patch-mdnsd_mdnsd_c b/net/openmdns/patches/patch-mdnsd_mdnsd_c > index 33da19cbc92..f974f609abc 100644 > --- a/net/openmdns/patches/patch-mdnsd_mdnsd_c > +++ b/net/openmdns/patches/patch-mdnsd_mdnsd_c > @@ -4,16 +4,16 @@ https://svnweb.freebsd.org/ports?view=revision&revision=549579 > Index: mdnsd/mdnsd.c > --- mdnsd/mdnsd.c.orig > +++ mdnsd/mdnsd.c > -@@ -45,6 +45,8 @@ int mdns_sock(void); > - void fetchmyname(char [MAXHOSTNAMELEN]); > - void fetchhinfo(struct hinfo *); > +@@ -51,6 +51,8 @@ void fetchmyname(char [MAXHOSTNAMELEN]); > + void fetchhinfo(struct hinfo *); > + struct reflect_rule *parse_reflect_rule(char *); > > +ctl_conns_t ctl_conns; > + > struct mdnsd_conf *conf = NULL; > extern char *malloc_options; > > -@@ -361,12 +363,12 @@ void > +@@ -455,12 +457,12 @@ void > imsg_event_add(struct imsgev *iev) > { > if (iev->handler == NULL) { > diff --git a/net/openmdns/patches/patch-mdnsd_mdnsd_h b/net/openmdns/patches/patch-mdnsd_mdnsd_h > index 33a8cb46935..7a859495614 100644 > --- a/net/openmdns/patches/patch-mdnsd_mdnsd_h > +++ b/net/openmdns/patches/patch-mdnsd_mdnsd_h > @@ -18,7 +18,7 @@ Index: mdnsd/mdnsd.h > > struct kif { > char ifname[IF_NAMESIZE]; > -@@ -397,7 +399,8 @@ int rr_send_an(struct rr *); > +@@ -425,7 +427,8 @@ int rr_send_an(struct rr *); > void conflict_resolve_by_rr(struct rr *); > > /* control.c */ > diff --git a/net/openmdns/pkg/PLIST b/net/openmdns/pkg/PLIST > index bb8a2e7307c..eaa62e03611 100644 > --- a/net/openmdns/pkg/PLIST > +++ b/net/openmdns/pkg/PLIST > @@ -3,6 +3,9 @@ > @rcscript ${RCDIR}/mdnsd > @bin bin/mdnsctl > @bin bin/mdnsd > +@comment lib/libmdns.a > +@lib lib/libmdns.so.${LIBmdns_VERSION} > +@comment lib/libmdns_p.a > @man man/man8/mdnsctl.8 > @man man/man8/mdnsd.8 > share/doc/pkg-readmes/${PKGSTEM}