pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/devel/basu



Module Name:    pkgsrc
Committed By:   kikadf
Date:           Tue Apr 14 10:58:11 UTC 2026

Added Files:
        pkgsrc/devel/basu: DESCR Makefile PLIST buildlink3.mk distinfo
        pkgsrc/devel/basu/patches: patch-src_basic_alloc-util.h
            patch-src_basic_fileio.h patch-src_basic_log.h
            patch-src_basic_macro.h patch-src_basic_memfd-util.c
            patch-src_basic_missing.h patch-src_basic_socket-util.c
            patch-src_basic_socket-util.h patch-src_busctl_busctl.c
            patch-src_libsystemd_libsystemd.sym
            patch-src_libsystemd_sd-bus_bus-dump.c
            patch-src_libsystemd_sd-bus_bus-gvariant.c
            patch-src_libsystemd_sd-bus_bus-message.h
            patch-src_libsystemd_sd-bus_bus-protocol.h
            patch-src_libsystemd_sd-bus_bus-socket.c
            patch-src_libsystemd_sd-bus_bus-track.c
            patch-src_libsystemd_sd-bus_test-bus-chat.c
            patch-src_libsystemd_sd-bus_test-bus-creds.c
            patch-src_libsystemd_sd-bus_test-bus-objects.c
            patch-src_libsystemd_sd-bus_test-bus-server.c
            patch-src_test_tests.c

Log Message:
basu: new package

The sd-bus library, extracted from systemd. Some projects
rely on the sd-bus library for DBus support. However not
all systems have systemd or elogind installed. This library
provides just sd-bus (and the busctl utility).


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 pkgsrc/devel/basu/DESCR pkgsrc/devel/basu/Makefile \
    pkgsrc/devel/basu/PLIST pkgsrc/devel/basu/buildlink3.mk \
    pkgsrc/devel/basu/distinfo
cvs rdiff -u -r0 -r1.1 pkgsrc/devel/basu/patches/patch-src_basic_alloc-util.h \
    pkgsrc/devel/basu/patches/patch-src_basic_fileio.h \
    pkgsrc/devel/basu/patches/patch-src_basic_log.h \
    pkgsrc/devel/basu/patches/patch-src_basic_macro.h \
    pkgsrc/devel/basu/patches/patch-src_basic_memfd-util.c \
    pkgsrc/devel/basu/patches/patch-src_basic_missing.h \
    pkgsrc/devel/basu/patches/patch-src_basic_socket-util.c \
    pkgsrc/devel/basu/patches/patch-src_basic_socket-util.h \
    pkgsrc/devel/basu/patches/patch-src_busctl_busctl.c \
    pkgsrc/devel/basu/patches/patch-src_libsystemd_libsystemd.sym \
    pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_bus-dump.c \
    pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_bus-gvariant.c \
    pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_bus-message.h \
    pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_bus-protocol.h \
    pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_bus-socket.c \
    pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_bus-track.c \
    pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_test-bus-chat.c \
    pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_test-bus-creds.c \
    pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_test-bus-objects.c \
    pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_test-bus-server.c \
    pkgsrc/devel/basu/patches/patch-src_test_tests.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: pkgsrc/devel/basu/DESCR
diff -u /dev/null pkgsrc/devel/basu/DESCR:1.1
--- /dev/null   Tue Apr 14 10:58:11 2026
+++ pkgsrc/devel/basu/DESCR     Tue Apr 14 10:58:09 2026
@@ -0,0 +1,4 @@
+The sd-bus library, extracted from systemd. Some projects
+rely on the sd-bus library for DBus support. However not
+all systems have systemd or elogind installed. This library
+provides just sd-bus (and the busctl utility).
Index: pkgsrc/devel/basu/Makefile
diff -u /dev/null pkgsrc/devel/basu/Makefile:1.1
--- /dev/null   Tue Apr 14 10:58:11 2026
+++ pkgsrc/devel/basu/Makefile  Tue Apr 14 10:58:09 2026
@@ -0,0 +1,23 @@
+# $NetBSD: Makefile,v 1.1 2026/04/14 10:58:09 kikadf Exp $
+
+DISTNAME=      basu-0.2.1
+CATEGORIES=    devel
+MASTER_SITES=  https://git.sr.ht/~emersion/basu/archive/
+DISTFILES=     v${PKGVERSION_NOREV}${EXTRACT_SUFX}
+DIST_SUBDIR=   basu
+
+MAINTAINER=    kikadf.01%gmail.com@localhost
+HOMEPAGE=      https://sr.ht/~emersion/basu/
+COMMENT=       The sd-bus library, extracted from systemd
+LICENSE=       gnu-lgpl-v2.1
+
+USE_TOOLS+=    pkg-config
+TOOL_DEPENDS+= gperf-[0-9]*:../../devel/gperf
+WRKSRC=                ${WRKDIR}/basu-v${PKGVERSION_NOREV}
+REPLACE_PYTHON=        src/basic/generate-gperfs.py
+MESON_ARGS+=   -Daudit=disabled
+MESON_ARGS+=   -Dlibcap=disabled
+
+.include "../../devel/meson/build.mk"
+.include "../../lang/python/application.mk"
+.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/devel/basu/PLIST
diff -u /dev/null pkgsrc/devel/basu/PLIST:1.1
--- /dev/null   Tue Apr 14 10:58:11 2026
+++ pkgsrc/devel/basu/PLIST     Tue Apr 14 10:58:09 2026
@@ -0,0 +1,10 @@
+@comment $NetBSD: PLIST,v 1.1 2026/04/14 10:58:09 kikadf Exp $
+bin/basuctl
+include/basu/_sd-common.h
+include/basu/sd-bus-protocol.h
+include/basu/sd-bus-vtable.h
+include/basu/sd-bus.h
+include/basu/sd-id128.h
+lib/libbasu.so
+lib/libbasu.so.0
+lib/pkgconfig/basu.pc
Index: pkgsrc/devel/basu/buildlink3.mk
diff -u /dev/null pkgsrc/devel/basu/buildlink3.mk:1.1
--- /dev/null   Tue Apr 14 10:58:11 2026
+++ pkgsrc/devel/basu/buildlink3.mk     Tue Apr 14 10:58:09 2026
@@ -0,0 +1,14 @@
+# $NetBSD: buildlink3.mk,v 1.1 2026/04/14 10:58:09 kikadf Exp $
+
+BUILDLINK_TREE+=       basu
+
+.if !defined(BASU_BUILDLINK3_MK)
+BASU_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.basu+=   basu>=0.2.1
+BUILDLINK_ABI_DEPENDS.basu+=   basu>=0.2.1
+BUILDLINK_PKGSRCDIR.basu?=     ../../devel/basu
+
+.endif # BASU_BUILDLINK3_MK
+
+BUILDLINK_TREE+=       -basu
Index: pkgsrc/devel/basu/distinfo
diff -u /dev/null pkgsrc/devel/basu/distinfo:1.1
--- /dev/null   Tue Apr 14 10:58:11 2026
+++ pkgsrc/devel/basu/distinfo  Tue Apr 14 10:58:09 2026
@@ -0,0 +1,26 @@
+$NetBSD: distinfo,v 1.1 2026/04/14 10:58:09 kikadf Exp $
+
+BLAKE2s (basu/v0.2.1.tar.gz) = f7b340b81f7fb9952b58129cb7dd95da20d7f3f8d9a3b11003360fc943e51bd7
+SHA512 (basu/v0.2.1.tar.gz) = b1f6a35e4d93d099c5c92a8ea68f8a93429a614f1a63de7346e256437525bee5b87c1a5ad2e0dad2ff0bdc88b525cf1931f048e032bd1f1ff007b4d5eee90c59
+Size (basu/v0.2.1.tar.gz) = 239042 bytes
+SHA1 (patch-src_basic_alloc-util.h) = 7ada7a5df59b1f1ec2751a7bcb50b26f0368feae
+SHA1 (patch-src_basic_fileio.h) = 6398bbead3c315fbfc6a7ec3bb7bda22a4a10d1b
+SHA1 (patch-src_basic_log.h) = 7bd42dd43f6ae2c4ccce8b1c76f0fb346d0aa33f
+SHA1 (patch-src_basic_macro.h) = 796666644ac3fb1a7b3e5d314a15dd74467b3f55
+SHA1 (patch-src_basic_memfd-util.c) = a300bdcf4df7edaa07f3469389174330e639b967
+SHA1 (patch-src_basic_missing.h) = 39f30fbf35bd429390bbb90a62f9ca45c2c86040
+SHA1 (patch-src_basic_socket-util.c) = 7f037f0d1f2092acb287fb1c7e8186d7a07a7d0e
+SHA1 (patch-src_basic_socket-util.h) = 6ff848ab3063f705d693e40d24e157077afcb7d7
+SHA1 (patch-src_busctl_busctl.c) = b431ae6b65a0f65b63b9ce69d1912c34fd6f9f8f
+SHA1 (patch-src_libsystemd_libsystemd.sym) = 17f312781b9f1bc95e855ee05c4874e1c8d9a2c9
+SHA1 (patch-src_libsystemd_sd-bus_bus-dump.c) = 0c8eeafcca6f1d2d9ff7da3bf207aa6efc376404
+SHA1 (patch-src_libsystemd_sd-bus_bus-gvariant.c) = eda28f53d11995d62c398e345c9c8df8e77a347f
+SHA1 (patch-src_libsystemd_sd-bus_bus-message.h) = 7a42f1dae88e72369f63a38c0eb2fd6b533a9ed3
+SHA1 (patch-src_libsystemd_sd-bus_bus-protocol.h) = a1313ce260ad3d70455ead5fc62e076e555c5e73
+SHA1 (patch-src_libsystemd_sd-bus_bus-socket.c) = 6fcd97ecfb443c4e6093c5cafc252c994f0dfffc
+SHA1 (patch-src_libsystemd_sd-bus_bus-track.c) = 8d4aa978177845ba56b4e7431a7a492283693f87
+SHA1 (patch-src_libsystemd_sd-bus_test-bus-chat.c) = 30e8d7e8db8fa8a8f172796933f1e0fe756af91a
+SHA1 (patch-src_libsystemd_sd-bus_test-bus-creds.c) = 70453efa597f96f4638d13b79ae96641a8c16bcd
+SHA1 (patch-src_libsystemd_sd-bus_test-bus-objects.c) = ef83e5763f7b950ded42927832fec12b43c9b536
+SHA1 (patch-src_libsystemd_sd-bus_test-bus-server.c) = 515cb87965d54c35ec97fb125aed9ef056af711b
+SHA1 (patch-src_test_tests.c) = 6f29b5eea228b3ee6106135e8153e31cdbd21a40

