Tuesday, April 30, 2024

new/replace: opensmtpd-extras-* with opensmtpd-tables-*

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

No comments:

Post a Comment