Skip to content

Commit

Permalink
Fix rpm dependencies
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
behlendorf committed Jan 18, 2012
1 parent b40a77a commit b4b599d
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 10 deletions.
11 changes: 6 additions & 5 deletions zfs-modules.spec.in
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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
Expand Down
10 changes: 5 additions & 5 deletions zfs.spec.in
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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

Expand All @@ -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
Expand All @@ -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
Expand Down

0 comments on commit b4b599d

Please sign in to comment.