Index | Thread | Search

From:
Omar Polo <op@omarpolo.com>
Subject:
new/replace: opensmtpd-extras-* with opensmtpd-tables-*
To:
ports@openbsd.org
Cc:
Giovanni Bechis <giovanni@openbsd.org>, Joerg Jung <jung@openbsd.org>
Date:
Tue, 30 Apr 2024 16:10:28 +0200

Download raw body.

Thread
With the upcoming change in the transport layer for the tables, we've
also taken the chance to split them into separate repositories.

The idea is to remove the current opensmtpd-extra-* packages and import
the new set of opensmtpd-table-* packages (in the tarball attached.)

The queue, schedulers and table-python will be removed, the other
remains the same for the end-user point of view.

(queue-{null,ram,stub} and schedule-{ram,stub} I don't think are useful
nor really used.  If anyone is using table-python I can help adapting it,
but they should really update to python3 and implement the stdio
protocol.  It's amazing how easy it is to write tables now.)

The -mysql, -pgqsl and -redis package gets replaced with their
corresponding opensmtpd-table-* package.  -main instead can't be
migrated since it contains several tables that are now in different
repos.

To make the migration smooth, I decided to keep opensmtpd-extras-main as
an empty "meta" package that depends on opensmtpd-table-{ldap,passwd,
socketmap,sqlite}.

I verified by running pkg_add -u in /usr/ports/packages/... that the
migration is painless, but please pay attention to the quirks diff and
@conflict and @pkgpath lines in the PLISTs.

ok to import?


Index: devel/quirks/Makefile
===================================================================
RCS file: /home/cvs/ports/devel/quirks/Makefile,v
diff -u -p -r1.1612 Makefile
--- devel/quirks/Makefile	25 Apr 2024 14:47:21 -0000	1.1612
+++ devel/quirks/Makefile	30 Apr 2024 13:35:48 -0000
@@ -3,7 +3,7 @@ CATEGORIES =	devel databases
 DISTFILES =
 
 # API.rev
-PKGNAME =	quirks-7.20
+PKGNAME =	quirks-7.21
 PKG_ARCH =	*
 MAINTAINER =	Marc Espie <espie@openbsd.org>
 
Index: devel/quirks/files/Quirks.pm
===================================================================
RCS file: /home/cvs/ports/devel/quirks/files/Quirks.pm,v
diff -u -p -r1.1623 Quirks.pm
--- devel/quirks/files/Quirks.pm	25 Apr 2024 14:47:21 -0000	1.1623
+++ devel/quirks/files/Quirks.pm	30 Apr 2024 13:35:15 -0000
@@ -813,11 +813,15 @@ my $stem_extensions = {
 	'sendxmpp' => 'go-sendxmpp',
 	'libreddit' => 'redlib',
 	'rebar3' => 'erl25-rebar3',
+# 7.6
 	'stalwart-cli' => 'stalwart-mail',
 	'stalwart-jmap' => 'stalwart-mail',
 	'stalwart-imap' => 'stalwart-mail',
 	'stalwart-smtp' => 'stalwart-mail',
 	'BlockZone' => 'blockzone',
+	'opensmtpd-extras-mysql' => 'opensmtpd-table-mysql',
+	'opensmtpd-extras-pgsql' => 'opensmtpd-table-postgres',
+	'opensmtpd-extras-redis' => 'opensmtpd-table-redis',
 };
 
 my $obsolete_reason = {};
@@ -1922,6 +1926,7 @@ setup_obsolete_reason(
 	31 => 'mkplaylist',
 	1 => 'proteus',
 	1 => qr{^tryton},
+# 7.6
 	5 => 'py3-pyls-black',
 	5 => 'py3-python-language-server',
 	5 => 'py3-python-jsonrpc-server',
@@ -1930,6 +1935,7 @@ setup_obsolete_reason(
 	3 => 'transcode',
 	3 => 'phonon-backend-gstreamer',
 	0 => 'gone',
+	6 => 'opensmtpd-extras-python'
 );
 
 # though it's not yet used, these should be pkgnames, so that eventually
Index: mail/opensmtpd-extras/Makefile
===================================================================
RCS file: /home/cvs/ports/mail/opensmtpd-extras/Makefile,v
diff -u -p -r1.38 Makefile
--- mail/opensmtpd-extras/Makefile	31 Jan 2024 18:00:10 -0000	1.38
+++ mail/opensmtpd-extras/Makefile	30 Apr 2024 13:41:28 -0000
@@ -1,21 +1,8 @@
-COMMENT-main=		extras for smtpd
-COMMENT-mysql=		mysql based smtpd table support
-COMMENT-pgsql=		postgresql based smtpd table support
-COMMENT-python=		extras with python bindings for smtpd
-COMMENT-redis=		redis based smtpd table support
-
-V=			6.7.1
-DISTNAME=		opensmtpd-extras-${V}
-PKGNAME-main=		${DISTNAME}
-PKGNAME-mysql=		opensmtpd-extras-mysql-${V}
-PKGNAME-pgsql=		opensmtpd-extras-pgsql-${V}
-PKGNAME-python=		opensmtpd-extras-python-${V}
-PKGNAME-redis=		opensmtpd-extras-redis-${V}
-REVISION-main=		0
-REVISION-mysql=		1
-REVISION-pgsql=		1
-REVISION-python=	0
-REVISION-redis=		0
+COMMENT-main=		meta package with common OpenSMTPD tables
+
+PKGNAME=		opensmtpd-extras-6.7.1
+PKGNAME-main=		${PKGNAME}
+REVISION-main=		1
 EPOCH=			0
 
 CATEGORIES=		mail
@@ -25,58 +12,21 @@ HOMEPAGE=		https://www.opensmtpd.org/
 MAINTAINER=		Giovanni Bechis <giovanni@openbsd.org>, \
 			Joerg Jung <jung@openbsd.org>
 
-MULTI_PACKAGES=		-main -mysql -pgsql -python -redis
+MULTI_PACKAGES=		-main
 
 # BSD
 PERMIT_PACKAGE=	Yes
 
-WANTLIB-main=		c crypto event m pthread ssl sqlite3 z
-WANTLIB-mysql=		c crypto event ssl m pthread mariadb z
-WANTLIB-pgsql=		c crypto event ssl m pq
-WANTLIB-python=		c crypto event iconv intl ssl m util pthread ${MODPY_WANTLIB}
-WANTLIB-redis=		c crypto event ssl hiredis
-
-SITES=			${HOMEPAGE}archives/
-
-MODULES=		lang/python
-MODPY_VERSION =	${MODPY_DEFAULT_VERSION_2}
-MODPY_RUNDEP=		no
-
-LIB_DEPENDS-main=	databases/sqlite3
-LIB_DEPENDS-mysql=	databases/mariadb,-main
-LIB_DEPENDS-pgsql=	databases/postgresql,-main
-LIB_DEPENDS-python=	${MODPY_LIB_DEPENDS}
-LIB_DEPENDS-redis=	databases/libhiredis
-RUN_DEPENDS-python=	${MODPY_RUN_DEPENDS}
-
-BUILD_DEPENDS = ${MODGNU_AUTOCONF_DEPENDS} \
-                ${MODGNU_AUTOMAKE_DEPENDS}
-
-AUTOCONF_VERSION=	2.69
-AUTOMAKE_VERSION=	1.16
-CONFIGURE_STYLE=	autoreconf
-AUTORECONF=		sh bootstrap
-CONFIGURE_ARGS=		--mandir=${PREFIX}/man \
-			--libexecdir=${PREFIX}/libexec \
-			--sysconfdir=${SYSCONFDIR}/mail \
-			--with-cppflags="${CFLAGS} -I${PREFIX}/include \
-			    -I${PREFIX}/include/postgresql" \
-			--with-python-type=python${MODPY_VERSION} \
-			--with-queue-null \
-			--with-queue-python \
-			--with-queue-ram \
-			--with-queue-stub \
-			--with-scheduler-python \
-			--with-scheduler-ram \
-			--with-scheduler-stub \
-			--with-table-ldap \
-			--with-table-mysql \
-			--with-table-passwd \
-			--with-table-postgres \
-			--with-table-python \
-			--with-table-redis \
-			--with-table-socketmap \
-			--with-table-sqlite \
-			--with-table-stub
+RUN_DEPENDS-main=	mail/opensmtpd-tables/ldap \
+			mail/opensmtpd-tables/passwd \
+			mail/opensmtpd-tables/socketmap \
+			mail/opensmtpd-tables/sqlite
+
+DISTFILES=	# empty
+NO_BUILD=	Yes
+NO_TEST=	Yes
+
+# don't install anything
+do-install:
 
 .include <bsd.port.mk>
Index: mail/opensmtpd-extras/patches/patch-api_mproc_c
===================================================================
RCS file: mail/opensmtpd-extras/patches/patch-api_mproc_c
diff -N mail/opensmtpd-extras/patches/patch-api_mproc_c
--- mail/opensmtpd-extras/patches/patch-api_mproc_c	31 Jan 2024 18:00:10 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-use imsg_get_fd()
-
-Index: api/mproc.c
---- api/mproc.c.orig
-+++ api/mproc.c
-@@ -306,7 +306,7 @@ void
- m_forward(struct mproc *p, struct imsg *imsg)
- {
- 	imsg_compose(&p->imsgbuf, imsg->hdr.type, imsg->hdr.peerid,
--	    imsg->hdr.pid, imsg->fd, imsg->data,
-+	    imsg->hdr.pid, imsg_get_fd(imsg), imsg->data,
- 	    imsg->hdr.len - sizeof(imsg->hdr));
- 
- 	log_trace(TRACE_MPROC, "mproc: %s -> %s : %zu %s (forward)",
Index: mail/opensmtpd-extras/patches/patch-api_queue_api_c
===================================================================
RCS file: mail/opensmtpd-extras/patches/patch-api_queue_api_c
diff -N mail/opensmtpd-extras/patches/patch-api_queue_api_c
--- mail/opensmtpd-extras/patches/patch-api_queue_api_c	31 Jan 2024 18:00:10 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-use imsg_get_fd
-
-Index: api/queue_api.c
---- api/queue_api.c.orig
-+++ api/queue_api.c
-@@ -171,7 +171,7 @@ queue_msg_dispatch(void)
- 			log_warn("warn: queue-api: mkstemp");
- 		}
- 		else {
--			ifile = fdopen(imsg.fd, "r");
-+			ifile = fdopen(imsg_get_fd(&imsg), "r");
- 			ofile = fdopen(fd, "w");
- 			m = n = 0;
- 			if (ifile && ofile) {
Index: mail/opensmtpd-extras/pkg/DESCR-main
===================================================================
RCS file: /home/cvs/ports/mail/opensmtpd-extras/pkg/DESCR-main,v
diff -u -p -r1.2 DESCR-main
--- mail/opensmtpd-extras/pkg/DESCR-main	30 Nov 2015 19:47:32 -0000	1.2
+++ mail/opensmtpd-extras/pkg/DESCR-main	30 Apr 2024 13:56:06 -0000
@@ -1 +1,2 @@
-Extras for OpenSMTPD, including several filters, queues, schedulers and tables.
+Package deprecated; install the relevant opensmtpd-table-* package
+instead.
Index: mail/opensmtpd-extras/pkg/DESCR-mysql
===================================================================
RCS file: mail/opensmtpd-extras/pkg/DESCR-mysql
diff -N mail/opensmtpd-extras/pkg/DESCR-mysql
--- mail/opensmtpd-extras/pkg/DESCR-mysql	30 Nov 2015 19:47:32 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1 +0,0 @@
-MySQL based OpenSMTPD table.
Index: mail/opensmtpd-extras/pkg/DESCR-pgsql
===================================================================
RCS file: mail/opensmtpd-extras/pkg/DESCR-pgsql
diff -N mail/opensmtpd-extras/pkg/DESCR-pgsql
--- mail/opensmtpd-extras/pkg/DESCR-pgsql	30 Nov 2015 19:47:32 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1 +0,0 @@
-PostgreSQL based OpenSMTPD table.
Index: mail/opensmtpd-extras/pkg/DESCR-python
===================================================================
RCS file: mail/opensmtpd-extras/pkg/DESCR-python
diff -N mail/opensmtpd-extras/pkg/DESCR-python
--- mail/opensmtpd-extras/pkg/DESCR-python	30 Nov 2015 19:47:32 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1 +0,0 @@
-Extras with Python bindings for OpenSMTPD.
Index: mail/opensmtpd-extras/pkg/DESCR-redis
===================================================================
RCS file: mail/opensmtpd-extras/pkg/DESCR-redis
diff -N mail/opensmtpd-extras/pkg/DESCR-redis
--- mail/opensmtpd-extras/pkg/DESCR-redis	30 Nov 2015 19:47:32 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1 +0,0 @@
-Redis based OpenSMTPD table.
Index: mail/opensmtpd-extras/pkg/PLIST-main
===================================================================
RCS file: /home/cvs/ports/mail/opensmtpd-extras/pkg/PLIST-main,v
diff -u -p -r1.8 PLIST-main
--- mail/opensmtpd-extras/pkg/PLIST-main	11 Mar 2022 19:34:44 -0000	1.8
+++ mail/opensmtpd-extras/pkg/PLIST-main	30 Apr 2024 13:38:19 -0000
@@ -1,14 +0,0 @@
-libexec/smtpd/
-@bin libexec/smtpd/queue-null
-@bin libexec/smtpd/queue-ram
-@bin libexec/smtpd/queue-stub
-@bin libexec/smtpd/scheduler-ram
-@bin libexec/smtpd/scheduler-stub
-@bin libexec/smtpd/table-ldap
-@bin libexec/smtpd/table-passwd
-@bin libexec/smtpd/table-socketmap
-@bin libexec/smtpd/table-sqlite
-@bin libexec/smtpd/table-stub
-@man man/man5/table-passwd.5
-@man man/man5/table-socketmap.5
-@man man/man5/table-sqlite.5
Index: mail/opensmtpd-extras/pkg/PLIST-mysql
===================================================================
RCS file: mail/opensmtpd-extras/pkg/PLIST-mysql
diff -N mail/opensmtpd-extras/pkg/PLIST-mysql
--- mail/opensmtpd-extras/pkg/PLIST-mysql	11 Mar 2022 19:34:44 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1 +0,0 @@
-@bin libexec/smtpd/table-mysql
Index: mail/opensmtpd-extras/pkg/PLIST-pgsql
===================================================================
RCS file: mail/opensmtpd-extras/pkg/PLIST-pgsql
diff -N mail/opensmtpd-extras/pkg/PLIST-pgsql
--- mail/opensmtpd-extras/pkg/PLIST-pgsql	11 Mar 2022 19:34:44 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1 +0,0 @@
-@bin libexec/smtpd/table-postgres
Index: mail/opensmtpd-extras/pkg/PLIST-python
===================================================================
RCS file: mail/opensmtpd-extras/pkg/PLIST-python
diff -N mail/opensmtpd-extras/pkg/PLIST-python
--- mail/opensmtpd-extras/pkg/PLIST-python	11 Mar 2022 19:34:44 -0000	1.4
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,3 +0,0 @@
-@bin libexec/smtpd/queue-python
-@bin libexec/smtpd/scheduler-python
-@bin libexec/smtpd/table-python
Index: mail/opensmtpd-extras/pkg/PLIST-redis
===================================================================
RCS file: mail/opensmtpd-extras/pkg/PLIST-redis
diff -N mail/opensmtpd-extras/pkg/PLIST-redis
--- mail/opensmtpd-extras/pkg/PLIST-redis	11 Mar 2022 19:34:44 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,2 +0,0 @@
-@bin libexec/smtpd/table-redis
-@man man/man5/table-redis.5