summaryrefslogtreecommitdiffstats
path: root/rpm
diff options
context:
space:
mode:
Diffstat (limited to 'rpm')
l---------[-rw-r--r--]rpm/fedora/zfs-kmod.spec.in141
-rw-r--r--rpm/generic/zfs-kmod.spec.in37
2 files changed, 28 insertions, 150 deletions
diff --git a/rpm/fedora/zfs-kmod.spec.in b/rpm/fedora/zfs-kmod.spec.in
index 88ab3b24b..af19ecde0 100644..120000
--- a/rpm/fedora/zfs-kmod.spec.in
+++ b/rpm/fedora/zfs-kmod.spec.in
@@ -1,140 +1 @@
-%define module @PACKAGE@
-%define repo rpmfusion
-
-%define buildforkernels newest
-#define buildforkernels current
-#define buildforkernels akmod
-
-%bcond_with debug
-%bcond_with debug_dmu_tx
-
-
-Name: %{module}-kmod
-
-Version: @VERSION@
-Release: @RELEASE@%{?dist}
-Summary: Kernel module(s)
-
-Group: System Environment/Kernel
-License: @ZFS_META_LICENSE@
-URL: http://zfsonlinux.org/
-Source0: %{module}-%{version}.tar.gz
-Source10: kmodtool
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-ExclusiveArch: i586 i686 x86_64
-
-# Likely compiles but is not supported.
-ExcludeArch: ppc ppc64
-
-# The developments headers will conflict with the dkms packages.
-Conflicts: %{module}-dkms
-
-BuildRequires: %{_bindir}/kmodtool
-BuildRequires: spl-devel-kmod = %{version}-%{release}
-
-%global KmodsBuildRequires spl-devel-kmod
-%global KmodsRequires kmod-spl
-
-%{!?kernels:BuildRequires: buildsys-build-rpmfusion-kerneldevpkgs-%{?buildforkernels:%{buildforkernels}}%{!?buildforkernels:current}-%{_target_cpu} }
-
-%if 0%{?fedora} >= 17
-%define prefix /usr
-%endif
-
-# Kmodtool does its magic here. A patched version of kmodtool is shipped
-# with the source rpm until kmod development packages are supported upstream.
-# https://bugzilla.rpmfusion.org/show_bug.cgi?id=2714
-%{expand:%(sh %{SOURCE10} --target %{_target_cpu} --repo %{repo} --kmodname %{name} --devel %{?prefix:--prefix "%{?prefix}"} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} %{?kernelbuildroot:--buildroot "%{?kernelbuildroot}"} 2>/dev/null) }
-
-
-%description
-This package contains the ZFS kernel modules.
-
-%prep
-# Error out if there was something wrong with kmodtool.
-%{?kmodtool_check}
-
-# Print kmodtool output for debugging purposes:
-sh %{SOURCE10} --target %{_target_cpu} --repo %{repo} --kmodname %{name} --devel %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} %{?kernelbuildroot:--buildroot "%{?kernelbuildroot}"} 2>/dev/null
-
-%if %{with debug}
- %define debug --enable-debug
-%else
- %define debug --disable-debug
-%endif
-
-%if %{with debug_dmu_tx}
- %define debug_dmu_tx --enable-debug-dmu-tx
-%else
- %define debug_dmu_tx --disable-debug-dmu-tx
-%endif
-
-#
-# Allow the overriding of spl locations
-#
-%if %{defined require_splver}
-%define splver %{require_splver}
-%else
-%define splver %{version}
-%endif
-
-%if %{defined require_spldir}
-%define spldir %{require_spldir}
-%else
-%define spldir %{_usrsrc}/spl-%{splver}
-%endif
-
-%if %{defined require_splobj}
-%define splobj %{require_splobj}
-%else
-%define splobj %{spldir}/${kernel_version%%___*}
-%endif
-
-
-# Leverage VPATH from configure to avoid making multiple copies.
-%define _configure ../%{module}-%{version}/configure
-
-%setup -q -c -T -a 0
-
-for kernel_version in %{?kernel_versions}; do
- %{__mkdir} _kmod_build_${kernel_version%%___*}
-done
-
-%build
-for kernel_version in %{?kernel_versions}; do
- pushd _kmod_build_${kernel_version%%___*}
- %configure \
- --with-config=kernel \
- --with-linux="${kernel_version##*___}" \
- --with-linux-obj="${kernel_version##*___}" \
- --with-spl="%{spldir}" \
- --with-spl-obj="%{splobj}" \
- %{debug} \
- %{debug_dmu_tx}
- make %{?_smp_mflags}
- popd
-done
-
-
-%install
-rm -rf ${RPM_BUILD_ROOT}
-
-# Relies on the kernel 'modules_install' make target.
-for kernel_version in %{?kernel_versions}; do
- pushd _kmod_build_${kernel_version%%___*}
- make install \
- DESTDIR=${RPM_BUILD_ROOT} \
- %{?prefix:INSTALL_MOD_PATH=%{?prefix}} \
- INSTALL_MOD_DIR=%{kmodinstdir_postfix}
- popd
-done
-chmod u+x ${RPM_BUILD_ROOT}%{kmodinstdir_prefix}/*/extra/*/*/*
-%{?akmod_install}
-
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%changelog
-* Fri Mar 22 2013 Brian Behlendorf <[email protected]> - 0.6.1-1
-- First official stable release.
+../generic/zfs-kmod.spec.in \ No newline at end of file
diff --git a/rpm/generic/zfs-kmod.spec.in b/rpm/generic/zfs-kmod.spec.in
index cec3f3f71..2ea4bcb0b 100644
--- a/rpm/generic/zfs-kmod.spec.in
+++ b/rpm/generic/zfs-kmod.spec.in
@@ -1,4 +1,11 @@
%define module @PACKAGE@
+#define repo rpmfusion
+#define repo chaos
+
+# (un)define the next line to either build for the newest or all current kernels
+%define buildforkernels newest
+#define buildforkernels current
+#define buildforkernels akmod
%bcond_with debug
%bcond_with debug_dmu_tx
@@ -20,18 +27,20 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id} -u -n)
# The developments headers will conflict with the dkms packages.
Conflicts: %{module}-dkms
-# Source packages minimally require a kernel-devel dependency.
+%if %{defined repo}
+
+# Building for a repository use the proper build-sysbuild package
+# to determine which kernel-devel packages should be installed.
+BuildRequires: %{_bindir}/kmodtool
+%{!?kernels:BuildRequires: buildsys-build-%{repo}-kerneldevpkgs-%{?buildforkernels:%{buildforkernels}}%{!?buildforkernels:current}-%{_target_cpu}}
+
+%else
+
+# Building local packages attempt to to use the installed kernel.
%{?rhel:BuildRequires: kernel-devel}
%{?fedora:BuildRequires: kernel-devel}
%{?suse_version:BuildRequires: kernel-source}
-%if 0%{?rhel}%{?fedora}%{?suse_version}
-BuildRequires: spl-devel-kmod = %{version}
-%global KmodsBuildRequires spl-devel-kmod
-%global KmodsRequires kmod-spl
-%endif
-
-# Binary packages build against all installed kernels by default.
%if !%{defined kernels} && !%{defined build_src_rpm}
%if 0%{?rhel}%{?fedora}%{?suse_version}
%define kernels %(ls -1 /usr/src/kernels)
@@ -39,6 +48,14 @@ BuildRequires: spl-devel-kmod = %{version}
%define kernels %(ls -1 /lib/modules)
%endif
%endif
+%endif
+
+%if 0%{?rhel}%{?fedora}%{?suse_version}
+BuildRequires: kmod-spl-devel = %{version}
+%global KmodsRequires kmod-spl
+%global KmodsDevelRequires kmod-spl-devel
+%global KmodsMetaRequires spl-kmod
+%endif
%if 0%{?fedora} >= 17
%define prefix /usr
@@ -47,7 +64,7 @@ BuildRequires: spl-devel-kmod = %{version}
# Kmodtool does its magic here. A patched version of kmodtool is shipped
# with the source rpm until kmod development packages are supported upstream.
# https://bugzilla.rpmfusion.org/show_bug.cgi?id=2714
-%{expand:%(bash %{SOURCE10} --target %{_target_cpu} --kmodname %{name} --devel %{?prefix:--prefix "%{?prefix}"} %{?kernels:--for-kernels "%{?kernels}"} %{?kernelbuildroot:--buildroot "%{?kernelbuildroot}"} 2>/dev/null) }
+%{expand:%(bash %{SOURCE10} --target %{_target_cpu} %{?repo:--repo %{?repo}} --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} --devel %{?prefix:--prefix "%{?prefix}"} %{?kernels:--for-kernels "%{?kernels}"} %{?kernelbuildroot:--buildroot "%{?kernelbuildroot}"} 2>/dev/null) }
%description
@@ -58,7 +75,7 @@ This package contains the ZFS kernel modules.
%{?kmodtool_check}
# Print kmodtool output for debugging purposes:
-bash %{SOURCE10} --target %{_target_cpu} --repo %{repo} --kmodname %{name} --devel %{?prefix:--prefix "%{?prefix}"} %{?kernels:--for-kernels "%{?kernels}"} %{?kernelbuildroot:--buildroot "%{?kernelbuildroot}"} 2>/dev/null
+bash %{SOURCE10} --target %{_target_cpu} %{?repo:--repo %{?repo}} --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} --devel %{?prefix:--prefix "%{?prefix}"} %{?kernels:--for-kernels "%{?kernels}"} %{?kernelbuildroot:--buildroot "%{?kernelbuildroot}"} 2>/dev/null
%if %{with debug}
%define debug --enable-debug