On Thu, 2024-12-12 at 16:06 +0000, Stuart Henderson wrote:
> On 2024/12/12 15:40, Martijn van Duren wrote:
> > There appear to be 2 branches of releases, the main 6.4.3 release, and
> > the -r<n> releases which are annotated as for docker. While the release
> > notes give the impression that there are only docker related changes, a
> > got diff on the tags shows that there are also code changes included in
> > there. For this reason it seemed best to lucas and me to follow the
> > latter.
> 
> Doesn't seem to be the case for 4.6.3, but looking at older releases
> I see what you mean. What a nuisance.
> 
> > +V = 4.6.3-r0
> > +DISTFILES = ${V}.tar.gz
> > +DISTNAME = coturn-docker-${V}
> > +PKGNAME = turnserver-${V:S/-/./}
> ...
> >  PORTROACH = site:https://github.com/coturn/coturn/releases/
> > -SITES = https://coturn.net/turnserver/v${V}/
> > +SITES = https://github.com/coturn/coturn/archive/refs/tags/docker/
> 
> Please use GH_* for github autogenerated tarballs, it takes care
> of renaming the downloaded files a bit better than the default,
> 
> > +SHA256 (4.6.3-r0.tar.gz) = yIFrwM9YQT5Y6r8EDtTCHp8kHKk6cEVja1Dow0BsTrk=
> > +SIZE (4.6.3-r0.tar.gz) = 535329
> 
> ...this isn't really suitable for use in distfiles.
> 
> Also, while things will work with the way you're setting PKGNAME
> for -r0 to -r9, it will break at -r10 (which they have used before)
> and then you'd need to start using EPOCH (use pkg_check-versions to
> check the sort order).
> 
> / in the tag name adds a slight complication but it's not too
> hard to deal with.
> 
> Makefile diff below will fix that.

