From 706be6f0fde56c0fc27c6c60de14019092cf76f0 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Tue, 15 Oct 2019 17:23:50 -0700 Subject: [PATCH] Revert systemd inhibit plugin's calling of dbus_shutdown (#1750575) --- ...tdown-DBUS-on-systemd_inhibit-cleanu.patch | 43 +++++++++++++++++++ rpm.spec | 8 +++- 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 0001-Revert-Fully-shutdown-DBUS-on-systemd_inhibit-cleanu.patch diff --git a/0001-Revert-Fully-shutdown-DBUS-on-systemd_inhibit-cleanu.patch b/0001-Revert-Fully-shutdown-DBUS-on-systemd_inhibit-cleanu.patch new file mode 100644 index 0000000..4e5cb17 --- /dev/null +++ b/0001-Revert-Fully-shutdown-DBUS-on-systemd_inhibit-cleanu.patch @@ -0,0 +1,43 @@ +From 2dc1f85de96194922df41d819cf5077436710508 Mon Sep 17 00:00:00 2001 +From: Adam Williamson +Date: Tue, 15 Oct 2019 17:01:02 -0700 +Subject: [PATCH] Revert "Fully shutdown DBUS on systemd_inhibit cleanup + (RhBug:1714657)" + +This reverts commit d5f201345f6d27b6280750e5c6502f4418614fbc. +It causes problems for dnfdaemon because it uses dbus itself, +and the RPM python bindings; in some circumstances the plugin's +cleanup routine is triggered and the `dbus_shutdown()` call +causes dnfdaemon to crash the next time it tries to use dbus +itself. +--- + plugins/systemd_inhibit.c | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/plugins/systemd_inhibit.c b/plugins/systemd_inhibit.c +index 9cb722761..0ddca9cd8 100644 +--- a/plugins/systemd_inhibit.c ++++ b/plugins/systemd_inhibit.c +@@ -82,11 +82,6 @@ static rpmRC systemd_inhibit_init(rpmPlugin plugin, rpmts ts) + return RPMRC_NOTFOUND; + } + +-static void systemd_inhibit_cleanup(rpmPlugin plugin) +-{ +- dbus_shutdown(); +-} +- + static rpmRC systemd_inhibit_tsm_pre(rpmPlugin plugin, rpmts ts) + { + if (rpmtsFlags(ts) & (RPMTRANS_FLAG_TEST|RPMTRANS_FLAG_BUILD_PROBS)) +@@ -113,7 +108,6 @@ static rpmRC systemd_inhibit_tsm_post(rpmPlugin plugin, rpmts ts, int res) + + struct rpmPluginHooks_s systemd_inhibit_hooks = { + .init = systemd_inhibit_init, +- .cleanup = systemd_inhibit_cleanup, + .tsm_pre = systemd_inhibit_tsm_pre, + .tsm_post = systemd_inhibit_tsm_post, + }; +-- +2.23.0 + diff --git a/rpm.spec b/rpm.spec index abb17eb..f9c5c76 100644 --- a/rpm.spec +++ b/rpm.spec @@ -21,7 +21,7 @@ %global rpmver 4.15.0 #global snapver rc1 -%global rel 1 +%global rel 2 %global srcver %{version}%{?snapver:-%{snapver}} %global srcdir %{?snapver:testing}%{!?snapver:%{name}-%(echo %{version} | cut -d'.' -f1-2).x} @@ -49,6 +49,9 @@ Patch3: rpm-4.9.90-no-man-dirs.patch Patch5: rpm-4.12.0-rpm2cpio-hack.patch # https://github.com/rpm-software-management/rpm/pull/473 Patch6: 0001-find-debuginfo.sh-decompress-DWARF-compressed-ELF-se.patch +# systemd-inhibit plugin: don't call dbus_shutdown, it causes problems +# https://bugzilla.redhat.com/show_bug.cgi?id=1750575 +Patch7: 0001-Revert-Fully-shutdown-DBUS-on-systemd_inhibit-cleanu.patch # Patches already upstream: @@ -537,6 +540,9 @@ make check || (cat tests/rpmtests.log; exit 0) %doc doc/librpm/html/* %changelog +* Tue Oct 15 2019 Adam Williamson - 4.15.0-2 +- Revert systemd inhibit plugin's calling of dbus_shutdown (#1750575) + * Thu Sep 26 2019 Panu Matilainen - 4.15.0-1 - Update to 4.15.0 final (https://rpm.org/wiki/Releases/4.15.0)