dbus: 1.14.10 → 1.16.2#386170
Conversation
|
Hey! Whats the status on this? dbus 1.1410 is two years out of date, with a couple of CVEs making an appearance. |
|
I still need to review the upstream changes. It is currently on backburner until we finish #386514 |
|
Thoughts on adding label |
How exactly does that affect 1.14.10? It only lists vulnerable versions up to 1.13.x. |
|
Sorry yes, you're right - was confused by DAST false positives; thanks. |
|
@jtojnar are you still working on this? |
|
I actually intended to pick this up last weekend but then got side tracked. Will try to do it the upcoming weekend. |
|
It's nice if we could get this merged into current staging. Polkit 127 update (#473068) currently in staging requires dbus 1.15.7 for the new persistent authentication feature to work. We might have to implement some checks in the polkit module to warn the users about this if dbus remains at 1.14.10 in this staging. |
|
Resolved conflicts and skimmed the upstream diff, looks okay to me but did not test it in any way other than building it. |
|
I picked some random nixosTests that had dbus in their test definitions, but needed to apply this patch to get libjack2 to build: 𑁱 git --no-pager diff
diff --git i/pkgs/by-name/ja/jack2/package.nix w/pkgs/by-name/ja/jack2/package.nix
index 5ff5b4b47661..5f460514b1d7 100644
--- i/pkgs/by-name/ja/jack2/package.nix
+++ w/pkgs/by-name/ja/jack2/package.nix
@@ -16,6 +16,7 @@
# Optional Dependencies
dbus ? null,
+ expat, # for dbus
libffado ? null,
alsa-lib ? null,
@@ -66,6 +67,7 @@ stdenv.mkDerivation (finalAttrs: {
optLibffado
optAlsaLib
]
+ ++ lib.optionals (optDbus != null) [ expat ]
++ lib.optionals stdenv.hostPlatform.isDarwin [
aften
]After adding that patch I was able to build these on x86_64-linux. |
It is an explicit dependency, currently being obtained from dbus, which incorrectly propagates it.
The propagation was introduced in 7d9607f without any context. But the library is only used by dbus-daemon so it does not make sense to propagate it.
Move `postPatch` to the bottom and `outputs` to the top as per https://github.com/jtojnar/nixpkgs-hammering/blob/main/explanations/attribute-ordering.md
https://gitlab.freedesktop.org/dbus/dbus/-/compare/dbus-1.14.10...dbus-1.16.2 This includes: - Switch from Autotools to Meson - Since Meson does not support separate `installFlags`, we would either need to use `DESTDIR`, or patch the build system. I chose the latter since we want to keep the `$out` as close to FHS as possible to avoid confusion, and moving a subset of content of `$out/etc` back to `$out/share` would be annoying. - `libaudit` started to require `libcap-ng`. - `xmlto` was replaced by `xsltproc`. - Extra docs builds, disabled for now due to dependency requirements. In the package definition: - Use `finalAttrs`. - Use `--replace-fail` with `substitute`. - Make `getgrouplist` unconditional.
|
Thanks, added the patch. |
|
Fixed build in #484488 |
https://gitlab.freedesktop.org/dbus/dbus/-/compare/dbus-1.14.10...dbus-1.16.2
This includes:
installFlags, we would either need to useDESTDIR, or patch the build system. I chose the latter since we want to keep the$outas close to FHS as possible to avoid confusion, and moving a subset of content of$out/etcback to$out/sharewould be annoying.libauditstarted to requirelibcap-ng.xmltowas replaced byxsltproc.In the package definition:
finalAttrs.postPatchto the bottom andoutputsto the top.--replace-failwithsubstitute.getgrouplistunconditional.Things done
meson installis 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).
We do this in NixOS module
directory by default (normally /run)
(see 1.15.4 for more details)
We symlink /var/run to /run
(retaining CAP_AUDIT_WRITE) instead of starting as root and
dropping privileges
Looks fine, do not see anything that could cause issues
nix.conf? (See Nix manual)sandbox = relaxedsandbox = truenix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)Add a 👍 reaction to pull requests you find important.