Index: pkgsrc/devel/basu/patches/patch-src_basic_alloc-util.h
diff -u /dev/null pkgsrc/devel/basu/patches/patch-src_basic_alloc-util.h:1.1
--- /dev/null   Tue Apr 14 10:58:11 2026
+++ pkgsrc/devel/basu/patches/patch-src_basic_alloc-util.h      Tue Apr 14 10:58:10 2026
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_basic_alloc-util.h,v 1.1 2026/04/14 10:58:10 kikadf Exp $
+
+* Add NetBSD support
+
+--- src/basic/alloc-util.h.orig        2022-12-16 11:13:02.000000000 +0100
++++ src/basic/alloc-util.h
+@@ -38,7 +38,7 @@ static inline void *mfree(void *memory) 
+                 0;                              \
+         })
+ 
+-#ifdef __FreeBSD__
++#if defined(__FreeBSD__) || defined(__NetBSD__)
+ #define mempcpy __builtin_mempcpy
+ #endif
+ 
Index: pkgsrc/devel/basu/patches/patch-src_basic_fileio.h
diff -u /dev/null pkgsrc/devel/basu/patches/patch-src_basic_fileio.h:1.1
--- /dev/null   Tue Apr 14 10:58:11 2026
+++ pkgsrc/devel/basu/patches/patch-src_basic_fileio.h  Tue Apr 14 10:58:10 2026
@@ -0,0 +1,16 @@
+$NetBSD: patch-src_basic_fileio.h,v 1.1 2026/04/14 10:58:10 kikadf Exp $
+
+* NetBSD hasn't ferror_unlocked()
+
+--- src/basic/fileio.h.orig    2022-12-16 11:13:02.000000000 +0100
++++ src/basic/fileio.h
+@@ -3,6 +3,9 @@
+ 
+ #include <stddef.h>
+ #include <stdio.h>
++#ifdef __NetBSD__
++#define ferror_unlocked(fp) ferror(fp)
++#endif
+ 
+ int read_one_line_file(const char *fn, char **line);
+ int read_full_file(const char *fn, char **contents, size_t *size);
Index: pkgsrc/devel/basu/patches/patch-src_basic_log.h
diff -u /dev/null pkgsrc/devel/basu/patches/patch-src_basic_log.h:1.1
--- /dev/null   Tue Apr 14 10:58:11 2026
+++ pkgsrc/devel/basu/patches/patch-src_basic_log.h     Tue Apr 14 10:58:10 2026
@@ -0,0 +1,33 @@
+$NetBSD: patch-src_basic_log.h,v 1.1 2026/04/14 10:58:10 kikadf Exp $
+
+* On NetBSD %m is only allowed in syslog(3) like functions
+
+--- src/basic/log.h.orig       2022-12-16 11:13:02.000000000 +0100
++++ src/basic/log.h
+@@ -97,9 +97,22 @@ void log_assert_failed_return_realm(
+ #define log_warning(...)   log_full(LOG_WARNING, __VA_ARGS__)
+ #define log_error(...)     log_full(LOG_ERR,     __VA_ARGS__)
+ 
+-/* Logging triggered by an errno-like error */
+-#define log_debug_errno(error, ...)     log_full_errno(LOG_DEBUG,   error, __VA_ARGS__)
+-#define log_notice_errno(error, ...)    log_full_errno(LOG_NOTICE,  error, __VA_ARGS__)
+-#define log_error_errno(error, ...)     log_full_errno(LOG_ERR,     error, __VA_ARGS__)
++/* Logging triggered by an errno-like error
++ * On NetBSD %m is only allowed in syslog(3) like functions */
++#if defined(__NetBSD__)
++#define log_debug_errno(error, fmt, ...)     \
++        log_full_errno(LOG_DEBUG,   error, fmt ": %s", ##__VA_ARGS__, strerror(-(error)))
++#define log_notice_errno(error, fmt, ...)    \
++        log_full_errno(LOG_NOTICE,  error, fmt ": %s", ##__VA_ARGS__, strerror(-(error)))
++#define log_error_errno(error, fmt, ...)     \
++        log_full_errno(LOG_ERR,     error, fmt ": %s", ##__VA_ARGS__, strerror(-(error)))
++#else
++#define log_debug_errno(error, fmt, ...)     \
++        log_full_errno(LOG_DEBUG,   error, fmt ": %m", ##__VA_ARGS__)
++#define log_notice_errno(error, fmt, ...)    \
++        log_full_errno(LOG_NOTICE,  error, fmt ": %m", ##__VA_ARGS__)
++#define log_error_errno(error, fmt, ...)     \
++        log_full_errno(LOG_ERR,     error, fmt ": %m", ##__VA_ARGS__)
++#endif
+ 
+ #define log_oom() log_oom_internal(LOG_REALM, __FILE__, __LINE__, __func__)
Index: pkgsrc/devel/basu/patches/patch-src_basic_macro.h
diff -u /dev/null pkgsrc/devel/basu/patches/patch-src_basic_macro.h:1.1
--- /dev/null   Tue Apr 14 10:58:11 2026
+++ pkgsrc/devel/basu/patches/patch-src_basic_macro.h   Tue Apr 14 10:58:10 2026
@@ -0,0 +1,35 @@
+$NetBSD: patch-src_basic_macro.h,v 1.1 2026/04/14 10:58:10 kikadf Exp $
+
+* Use custom macros
+
+--- src/basic/macro.h.orig     2022-12-16 11:13:02.000000000 +0100
++++ src/basic/macro.h
+@@ -70,7 +70,7 @@
+ #define ALIGN4(l) (((l) + 3) & ~3)
+ #define ALIGN8(l) (((l) + 7) & ~7)
+ 
+-#ifdef __FreeBSD__
++#ifdef ALIGN
+ #undef ALIGN
+ #endif
+ 
+@@ -121,6 +121,9 @@ static inline size_t ALIGN_TO(size_t l, 
+         })
+ 
+ #undef MAX
++#ifdef __MAX
++#undef __MAX
++#endif
+ #define MAX(a, b) __MAX(UNIQ, (a), UNIQ, (b))
+ #define __MAX(aq, a, bq, b)                             \
+         ({                                              \
+@@ -130,6 +133,9 @@ static inline size_t ALIGN_TO(size_t l, 
+         })
+ 
+ #undef MIN
++#ifdef __MIN
++#undef __MIN
++#endif
+ #define MIN(a, b) __MIN(UNIQ, (a), UNIQ, (b))
+ #define __MIN(aq, a, bq, b)                             \
+         ({                                              \
Index: pkgsrc/devel/basu/patches/patch-src_basic_memfd-util.c
diff -u /dev/null pkgsrc/devel/basu/patches/patch-src_basic_memfd-util.c:1.1
--- /dev/null   Tue Apr 14 10:58:11 2026
+++ pkgsrc/devel/basu/patches/patch-src_basic_memfd-util.c      Tue Apr 14 10:58:10 2026
@@ -0,0 +1,18 @@
+$NetBSD: patch-src_basic_memfd-util.c,v 1.1 2026/04/14 10:58:10 kikadf Exp $
+
+* F_ADD_SEALS available since NetBSD-11
+
+--- src/basic/memfd-util.c.orig        2022-12-16 11:13:02.000000000 +0100
++++ src/basic/memfd-util.c
+@@ -7,9 +7,10 @@
+ 
+ #include "alloc-util.h"
+ #include "memfd-util.h"
++#include "missing.h"
+ 
+ int memfd_set_sealed(int fd) {
+-#if defined(__FreeBSD__) && __FreeBSD__ < 13
++#if defined(__FreeBSD__) && __FreeBSD__ < 13 || (defined(__NetBSD__) && __NetBSD__ < 11)
+         return 0;
+ #else
+         int r;
Index: pkgsrc/devel/basu/patches/patch-src_basic_missing.h
diff -u /dev/null pkgsrc/devel/basu/patches/patch-src_basic_missing.h:1.1
--- /dev/null   Tue Apr 14 10:58:11 2026
+++ pkgsrc/devel/basu/patches/patch-src_basic_missing.h Tue Apr 14 10:58:10 2026
@@ -0,0 +1,32 @@
+$NetBSD: patch-src_basic_missing.h,v 1.1 2026/04/14 10:58:10 kikadf Exp $
+
+* Define unknown errnos
+
+--- src/basic/missing.h.orig   2022-12-16 11:13:02.000000000 +0100
++++ src/basic/missing.h
+@@ -70,10 +70,24 @@
+ #define TASK_COMM_LEN 16
+ #endif
+ 
+-#ifdef __FreeBSD__
++#include <errno.h>
++
++#ifndef ENOMEDIUM
+ #define ENOMEDIUM       (INT_MAX - 1)
++#endif
++
++#ifndef ENOPKG
+ #define ENOPKG          (INT_MAX - 2)
++#endif
++
++#ifndef EUNATCH
+ #define EUNATCH         (INT_MAX - 3)
++#endif
++
++#ifndef ENODATA
+ #define ENODATA         (INT_MAX - 4)
++#endif
++
++#ifndef ELNRNG
+ #define ELNRNG          (INT_MAX - 5)
+ #endif
Index: pkgsrc/devel/basu/patches/patch-src_basic_socket-util.c
diff -u /dev/null pkgsrc/devel/basu/patches/patch-src_basic_socket-util.c:1.1
--- /dev/null   Tue Apr 14 10:58:11 2026
+++ pkgsrc/devel/basu/patches/patch-src_basic_socket-util.c     Tue Apr 14 10:58:10 2026
@@ -0,0 +1,53 @@
+$NetBSD: patch-src_basic_socket-util.c,v 1.1 2026/04/14 10:58:10 kikadf Exp $
+
+* NetBSD support
+* Fix getpeercred on NetBSD
+
+--- src/basic/socket-util.c.orig       2022-12-16 11:13:02.000000000 +0100
++++ src/basic/socket-util.c
+@@ -8,6 +8,8 @@
+ #ifdef __FreeBSD__
+ #include <sys/ucred.h>
+ #include <sys/un.h>
++#elif defined(__NetBSD__)
++#include <sys/un.h>
+ #endif
+ 
+ int fd_inc_sndbuf(int fd, size_t n) {
+@@ -47,6 +49,27 @@ int getpeercred(int fd, struct ucred *uc
+         };
+ 
+         *ucred = u;
++#elif defined(__NetBSD__)
++        struct unpcbid cred;
++        socklen_t len = sizeof(cred);
++
++        assert(fd >= 0);
++        assert(ucred);
++
++        if (getsockopt(fd, 0, LOCAL_PEEREID, &cred, &len) == -1) {
++                return -errno;
++        }
++
++        struct ucred u = {
++                .pid = -1,
++                .uid = cred.unp_euid,
++                .gid = cred.unp_egid,
++        };
++
++        if (len != sizeof(cred))
++                return -EIO;
++
++        *ucred = u;
+ #else
+         socklen_t n = sizeof(struct ucred);
+         struct ucred u;
+@@ -75,7 +98,7 @@ int getpeercred(int fd, struct ucred *uc
+ }
+ 
+ int getpeersec(int fd, char **ret) {
+-#ifdef __FreeBSD__
++#if defined(__FreeBSD__) || defined(__NetBSD__)
+         return -EOPNOTSUPP;
+ #else
+         _cleanup_free_ char *s = NULL;
Index: pkgsrc/devel/basu/patches/patch-src_basic_socket-util.h
diff -u /dev/null pkgsrc/devel/basu/patches/patch-src_basic_socket-util.h:1.1
--- /dev/null   Tue Apr 14 10:58:11 2026
+++ pkgsrc/devel/basu/patches/patch-src_basic_socket-util.h     Tue Apr 14 10:58:10 2026
@@ -0,0 +1,19 @@
+$NetBSD: patch-src_basic_socket-util.h,v 1.1 2026/04/14 10:58:10 kikadf Exp $
+
+* Use own ucred struct on NetBSD
+
+--- src/basic/socket-util.h.orig       2022-12-16 11:13:02.000000000 +0100
++++ src/basic/socket-util.h
+@@ -29,6 +29,12 @@ struct ucred {
+         uint32_t uid;
+         uint32_t gid;
+ };
++#elif defined(__NetBSD__)
++struct ucred {
++        pid_t pid;
++        uid_t uid;
++        gid_t gid;
++};
+ #endif
+ 
+ int fd_inc_sndbuf(int fd, size_t n);
Index: pkgsrc/devel/basu/patches/patch-src_busctl_busctl.c
diff -u /dev/null pkgsrc/devel/basu/patches/patch-src_busctl_busctl.c:1.1
--- /dev/null   Tue Apr 14 10:58:11 2026
+++ pkgsrc/devel/basu/patches/patch-src_busctl_busctl.c Tue Apr 14 10:58:10 2026
@@ -0,0 +1,421 @@
+$NetBSD: patch-src_busctl_busctl.c,v 1.1 2026/04/14 10:58:10 kikadf Exp $
+
+* Fix logging, on NetBSD %m is only allowed in syslog(3) like function
+
+--- src/busctl/busctl.c.orig   2022-12-16 11:13:02.000000000 +0100
++++ src/busctl/busctl.c
+@@ -57,11 +57,11 @@ static usec_t arg_timeout = 0;
+ #define NAME_IS_ACTIVATABLE INT_TO_PTR(2)
+ 
+ static int bus_log_parse_error(int r) {
+-        return log_error_errno(r, "Failed to parse bus message: %m");
++        return log_error_errno(r, "Failed to parse bus message");
+ }
+ 
+ static int bus_log_create_error(int r) {
+-        return log_error_errno(r, "Failed to create bus message: %m");
++        return log_error_errno(r, "Failed to create bus message");
+ }
+ 
+ static int acquire_bus(bool set_monitor, sd_bus **ret) {
+@@ -70,33 +70,33 @@ static int acquire_bus(bool set_monitor,
+ 
+         r = sd_bus_new(&bus);
+         if (r < 0)
+-                return log_error_errno(r, "Failed to allocate bus: %m");
++                return log_error_errno(r, "Failed to allocate bus");
+ 
+         if (set_monitor) {
+                 r = sd_bus_set_monitor(bus, true);
+                 if (r < 0)
+-                        return log_error_errno(r, "Failed to set monitor mode: %m");
++                        return log_error_errno(r, "Failed to set monitor mode");
+ 
+                 r = sd_bus_negotiate_creds(bus, true, _SD_BUS_CREDS_ALL);
+                 if (r < 0)
+-                        return log_error_errno(r, "Failed to enable credentials: %m");
++                        return log_error_errno(r, "Failed to enable credentials");
+ 
+                 r = sd_bus_negotiate_timestamp(bus, true);
+                 if (r < 0)
+-                        return log_error_errno(r, "Failed to enable timestamps: %m");
++                        return log_error_errno(r, "Failed to enable timestamps");
+ 
+                 r = sd_bus_negotiate_fds(bus, true);
+                 if (r < 0)
+-                        return log_error_errno(r, "Failed to enable fds: %m");
++                        return log_error_errno(r, "Failed to enable fds");
+         }
+ 
+         r = sd_bus_set_bus_client(bus, true);
+         if (r < 0)
+-                return log_error_errno(r, "Failed to set bus client: %m");
++                return log_error_errno(r, "Failed to set bus client");
+ 
+         r = sd_bus_set_watch_bind(bus, arg_watch_bind);
+         if (r < 0)
+-                return log_error_errno(r, "Failed to set watch-bind setting to '%s': %m", yes_no(arg_watch_bind));
++                return log_error_errno(r, "Failed to set watch-bind setting to '%s'", yes_no(arg_watch_bind));
+ 
+         if (arg_address)
+                 r = sd_bus_set_address(bus, arg_address);
+@@ -118,11 +118,11 @@ static int acquire_bus(bool set_monitor,
+                 }
+         }
+         if (r < 0)
+-                return log_error_errno(r, "Failed to set address: %m");
++                return log_error_errno(r, "Failed to set address");
+ 
+         r = sd_bus_start(bus);
+         if (r < 0)
+-                return log_error_errno(r, "Failed to connect to bus: %m");
++                return log_error_errno(r, "Failed to connect to bus");
+ 
+         *ret = TAKE_PTR(bus);
+ 
+@@ -151,7 +151,7 @@ static int list_bus_names(int argc, char
+ 
+         r = sd_bus_list_names(bus, (arg_acquired || arg_unique) ? &acquired : NULL, arg_activatable ? &activatable : NULL);
+         if (r < 0)
+-                return log_error_errno(r, "Failed to list names: %m");
++                return log_error_errno(r, "Failed to list names");
+ 
+         names = hashmap_new(&string_hash_ops);
+         if (!names)
+@@ -162,7 +162,7 @@ static int list_bus_names(int argc, char
+ 
+                 r = hashmap_put(names, *i, NAME_IS_ACQUIRED);
+                 if (r < 0)
+-                        return log_error_errno(r, "Failed to add to hashmap: %m");
++                        return log_error_errno(r, "Failed to add to hashmap");
+         }
+ 
+         STRV_FOREACH(i, activatable) {
+@@ -170,7 +170,7 @@ static int list_bus_names(int argc, char
+ 
+                 r = hashmap_put(names, *i, NAME_IS_ACTIVATABLE);
+                 if (r < 0 && r != -EEXIST)
+-                        return log_error_errno(r, "Failed to add to hashmap: %m");
++                        return log_error_errno(r, "Failed to add to hashmap");
+         }
+ 
+         merged = new(char*, hashmap_size(names) + 1);
+@@ -496,7 +496,7 @@ static int tree(int argc, char **argv, v
+ 
+                 r = sd_bus_list_names(bus, &names, NULL);
+                 if (r < 0)
+-                        return log_error_errno(r, "Failed to get name list: %m");
++                        return log_error_errno(r, "Failed to get name list");
+ 
+                 STRV_FOREACH(i, names) {
+                         int q;
+@@ -1180,7 +1180,7 @@ static int monitor(int argc, char **argv
+ 
+         r = sd_bus_get_unique_name(bus, &unique_name);
+         if (r < 0)
+-                return log_error_errno(r, "Failed to get unique name: %m");
++                return log_error_errno(r, "Failed to get unique name");
+ 
+         log_info("Monitoring bus message stream.");
+ 
+@@ -1189,7 +1189,7 @@ static int monitor(int argc, char **argv
+ 
+                 r = sd_bus_process(bus, &m);
+                 if (r < 0)
+-                        return log_error_errno(r, "Failed to process bus: %m");
++                        return log_error_errno(r, "Failed to process bus");
+ 
+                 if (!is_monitor) {
+                         const char *name;
+@@ -1200,7 +1200,7 @@ static int monitor(int argc, char **argv
+ 
+                         r = sd_bus_message_read(m, "s", &name);
+                         if (r < 0)
+-                                return log_error_errno(r, "Failed to read lost name: %m");
++                                return log_error_errno(r, "Failed to read lost name");
+ 
+                         if (streq(name, unique_name))
+                                 is_monitor = true;
+@@ -1225,7 +1225,7 @@ static int monitor(int argc, char **argv
+ 
+                 r = sd_bus_wait(bus, (uint64_t) -1);
+                 if (r < 0)
+-                        return log_error_errno(r, "Failed to wait for bus: %m");
++                        return log_error_errno(r, "Failed to wait for bus");
+         }
+ }
+ 
+@@ -1279,7 +1279,7 @@ static int status(int argc, char **argv,
+         }
+ 
+         if (r < 0)
+-                return log_error_errno(r, "Failed to get credentials: %m");
++                return log_error_errno(r, "Failed to get credentials");
+ 
+         bus_creds_dump(creds, NULL, false);
+         return 0;
+@@ -1318,7 +1318,7 @@ static int message_append_cmdline(sd_bus
+ 
+                         r = parse_boolean(v);
+                         if (r < 0)
+-                                return log_error_errno(r, "Failed to parse '%s' as boolean: %m", v);
++                                return log_error_errno(r, "Failed to parse '%s' as boolean", v);
+ 
+                         r = sd_bus_message_append_basic(m, t, &r);
+                         break;
+@@ -1328,7 +1328,7 @@ static int message_append_cmdline(sd_bus
+ 
+                         r = safe_atou8(v, &z);
+                         if (r < 0)
+-                                return log_error_errno(r, "Failed to parse '%s' as byte (unsigned 8bit integer): %m", v);
++                                return log_error_errno(r, "Failed to parse '%s' as byte (unsigned 8bit integer)", v);
+ 
+                         r = sd_bus_message_append_basic(m, t, &z);
+                         break;
+@@ -1339,7 +1339,7 @@ static int message_append_cmdline(sd_bus
+ 
+                         r = safe_atoi16(v, &z);
+                         if (r < 0)
+-                                return log_error_errno(r, "Failed to parse '%s' as signed 16bit integer: %m", v);
++                                return log_error_errno(r, "Failed to parse '%s' as signed 16bit integer", v);
+ 
+                         r = sd_bus_message_append_basic(m, t, &z);
+                         break;
+@@ -1350,7 +1350,7 @@ static int message_append_cmdline(sd_bus
+ 
+                         r = safe_atou16(v, &z);
+                         if (r < 0)
+-                                return log_error_errno(r, "Failed to parse '%s' as unsigned 16bit integer: %m", v);
++                                return log_error_errno(r, "Failed to parse '%s' as unsigned 16bit integer", v);
+ 
+                         r = sd_bus_message_append_basic(m, t, &z);
+                         break;
+@@ -1361,7 +1361,7 @@ static int message_append_cmdline(sd_bus
+ 
+                         r = safe_atoi32(v, &z);
+                         if (r < 0)
+-                                return log_error_errno(r, "Failed to parse '%s' as signed 32bit integer: %m", v);
++                                return log_error_errno(r, "Failed to parse '%s' as signed 32bit integer", v);
+ 
+                         r = sd_bus_message_append_basic(m, t, &z);
+                         break;
+@@ -1372,7 +1372,7 @@ static int message_append_cmdline(sd_bus
+ 
+                         r = safe_atou32(v, &z);
+                         if (r < 0)
+-                                return log_error_errno(r, "Failed to parse '%s' as unsigned 32bit integer: %m", v);
++                                return log_error_errno(r, "Failed to parse '%s' as unsigned 32bit integer", v);
+ 
+                         r = sd_bus_message_append_basic(m, t, &z);
+                         break;
+@@ -1383,7 +1383,7 @@ static int message_append_cmdline(sd_bus
+ 
+                         r = safe_atoi64(v, &z);
+                         if (r < 0)
+-                                return log_error_errno(r, "Failed to parse '%s' as signed 64bit integer: %m", v);
++                                return log_error_errno(r, "Failed to parse '%s' as signed 64bit integer", v);
+ 
+                         r = sd_bus_message_append_basic(m, t, &z);
+                         break;
+@@ -1394,7 +1394,7 @@ static int message_append_cmdline(sd_bus
+ 
+                         r = safe_atou64(v, &z);
+                         if (r < 0)
+-                                return log_error_errno(r, "Failed to parse '%s' as unsigned 64bit integer: %m", v);
++                                return log_error_errno(r, "Failed to parse '%s' as unsigned 64bit integer", v);
+ 
+                         r = sd_bus_message_append_basic(m, t, &z);
+                         break;
+@@ -1405,7 +1405,7 @@ static int message_append_cmdline(sd_bus
+ 
+                         r = safe_atod(v, &z);
+                         if (r < 0)
+-                                return log_error_errno(r, "Failed to parse '%s' as double precision floating point: %m", v);
++                                return log_error_errno(r, "Failed to parse '%s' as double precision floating point", v);
+ 
+                         r = sd_bus_message_append_basic(m, t, &z);
+                         break;
+@@ -1424,11 +1424,11 @@ static int message_append_cmdline(sd_bus
+ 
+                         r = safe_atou32(v, &n);
+                         if (r < 0)
+-                                return log_error_errno(r, "Failed to parse '%s' number of array entries: %m", v);
++                                return log_error_errno(r, "Failed to parse '%s' number of array entries", v);
+ 
+                         r = signature_element_length(signature, &k);
+                         if (r < 0)
+-                                return log_error_errno(r, "Invalid array signature: %m");
++                                return log_error_errno(r, "Invalid array signature");
+ 
+                         {
+                                 unsigned i;
+@@ -1474,7 +1474,7 @@ static int message_append_cmdline(sd_bus
+ 
+                         r = signature_element_length(signature, &k);
+                         if (r < 0)
+-                                return log_error_errno(r, "Invalid struct/dict entry signature: %m");
++                                return log_error_errno(r, "Invalid struct/dict entry signature");
+ 
+                         {
+                                 char s[k-1];
+@@ -1662,7 +1662,7 @@ static int json_transform_one(sd_bus_mes
+ 
+                 r = json_variant_new_unsigned(&v, b);
+                 if (r < 0)
+-                        return log_error_errno(r, "Failed to transform byte: %m");
++                        return log_error_errno(r, "Failed to transform byte");
+ 
+                 break;
+         }
+@@ -1676,7 +1676,7 @@ static int json_transform_one(sd_bus_mes
+ 
+                 r = json_variant_new_boolean(&v, b);
+                 if (r < 0)
+-                        return log_error_errno(r, "Failed to transform boolean: %m");
++                        return log_error_errno(r, "Failed to transform boolean");
+ 
+                 break;
+         }
+@@ -1690,7 +1690,7 @@ static int json_transform_one(sd_bus_mes
+ 
+                 r = json_variant_new_integer(&v, b);
+                 if (r < 0)
+-                        return log_error_errno(r, "Failed to transform int16: %m");
++                        return log_error_errno(r, "Failed to transform int16");
+ 
+                 break;
+         }
+@@ -1704,7 +1704,7 @@ static int json_transform_one(sd_bus_mes
+ 
+                 r = json_variant_new_unsigned(&v, b);
+                 if (r < 0)
+-                        return log_error_errno(r, "Failed to transform uint16: %m");
++                        return log_error_errno(r, "Failed to transform uint16");
+ 
+                 break;
+         }
+@@ -1718,7 +1718,7 @@ static int json_transform_one(sd_bus_mes
+ 
+                 r = json_variant_new_integer(&v, b);
+                 if (r < 0)
+-                        return log_error_errno(r, "Failed to transform int32: %m");
++                        return log_error_errno(r, "Failed to transform int32");
+ 
+                 break;
+         }
+@@ -1732,7 +1732,7 @@ static int json_transform_one(sd_bus_mes
+ 
+                 r = json_variant_new_unsigned(&v, b);
+                 if (r < 0)
+-                        return log_error_errno(r, "Failed to transform uint32: %m");
++                        return log_error_errno(r, "Failed to transform uint32");
+ 
+                 break;
+         }
+@@ -1746,7 +1746,7 @@ static int json_transform_one(sd_bus_mes
+ 
+                 r = json_variant_new_integer(&v, b);
+                 if (r < 0)
+-                        return log_error_errno(r, "Failed to transform int64: %m");
++                        return log_error_errno(r, "Failed to transform int64");
+ 
+                 break;
+         }
+@@ -1760,7 +1760,7 @@ static int json_transform_one(sd_bus_mes
+ 
+                 r = json_variant_new_unsigned(&v, b);
+                 if (r < 0)
+-                        return log_error_errno(r, "Failed to transform uint64: %m");
++                        return log_error_errno(r, "Failed to transform uint64");
+ 
+                 break;
+         }
+@@ -1774,7 +1774,7 @@ static int json_transform_one(sd_bus_mes
+ 
+                 r = json_variant_new_real(&v, d);
+                 if (r < 0)
+-                        return log_error_errno(r, "Failed to transform double: %m");
++                        return log_error_errno(r, "Failed to transform double");
+ 
+                 break;
+         }
+@@ -1790,7 +1790,7 @@ static int json_transform_one(sd_bus_mes
+ 
+                 r = json_variant_new_string(&v, s);
+                 if (r < 0)
+-                        return log_error_errno(r, "Failed to transform double: %m");
++                        return log_error_errno(r, "Failed to transform double");
+ 
+                 break;
+         }
+@@ -1802,7 +1802,7 @@ static int json_transform_one(sd_bus_mes
+ 
+                 r = json_variant_new_null(&v);
+                 if (r < 0)
+-                        return log_error_errno(r, "Failed to transform fd: %m");
++                        return log_error_errno(r, "Failed to transform fd");
+ 
+                 break;
+ 
+@@ -1910,7 +1910,7 @@ static int call(int argc, char **argv, v
+         if (!arg_expect_reply) {
+                 r = sd_bus_send(bus, m, NULL);
+                 if (r < 0)
+-                        return log_error_errno(r, "Failed to send message: %m");
++                        return log_error_errno(r, "Failed to send message");
+ 
+                 return 0;
+         }
+@@ -2227,7 +2227,7 @@ static int parse_argv(int argc, char *ar
+                 case ARG_EXPECT_REPLY:
+                         r = parse_boolean(optarg);
+                         if (r < 0)
+-                                return log_error_errno(r, "Failed to parse --expect-reply= parameter '%s': %m", optarg);
++                                return log_error_errno(r, "Failed to parse --expect-reply= parameter '%s'", optarg);
+ 
+                         arg_expect_reply = r;
+                         break;
+@@ -2235,7 +2235,7 @@ static int parse_argv(int argc, char *ar
+                 case ARG_AUTO_START:
+                         r = parse_boolean(optarg);
+                         if (r < 0)
+-                                return log_error_errno(r, "Failed to parse --auto-start= parameter '%s': %m", optarg);
++                                return log_error_errno(r, "Failed to parse --auto-start= parameter '%s'", optarg);
+ 
+                         arg_auto_start = r;
+                         break;
+@@ -2243,7 +2243,7 @@ static int parse_argv(int argc, char *ar
+                 case ARG_ALLOW_INTERACTIVE_AUTHORIZATION:
+                         r = parse_boolean(optarg);
+                         if (r < 0)
+-                                return log_error_errno(r, "Failed to parse --allow-interactive-authorization= parameter '%s': %m", optarg);
++                                return log_error_errno(r, "Failed to parse --allow-interactive-authorization= parameter '%s'", optarg);
+ 
+                         arg_allow_interactive_authorization = r;
+                         break;
+@@ -2251,14 +2251,14 @@ static int parse_argv(int argc, char *ar
+                 case ARG_TIMEOUT:
+                         r = parse_sec(optarg, &arg_timeout);
+                         if (r < 0)
+-                                return log_error_errno(r, "Failed to parse --timeout= parameter '%s': %m", optarg);
++                                return log_error_errno(r, "Failed to parse --timeout= parameter '%s'", optarg);
+ 
+                         break;
+ 
+                 case ARG_AUGMENT_CREDS:
+                         r = parse_boolean(optarg);
+                         if (r < 0)
+-                                return log_error_errno(r, "Failed to parse --augment-creds= parameter '%s': %m", optarg);
++                                return log_error_errno(r, "Failed to parse --augment-creds= parameter '%s'", optarg);
+ 
+                         arg_augment_creds = r;
+                         break;
+@@ -2266,7 +2266,7 @@ static int parse_argv(int argc, char *ar
+                 case ARG_WATCH_BIND:
+                         r = parse_boolean(optarg);
+                         if (r < 0)
+-                                return log_error_errno(r, "Failed to parse --watch-bind= parameter '%s': %m", optarg);
++                                return log_error_errno(r, "Failed to parse --watch-bind= parameter '%s'", optarg);
+ 
+                         arg_watch_bind = r;
+                         break;
Index: pkgsrc/devel/basu/patches/patch-src_libsystemd_libsystemd.sym
diff -u /dev/null pkgsrc/devel/basu/patches/patch-src_libsystemd_libsystemd.sym:1.1
--- /dev/null   Tue Apr 14 10:58:11 2026
+++ pkgsrc/devel/basu/patches/patch-src_libsystemd_libsystemd.sym       Tue Apr 14 10:58:10 2026
@@ -0,0 +1,16 @@
+$NetBSD: patch-src_libsystemd_libsystemd.sym,v 1.1 2026/04/14 10:58:10 kikadf Exp $
+
+* Drop unused symbols from version script (from upstream)
+
+--- src/libsystemd/libsystemd.sym.orig 2022-12-16 11:13:02.000000000 +0100
++++ src/libsystemd/libsystemd.sym
+@@ -72,9 +72,6 @@ global:
+         sd_bus_get_current_message;
+         sd_bus_get_current_handler;
+         sd_bus_get_current_userdata;
+-        sd_bus_attach_event;
+-        sd_bus_detach_event;
+-        sd_bus_get_event;
+         sd_bus_add_filter;
+         sd_bus_add_match;
+         sd_bus_add_object;
Index: pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_bus-dump.c
diff -u /dev/null pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_bus-dump.c:1.1
--- /dev/null   Tue Apr 14 10:58:11 2026
+++ pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_bus-dump.c    Tue Apr 14 10:58:10 2026
@@ -0,0 +1,51 @@
+$NetBSD: patch-src_libsystemd_sd-bus_bus-dump.c,v 1.1 2026/04/14 10:58:10 kikadf Exp $
+
+* Fix logging, on NetBSD %m is only allowed in syslog(3) like function
+
+--- src/libsystemd/sd-bus/bus-dump.c.orig      2022-12-16 11:13:02.000000000 +0100
++++ src/libsystemd/sd-bus/bus-dump.c
+@@ -121,7 +121,7 @@ int bus_message_dump(sd_bus_message *m, 
+ 
+         r = sd_bus_message_rewind(m, !(flags & BUS_MESSAGE_DUMP_SUBTREE_ONLY));
+         if (r < 0)
+-                return log_error_errno(r, "Failed to rewind: %m");
++                return log_error_errno(r, "Failed to rewind");
+ 
+         if (!(flags & BUS_MESSAGE_DUMP_SUBTREE_ONLY)) {
+                 _cleanup_free_ char *prefix = NULL;
+@@ -152,7 +152,7 @@ int bus_message_dump(sd_bus_message *m, 
+ 
+                 r = sd_bus_message_peek_type(m, &type, &contents);
+                 if (r < 0)
+-                        return log_error_errno(r, "Failed to peek type: %m");
++                        return log_error_errno(r, "Failed to peek type");
+ 
+                 if (r == 0) {
+                         if (level <= 1)
+@@ -160,7 +160,7 @@ int bus_message_dump(sd_bus_message *m, 
+ 
+                         r = sd_bus_message_exit_container(m);
+                         if (r < 0)
+-                                return log_error_errno(r, "Failed to exit container: %m");
++                                return log_error_errno(r, "Failed to exit container");
+ 
+                         level--;
+ 
+@@ -179,7 +179,7 @@ int bus_message_dump(sd_bus_message *m, 
+                 if (bus_type_is_container(type) > 0) {
+                         r = sd_bus_message_enter_container(m, type, contents);
+                         if (r < 0)
+-                                return log_error_errno(r, "Failed to enter container: %m");
++                                return log_error_errno(r, "Failed to enter container");
+ 
+                         if (type == SD_BUS_TYPE_ARRAY)
+                                 fprintf(f, "%sARRAY \"%s\" {\n", prefix, contents);
+@@ -197,7 +197,7 @@ int bus_message_dump(sd_bus_message *m, 
+ 
+                 r = sd_bus_message_read_basic(m, type, &basic);
+                 if (r < 0)
+-                        return log_error_errno(r, "Failed to get basic: %m");
++                        return log_error_errno(r, "Failed to get basic");
+ 
+                 assert(r > 0);
+ 
Index: pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_bus-gvariant.c
diff -u /dev/null pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_bus-gvariant.c:1.1
--- /dev/null   Tue Apr 14 10:58:11 2026
+++ pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_bus-gvariant.c        Tue Apr 14 10:58:10 2026
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_libsystemd_sd-bus_bus-gvariant.c,v 1.1 2026/04/14 10:58:10 kikadf Exp $
+
+* NetBSD support
+
+--- src/libsystemd/sd-bus/bus-gvariant.c.orig  2022-12-16 11:13:02.000000000 +0100
++++ src/libsystemd/sd-bus/bus-gvariant.c
+@@ -2,6 +2,8 @@
+ 
+ #ifdef __FreeBSD__
+ #include <sys/endian.h>
++#elif defined(__NetBSD__)
++#include <endian.h>
+ #endif
+ 
+ #include <errno.h>
Index: pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_bus-message.h
diff -u /dev/null pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_bus-message.h:1.1
--- /dev/null   Tue Apr 14 10:58:11 2026
+++ pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_bus-message.h Tue Apr 14 10:58:10 2026
@@ -0,0 +1,24 @@
+$NetBSD: patch-src_libsystemd_sd-bus_bus-message.h,v 1.1 2026/04/14 10:58:10 kikadf Exp $
+
+* NetBSD support
+
+--- src/libsystemd/sd-bus/bus-message.h.orig   2022-12-16 11:13:02.000000000 +0100
++++ src/libsystemd/sd-bus/bus-message.h
+@@ -3,6 +3,8 @@
+ 
+ #ifdef __FreeBSD__
+ #include <sys/endian.h>
++#elif defined(__NetBSD__)
++#include <endian.h>
+ #else
+ #include <byteswap.h>
+ #endif
+@@ -129,7 +131,7 @@ static inline bool BUS_MESSAGE_NEED_BSWA
+         return m->header->endian != BUS_NATIVE_ENDIAN;
+ }
+ 
+-#ifdef __FreeBSD__
++#if defined(__FreeBSD__) || defined(__NetBSD__)
+ #define bswap_16 bswap16
+ #define bswap_32 bswap32
+ #define bswap_64 bswap64
Index: pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_bus-protocol.h
diff -u /dev/null pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_bus-protocol.h:1.1
--- /dev/null   Tue Apr 14 10:58:11 2026
+++ pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_bus-protocol.h        Tue Apr 14 10:58:10 2026
@@ -0,0 +1,17 @@
+$NetBSD: patch-src_libsystemd_sd-bus_bus-protocol.h,v 1.1 2026/04/14 10:58:10 kikadf Exp $
+
+* NetBSD support
+
+--- src/libsystemd/sd-bus/bus-protocol.h.orig  2022-12-16 11:13:02.000000000 +0100
++++ src/libsystemd/sd-bus/bus-protocol.h
+@@ -46,7 +46,9 @@ enum {
+         _BUS_INVALID_ENDIAN = 0,
+         BUS_LITTLE_ENDIAN   = 'l',
+         BUS_BIG_ENDIAN      = 'B',
+-#if (defined(__FreeBSD__) && _BYTE_ORDER == _BIG_ENDIAN) || (defined(__linux__) && __BYTE_ORDER == __BIG_ENDIAN)
++#if (defined(__FreeBSD__) && _BYTE_ORDER == _BIG_ENDIAN) || \
++    (defined(__linux__) && __BYTE_ORDER == __BIG_ENDIAN) || \
++    (defined(__NetBSD__) && _BYTE_ORDER == _BIG_ENDIAN)
+         BUS_NATIVE_ENDIAN   = BUS_BIG_ENDIAN,
+         BUS_REVERSE_ENDIAN  = BUS_LITTLE_ENDIAN
+ #else
Index: pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_bus-socket.c
diff -u /dev/null pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_bus-socket.c:1.1
--- /dev/null   Tue Apr 14 10:58:11 2026
+++ pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_bus-socket.c  Tue Apr 14 10:58:10 2026
@@ -0,0 +1,97 @@
+$NetBSD: patch-src_libsystemd_sd-bus_bus-socket.c,v 1.1 2026/04/14 10:58:10 kikadf Exp $
+
+* Fix logging, on NetBSD %m is only allowed in syslog(3) like function
+* sendmsg() with a SOL_SOCKET/SCM_CREDS message EINVAL on NetBSD
+
+
+--- src/libsystemd/sd-bus/bus-socket.c.orig    2022-12-16 11:13:02.000000000 +0100
++++ src/libsystemd/sd-bus/bus-socket.c
+@@ -20,6 +20,11 @@
+ #include "user-util.h"
+ #include "utf8.h"
+ 
++#if defined(__NetBSD__)
++#include <sys/un.h>
++#include <sys/socket.h>
++#endif
++
+ #define SNDBUF_SIZE (8*1024*1024)
+ 
+ static void iovec_advance(struct iovec iov[], unsigned *idx, size_t size) {
+@@ -119,6 +124,9 @@ bool bus_socket_auth_needs_write(sd_bus 
+ }
+ 
+ static int bus_socket_write_null_byte(sd_bus *b) {
++        struct msghdr mh;
++        zero(mh);
++
+ #if defined(__linux__)
+ #define SOCKET_CRED_OPTION SCM_CREDENTIALS
+         struct ucred creds;
+@@ -129,19 +137,20 @@ static int bus_socket_write_null_byte(sd
+ #elif defined(__FreeBSD__)
+ #define SOCKET_CRED_OPTION SCM_CREDS
+         struct cmsgcred creds = { 0 };
++#elif defined(__NetBSD__)
++        mh.msg_control = NULL;
++        mh.msg_controllen = 0;
+ #else
+ #error auth not implemented for this OS
+ #endif
+ 
++#if !defined(__NetBSD__)
+         union {
+                 struct cmsghdr hdr;
+                 uint8_t buf[CMSG_SPACE(sizeof(creds))];
+         } control;
+         memset(control.buf, 0, sizeof(control.buf));
+ 
+-        struct msghdr mh;
+-        zero(mh);
+-
+         mh.msg_control = control.buf;
+         mh.msg_controllen = sizeof(control.buf);
+ 
+@@ -150,6 +159,7 @@ static int bus_socket_write_null_byte(sd
+         cmsgp->cmsg_level = SOL_SOCKET;
+         cmsgp->cmsg_type = SOCKET_CRED_OPTION;
+         memcpy(CMSG_DATA(cmsgp), &creds, sizeof(creds));
++#endif
+ 
+         struct iovec iov;
+         mh.msg_iov = &iov;
+@@ -617,7 +627,7 @@ static int bus_socket_read_auth(sd_bus *
+                         log_debug("Got unexpected auxiliary data with level=%d and type=%d",
+                                   cmsg->cmsg_level, cmsg->cmsg_type);
+                 else if (r < 0)
+-                        log_error_errno(r, "Could not process credentials: %m");
++                        log_error_errno(r, "Could not process credentials");
+         }
+ 
+         r = bus_socket_auth_verify(b);
+@@ -650,7 +660,7 @@ static void bus_get_peercred(sd_bus *b) 
+         int optval = 1;
+         r = setsockopt(b->output_fd, SOL_SOCKET, SO_PASSCRED, &optval, sizeof(optval));
+         if (r < 0)
+-                log_debug_errno(r, "Failed to set SO_PASSCRED: %m");
++                log_debug_errno(r, "Failed to set SO_PASSCRED");
+ #endif
+ 
+         /* Get the peer for socketpair() sockets */
+@@ -659,14 +669,14 @@ static void bus_get_peercred(sd_bus *b) 
+         /* Get the SELinux context of the peer */
+         r = getpeersec(b->input_fd, &b->label);
+         if (r < 0 && !IN_SET(r, -EOPNOTSUPP, -ENOPROTOOPT))
+-                log_debug_errno(r, "Failed to determine peer security context: %m");
++                log_debug_errno(r, "Failed to determine peer security context");
+ 
+         /* Get the list of auxiliary groups of the peer */
+         r = getpeergroups(b->input_fd, &b->groups);
+         if (r >= 0)
+                 b->n_groups = (size_t) r;
+         else if (!IN_SET(r, -EOPNOTSUPP, -ENOPROTOOPT))
+-                log_debug_errno(r, "Failed to determine peer's group list: %m");
++                log_debug_errno(r, "Failed to determine peer's group list");
+ }
+ 
+ static int bus_socket_start_auth_client(sd_bus *b) {
Index: pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_bus-track.c
diff -u /dev/null pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_bus-track.c:1.1
--- /dev/null   Tue Apr 14 10:58:11 2026
+++ pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_bus-track.c   Tue Apr 14 10:58:10 2026
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_libsystemd_sd-bus_bus-track.c,v 1.1 2026/04/14 10:58:10 kikadf Exp $
+
+* Fix logging, on NetBSD %m is only allowed in syslog(3) like function
+
+--- src/libsystemd/sd-bus/bus-track.c.orig     2022-12-16 11:13:02.000000000 +0100
++++ src/libsystemd/sd-bus/bus-track.c
+@@ -373,7 +373,7 @@ void bus_track_dispatch(sd_bus_track *tr
+ 
+         r = track->handler(track, track->userdata);
+         if (r < 0)
+-                log_debug_errno(r, "Failed to process track handler: %m");
++                log_debug_errno(r, "Failed to process track handler");
+         else if (r == 0)
+                 bus_track_add_to_queue(track);
+ 
Index: pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_test-bus-chat.c
diff -u /dev/null pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_test-bus-chat.c:1.1
--- /dev/null   Tue Apr 14 10:58:11 2026
+++ pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_test-bus-chat.c       Tue Apr 14 10:58:10 2026
@@ -0,0 +1,311 @@
+$NetBSD: patch-src_libsystemd_sd-bus_test-bus-chat.c,v 1.1 2026/04/14 10:58:10 kikadf Exp $
+
+* Fix logging, on NetBSD %m is only allowed in syslog(3) like function
+
+--- src/libsystemd/sd-bus/test-bus-chat.c.orig 2022-12-16 11:13:02.000000000 +0100
++++ src/libsystemd/sd-bus/test-bus-chat.c
+@@ -30,7 +30,7 @@ static int object_callback(sd_bus_messag
+ 
+                 r = sd_bus_reply_method_return(m, NULL);
+                 if (r < 0)
+-                        return log_error_errno(r, "Failed to send reply: %m");
++                        return log_error_errno(r, "Failed to send reply");
+ 
+                 return 1;
+         }
+@@ -48,19 +48,19 @@ static int server_init(sd_bus **_bus) {
+ 
+         r = sd_bus_open_user_with_description(&bus, "my bus!");
+         if (r < 0) {
+-                log_error_errno(r, "Failed to connect to user bus: %m");
++                log_error_errno(r, "Failed to connect to user bus");
+                 goto fail;
+         }
+ 
+         r = sd_bus_get_bus_id(bus, &id);
+         if (r < 0) {
+-                log_error_errno(r, "Failed to get server ID: %m");
++                log_error_errno(r, "Failed to get server ID");
+                 goto fail;
+         }
+ 
+         r = sd_bus_get_unique_name(bus, &unique);
+         if (r < 0) {
+-                log_error_errno(r, "Failed to get unique name: %m");
++                log_error_errno(r, "Failed to get unique name");
+                 goto fail;
+         }
+ 
+@@ -73,25 +73,25 @@ static int server_init(sd_bus **_bus) {
+ 
+         r = sd_bus_request_name(bus, "org.freedesktop.systemd.test", 0);
+         if (r < 0) {
+-                log_error_errno(r, "Failed to acquire name: %m");
++                log_error_errno(r, "Failed to acquire name");
+                 goto fail;
+         }
+ 
+         r = sd_bus_add_fallback(bus, NULL, "/foo/bar", object_callback, NULL);
+         if (r < 0) {
+-                log_error_errno(r, "Failed to add object: %m");
++                log_error_errno(r, "Failed to add object");
+                 goto fail;
+         }
+ 
+         r = sd_bus_match_signal(bus, NULL, NULL, NULL, "foo.bar", "Notify", match_callback, NULL);
+         if (r < 0) {
+-                log_error_errno(r, "Failed to request match: %m");
++                log_error_errno(r, "Failed to request match");
+                 goto fail;
+         }
+ 
+         r = sd_bus_add_match(bus, NULL, "type='signal',interface='org.freedesktop.DBus',member='NameOwnerChanged'", match_callback, NULL);
+         if (r < 0) {
+-                log_error_errno(r, "Failed to add match: %m");
++                log_error_errno(r, "Failed to add match");
+                 goto fail;
+         }
+ 
+@@ -116,14 +116,14 @@ static int server(sd_bus *bus) {
+ 
+                 r = sd_bus_process(bus, &m);
+                 if (r < 0) {
+-                        log_error_errno(r, "Failed to process requests: %m");
++                        log_error_errno(r, "Failed to process requests");
+                         goto fail;
+                 }
+ 
+                 if (r == 0) {
+                         r = sd_bus_wait(bus, (uint64_t) -1);
+                         if (r < 0) {
+-                                log_error_errno(r, "Failed to wait: %m");
++                                log_error_errno(r, "Failed to wait");
+                                 goto fail;
+                         }
+ 
+@@ -148,7 +148,7 @@ static int server(sd_bus *bus) {
+ 
+                         r = sd_bus_message_read(m, "s", &hello);
+                         if (r < 0) {
+-                                log_error_errno(r, "Failed to get parameter: %m");
++                                log_error_errno(r, "Failed to get parameter");
+                                 goto fail;
+                         }
+ 
+@@ -162,14 +162,14 @@ static int server(sd_bus *bus) {
+ 
+                         r = sd_bus_reply_method_return(m, "s", lowercase);
+                         if (r < 0) {
+-                                log_error_errno(r, "Failed to send reply: %m");
++                                log_error_errno(r, "Failed to send reply");
+                                 goto fail;
+                         }
+                 } else if (sd_bus_message_is_method_call(m, "org.freedesktop.systemd.test", "ExitClient1")) {
+ 
+                         r = sd_bus_reply_method_return(m, NULL);
+                         if (r < 0) {
+-                                log_error_errno(r, "Failed to send reply: %m");
++                                log_error_errno(r, "Failed to send reply");
+                                 goto fail;
+                         }
+ 
+@@ -178,7 +178,7 @@ static int server(sd_bus *bus) {
+ 
+                         r = sd_bus_reply_method_return(m, NULL);
+                         if (r < 0) {
+-                                log_error_errno(r, "Failed to send reply: %m");
++                                log_error_errno(r, "Failed to send reply");
+                                 goto fail;
+                         }
+ 
+@@ -189,7 +189,7 @@ static int server(sd_bus *bus) {
+ 
+                         r = sd_bus_reply_method_return(m, NULL);
+                         if (r < 0) {
+-                                log_error_errno(r, "Failed to send reply: %m");
++                                log_error_errno(r, "Failed to send reply");
+                                 goto fail;
+                         }
+ 
+@@ -199,21 +199,21 @@ static int server(sd_bus *bus) {
+ 
+                         r = sd_bus_message_read(m, "h", &fd);
+                         if (r < 0) {
+-                                log_error_errno(r, "Failed to get parameter: %m");
++                                log_error_errno(r, "Failed to get parameter");
+                                 goto fail;
+                         }
+ 
+                         log_info("Received fd=%d", fd);
+ 
+                         if (write(fd, &x, 1) < 0) {
+-                                log_error_errno(errno, "Failed to write to fd: %m");
++                                log_error_errno(errno, "Failed to write to fd");
+                                 safe_close(fd);
+                                 goto fail;
+                         }
+ 
+                         r = sd_bus_reply_method_return(m, NULL);
+                         if (r < 0) {
+-                                log_error_errno(r, "Failed to send reply: %m");
++                                log_error_errno(r, "Failed to send reply");
+                                 goto fail;
+                         }
+ 
+@@ -223,7 +223,7 @@ static int server(sd_bus *bus) {
+                                         m,
+                                         &SD_BUS_ERROR_MAKE_CONST(SD_BUS_ERROR_UNKNOWN_METHOD, "Unknown method."));
+                         if (r < 0) {
+-                                log_error_errno(r, "Failed to send reply: %m");
++                                log_error_errno(r, "Failed to send reply");
+                                 goto fail;
+                         }
+                 }
+@@ -251,7 +251,7 @@ static void* client1(void*p) {
+ 
+         r = sd_bus_open_user(&bus);
+         if (r < 0) {
+-                log_error_errno(r, "Failed to connect to user bus: %m");
++                log_error_errno(r, "Failed to connect to user bus");
+                 goto finish;
+         }
+ 
+@@ -266,20 +266,20 @@ static void* client1(void*p) {
+                         "s",
+                         "HELLO");
+         if (r < 0) {
+-                log_error_errno(r, "Failed to issue method call: %m");
++                log_error_errno(r, "Failed to issue method call");
+                 goto finish;
+         }
+ 
+         r = sd_bus_message_read(reply, "s", &hello);
+         if (r < 0) {
+-                log_error_errno(r, "Failed to get string: %m");
++                log_error_errno(r, "Failed to get string");
+                 goto finish;
+         }
+ 
+         assert_se(streq(hello, "hello"));
+ 
+         if (pipe2(pp, O_CLOEXEC|O_NONBLOCK) < 0) {
+-                log_error_errno(errno, "Failed to allocate pipe: %m");
++                log_error_errno(errno, "Failed to allocate pipe");
+                 r = -errno;
+                 goto finish;
+         }
+@@ -297,7 +297,7 @@ static void* client1(void*p) {
+                         "h",
+                         pp[1]);
+         if (r < 0) {
+-                log_error_errno(r, "Failed to issue method call: %m");
++                log_error_errno(r, "Failed to issue method call");
+                 goto finish;
+         }
+ 
+@@ -321,7 +321,7 @@ finish:
+                                 "org.freedesktop.systemd.test",
+                                 "ExitClient1");
+                 if (r < 0)
+-                        log_error_errno(r, "Failed to allocate method call: %m");
++                        log_error_errno(r, "Failed to allocate method call");
+                 else
+                         sd_bus_send(bus, q, NULL);
+ 
+@@ -333,7 +333,7 @@ finish:
+ static int quit_callback(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) {
+         bool *x = userdata;
+ 
+-        log_error_errno(sd_bus_message_get_errno(m), "Quit callback: %m");
++        log_error_errno(sd_bus_message_get_errno(m), "Quit callback");
+ 
+         *x = 1;
+         return 1;
+@@ -349,7 +349,7 @@ static void* client2(void*p) {
+ 
+         r = sd_bus_open_user(&bus);
+         if (r < 0) {
+-                log_error_errno(r, "Failed to connect to user bus: %m");
++                log_error_errno(r, "Failed to connect to user bus");
+                 goto finish;
+         }
+ 
+@@ -361,7 +361,7 @@ static void* client2(void*p) {
+                         "org.object.test",
+                         "Foobar");
+         if (r < 0) {
+-                log_error_errno(r, "Failed to allocate method call: %m");
++                log_error_errno(r, "Failed to allocate method call");
+                 goto finish;
+         }
+ 
+@@ -380,7 +380,7 @@ static void* client2(void*p) {
+                         "foo.bar",
+                         "Notify");
+         if (r < 0) {
+-                log_error_errno(r, "Failed to allocate signal: %m");
++                log_error_errno(r, "Failed to allocate signal");
+                 goto finish;
+         }
+ 
+@@ -400,7 +400,7 @@ static void* client2(void*p) {
+                         "org.freedesktop.DBus.Peer",
+                         "GetMachineId");
+         if (r < 0) {
+-                log_error_errno(r, "Failed to allocate method call: %m");
++                log_error_errno(r, "Failed to allocate method call");
+                 goto finish;
+         }
+ 
+@@ -412,7 +412,7 @@ static void* client2(void*p) {
+ 
+         r = sd_bus_message_read(reply, "s", &mid);
+         if (r < 0) {
+-                log_error_errno(r, "Failed to parse machine ID: %m");
++                log_error_errno(r, "Failed to parse machine ID");
+                 goto finish;
+         }
+ 
+@@ -428,7 +428,7 @@ static void* client2(void*p) {
+                         "org.freedesktop.systemd.test",
+                         "Slow");
+         if (r < 0) {
+-                log_error_errno(r, "Failed to allocate method call: %m");
++                log_error_errno(r, "Failed to allocate method call");
+                 goto finish;
+         }
+ 
+@@ -450,7 +450,7 @@ static void* client2(void*p) {
+                         "org.freedesktop.systemd.test",
+                         "Slow");
+         if (r < 0) {
+-                log_error_errno(r, "Failed to allocate method call: %m");
++                log_error_errno(r, "Failed to allocate method call");
+                 goto finish;
+         }
+ 
+@@ -463,13 +463,13 @@ static void* client2(void*p) {
+         while (!quit) {
+                 r = sd_bus_process(bus, NULL);
+                 if (r < 0) {
+-                        log_error_errno(r, "Failed to process requests: %m");
++                        log_error_errno(r, "Failed to process requests");
+                         goto finish;
+                 }
+                 if (r == 0) {
+                         r = sd_bus_wait(bus, (uint64_t) -1);
+                         if (r < 0) {
+-                                log_error_errno(r, "Failed to wait: %m");
++                                log_error_errno(r, "Failed to wait");
+                                 goto finish;
+                         }
+                 }
+@@ -489,7 +489,7 @@ finish:
+                                 "org.freedesktop.systemd.test",
+                                 "ExitClient2");
+                 if (r < 0) {
+-                        log_error_errno(r, "Failed to allocate method call: %m");
++                        log_error_errno(r, "Failed to allocate method call");
+                         goto finish;
+                 }
+ 
Index: pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_test-bus-creds.c
diff -u /dev/null pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_test-bus-creds.c:1.1
--- /dev/null   Tue Apr 14 10:58:11 2026
+++ pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_test-bus-creds.c      Tue Apr 14 10:58:10 2026
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_libsystemd_sd-bus_test-bus-creds.c,v 1.1 2026/04/14 10:58:10 kikadf Exp $
+
+* Fix logging, on NetBSD %m is only allowed in syslog(3) like function
+
+--- src/libsystemd/sd-bus/test-bus-creds.c.orig        2022-12-16 11:13:02.000000000 +0100
++++ src/libsystemd/sd-bus/test-bus-creds.c
+@@ -14,7 +14,7 @@ int main(int argc, char *argv[]) {
+         test_setup_logging(LOG_DEBUG);
+ 
+         r = sd_bus_creds_new_from_pid(&creds, 0, _SD_BUS_CREDS_ALL);
+-        log_full_errno(r < 0 ? LOG_ERR : LOG_DEBUG, r, "sd_bus_creds_new_from_pid: %m");
++        log_full_errno(r < 0 ? LOG_ERR : LOG_DEBUG, r, "sd_bus_creds_new_from_pid");
+         assert_se(r >= 0);
+ 
+         bus_creds_dump(creds, NULL, true);
Index: pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_test-bus-objects.c
diff -u /dev/null pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_test-bus-objects.c:1.1
--- /dev/null   Tue Apr 14 10:58:11 2026
+++ pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_test-bus-objects.c    Tue Apr 14 10:58:10 2026
@@ -0,0 +1,23 @@
+$NetBSD: patch-src_libsystemd_sd-bus_test-bus-objects.c,v 1.1 2026/04/14 10:58:10 kikadf Exp $
+
+* Fix logging, on NetBSD %m is only allowed in syslog(3) like function
+
+--- src/libsystemd/sd-bus/test-bus-objects.c.orig      2022-12-16 11:13:02.000000000 +0100
++++ src/libsystemd/sd-bus/test-bus-objects.c
+@@ -247,14 +247,14 @@ static void *server(void *p) {
+ 
+                 r = sd_bus_process(bus, NULL);
+                 if (r < 0) {
+-                        log_error_errno(r, "Failed to process requests: %m");
++                        log_error_errno(r, "Failed to process requests");
+                         goto fail;
+                 }
+ 
+                 if (r == 0) {
+                         r = sd_bus_wait(bus, (uint64_t) -1);
+                         if (r < 0) {
+-                                log_error_errno(r, "Failed to wait: %m");
++                                log_error_errno(r, "Failed to wait");
+                                 goto fail;
+                         }
+ 
Index: pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_test-bus-server.c
diff -u /dev/null pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_test-bus-server.c:1.1
--- /dev/null   Tue Apr 14 10:58:11 2026
+++ pkgsrc/devel/basu/patches/patch-src_libsystemd_sd-bus_test-bus-server.c     Tue Apr 14 10:58:10 2026
@@ -0,0 +1,59 @@
+$NetBSD: patch-src_libsystemd_sd-bus_test-bus-server.c,v 1.1 2026/04/14 10:58:10 kikadf Exp $
+
+* Fix logging, on NetBSD %m is only allowed in syslog(3) like function
+
+--- src/libsystemd/sd-bus/test-bus-server.c.orig       2022-12-16 11:13:02.000000000 +0100
++++ src/libsystemd/sd-bus/test-bus-server.c
+@@ -39,14 +39,14 @@ static void *server(void *p) {
+ 
+                 r = sd_bus_process(bus, &m);
+                 if (r < 0) {
+-                        log_error_errno(r, "Failed to process requests: %m");
++                        log_error_errno(r, "Failed to process requests");
+                         goto fail;
+                 }
+ 
+                 if (r == 0) {
+                         r = sd_bus_wait(bus, (uint64_t) -1);
+                         if (r < 0) {
+-                                log_error_errno(r, "Failed to wait: %m");
++                                log_error_errno(r, "Failed to wait");
+                                 goto fail;
+                         }
+ 
+@@ -65,7 +65,7 @@ static void *server(void *p) {
+ 
+                         r = sd_bus_message_new_method_return(m, &reply);
+                         if (r < 0) {
+-                                log_error_errno(r, "Failed to allocate return: %m");
++                                log_error_errno(r, "Failed to allocate return");
+                                 goto fail;
+                         }
+ 
+@@ -77,7 +77,7 @@ static void *server(void *p) {
+                                         &reply,
+                                         &SD_BUS_ERROR_MAKE_CONST(SD_BUS_ERROR_UNKNOWN_METHOD, "Unknown method."));
+                         if (r < 0) {
+-                                log_error_errno(r, "Failed to allocate return: %m");
++                                log_error_errno(r, "Failed to allocate return");
+                                 goto fail;
+                         }
+                 }
+@@ -85,7 +85,7 @@ static void *server(void *p) {
+                 if (reply) {
+                         r = sd_bus_send(bus, reply, NULL);
+                         if (r < 0) {
+-                                log_error_errno(r, "Failed to send reply: %m");
++                                log_error_errno(r, "Failed to send reply");
+                                 goto fail;
+                         }
+                 }
+@@ -122,7 +122,7 @@ static int client(struct context *c) {
+                         "org.freedesktop.systemd.test",
+                         "Exit");
+         if (r < 0)
+-                return log_error_errno(r, "Failed to allocate method call: %m");
++                return log_error_errno(r, "Failed to allocate method call");
+ 
+         r = sd_bus_call(bus, m, 0, &error, &reply);
+         if (r < 0)
Index: pkgsrc/devel/basu/patches/patch-src_test_tests.c
diff -u /dev/null pkgsrc/devel/basu/patches/patch-src_test_tests.c:1.1
--- /dev/null   Tue Apr 14 10:58:11 2026
+++ pkgsrc/devel/basu/patches/patch-src_test_tests.c    Tue Apr 14 10:58:10 2026
@@ -0,0 +1,25 @@
+$NetBSD: patch-src_test_tests.c,v 1.1 2026/04/14 10:58:10 kikadf Exp $
+
+* NetBSD support
+* Fix logging, on NetBSD %m is only allowed in syslog(3) like function
+
+--- src/test/tests.c.orig      2022-12-16 11:13:02.000000000 +0100
++++ src/test/tests.c
+@@ -6,7 +6,7 @@
+ #include "env-util.h"
+ #include "tests.h"
+ 
+-#ifdef __FreeBSD__
++#if defined(__FreeBSD__) || defined(__NetBSD__)
+ #define program_invocation_short_name getprogname()
+ #endif
+ 
+@@ -22,7 +22,7 @@ int log_tests_skipped(const char *messag
+ }
+ 
+ int log_tests_skipped_errno(int r, const char *message) {
+-        log_notice_errno(r, "%s: %s, skipping tests: %m",
++        log_notice_errno(r, "%s: %s, skipping tests",
+                          program_invocation_short_name, message);
+         return EXIT_TEST_SKIP;
+ }



Home | Main Index | Thread Index | Old Index