Fix rpm dependencies

This change updates the rpm spec files to have strictly correct
package dependencies.  That means a few things:

* The zfs-modules package is now tied to a specific build of
  the spl-modules packages based on the kernel version.  This
  ensures that the correct spl-modules packages will always get
  installed and not just the newest.

* The zfs package now requires both the zfs-modules and spl
  packages.  Thus a 'yum install zfs' will pull in the minimal
  set of packages required for a functional system.

* The zfs-devel packages now require the zfs package to be
  installed which is normal behavior for -devel packages.

* Remove the redundant distribution release extension.  This
  is already added once because it is part of the kernel package
  release name.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
This commit is contained in:
Brian Behlendorf 2012-01-17 16:20:43 -08:00
parent b40a77aefc
commit b4b599d250
2 changed files with 11 additions and 10 deletions

View File

@ -198,20 +198,22 @@
%define krequires %{kpkg}
%endif
%define splrequires %{splpkg}
%define spldevrequires %{spldevpkg}
%else
%define relext %(echo %{kverpkg} | %{__sed} -e 's/-/_/g')
%define release @ZFS_META_RELEASE@_%{relext}
%if %{defined kpkg}
%define krequires %{kpkg} %{koppkg} %{kverpkg}
%endif
%define splrequires %{splpkg} = %{splverpkg}
%define splrequires %{splpkg} = %{splverpkg}_%{relext}
%define spldevrequires %{spldevpkg} = %{splverpkg}_%{relext}
%endif
Summary: ZFS File System
Group: Utilities/System
Name: %{name}
Version: %{version}
Release: %{release}%{?dist}
Release: %{release}
License: @ZFS_META_LICENSE@
URL: git://github.com/zfsonlinux/zfs.git
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id} -un)
@ -236,11 +238,10 @@ Group: Development/Libraries
%if %{defined krequires}
Requires: %{krequires}
%endif
Requires: %{splrequires}
%if %{defined kdevpkg}
BuildRequires: %{kdevpkg}
Requires: %{kdevpkg}
%endif
BuildRequires: %{spldevpkg}
Requires: %{spldevrequires}
%description devel
The %{name}-devel package contains the kernel header files and

View File

@ -17,7 +17,7 @@ License: @ZFS_META_LICENSE@
URL: git://github.com/zfsonlinux/zfs.git
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id} -un)
Source: %{name}-%{version}.tar.gz
Requires: zlib e2fsprogs
Requires: zfs-modules spl zlib e2fsprogs
BuildRequires: zlib-devel e2fsprogs-devel
%description
@ -28,10 +28,10 @@ for the zfs file system.
Summary: ZFS File System User Headers
Group: Development/Libraries
%if %{defined ch5} || %{defined el6} || %{defined fc12}
Requires: zlib libuuid libblkid
Requires: zfs zlib libuuid libblkid
BuildRequires: zlib-devel libuuid-devel libblkid-devel
%else
Requires: zlib e2fsprogs
Requires: zfs zlib e2fsprogs
BuildRequires: zlib-devel e2fsprogs-devel
%endif
@ -42,7 +42,7 @@ additional applications against the %{name} libraries.
%package test
Summary: ZFS File System Test Infrastructure
Group: Utilities/System
Requires: parted lsscsi
Requires: zfs parted lsscsi
%description test
The %{name}-test package contains a test infrastructure for zpios which
@ -53,7 +53,7 @@ various system profiling tools to facilitate an in depth analysis.
%package dracut
Summary: ZFS Dracut Module
Group: System Environment/Base
Requires: dracut
Requires: zfs dracut
%description dracut
The %{name}-dracut package allows dracut to construct initramfs images