From 0601c634212886cd447298eee361f4a91e1d0c0d Mon Sep 17 00:00:00 2001 From: Jonathan Lebon Date: Tue, 1 Oct 2019 10:03:05 -0400 Subject: [PATCH] Don't trigger udev if socket is not accessible In container environments or rpm-ostree systems, scriptlets are not directly run on a host system. Thus, there's no point in asking udev to reload and retrigger: the host udev wouldn't see the new rules anyway. Let's just generalize this by checking if the udev socket even exists. If not, then we can't talk to `udevd` and we should just skip the reload & trigger bits. Ref: https://bugzilla.redhat.com/show_bug.cgi?id=1753786 --- udisks2.spec | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/udisks2.spec b/udisks2.spec index b0b4521..cc0f8fd 100644 --- a/udisks2.spec +++ b/udisks2.spec @@ -59,7 +59,7 @@ Name: udisks2 Summary: Disk Manager Version: 2.8.4 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2+ URL: https://github.com/storaged-project/udisks Source0: https://github.com/storaged-project/udisks/releases/download/udisks-%{version}/udisks-%{version}.tar.bz2 @@ -307,8 +307,12 @@ chrpath --delete %{buildroot}/%{_libexecdir}/udisks2/udisksd %post -n %{name} %systemd_post udisks2.service %systemd_post clean-mount-point@.service -udevadm control --reload -udevadm trigger +# skip retriggering if udevd isn't even accessible, e.g. containers or +# rpm-ostree-based systems +if [ -S /run/udev/control ]; then + udevadm control --reload + udevadm trigger +fi %preun -n %{name} %systemd_preun udisks2.service @@ -430,6 +434,9 @@ udevadm trigger %endif %changelog +* Tue Oct 01 2019 Jonathan Lebon - 2.8.4-3 +- Don't trigger udev if socket is not accessible + * Sat Jul 27 2019 Fedora Release Engineering - 2.8.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild