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