Copied over your suggestion
> 
> (I didn't try building, the diff in your email got mangled somewhere
> and I didn't fancy hand-applying the changes to patches/).
> 
Apparently evolution decided to apply quoted printable to it... Need to
figure out how to fix that at a later time (suggestions welcome). For
now I've simply attached the diff.      

tb@ pointed out offlist that the libressl version number stuff can go.
I already did that for ns_ioalib_engine_impl.c, but for 4.6.2 (which I
was working on originally) the mainrelay.c bits were still needed.

martijn@
Index: Makefile
===================================================================
RCS file: /cvs/ports/telephony/coturn/Makefile,v
retrieving revision 1.18
diff -u -p -r1.18 Makefile
--- Makefile	30 Aug 2024 19:16:43 -0000	1.18
+++ Makefile	12 Dec 2024 16:38:45 -0000
@@ -1,21 +1,22 @@
 COMMENT =	coturn STUN/TURN server
 
-V =		4.5.2
-DISTNAME =	turnserver-${V}
-REVISION =	5
+V =		4.6.3-r0
+GH_ACCOUNT =	coturn
+GH_PROJECT =	coturn
+GH_TAGNAME =	docker/${V}
+DISTNAME =	turnserver-${V:S/-r/pl/}
+WRKDIST =	${WRKDIR}/coturn-docker-${V}
 
-CATEGORIES =	telephony
+COMPILER =	base-clang ports-gcc
+COMPILER_LANGS = c
 
-HOMEPAGE =	https://github.com/coturn/coturn
+CATEGORIES =	telephony
 
 # BSD
 PERMIT_PACKAGE =	Yes
 
 WANTLIB += c crypto event_core event_extra event_openssl event_pthreads
 WANTLIB += hiredis intl mariadb pq pthread sqlite3 ssl m z
-
-PORTROACH =		site:https://github.com/coturn/coturn/releases/
-SITES =			https://coturn.net/turnserver/v${V}/
 
 LIB_DEPENDS =		databases/mariadb \
 			databases/postgresql \
Index: distinfo
===================================================================
RCS file: /cvs/ports/telephony/coturn/distinfo,v
retrieving revision 1.5
diff -u -p -r1.5 distinfo
--- distinfo	30 Apr 2021 07:52:33 -0000	1.5
+++ distinfo	12 Dec 2024 16:38:45 -0000
@@ -1,2 +1,2 @@
-SHA256 (turnserver-4.5.2.tar.gz) = HL74jNSrDeDU1wEfTn6vOaNEtIXponLzBV61PdMDtuE=
-SIZE (turnserver-4.5.2.tar.gz) = 444865
+SHA256 (turnserver-4.6.3pl0.tar.gz) = yIFrwM9YQT5Y6r8EDtTCHp8kHKk6cEVja1Dow0BsTrk=
+SIZE (turnserver-4.6.3pl0.tar.gz) = 535329
Index: patches/patch-src_apps_common_apputils_c
===================================================================
RCS file: patches/patch-src_apps_common_apputils_c
diff -N patches/patch-src_apps_common_apputils_c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_apps_common_apputils_c	12 Dec 2024 16:38:45 -0000
@@ -0,0 +1,12 @@
+Index: src/apps/common/apputils.c
+--- src/apps/common/apputils.c.orig
++++ src/apps/common/apputils.c
+@@ -1179,7 +1179,7 @@ char *find_config_file(const char *config_file) {
+ /////////////////// SYS SETTINGS ///////////////////////
+ 
+ void ignore_sigpipe(void) {
+-#if defined(__linux__) || defined(__APPLE__)
++#if defined(__linux__) || defined(__APPLE__) || defined(__OpenBSD__)
+   /* Ignore SIGPIPE from TCP sockets */
+   if (signal(SIGPIPE, SIG_IGN) == SIG_ERR) {
+     perror("Cannot set SIGPIPE handler");
Index: patches/patch-src_apps_relay_mainrelay_c
===================================================================
RCS file: /cvs/ports/telephony/coturn/patches/patch-src_apps_relay_mainrelay_c,v
retrieving revision 1.2
diff -u -p -r1.2 patch-src_apps_relay_mainrelay_c
--- patches/patch-src_apps_relay_mainrelay_c	11 Mar 2022 19:58:30 -0000	1.2
+++ patches/patch-src_apps_relay_mainrelay_c	12 Dec 2024 16:38:45 -0000
@@ -1,33 +1,14 @@
-Use accessors instead of reaching into DH to fix build with opaque DH
-in LibreSSL 3.5
+Don't create a default pidfile
 
 Index: src/apps/relay/mainrelay.c
 --- src/apps/relay/mainrelay.c.orig
 +++ src/apps/relay/mainrelay.c
-@@ -2710,7 +2710,7 @@ static DH *get_dh566(void) {
+@@ -126,7 +126,7 @@ turn_params_t turn_params = {
  
- 	if ((dh = DH_new()) == NULL )
- 		return (NULL );
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
- 	dh->p = BN_bin2bn(dh566_p, sizeof(dh566_p), NULL );
- 	dh->g = BN_bin2bn(dh566_g, sizeof(dh566_g), NULL );
- 	if ((dh->p == NULL )|| (dh->g == NULL)){ DH_free(dh); return(NULL);}
-@@ -2748,7 +2748,7 @@ static DH *get_dh1066(void) {
+     0, /* do_not_use_config_file */
  
- 	if ((dh = DH_new()) == NULL )
- 		return (NULL );
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
- 	dh->p = BN_bin2bn(dh1066_p, sizeof(dh1066_p), NULL );
- 	dh->g = BN_bin2bn(dh1066_g, sizeof(dh1066_g), NULL );
- 	if ((dh->p == NULL )|| (dh->g == NULL)){ DH_free(dh); return(NULL);}
-@@ -2799,7 +2799,7 @@ static DH *get_dh2066(void) {
+-    "/var/run/turnserver.pid", /* pidfile */
++    "",                        /* pidfile */
+     "",                        /* acme_redirect */
  
- 	if ((dh = DH_new()) == NULL )
- 		return (NULL );
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
- 	dh->p = BN_bin2bn(dh2066_p, sizeof(dh2066_p), NULL );
- 	dh->g = BN_bin2bn(dh2066_g, sizeof(dh2066_g), NULL );
- 	if ((dh->p == NULL )|| (dh->g == NULL)){ DH_free(dh); return(NULL);}
+     ////////////////  Listener server /////////////////
Index: patches/patch-src_apps_relay_ns_ioalib_engine_impl_c
===================================================================
RCS file: patches/patch-src_apps_relay_ns_ioalib_engine_impl_c
diff -N patches/patch-src_apps_relay_ns_ioalib_engine_impl_c
--- patches/patch-src_apps_relay_ns_ioalib_engine_impl_c	11 Mar 2022 19:58:30 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,23 +0,0 @@
-Do not leak rbio and use SSL_set0_rbio()
-
-Index: src/apps/relay/ns_ioalib_engine_impl.c
---- src/apps/relay/ns_ioalib_engine_impl.c.orig
-+++ src/apps/relay/ns_ioalib_engine_impl.c
-@@ -1833,7 +1833,7 @@ int ssl_read(evutil_socket_t fd, SSL* ssl, ioa_network
- 	BIO* rbio = BIO_new_mem_buf(buffer, old_buffer_len);
- 	BIO_set_mem_eof_return(rbio, -1);
- 
--#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined LIBRESSL_VERSION_NUMBER
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- 	ssl->rbio = rbio;
- #else
- 	SSL_set0_rbio(ssl,rbio);
-@@ -1928,7 +1928,7 @@ int ssl_read(evutil_socket_t fd, SSL* ssl, ioa_network
- 	if(ret>0) {
- 		ioa_network_buffer_add_offset_size(nbh, (uint16_t)buf_size, 0, (size_t)ret);
- 	}
--#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined LIBRESSL_VERSION_NUMBER
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- 	ssl->rbio = NULL;
- 	BIO_free(rbio);
- #else
Index: pkg/turnserver.rc
===================================================================
RCS file: /cvs/ports/telephony/coturn/pkg/turnserver.rc,v
retrieving revision 1.4
diff -u -p -r1.4 turnserver.rc
--- pkg/turnserver.rc	13 Mar 2023 11:12:38 -0000	1.4
+++ pkg/turnserver.rc	12 Dec 2024 16:38:45 -0000
@@ -1,15 +1,10 @@
 #!/bin/ksh
 
 daemon="${TRUEPREFIX}/bin/turnserver --daemon"
-daemon_flags="--pidfile=/var/run/turnserver/turnserver.pid"
 daemon_user="_turnserver"
 
 . /etc/rc.d/rc.subr
 
 rc_reload=NO
-
-rc_pre() {
-	install -d -o ${daemon_user} /var/run/turnserver
-}
 
 rc_cmd $1

Reply via email to