pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
dbus: add upgrade candidate
Module Name: pkgsrc-wip
Committed By: Thomas Klausner <wiz%NetBSD.org@localhost>
Pushed By: wiz
Date: Sat May 17 13:36:20 2025 +0200
Changeset: 7aab770bbb40ca2d4ac7cc60f6ef758204cb107c
Modified Files:
Makefile
Added Files:
dbus/COMMIT_MSG
dbus/DESCR
dbus/INSTALL
dbus/Makefile
dbus/PLIST
dbus/buildlink3.mk
dbus/distinfo
dbus/files/dbus.sh
dbus/files/smf/dbus.sh
dbus/files/smf/manifest.xml
dbus/hacks.mk
dbus/options.mk
Log Message:
dbus: add upgrade candidate
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=7aab770bbb40ca2d4ac7cc60f6ef758204cb107c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
Makefile | 1 +
dbus/COMMIT_MSG | 823 ++++++++++++++++++++++++++++++++++++++++++++
dbus/DESCR | 12 +
dbus/INSTALL | 9 +
dbus/Makefile | 92 +++++
dbus/PLIST | 73 ++++
dbus/buildlink3.mk | 21 ++
dbus/distinfo | 5 +
dbus/files/dbus.sh | 33 ++
dbus/files/smf/dbus.sh | 40 +++
dbus/files/smf/manifest.xml | 46 +++
dbus/hacks.mk | 4 +
dbus/options.mk | 44 +++
13 files changed, 1203 insertions(+)
diffs:
diff --git a/Makefile b/Makefile
index a46113e6eb..17ecbae5e4 100644
--- a/Makefile
+++ b/Makefile
@@ -666,6 +666,7 @@ SUBDIR+= dates
SUBDIR+= davegnukem
SUBDIR+= davical-git
SUBDIR+= dbf
+SUBDIR+= dbus
SUBDIR+= dbus-dfbsd
SUBDIR+= dbus-explorer
SUBDIR+= dcdis
diff --git a/dbus/COMMIT_MSG b/dbus/COMMIT_MSG
new file mode 100644
index 0000000000..3b18a06e2f
--- /dev/null
+++ b/dbus/COMMIT_MSG
@@ -0,0 +1,823 @@
+dbus 1.16.2 (2025-02-27)
+========================
+
+Build system:
+
+• The branch used for development releases has been renamed to `main`.
+ Please see CONTRIBUTING.md for details of how to update existing checkouts.
+ (dbus#530, Simon McVittie)
+
+Bug fixes:
+
+• On Linux, fix build regression with libselinux ≥ 3.8 and verbose mode
+ enabled (Debian#1096212, dbus!511; Simon McVittie)
+
+Internal changes:
+
+• Documentation updates
+
+dbus 1.16.0 (2024-12-16)
+========================
+
+The “one hundred pink frogs” release.
+
+1.16.x is a new stable branch, superseding 1.14.x.
+
+Summary of major changes between 1.14.x and 1.16.0
+--------------------------------------------------
+
+Build system and dependencies:
+
+• The Meson build system is the recommended way to build dbus on Unix.
+ This requires Meson 0.56 and Python 3.5.
+ · Projects that depend on libdbus can build it as a Meson subproject.
+ See tests/use-as-subproject/meson.build for suggested build options.
+
+• CMake continues to be available as an alternative build system,
+ and is recommended on Windows. This requires CMake 3.10.
+
+• A C99 compiler such as gcc, clang, or Visual Studio 2015 is required.
+ A C11 compiler such as gcc, clang, or Visual Studio 2019 is recommended.
+
+• On platforms with larger-than-64-bit pointers, a C11 compiler is required
+
+Behaviour changes:
+
+• As a result of the move from Autotools to Meson as the recommended
+ build system on Unix, the names of all build-time options have changed.
+ Not all Meson options are a 1:1 replacement for their closest equivalent
+ in Autotools, so the options used for a dbus build should be reviewed.
+
+• If `meson install` is run as root, and traditional (non-systemd)
+ activation is enabled, the ownership and setuid permission of
+ dbus-daemon-launch-helper are not set automatically.
+ This is not the same as the historical behaviour of the Autotools build
+ system, which would set the ownership and permissions automatically if
+ run as uid 0.
+ The ownership and permissions must now be set by OS distribution packaging,
+ or as a manual post-installation step if dbus is installed directly
+ without going via a packaging system (which is not recommended).
+
+• On Unix, the well-known system bus socket is in the runtime state
+ directory by default (normally /run)
+ (see 1.15.4 for more details)
+
+• On Linux with systemd, dbus-daemon starts as the target user/group
+ (retaining CAP_AUDIT_WRITE) instead of starting as root and
+ dropping privileges
+
+Feature removals:
+
+• Autotools build system
+
+• pam_console/pam_foreground integration
+ (Autotools --with-console-auth, CMake -DDBUS_CONSOLE_AUTH_DIR)
+
+New features and significant bug fixes:
+
+• ProcessFD in GetConnectionCredentials() on Linux
+ (see 1.15.8 for more details)
+
+• On Unix, the system message bus now loads .service files from /etc and /run
+
+• Use close_range() to close unwanted file descriptors or mark them
+ close-on-exec, if available
+
+• Use 64-bit timestamps internally on 32-bit platforms, for Y2038 safety
+
+• Use APIs that can return 64-bit timestamps and inode numbers on
+ 32-bit glibc
+
+• AF_UNIX sockets are available on sufficiently recent Windows
+
+• dbus-send can send arrays of variants, variant values in dictionaries,
+ and nested variants
+
+• Portability to CPU architectures with larger-than-64-bit pointers
+
+Changes since 1.15.92 release candidate
+---------------------------------------
+
+Dependencies:
+
+• Building with CMake now requires CMake ≥ 3.10.
+
+Bug fixes:
+
+• Avoid deprecation warnings with newer Meson versions
+ (dbus!507, Simon McVittie)
+
+• Avoid deprecation warnings with newer CMake versions
+ (dbus#541, Ralf Habacker)
+
+Tests and CI enhancements:
+
+• When building with CMake, set the same environment variables as Meson.
+ This improves test coverage. (dbus#533, Ralf Habacker)
+
+• Remove a remaining reference to Debian 11, which is EOL
+ (dbus!508, Simon McVittie)
+
+dbus 1.15.92 (2024-12-11)
+=========================
+
+The "future flyer" release.
+
+This is a second release-candidate for the new dbus 1.16.x stable branch.
+
+Build-time configuration changes:
+
+• When building with Meson, the embedded_tests option has been renamed
+ to intrusive_tests. This option adds test instrumentation in libdbus
+ and dbus-daemon, which reduces performance and is not secure.
+ For production builds of dbus in OS distributions, it must be false
+ (-Dintrusive_tests=false, which is the default)
+ During development, it should be set true (-Dintrusive_tests=true)
+ for full test coverage. (dbus#537, Simon McVittie)
+
+• Similarly, when building with CMake, the DBUS_BUILD_TESTS option no
+ longer enables intrusive test instrumentation. A new option
+ -DDBUS_ENABLE_INTRUSIVE_TESTS=ON is equivalent to the Meson build
+ system's -Dintrusive_tests=true.
+
+Bug fixes:
+
+• If a DBusWatch callback fails because there is insufficient memory,
+ make sure to retry it within a finite time (dbus#536, Petr Malat)
+
+• On macOS with launchd enabled, if the session bus launchd integration
+ is not correctly configured, don't treat that as a fatal error that
+ prevents connecting to the system bus (dbus#510, Mohamed Akram)
+
+• If intrusive test instrumentation is enabled, older versions of dbus
+ would simulate an out-of-memory condition once per 2**32 allocations,
+ even if not specifically requested. This is no longer done.
+ (dbus#535, Simon McVittie)
+
+• Fix compilation on non-Linux platforms with glibc, such as
+ Debian GNU/Hurd (dbus#539, Simon McVittie)
+
+• Avoid test failures with non-trivial NSS modules, similar to dbus#256
+ (dbus#540, Simon McVittie)
+
+• When built with CMake, make paths in DBus1Config relocatable
+ (dbus!499, Ralf Habacker)
+
+dbus 1.15.90 (2024-12-06)
+=========================
+
+The “futuristic flyer” release.
+
+This is a release-candidate for the new dbus 1.16.x stable branch.
+
+Build-time configuration changes:
+
+• The experimental Containers1 interface has been removed from this branch.
+ It is incomplete and not ready for production use, and has been
+ compile-time-disabled and impossible to enable without patching
+ since 1.13.20. To reduce confusion, delete the code completely.
+ It remains present on the git `main` branch for 1.17.x, and will
+ hopefully be reinstated during the 1.17.x cycle.
+ (dbus!488, dbus!490; Simon McVittie)
+
+Bug fixes:
+
+• Fix the Devhelp index for API documentation (dbus!486, Simon McVittie)
+
+• Fix detection of socketpair() on Solaris 10 (dbus#531, Simon McVittie)
+
+• Avoid undefined signed integer overflow when calculating hash table
+ indexes (dbus!487, Jami Kettunen)
+
+dbus 1.15.12 (2024-10-29)
+=========================
+
+Enhancements:
+
+• D-Bus Specification 0.43:
+ · Recommend loading system services from /etc/dbus-1/system-services
+ and /run/dbus-1/system-services (dbus!467, Luca Boccassi)
+ · Reorganise documentation of the message bus to make it easier to add
+ new interfaces (dbus!472, Simon McVittie)
+ · Document o.fd.DBus.Debug.Stats interface (dbus!472, Simon McVittie)
+ · Document o.fd.DBus.Verbose interface (dbus!472, Simon McVittie)
+ · Formatting improvements (dbus!471, dbus!472; Simon McVittie)
+ · Don't imply that all clients need to support obsolete message bus
+ implementations (dbus!471, Simon McVittie)
+
+• API design advice:
+ · Document typical approaches to emulating nullable types in the D-Bus
+ type system (dbus!446, Zeeshan Ali Khan)
+
+• On Unix, additionally load system services from:
+ · /etc/dbus-1/system-services, reserved for use by either the local system
+ administrator, or software such as asset managers and configuration
+ management frameworks acting on their behalf
+ · /run/dbus-1/system-services, for ephemeral services
+ (dbus!467, Luca Boccassi)
+
+Bug fixes:
+
+• Increase file descriptor soft limit to hard limit before testing file
+ descriptor passing, and correctly skip the test for flooding the bus
+ with fds when the limit is too low, fixing test failures on Solaris
+ (dbus#176, Alan Coopersmith)
+
+• When building API documentation with Doxygen, always generate a working
+ link in the index HTML page
+ (dbus#519, dbus!470; Ralf Habacker, Simon McVittie)
+
+• When building with Meson, add (more) test dependencies so that 'meson test'
+ does not always need to be preceded by 'meson compile'
+ (dbus!468, Simon McVittie)
+
+• When installing with Meson, don't fail if we are installing as root but
+ the user/group that will own the setuid dbus-daemon-launch-helper do not
+ yet exist (dbus#492, Jordan Williams)
+
+• When building with Meson on Solaris, fix detection and build of
+ Solaris audit API integration
+ (dbus!477, Alan Coopersmith)
+
+• Fix service activation timeouts when built with embedded tests (test
+ instrumentation) and run on a platform with a large file descriptor limit
+ (dbus#527, Simon McVittie)
+
+• Fix test failures on platforms where deleting the current working
+ directory is not allowed, such as Solaris
+ (dbus!480, Alan Coopersmith)
+
+Internal changes:
+
+• CI fixes (dbus!474, Simon McVittie)
+
+dbus 1.15.10 (2024-09-25)
+=========================
+
+Build-time configuration changes:
+
+• The Autotools build system has been removed. Its replacement is Meson.
+ (dbus#443, Ralf Habacker)
+
+Enhancements:
+
+• Use 64-bit timestamps internally.
+ This will allow 32-bit builds of libdbus to continue working after 2038
+ if there is OS-level support for 64-bit time_t, either opt-in
+ (as on 32-bit glibc systems) or by default. (dbus!444, Alexander Kanavin)
+
+• When building with CMake, build more HTML documentation
+ (dbus#504, Ralf Habacker)
+
+Bug fixes:
+
+• Don't crash if configured to watch more than 128 directories with
+ inotify (dbus#481, hongjinghao)
+
+• Never add (uid_t) -1, (gid_t) -1 or (pid_t) 0 to credentials
+ (dbus!464, Alyssa Ross)
+
+• Fix a regression since 1.15.0 for "autolaunch:" on Windows
+ (dbus#503, Thomas Sondergaard)
+
+• When building with Meson, don't use stdatomic.h if it exists but is
+ non-functional, for example under Visual Studio 2022
+ (dbus#494, Thomas Sondergaard)
+
+• When building with Meson, add test dependencies so that 'meson test'
+ does not always need to be preceded by 'meson compile'
+ (dbus!465, Alyssa Ross)
+
+• When building with Meson, really enable launchd if appropriate
+ (dbus!463, Alyssa Ross)
+
+• In the test suite, use a more widely-implemented group name 'tty'
+ in preference to 'bin' (dbus#514, Alyssa Ross)
+
+• Ensure that `dbus-test-tool spam` options cannot leave the payload
+ length uninitialized (dbus!469, Simon McVittie)
+
+• Fix compiler warnings with gcc 14 (dbus!469, Simon McVittie)
+
+Documentation:
+
+• Clarify ownership transfer of pending call in
+ dbus_connection_send_with_reply() (dbus!455, Wiebe Cazemier)
+
+• Explicitly document dbus-send exit status (dbus#452, Philip Withnall)
+
+• Refer to d-spy in preference to unmaintaned D-Feet
+ (dbus!460, Ludovico de Nittis)
+
+• Update URL to Bustle tool (dbus!460, Ludovico de Nittis)
+
+Internal changes:
+
+• Replace _dbus_string_append_int(), _dbus_string_append_uint() with
+ calls to _dbus_string_append_printf()
+ (dbus!445, Simon McVittie)
+
+• Clean up unused macros in CMake build
+ (dbus!463, Alyssa Ross)
+
+• Internal CI changes
+ (dbus#487, dbus#488, dbus#489, dbus#509;
+ Ralf Habacker, Simon McVittie)
+
+dbus 1.15.8 (2023-08-21)
+========================
+
+Build-time configuration changes:
+
+• For this version of dbus, Meson is the recommended build system for all
+ Unix platforms. CMake continues to be recommended for Windows, but this
+ recommendation might change to Meson in a future release, so please
+ test the Meson build. See INSTALL for details.
+
+• Autotools-generated files are no longer included in the tarball release.
+ The Autotools build system is likely to be removed in a future dbus
+ release, so Autotools users should migrate to Meson as soon as possible.
+ It is still possible to build using Autotools, by following the same
+ procedure as for a git clone (starting with the `./autogen.sh` script).
+
+Enhancements:
+
+• D-Bus Specification 0.42:
+ · GetConnectionCredentials can return ProcessFD
+ (dbus!420, dbus!398; Luca Boccassi)
+
+• On Linux with sufficiently new glibc and kernel headers, report a pinned
+ process file descriptor (pidfd) as the ProcessFD member of the
+ GetConnectionCredentials() result
+ (dbus!420, dbus!398; Luca Boccassi)
+
+• On Linux with systemd, start as the target user/group (retaining
+ CAP_AUDIT_WRITE to preserve the ability to write to the audit log),
+ instead of starting as root and dropping privileges
+ (dbus!399, Luca Boccassi)
+
+• On 32-bit glibc systems, opt-in to 64-bit timestamps if possible.
+ This will allow 32-bit builds of libdbus to continue working after 2038.
+ (dbus#465, Simon McVittie)
+
+• On 32-bit glibc systems when built with CMake, also opt-in to large
+ file sizes, offsets and inode numbers, as was done for Autotools
+ since 1.12.x and Meson since the Meson build was introduced
+ (dbus#465, fd.o #93545; Simon McVittie)
+
+• Avoid known dbus-daemon options being interpreted as optional arguments
+ (dbus#467, Xin Shi)
+
+• If libdbus is a Meson subproject in a larger project, announce it as an
+ implementation of the dbus-1 dependency (dbus!415, Barnabás Pőcze)
+
+• When built with CMake, get the version number from Meson instead of
+ Autotools, in preparation for the Autotools build system being removed
+ (dbus!382, Ralf Habacker)
+
+• When built with Meson, disable some unwanted warnings when either
+ assertions or checks is disabled (dbus!412, Simon McVittie)
+
+• Use C11 <stdatomic.h> if possible (dbus!431, Simon McVittie)
+
+• Expand coverage of SPDX/REUSE copyright/license information
+ (dbus!427, Simon McVittie)
+
+• On Linux, let dbus-daemon start up successfully (with a warning) if
+ inotify initialization fails, even if DBUS_FATAL_WARNINGS=1 is present
+ in the environment (dbus#473, Simon McVittie)
+
+• On Unix, provide a better error message when looking up a user by name
+ or user ID fails (dbus!442, Simon McVittie)
+
+Bug fixes:
+
+• Avoid a dbus-daemon crash if re-creating a connection's policy fails.
+ If it isn't possible to re-create its policy (for example if it belongs
+ to a user account that has been deleted or if the Name Service Switch is
+ broken, on a system not supporting SO_PEERGROUPS), we now log a warning,
+ continue to use its current policy, and continue to reload other
+ connections' policies. (dbus#343; Peter Benie, Simon McVittie)
+
+• If getting the groups from a user ID fails, report the error correctly,
+ instead of logging "(null)" (dbus#343, Simon McVittie)
+
+• Return the primary group ID in GetConnectionCredentials()' UnixGroupIDs
+ field for processes with a valid-but-empty supplementary group list
+ (dbus!422, cptpcrd)
+
+• `sudo meson install` without a DESTDIR is now possible, although
+ strongly discouraged on production systems (dbus#436, Simon McVittie)
+
+• Fix a Meson deprecation warning (dbus#439, Simon McVittie)
+
+Tests and CI enhancements:
+
+• Internal CI changes
+ (dbus#455, dbus!414, dbus#468, dbus#469, dbus!424, dbus!430, dbus#436,
+ dbus#470; Ralf Habacker, Simon McVittie)
+
+dbus 1.15.6 (2023-06-06)
+========================
+
+Denial-of-service fixes:
+
+• Fix an assertion failure in dbus-daemon when a privileged Monitoring
+ connection (dbus-monitor, busctl monitor, gdbus monitor or similar)
+ is active, and a message from the bus driver cannot be delivered to a
+ client connection due to <deny> rules or outgoing message quota. This
+ is a denial of service if triggered maliciously by a local attacker.
+ (dbus#457; hongjinghao, Simon McVittie)
+
+Enhancements:
+
+• Special-case reading pseudo-files from Linux /proc to take into
+ account the filesystem's unusual semantics (dbus!401, Luca Boccassi)
+
+Other fixes:
+
+• Fix compilation on compilers not supporting __FUNCTION__
+ (dbus!404, Barnabás Pőcze)
+
+• Fix some memory leaks on out-of-memory conditions
+ (dbus!403, Barnabás Pőcze)
+
+• Documentation:
+ · Update the README to recommend building with Meson
+ (dbus!402, Ahmed Abdelfattah)
+ · Fix syntax of a code sample in dbus-api-design
+ (dbus!396; Yen-Chin, Lee)
+
+• CMake build fixes:
+ · Detect presence of <sys/syscall.h> (dbus!400, Luca Boccassi)
+
+Tests and CI enhancements:
+
+• Fix CI pipelines after freedesktop/freedesktop#540
+ (dbus!405, dbus#456; Simon McVittie)
+
+• Ensure the messagebus user is created if necessary
+ (dbus#445, Ralf Habacker)
+
+dbus 1.15.4 (2023-02-08)
+========================
+
+Dependencies:
+
+• Building with CMake now requires CMake ≥ 3.9.
+
+Build-time configuration changes:
+
+• On Unix platforms, a path in the runtime state directory (often /run)
+ is now used for the well-known system bus socket by default. OS
+ distributors should check that the path used is equivalent to the
+ interoperable path /var/run/dbus/system_bus_socket, especially if
+ running on an OS where /var/run is not guaranteed to be a symbolic
+ link to /run.
+ (dbus#180; Issam E. Maghni, Simon McVittie)
+ · With Autotools, this is controlled by --runstatedir, which defaults
+ to ${localstatedir}/run but is often set to /run by OS distributors.
+ The path to the system bus socket can be overridden with the
+ --with-system-socket option if required.
+ · With CMake, this is controlled by the RUNSTATEDIR option, which has
+ behaviour similar to Autotools. There is no separate option for the
+ path to the system bus socket.
+ · With Meson, this is controlled by the runtime_dir option, which
+ defaults to /run if the installation prefix is set to /usr, or has
+ behaviour similar to Autotools otherwise. The path to the system bus
+ socket can be overridden with the system_socket option if required.
+
+Denial of service fixes:
+
+• Fix an incorrect assertion that could be used to crash dbus-daemon or
+ other users of DBusServer prior to authentication, if libdbus was compiled
+ with assertions enabled.
+ We recommend that production builds of dbus, for example in OS distributions,
+ should be compiled with checks but without assertions.
+ (dbus#421, Ralf Habacker; thanks to Evgeny Vereshchagin)
+
+Enhancements:
+
+• D-Bus Specification 0.41:
+ · Clarify handling of /run vs. /var/run on Unix systems
+ (dbus#180, Simon McVittie)
+
+• Add dbus_connection_set_builtin_filters_enabled(), intended to be called
+ by tools that use BecomeMonitor() such as dbus-monitor
+ (dbus#301, Kai A. Hiller)
+
+• When using the Meson build system, dbus can now be used as a subproject.
+ To avoid colliding with a separate system copy of dbus, building it as a
+ static library with tests, tools and the message bus disabled is
+ strongly recommended. See test/use-as-subproject for sample code.
+ (dbus!368, dbus!388; Daniel Wagner)
+
+Other fixes:
+
+• When connected to a dbus-broker, stop dbus-monitor from incorrectly
+ replying to Peer method calls that were sent to the dbus-broker with
+ a NULL destination (dbus#301, Kai A. Hiller)
+
+• Fix out-of-bounds varargs read in the dbus-daemon's config-parser.
+ This is not attacker-triggerable and appears to be harmless in practice,
+ but is technically undefined behaviour and is detected as such by
+ AddressSanitizer. (dbus!357, Evgeny Vereshchagin)
+
+• Avoid a data race in multi-threaded use of DBusCounter
+ (dbus#426, Ralf Habacker)
+
+• Fix a crash with some glibc versions when non-auditable SELinux events
+ are logged (dbus!386, Jeremi Piotrowski)
+
+• If dbus_message_demarshal() runs out of memory while validating a message,
+ report it as NoMemory rather than InvalidArgs (dbus#420, Simon McVittie)
+
+• Use C11 _Alignof if available, for better standards-compliance
+ (dbus!389, Khem Raj)
+
+• Stop including an outdated copy of pkg.m4 in the git tree
+ (dbus!365, Simon McVittie)
+
+• Meson build fixes:
+ · Use -fvisibility=hidden on Unix if supported, in particular on Linux
+ (dbus!383, dbus#437; Simon McVittie)
+ · Fix build on macOS, and any other platform that has
+ CLOCK_MONOTONIC but not pthread_condattr_setclock()
+ (dbus#419, Jordan Williams)
+
+• Documentation:
+ · Consistently use Gitlab bug reporting URL (dbus!372, Marco Trevisan)
+
+• Licensing:
+ · Use MIT license for some test files that did not previous specify a
+ license, with permission from their authors (dbus!359, Simon McVittie)
+ · Add more SPDX/REUSE license markers
+ (dbus!311, dbus!369, dbus!370, dbus!371, dbus!375, dbus!376;
+ Ralf Habacker, Simon McVittie)
+ · Correct syntax of some SPDX license markers (dbus!360, Ralf Habacker)
+
+• Tests fixes:
+ · Fix an assertion failure in test-autolaunch-win
+ (dbus#422, Ralf Habacker)
+ · Expand test coverage under CMake (dbus!322, Ralf Habacker)
+ · Fix the test-apparmor-activation test after dbus#416
+ (dbus!380, Dave Jones)
+
+Internal changes:
+
+• Add static assertions for some things we assume about pointers
+ (dbus!345, Simon McVittie)
+
+• Refactoring (dbus!356, dbus#430, dbus#431; Simon McVittie, Xin Shi)
+
+• Fix CI builds with recent git versions (dbus#447, Simon McVittie)
+
+• Build dbus with clang during CI (dbus!358, Evgeny Vereshchagin)
+
+dbus 1.15.2 (2022-10-05)
+========================
+
+This development release incorporates the same denial-of-service fixes and
+security hardening as dbus 1.14.4.
+
+Behaviour changes:
+
+• On Linux, dbus-daemon and other uses of DBusServer now create a
+ path-based Unix socket, unix:path=..., when asked to listen on a
+ unix:tmpdir=... address. This makes unix:tmpdir=... equivalent to
+ unix:dir=... on all platforms.
+ Previous versions would have created an abstract socket, unix:abstract=...,
+ in this situation.
+ This change primarily affects the well-known session bus when run via
+ dbus-launch(1) or dbus-run-session(1). The user bus, enabled by configuring
+ dbus with --enable-user-session and running it on a systemd system,
+ already used path-based Unix sockets and is unaffected by this change.
+ This behaviour change prevents a sandbox escape via the session bus socket
+ in sandboxing frameworks that can share the network namespace with the host
+ system, such as Flatpak.
+ This change might cause a regression in situations where the abstract socket
+ is intentionally shared between the host system and a chroot or container,
+ such as some use-cases of schroot(1). That regression can be resolved by
+ using a bind-mount to share either the D-Bus socket, or the whole /tmp
+ directory, with the chroot or container.
+ (dbus#416, Simon McVittie)
+
+Denial of service fixes:
+
+Evgeny Vereshchagin discovered several ways in which an authenticated
+local attacker could cause a crash (denial of service) in
+dbus-daemon --system or a custom DBusServer. In uncommon configurations
+these could potentially be carried out by an authenticated remote attacker.
+
+• An invalid array of fixed-length elements where the length of the array
+ is not a multiple of the length of the element would cause an assertion
+ failure in debug builds or an out-of-bounds read in production builds.
+ This was a regression in version 1.3.0.
+ (dbus#413, CVE-2022-42011; Simon McVittie)
+
+• A syntactically invalid type signature with incorrectly nested parentheses
+ and curly brackets would cause an assertion failure in debug builds.
+ Similar messages could potentially result in a crash or incorrect message
+ processing in a production build, although we are not aware of a practical
+ example. (dbus#418, CVE-2022-42010; Simon McVittie)
+
+• A message in non-native endianness with out-of-band Unix file descriptors
+ would cause a use-after-free and possible memory corruption in production
+ builds, or an assertion failure in debug builds. This was a regression in
+ version 1.3.0. (dbus#417, CVE-2022-42012; Simon McVittie)
+
+Enhancements:
+
+• D-Bus Specification 0.40 (dbus#416, Simon McVittie)
+ · Clarify that unix:tmpdir is not required to use abstract sockets,
+ even where supported
+ · Mention implications of abstract sockets for Linux namespacing
+
+dbus 1.15.0 (2022-09-22)
+========================
+
+Dependencies:
+
+• On platforms where a pointer is larger than 64 bits, dbus requires at
+ least a C11 compiler.
+ On other platforms, dbus now requires either a C99 compiler such as
+ gcc or clang, or Microsoft Visual Studio 2015 or later. Some workarounds
+ for pre-C99 environments are currently still present, but we plan to
+ remove them during this development cycle.
+
+• Building with CMake now requires CMake ≥ 3.4.
+
+• Building with Meson requires Meson ≥ 0.56 and Python ≥ 3.5.
+
+Feature removal:
+
+• Remove support for the obsolete pam_console and pam_foreground modules
+ (the Autotools --with-console-auth-dir= and CMake -DDBUS_CONSOLE_AUTH_DIR=
+ options, which have been deprecated since dbus 1.11.18).
+ (dbus#181, fd.o#101629)
+
+Build-time configuration changes:
+
+• Add a Meson build system. This is currently considered experimental,
+ but the intention is for it to replace Autotools and/or CMake in future
+ releases, preferably both. Please test!
+ (dbus!303, dbus!325; Félix Piédallu, Marc-André Lureau, Simon McVittie)
+ · This requires Meson 0.56 or newer, and Python 3.5 or newer.
+ · Expat can be built as a subproject using Meson's "wrap" mechanism,
+ if desired. This should make it considerably easier to build dbus
+ for Windows or other platforms without a library packaging system.
+ · GLib can also be built as a subproject using Meson's "wrap" mechanism,
+ if desired. This should make it considerably easier to build full
+ test coverage on Windows or other platforms without a library
+ packaging system.
+
+• Please note that not all Meson build options correspond 1:1 to how
+ the closest equivalents in Autotools or CMake behave, and the Meson
+ build options are subject to change.
+ Distributors and developers evaluating the Meson build should check
+ that they are configuring dbus the way they intend to.
+
+Enhancements:
+
+• D-Bus Specification 0.39:
+ · Document how to represent internationalized domain names in D-Bus
+ names (dbus!324, Simon McVittie)
+ · Improve documentation of AF_UNIX sockets (Marc-André Lureau)
+
+• On Unix, speed up closing file descriptors for subprocesses by using
+ closefrom() or close_range() where available
+ (dbus#278; rim, Simon McVittie)
+
+• On Windows, dbus can now use AF_UNIX sockets, not just TCP.
+ This requires Windows 10 build 17063 or later at runtime,
+ and either Windows 10 SDK 17063 or mingw-w64 version 9.0.0 or later
+ at compile-time. (dbus!249, Marc-André Lureau)
+
+• Teach dbus-send to handle variants in containers: arrays of variants,
+ variant values in dictionaries, and nested variants
+ (dbus!206, Frederik Van Bogaert)
+
+• Detect programming errors with Windows mutexes if assertions are
+ enabled, similar to what we already did for pthreads mutexes
+ (dbus#369, Ralf Habacker)
+
+• Move license text into LICENSES, and start to use SPDX markers
+ (Simon McVittie, Ralf Habacker)
+
+Fixes:
+
+• Portability to CPU architectures with larger-than-64-bit pointers
+ (dbus!335, dbus!318; Alex Richardson)
+
+• Fix build failure on FreeBSD (dbus!277, Alex Richardson)
+
+• Fix build failure on macOS with launchd enabled
+ (dbus!287, Dawid Wróbel)
+
+• Preserve errno on failure to open /proc/self/oom_score_adj
+ (dbus!285, Gentoo#834725; Mike Gilbert)
+
+• Improve dbus-launch --autolaunch so it can pick up an existing bus from
+ Linux XDG_RUNTIME_DIR or macOS launchd, even if X11 autolaunching was
+ disabled (dbus#385, dbus#392; Simon McVittie, Alex Richardson)
+
+• Correctly escape AF_UNIX socket paths when converting them to D-Bus
+ address strings (dbus#405, Marc-André Lureau)
+
+• On Linux, don't log warnings if oom_score_adj is read-only but does not
+ need to be changed (dbus!291, Simon McVittie)
+
+• Slightly improve error-handling for inotify
+ (dbus!235, Simon McVittie)
+
+• Don't crash if dbus-daemon is asked to watch more than 128 directories
+ for changes (dbus!302, Jan Tojnar)
+
+• Silence various compiler warnings
+ (dbus!275, dbus!289, dbus!305, dbus!307, dbus!312, dbus!315;
+ Ralf Habacker, Simon McVittie, Alex Richardson, Marc-André Lureau)
+
+• On Windows, use safer locking patterns for the system-global mutex used
+ to implement autolaunching (dbus#368, dbus#370; Ralf Habacker)
+
+• Index dbus-arch-deps.h for API documentation when building out-of-tree
+ (dbus!312, Marc-André Lureau)
+
+• Silence xmlto warnings when building man pages
+ (dbus!312, Marc-André Lureau)
+
+• Fix build failure when checks are disabled but assertions are enabled
+ (dbus#412, Johannes Kauffmann)
+
+• Use C99 flexible arrays in the memory pool implementation for better
+ support for modern compilers
+ (dbus!343, dbus!344; Alex Richardson, Simon McVittie)
+
+• Autotools build system fixes:
+ · Don't treat --with-x or --with-x=yes as a request to disable X11,
+ fixing a regression in 1.13.20. Instead, require X11 libraries and
+ fail if they cannot be detected. (dbus!263, Lars Wendler)
+ · When a CMake project uses an Autotools-built libdbus in a
+ non-standard prefix, find dbus-arch-deps.h successfully
+ (dbus#314, Simon McVittie)
+ · Don't include generated XML catalog in source releases
+ (dbus!317, Jan Tojnar)
+ · Improve robustness of detecting gcc __sync atomic builtins
+ (dbus!320, Alex Richardson)
+
+• CMake build system fixes:
+ · Detect endianness correctly, fixing interoperability with other D-Bus
+ implementations on big-endian systems (dbus#375, Ralf Habacker)
+ · Fix a race condition generating man pages and HTML documentation
+ (dbus#381, Ralf Habacker)
+ · When building for Unix, install session and system bus setup
+ in the intended locations
+ (dbus!267, dbus!297; Ralf Habacker, Alex Richardson)
+ · Detect setresuid() and getresuid() (dbus!319, Alex Richardson)
+ · Detect backtrace() on FreeBSD (dbus!281, Alex Richardson)
+ · Don't include headers from parent directory (dbus!282, Alex Richardson)
+ · Fix -Wunused-command-line-argument on FreeBSD
+ (dbus!278, Alex Richardson)
+ · Only add warning flags if the compiler supports them
+ (dbus!276, Alex Richardson)
+ · Distinguish between host and target TMPDIR when cross-compiling
+ (dbus!279, Alex Richardson)
+ · Improve compiler warning detection (dbus#387, Ralf Habacker)
+ · Allow TEST_SOCKET_DIR to be overridden (dbus!295, Ralf Habacker)
+ · Fix detection of atomic operations (dbus!306, Alex Richardson)
+ · Use DWARF 2 instead of STABS for debug symbols on Windows, for
+ compatibility with newer gcc versions (dbus!323, Marc-André Lureau)
+ · Fix use of paths relative to the dbus project directory when dbus is
+ vendored into a larger CMake project (dbus!332, Jordan Williams)
+
+Tests and CI enhancements:
+
+• Add an automated test for Windows autolaunching
+ (dbus#235, Ralf Habacker)
+
+• Avoid compiler warnings in test code
+ (dbus#383, dbus!274, dbus!275; Simon McVittie, Ralf Habacker)
+
+• Avoid LeakSanitizer warnings in test code
+ (dbus!326, Simon McVittie)
+
+• Speed up a particularly slow unit test by a factor of 30
+ (dbus!328, Simon McVittie)
+
+• On Unix, skip tests that switch uid if run in a container that is
+ unable to do so, instead of failing (dbus#407, Simon McVittie)
+
+• On Unix, consistently create test sockets in DBUS_TEST_SOCKET_DIR and
+ not the build directory, allowing the build directory to be mounted with
+ a non-POSIX filesystem (dbus!334, Alex Richardson)
+
+• Gitlab-CI improvements
+ (dbus#383, dbus#388, dbus!262, dbus!288, dbus!292, dbus!296, dbus!299,
+ dbus!301;
+ Ralf Habacker, Simon McVittie, Alex Richardson)
+
+• Added FreeBSD Gitlab-CI build jobs
+ (dbus!280, dbus!347; Alex Richardson)
+
+• Use the latest MSYS2 packages for CI
+ (Ralf Habacker, Simon McVittie)
diff --git a/dbus/DESCR b/dbus/DESCR
new file mode 100644
index 0000000000..2a2988e2e0
--- /dev/null
+++ b/dbus/DESCR
@@ -0,0 +1,12 @@
+D-BUS is a message bus, used for sending messages between applications.
+Conceptually, it fits somewhere in between raw sockets and CORBA in terms
+of complexity.
+
+D-BUS supports broadcast messages, asynchronous messages (thus decreasing
+latency), authentication, and more. It is designed to be low-overhead;
+messages are sent using a binary protocol, not using XML. D-BUS also
+supports a method call mapping for its messages, but it is not required;
+this makes using the system quite simple.
+
+This package provides the D-BUS core library and daemon, as well as
+some utilities that complement it.
diff --git a/dbus/INSTALL b/dbus/INSTALL
new file mode 100644
index 0000000000..a4c44cdc5c
--- /dev/null
+++ b/dbus/INSTALL
@@ -0,0 +1,9 @@
+# $NetBSD: INSTALL,v 1.1 2008/09/24 11:37:31 taca Exp $
+
+DBUS_UUIDGEN="@PREFIX@/bin/dbus-uuidgen"
+
+case ${STAGE} in
+POST-INSTALL)
+ ${DBUS_UUIDGEN} --ensure
+ ;;
+esac
diff --git a/dbus/Makefile b/dbus/Makefile
new file mode 100644
index 0000000000..44b165b299
--- /dev/null
+++ b/dbus/Makefile
@@ -0,0 +1,92 @@
+# $NetBSD: Makefile,v 1.139 2023/10/17 22:10:01 wiz Exp $
+
+DISTNAME= dbus-1.16.2
+CATEGORIES= sysutils
+MASTER_SITES= https://dbus.freedesktop.org/releases/dbus/
+EXTRACT_SUFX= .tar.xz
+
+MAINTAINER= pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE= https://www.freedesktop.org/Software/dbus
+COMMENT= Message bus system
+LICENSE= gnu-gpl-v2
+
+TOOL_DEPENDS+= xmlto-[0-9]*:../../textproc/xmlto
+
+CONFLICTS+= dbus-glib<0.71
+CONFLICTS+= py27-dbus<0.71
+
+USE_TOOLS+= msgfmt pkg-config
+USE_CC_FEATURES= c99
+
+PKGCONFIG_OVERRIDE= dbus-1.pc.in
+
+BUILD_DEFS+= VARBASE PKG_SYSCONFBASE
+
+OWN_DIRS_PERMS+= ${VARBASE}/lib/dbus ${DBUS_USER} ${DBUS_GROUP} 0755
+SPECIAL_PERMS+= libexec/dbus-daemon-launch-helper ${REAL_ROOT_USER} ${DBUS_GROUP} 4511
+
+SMF_METHODS= dbus
+SMF_NAME= dbus
+
+CHECK_PORTABILITY_SKIP+= tools/cmake-format
+
+.include "../../mk/bsd.prefs.mk"
+
+MESON_ARGS+= -Ddbus_user=${DBUS_USER}
+MESON_ARGS+= -Dsystem_socket=${VARBASE}/run/dbus/system_bus_socket
+MESON_ARGS+= -Dsystem_socket=${VARBASE}/run/dbus/pid
+
+LDFLAGS.SunOS+= -lnsl
+
+SUBST_CLASSES+= docbook
+SUBST_STAGE.docbook= pre-configure
+SUBST_FILES.docbook= doc/*.xml*
+SUBST_SED.docbook= -e 's,http://www.oasis-open.org/docbook/xml,${PREFIX}/share/xml/docbook,g'
+
+.if ${OPSYS} == "SunOS"
+MESON_ARGS+= -Dsolaris_console_owner_file="/dev/vt/console_user"
+.endif
+
+DBUS_CONF_DIR= ${PKG_SYSCONFBASE}/dbus-1
+OWN_DIRS+= ${DBUS_CONF_DIR}/services
+OWN_DIRS+= ${DBUS_CONF_DIR}/system-services
+OWN_DIRS+= ${DBUS_CONF_DIR}/session.d
+OWN_DIRS+= ${DBUS_CONF_DIR}/system.d
+
+RCD_SCRIPTS= dbus
+
+PKG_GROUPS_VARS+= DBUS_GROUP
+PKG_USERS_VARS+= DBUS_USER
+
+PKG_GROUPS= ${DBUS_GROUP}
+PKG_USERS= ${DBUS_USER}:${DBUS_GROUP}
+PKG_GECOS.${DBUS_USER}= System message bus
+PKG_HOME.${DBUS_USER}= ${VARBASE}/run/dbus
+
+FILES_SUBST+= DBUS_USER=${DBUS_USER}
+FILES_SUBST+= DBUS_GROUP=${DBUS_GROUP}
+
+BUILDLINK_TRANSFORM+= rm:-Wl,--gc-sections
+.if !empty(_PKGSRC_MKPIE:M[Nn][Oo])
+# Package tries to use these if gcc accepts them, but that doesn't
+# mean that we universally can *run* the executables
+BUILDLINK_TRANSFORM+= rm:-fPIE
+BUILDLINK_TRANSFORM+= rm:-pie
+.endif
+
+.include "options.mk"
+
+post-install:
+ ${INSTALL_DATA} ${WRKSRC}/doc/introspect.* \
+ ${DESTDIR}${PREFIX}/share/doc/dbus/
+ ${RM} -f ${DESTDIR}${PREFIX}/etc/dbus-1/s*.conf
+ ${RMDIR} ${DESTDIR}${PREFIX}/etc/dbus-1 || ${TRUE}
+
+.include "../../devel/meson/build.mk"
+.include "../../lang/python/tool.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../devel/gettext-lib/buildlink3.mk"
+BUILDLINK_API_DEPENDS.expat+= expat>=2.1.0
+.include "../../textproc/expat/buildlink3.mk"
+.include "../../devel/glib2/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/dbus/PLIST b/dbus/PLIST
new file mode 100644
index 0000000000..b28fcaf88f
--- /dev/null
+++ b/dbus/PLIST
@@ -0,0 +1,73 @@
+@comment $NetBSD$
+${PLIST.launchd}Library/LaunchAgents/org.freedesktop.dbus-session.plist
+bin/dbus-cleanup-sockets
+bin/dbus-daemon
+bin/dbus-launch
+bin/dbus-monitor
+bin/dbus-run-session
+bin/dbus-send
+bin/dbus-test-tool
+bin/dbus-update-activation-environment
+bin/dbus-uuidgen
+include/dbus-1.0/dbus/dbus-address.h
+include/dbus-1.0/dbus/dbus-bus.h
+include/dbus-1.0/dbus/dbus-connection.h
+include/dbus-1.0/dbus/dbus-errors.h
+include/dbus-1.0/dbus/dbus-macros.h
+include/dbus-1.0/dbus/dbus-memory.h
+include/dbus-1.0/dbus/dbus-message.h
+include/dbus-1.0/dbus/dbus-misc.h
+include/dbus-1.0/dbus/dbus-pending-call.h
+include/dbus-1.0/dbus/dbus-protocol.h
+include/dbus-1.0/dbus/dbus-server.h
+include/dbus-1.0/dbus/dbus-shared.h
+include/dbus-1.0/dbus/dbus-signature.h
+include/dbus-1.0/dbus/dbus-syntax.h
+include/dbus-1.0/dbus/dbus-threads.h
+include/dbus-1.0/dbus/dbus-types.h
+include/dbus-1.0/dbus/dbus.h
+lib/cmake/DBus1/DBus1Config.cmake
+lib/cmake/DBus1/DBus1ConfigVersion.cmake
+lib/dbus-1.0/include/dbus/dbus-arch-deps.h
+lib/libdbus-1.so
+lib/libdbus-1.so.3
+lib/libdbus-1.so.3.38.3
+lib/pkgconfig/dbus-1.pc
+libexec/dbus-daemon-launch-helper
+man/man1/dbus-cleanup-sockets.1
+man/man1/dbus-daemon.1
+man/man1/dbus-launch.1
+man/man1/dbus-monitor.1
+man/man1/dbus-run-session.1
+man/man1/dbus-send.1
+man/man1/dbus-test-tool.1
+man/man1/dbus-update-activation-environment.1
+man/man1/dbus-uuidgen.1
+share/dbus-1/session.conf
+share/dbus-1/system.conf
+share/doc/dbus/dbus-cleanup-sockets.1.html
+share/doc/dbus/dbus-daemon.1.html
+share/doc/dbus/dbus-faq.html
+share/doc/dbus/dbus-launch.1.html
+share/doc/dbus/dbus-monitor.1.html
+share/doc/dbus/dbus-run-session.1.html
+share/doc/dbus/dbus-send.1.html
+share/doc/dbus/dbus-specification.html
+share/doc/dbus/dbus-test-plan.html
+share/doc/dbus/dbus-test-tool.1.html
+share/doc/dbus/dbus-tutorial.html
+share/doc/dbus/dbus-update-activation-environment.1.html
+share/doc/dbus/dbus-uuidgen.1.html
+share/doc/dbus/diagram.png
+share/doc/dbus/diagram.svg
+share/doc/dbus/examples/GetAllMatchRules.py
+share/doc/dbus/examples/example-session-disable-stats.conf
+share/doc/dbus/examples/example-system-enable-stats.conf
+share/doc/dbus/examples/example-system-hardening-without-traditional-activation.conf
+share/doc/dbus/index.html
+share/doc/dbus/introspect.dtd
+share/doc/dbus/introspect.xsl
+share/doc/dbus/system-activation.txt
+share/xml/dbus-1/busconfig.dtd
+share/xml/dbus-1/catalog.xml
+share/xml/dbus-1/introspect.dtd
diff --git a/dbus/buildlink3.mk b/dbus/buildlink3.mk
new file mode 100644
index 0000000000..4c54047431
--- /dev/null
+++ b/dbus/buildlink3.mk
@@ -0,0 +1,21 @@
+# $NetBSD: buildlink3.mk,v 1.17 2018/01/07 13:04:31 rillig Exp $
+
+BUILDLINK_TREE+= dbus
+
+.if !defined(DBUS_BUILDLINK3_MK)
+DBUS_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.dbus+= dbus>=0.91
+BUILDLINK_PKGSRCDIR.dbus?= ../../wip/dbus
+
+.if defined(USE_DBUS-ARCH-DEPS_H)
+. if !empty(USE_DBUS-ARCH-DEPS_H:M[yY][eE][sS])
+BUILDLINK_INCDIRS.dbus+= lib/dbus-1.0/include/dbus
+BUILDLINK_FNAME_TRANSFORM.dbus+= -e "s|lib/dbus-1.0/||"
+. endif
+.endif
+
+.include "../../textproc/expat/buildlink3.mk"
+.endif # DBUS_BUILDLINK3_MK
+
+BUILDLINK_TREE+= -dbus
diff --git a/dbus/distinfo b/dbus/distinfo
new file mode 100644
index 0000000000..0ba476b1a3
--- /dev/null
+++ b/dbus/distinfo
@@ -0,0 +1,5 @@
+$NetBSD: distinfo,v 1.103 2023/09/03 18:31:52 pin Exp $
+
+BLAKE2s (dbus-1.16.2.tar.xz) = 3c0a3f816ad77f1866671498bd9d505deb81310149faefb28916b0910f27bee1
+SHA512 (dbus-1.16.2.tar.xz) = 5c26f52d85984bb9ae1dde8d7e73921eacbdf020a61ff15f00a4c240cb38a121553ee04bd66e62b28425ff9bc50f4f5e15135166573ac0888332a01a0db1faa2
+Size (dbus-1.16.2.tar.xz) = 1115644 bytes
diff --git a/dbus/files/dbus.sh b/dbus/files/dbus.sh
new file mode 100644
index 0000000000..e9d97edac4
--- /dev/null
+++ b/dbus/files/dbus.sh
@@ -0,0 +1,33 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: dbus.sh,v 1.11 2021/11/07 19:14:16 khorben Exp $
+#
+# PROVIDE: dbus
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+#
+# You will need to set some variables in @SYSCONFBASE@/rc.conf to start dbus:
+#
+# dbus=YES
+
+$_rc_subr_loaded . @SYSCONFBASE@/rc.subr
+
+name="dbus"
+rcvar=$name
+command="@PREFIX@/bin/dbus-daemon"
+command_args="--system --fork"
+pidfile="@VARBASE@/run/dbus/pid"
+start_precmd=dbus_prestart
+
+dbus_prestart() {
+ dir="@VARBASE@/run/dbus"
+ if @TEST@ ! -d $dir; then
+ @MKDIR@ $dir
+ @CHMOD@ 0755 $dir
+ @CHOWN@ @DBUS_USER@:@DBUS_GROUP@ $dir
+ fi
+ @PREFIX@/bin/dbus-uuidgen --ensure
+}
+
+load_rc_config $name
+run_rc_command "$1"
diff --git a/dbus/files/smf/dbus.sh b/dbus/files/smf/dbus.sh
new file mode 100755
index 0000000000..5fbe76a406
--- /dev/null
+++ b/dbus/files/smf/dbus.sh
@@ -0,0 +1,40 @@
+#!/sbin/sh
+
+. /lib/svc/share/smf_include.sh
+
+# SMF_FMRI is the name of the target service. This allows multiple instances
+# to use the same script.
+
+if [ ! -x @PREFIX@/bin/dbus-daemon ]; then
+ echo "@PREFIX@/bin/dbus-daemon not found or not executable"
+ exit $SMF_EXIT_ERR_FATAL
+fi
+
+if [ ! -f @VARBASE@/lib/dbus/machine-id ]; then
+ @PREFIX@/bin/dbus-uuidgen --ensure
+fi
+pidfile="@VARBASE@/run/dbus/pid"
+case "$1" in
+'start')
+ dir="@VARBASE@/run/dbus"
+ if ! [ -d $dir ]; then
+ @MKDIR@ $dir
+ @CHMOD@ 0755 $dir
+ @CHOWN@ @DBUS_USER@:@DBUS_GROUP@ $dir
+ elif [ -f $pidfile ]; then
+ rm -f $pidfile
+ fi
+ @PREFIX@/bin/dbus-daemon --system
+ err=$?
+ if [ $err -ne 0 ]; then
+ echo "dbus failed to start: error $err"
+ exit $SMF_EXIT_ERR_FATAL
+ fi
+ ;;
+*)
+ echo "Usage: $0 { start }"
+ exit $SMF_EXIT_ERR_FATAL
+ ;;
+esac
+
+exit $SMF_EXIT_OK
diff --git a/dbus/files/smf/manifest.xml b/dbus/files/smf/manifest.xml
new file mode 100644
index 0000000000..a6c05d5577
--- /dev/null
+++ b/dbus/files/smf/manifest.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
+<service_bundle type='manifest' name='export'>
+ <service
+ name='@SMF_PREFIX@/@SMF_NAME@'
+ type='service'
+ version='1'>
+ <create_default_instance enabled='false' />
+ <single_instance />
+ <dependency name='usr'
+ type='service'
+ grouping='require_all'
+ restart_on='none'>
+ <service_fmri value='svc:/system/filesystem/minimal' />
+ </dependency>
+ <exec_method
+ type='method'
+ name='start'
+ exec='@PREFIX@/@SMF_METHOD_FILE.dbus@ start'
+ timeout_seconds='30'>
+ <method_context>
+ <method_credential user='root' group='@DBUS_GROUP@' />
+ </method_context>
+ </exec_method>
+ <exec_method
+ type='method'
+ name='stop'
+ exec=':kill'
+ timeout_seconds='30' />
+ <property_group name='startd' type='framework'>
+ <!-- sub-process core dumps shouldn't restart session -->
+ <propval name='ignore_error' type='astring'
+ value='core,signal' />
+ </property_group>
+ <template>
+ <common_name>
+ <loctext xml:lang='C'>
+ D-BUS message bus
+ </loctext>
+ </common_name>
+ <documentation>
+ <manpage title='dbus-daemon' section='1' manpath='@PREFIX@/@PKGMANDIR@'/>
+ </documentation>
+ </template>
+ </service>
+</service_bundle>
diff --git a/dbus/hacks.mk b/dbus/hacks.mk
new file mode 100644
index 0000000000..0a0967a50e
--- /dev/null
+++ b/dbus/hacks.mk
@@ -0,0 +1,4 @@
+# $NetBSD: hacks.mk,v 1.3 2008/02/05 22:03:57 tnn Exp $
+
+# gcc 2.95 does not understand -Wfloat-equal
+BUILDLINK_TRANSFORM+= rm:-Wfloat-equal
diff --git a/dbus/options.mk b/dbus/options.mk
new file mode 100644
index 0000000000..a2c4ff9235
--- /dev/null
+++ b/dbus/options.mk
@@ -0,0 +1,44 @@
+# $NetBSD: options.mk,v 1.15 2022/03/20 15:19:21 wiz Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.dbus
+PKG_SUPPORTED_OPTIONS+= x11
+PKG_SUGGESTED_OPTIONS= x11
+
+.if ${OPSYS} == "NetBSD" || \
+ ${OPSYS} == "FreeBSD" || \
+ ${OPSYS} == "OpenBSD" || \
+ ${OPSYS} == "Darwin" || \
+ ${OPSYS} == "DragonFly"
+PKG_SUPPORTED_OPTIONS+= kqueue
+PKG_SUGGESTED_OPTIONS+= kqueue
+.endif
+
+PLIST_VARS+= launchd
+# We may want to make it SUGGESTED once we have a framework for
+# launchd support. See PR/49591.
+PKG_SUPPORTED_OPTIONS.Darwin+= launchd
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Mkqueue)
+MESON_ARGS+= -Dkqueue=enabled
+.else
+MESON_ARGS+= -Dkqueue=disabled
+.endif
+
+.if !empty(PKG_OPTIONS:Mx11)
+MESON_ARGS+= -Dx11_autolaunch=enabled
+. include "../../x11/libX11/buildlink3.mk"
+. include "../../x11/libXt/buildlink3.mk"
+.else
+MESON_ARGS+= -Dx11_autolaunch=disabled
+.endif
+
+.if !empty(PKG_OPTIONS:Mlaunchd)
+MESSAGE_SRC+= MESSAGE.launchd
+PLIST.launchd= yes
+MESON_ARGS+= -Dlaunchd=enabled
+MESON_ARGS+= -Dlaunchd_agent_dir=${PREFIX}/Library/LaunchAgents
+.else
+MESON_ARGS+= -Dlaunchd=disabled
+.endif
Home |
Main Index |
Thread Index |
Old Index