Index | Thread | Search

From:
Stuart Henderson <stu@spacehopper.org>
Subject:
Re: net/openmdns 0.7 -> 0.8
To:
Christoph Liebender <christoph@liebender.dev>
Cc:
ports@openbsd.org, gonzalo@openbsd.org
Date:
Mon, 24 Nov 2025 21:18:19 +0000

Download raw body.

Thread
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. <gonzalo@openbsd.org>
>  
> -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}