diff options
Diffstat (limited to 'rpm')
l---------[-rw-r--r--] | rpm/fedora/zfs-kmod.spec.in | 141 | ||||
-rw-r--r-- | rpm/generic/zfs-kmod.spec.in | 37 |
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 |