Fix rpm dependencies
authorBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 18 Jan 2012 00:20:43 +0000 (16:20 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 18 Jan 2012 20:19:52 +0000 (12:19 -0800)
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>
zfs-modules.spec.in
zfs.spec.in

index c1c1356..4c13adf 100644 (file)
 %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 
index 6d87344..0066c83 100644 (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