From adadbb09f8efe346b21bc78af76675dc27b5badc Mon Sep 17 00:00:00 2001 From: Zbigniew Jędrzejewski-Szmek Date: Apr 08 2015 15:32:50 +0000 Subject: Tighten requirements between subpackages Use %{?_isa} everywhere: automatically generated requirements do not specify the exact version. In principle it was possible to satisfy automatically added requirements with an older systemd, and our manual R:%{name}=%{version}-%{release} with a systemd package from a different architecture. So tighten the requirements to make sure all systemd subpackages are always upgraded in lock-step. systemd-devel needs to require systemd-compat-libs explicitly. Otherwise we get dangling symlinks. --- diff --git a/systemd.spec b/systemd.spec index 50ff60a..2ade0d0 100644 --- a/systemd.spec +++ b/systemd.spec @@ -16,7 +16,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 219 -Release: 11%{?gitcommit:.git%{gitcommit}}%{?dist} +Release: 12%{?gitcommit:.git%{gitcommit}}%{?dist} # For a breakdown of the licensing, see README License: LGPLv2+ and MIT and GPLv2+ Summary: A System and Service Manager @@ -264,7 +264,7 @@ Summary: systemd compatibility libraries License: LGPLv2+ and MIT # To reduce confusion, this package can only be installed in parallel # with the normal systemd-libs, same version. -Requires: systemd-libs = %{version}-%{release} +Requires: systemd-libs%{?_isa} = %{version}-%{release} %description compat-libs Compatibility libraries for systemd. If your package requires this @@ -273,7 +273,9 @@ package, you need to update your link options and build. %package devel Summary: Development headers for systemd License: LGPLv2+ and MIT -Requires: %{name} = %{version}-%{release} +# We need both libsystemd and libsystemd- libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-compat-libs%{?_isa} = %{version}-%{release} Provides: libudev-devel = %{version} Obsoletes: libudev-devel < 183 @@ -283,12 +285,12 @@ Development headers and auxiliary files for developing applications for systemd. %package python Summary: Python 2 bindings for systemd License: LGPLv2+ -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} %package python3 Summary: Python 3 bindings for systemd License: LGPLv2+ -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} %description python This package contains bindings which allow Python 2 programs to use @@ -302,7 +304,7 @@ systemd APIs Summary: Libraries for adding libudev support to applications that use glib Conflicts: filesystem < 3 License: LGPLv2+ -Requires: %{name}-libs = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description -n libgudev1 This package contains the libraries that make it easier to use libudev @@ -310,7 +312,7 @@ functionality from applications that use glib. %package -n libgudev1-devel Summary: Header files for adding libudev support to applications that use glib -Requires: libgudev1 = %{version}-%{release} +Requires: libgudev1%{?_isa} = %{version}-%{release} License: LGPLv2+ %description -n libgudev1-devel @@ -319,7 +321,7 @@ glib-based applications using libudev functionality. %package journal-gateway Summary: Gateway for serving journal events over the network using HTTP -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} License: LGPLv2+ Requires(pre): /usr/bin/getent Requires(post): systemd @@ -989,6 +991,9 @@ getent passwd systemd-journal-upload >/dev/null 2>&1 || useradd -r -l -g systemd /usr/lib/firewalld/services/* %changelog +* Wed Apr 8 2015 Zbigniew Jędrzejewski-Szmek - 219-12 +- Tighten requirements between subpackages (#1207381). + * Sun Mar 22 2015 Zbigniew Jędrzejewski-Szmek - 219-11 - Move all parts systemd-journal-{remote,upload} to systemd-journal-gatewayd subpackage (#1193143).