2010-08-26 18:22:58 +00:00
|
|
|
# The following block is used to allow the source RPM to be rebuilt
|
|
|
|
# against specific kernels. It is preferable that rpmbuild define the
|
|
|
|
# require_kver, require_kdir, require_obj constants for us, but if it does not
|
|
|
|
# not we attempt to determine the correct values based on your distro.
|
|
|
|
|
|
|
|
# kdir: Full path to the kernel source headers
|
|
|
|
# kobj: Full path to the kernel build objects
|
|
|
|
# kver: Kernel version
|
|
|
|
# kpkg: Kernel package name
|
|
|
|
# kdevpkg: Kernel devel package name
|
|
|
|
# kverpkg: Kernel package version
|
|
|
|
|
|
|
|
%if %{defined require_kver}
|
|
|
|
%define kver %{require_kver}
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%if %{defined require_kdir}
|
|
|
|
%define kdir %{require_kdir}
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%if %{defined require_kobj}
|
|
|
|
%define kobj %{require_kobj}
|
|
|
|
%endif
|
|
|
|
|
2012-05-11 19:12:08 +00:00
|
|
|
# Set using 'rpmbuild ... --with kernel ...', defaults to enabled.
|
|
|
|
%if %{defined _with_kernel}
|
|
|
|
%define with_kernel 1
|
|
|
|
%else
|
|
|
|
%if %{defined _without_kernel}
|
|
|
|
%define with_kernel 0
|
|
|
|
%else
|
|
|
|
%define with_kernel 1
|
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
|
|
|
|
# Set using 'rpmbuild ... --with kernel-debug ...', defaults to disabled.
|
|
|
|
%if %{defined _with_kernel_debug}
|
|
|
|
%define with_kernel_debug 1
|
|
|
|
%else
|
|
|
|
%if %{defined _without_kernel_debug}
|
|
|
|
%define with_kernel_debug 0
|
|
|
|
%else
|
|
|
|
%define with_kernel_debug 0
|
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
|
2012-08-07 20:13:17 +00:00
|
|
|
# Set using 'rpmbuild ... --with kernel-dkms ...', defaults to disabled.
|
|
|
|
%if %{defined _with_kernel_dkms}
|
|
|
|
%define with_kernel_dkms 1
|
|
|
|
%else
|
|
|
|
%if %{defined _without_kernel_dkms}
|
|
|
|
%define with_kernel_dkms 0
|
|
|
|
%else
|
|
|
|
%define with_kernel_dkms 0
|
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
|
2012-02-27 18:12:40 +00:00
|
|
|
# Set using 'rpmbuild ... --with debug ...', defaults to disabled.
|
|
|
|
%if %{defined _with_debug}
|
|
|
|
%define kdebug --enable-debug
|
|
|
|
%else
|
|
|
|
%if %{defined _without_debug}
|
|
|
|
%define kdebug --disable-debug
|
|
|
|
%else
|
|
|
|
%define kdebug --disable-debug
|
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
|
2012-03-20 23:00:17 +00:00
|
|
|
# Set using 'rpmbuild ... --with debug-dmu-tx ...', defaults to disabled.
|
|
|
|
%if %{defined _with_debug_dmu_tx}
|
|
|
|
%define kdebug_dmu_tx --enable-debug-dmu-tx
|
|
|
|
%else
|
|
|
|
%if %{defined _without_debug_dmu_tx}
|
|
|
|
%define kdebug_dmu_tx --disable-debug-dmu-tx
|
|
|
|
%else
|
|
|
|
%define kdebug_dmu_tx --disable-debug-dmu-tx
|
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
|
2010-08-26 18:22:58 +00:00
|
|
|
# SLES:
|
|
|
|
%if %{defined suse_version}
|
|
|
|
%if %{undefined kver}
|
|
|
|
%ifarch ppc64
|
|
|
|
%define kverextra ppc64
|
|
|
|
%else
|
|
|
|
%define kverextra default
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%if %{suse_version} >= 1100
|
|
|
|
%define klnk %{_usrsrc}/linux-obj/%{_target_cpu}/%{kverextra}
|
|
|
|
%define krelease %{klnk}/include/config/kernel.release
|
|
|
|
%else
|
|
|
|
%define klnk %{_usrsrc}/linux-obj/%{_target_cpu}/%{kverextra}
|
|
|
|
%define krelease %{klnk}/.kernelrelease
|
|
|
|
%endif
|
|
|
|
|
2012-05-11 19:12:08 +00:00
|
|
|
%define kver_kern %((echo X; %{__cat} %{krelease} 2>/dev/null)|tail -1)
|
|
|
|
%define kver_dbug %{nil}
|
|
|
|
%else
|
|
|
|
%define kver_kern %{kver}
|
|
|
|
%define kver_dbug %{nil}
|
2010-08-26 18:22:58 +00:00
|
|
|
%endif
|
|
|
|
|
|
|
|
%if %{undefined kverextra}
|
2012-05-11 19:12:08 +00:00
|
|
|
%define kverextra %(echo %{kver_kern} | cut -f3 -d'-')
|
2010-08-26 18:22:58 +00:00
|
|
|
%endif
|
|
|
|
|
2012-05-11 19:12:08 +00:00
|
|
|
%define kpkg_kern kernel-%{kverextra}
|
|
|
|
%define kpkg_dbug %{nil}
|
2012-08-07 20:13:17 +00:00
|
|
|
%define kpkg_dkms dkms
|
2012-05-11 19:12:08 +00:00
|
|
|
|
|
|
|
%define kdevpkg_kern kernel-source
|
|
|
|
%define kdevpkg_dbug %{nil}
|
2012-08-07 20:13:17 +00:00
|
|
|
%define kdevpkg_dkms dkms
|
2012-05-11 19:12:08 +00:00
|
|
|
|
|
|
|
%define kverpkg_kern %(echo %{kver_kern} | %{__sed} -e 's/-%{kverextra}//g')
|
|
|
|
%define kverpkg_dbug %{nil}
|
2012-08-07 20:13:17 +00:00
|
|
|
%define kverpkg_dkms 2.2.0.2
|
2010-08-26 18:22:58 +00:00
|
|
|
|
|
|
|
# The kernel and rpm versions do not strictly match under SLES11
|
|
|
|
# e.g. kernel version 2.6.27.19-5 != rpm version 2.6.27.19-5.1
|
|
|
|
%if %{suse_version} >= 1100
|
|
|
|
%define koppkg >=
|
|
|
|
%else
|
|
|
|
%define koppkg =
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%if %{undefined kdir}
|
2012-05-11 19:12:08 +00:00
|
|
|
%define kdir_kern %{_usrsrc}/linux-%{kverpkg_kern}
|
|
|
|
%define kdir_dbug %{nil}
|
|
|
|
%else
|
|
|
|
%define kdir_kern %{kdir}
|
|
|
|
%define kdir_dbug %{nil}
|
2010-08-26 18:22:58 +00:00
|
|
|
%endif
|
2012-05-11 19:12:08 +00:00
|
|
|
|
2010-08-26 18:22:58 +00:00
|
|
|
%if %{undefined kobj}
|
2012-05-11 19:12:08 +00:00
|
|
|
%define kobj_kern %{kdir_kern}-obj/%{_target_cpu}/%{kverextra}
|
|
|
|
%define kobj_dbug %{nil}
|
|
|
|
%else
|
|
|
|
%define kobj_kern %{kobj}
|
|
|
|
%define kobj_dbug %{nil}
|
2010-08-26 18:22:58 +00:00
|
|
|
%endif
|
|
|
|
%else
|
|
|
|
|
2011-03-31 20:43:49 +00:00
|
|
|
# RHEL 5.x/6.x, CHAOS 5.x:
|
|
|
|
%if %{defined el5} || %{defined el6} || %{defined ch5}
|
2010-08-26 18:22:58 +00:00
|
|
|
%if %{undefined kver}
|
|
|
|
%define klnk %{_usrsrc}/kernels/*/include/config
|
2012-05-11 19:12:08 +00:00
|
|
|
%define kver_kern %((echo X; ((%{__cat} %{klnk}/kernel.release
|
|
|
|
2>/dev/null) | %{__grep} -v debug)) | tail -1)
|
|
|
|
%define kver_dbug %((echo X; ((%{__cat} %{klnk}/kernel.release
|
|
|
|
2>/dev/null) | %{__grep} debug)) | tail -1)
|
|
|
|
%else
|
|
|
|
%define kver_kern %{kver}
|
|
|
|
%define kver_dbug %{kver}.debug
|
2010-08-26 18:22:58 +00:00
|
|
|
%endif
|
2012-05-11 19:12:08 +00:00
|
|
|
|
|
|
|
%define kpkg_kern kernel
|
|
|
|
%define kpkg_dbug kernel-debug
|
2012-08-07 20:13:17 +00:00
|
|
|
%define kpkg_dkms dkms
|
2012-05-11 19:12:08 +00:00
|
|
|
|
|
|
|
%define kdevpkg_kern kernel-devel
|
|
|
|
%define kdevpkg_dbug kernel-debug-devel
|
2012-08-07 20:13:17 +00:00
|
|
|
%define kdevpkg_dkms dkms
|
2012-05-11 19:12:08 +00:00
|
|
|
|
2012-08-07 20:13:17 +00:00
|
|
|
%define kverpkg_dkms 2.2.0.2
|
2011-04-08 17:22:42 +00:00
|
|
|
%if %{defined el6} || %{defined ch5}
|
2012-05-11 19:12:08 +00:00
|
|
|
%define kverpkg_kern %(echo %{kver_kern} | %{__sed} -e 's/.%{_target_cpu}//g')
|
|
|
|
%define kverpkg_dbug %(echo %{kver_dbug} | %{__sed} -e 's/.%{_target_cpu}//g' | %{__sed} -e 's/.debug//g')
|
2010-08-26 18:22:58 +00:00
|
|
|
%else
|
2012-05-11 19:12:08 +00:00
|
|
|
%define kverpkg_kern %{kver_kern}
|
|
|
|
%define kverpkg_dbug %{kver_dbug}
|
2010-08-26 18:22:58 +00:00
|
|
|
%endif
|
2012-05-11 19:12:08 +00:00
|
|
|
|
2010-08-26 18:22:58 +00:00
|
|
|
%define koppkg =
|
2012-05-11 19:12:08 +00:00
|
|
|
|
2010-08-26 18:22:58 +00:00
|
|
|
%if %{undefined kdir}
|
2011-04-08 17:22:42 +00:00
|
|
|
%if %{defined el6} || %{defined ch5}
|
2012-05-11 19:12:08 +00:00
|
|
|
%define kdir_kern %{_usrsrc}/kernels/%{kver_kern}
|
|
|
|
%define kdir_dbug %{_usrsrc}/kernels/%{kver_dbug}
|
2011-04-08 17:22:42 +00:00
|
|
|
%else
|
2012-05-11 19:12:08 +00:00
|
|
|
%define kdir_kern %{_usrsrc}/kernels/%{kver_kern}-%{_target_cpu}
|
|
|
|
%define kdir_dbug %{_usrsrc}/kernels/%{kver_dbug}-%{_target_cpu}
|
2011-04-08 17:22:42 +00:00
|
|
|
%endif
|
2012-05-11 19:12:08 +00:00
|
|
|
%else
|
|
|
|
%define kdir_kern %{kdir}
|
|
|
|
%define kdir_dbug %{kdir}.debug
|
2010-08-26 18:22:58 +00:00
|
|
|
%endif
|
2012-05-11 19:12:08 +00:00
|
|
|
|
2010-08-26 18:22:58 +00:00
|
|
|
%if %{undefined kobj}
|
2012-05-11 19:12:08 +00:00
|
|
|
%define kobj_kern %{kdir_kern}
|
|
|
|
%define kobj_dbug %{kdir_dbug}
|
|
|
|
%else
|
|
|
|
%define kobj_kern %{kobj}
|
|
|
|
%define kobj_dbug %{kobj}.debug
|
2010-08-26 18:22:58 +00:00
|
|
|
%endif
|
|
|
|
%else
|
|
|
|
|
|
|
|
# Fedora:
|
|
|
|
%if %{defined fedora}
|
|
|
|
%if %{undefined kver}
|
|
|
|
%define klnk %{_usrsrc}/kernels/*/include/config
|
2012-05-11 19:12:08 +00:00
|
|
|
%define kver_kern %((echo X; ((%{__cat} %{klnk}/kernel.release
|
|
|
|
2>/dev/null) | %{__grep} -v debug)) | tail -1)
|
|
|
|
%define kver_dbug %((echo X; ((%{__cat} %{klnk}/kernel.release
|
|
|
|
2>/dev/null) | %{__grep} debug)) | tail -1)
|
|
|
|
%else
|
|
|
|
%define kver_kern %{kver}
|
|
|
|
%define kver_dbug %{kver}.debug
|
2010-08-26 18:22:58 +00:00
|
|
|
%endif
|
2012-05-11 19:12:08 +00:00
|
|
|
|
|
|
|
%define kpkg_kern kernel
|
|
|
|
%define kpkg_dbug kernel-debug
|
2012-08-07 20:13:17 +00:00
|
|
|
%define kpkg_dkms dkms
|
2012-05-11 19:12:08 +00:00
|
|
|
|
|
|
|
%define kdevpkg_kern kernel-devel
|
|
|
|
%define kdevpkg_dbug kernel-debug-devel
|
2012-08-07 20:13:17 +00:00
|
|
|
%define kdevpkg_dkms dkms
|
2012-05-11 19:12:08 +00:00
|
|
|
|
2012-08-07 20:13:17 +00:00
|
|
|
%define kverpkg_dkms 2.2.0.2
|
2012-05-11 19:12:08 +00:00
|
|
|
%define kverpkg_kern %(echo %{kver_kern} | %{__sed} -e 's/.%{_target_cpu}//g')
|
|
|
|
%define kverpkg_dbug %(echo %{kver_dbug} | %{__sed} -e 's/.%{_target_cpu}//g' | %{__sed} -e 's/.debug//g')
|
|
|
|
|
2010-08-26 18:22:58 +00:00
|
|
|
%define koppkg =
|
2012-05-11 19:12:08 +00:00
|
|
|
|
2010-08-26 18:22:58 +00:00
|
|
|
%if %{undefined kdir}
|
2012-05-11 19:12:08 +00:00
|
|
|
%define kdir_kern %{_usrsrc}/kernels/%{kver_kern}
|
|
|
|
%define kdir_dbug %{_usrsrc}/kernels/%{kver_dbug}
|
|
|
|
%else
|
|
|
|
%define kdir_kern %{kdir}
|
|
|
|
%define kdir_dbug %{kdir}.debug
|
2010-08-26 18:22:58 +00:00
|
|
|
%endif
|
2012-05-11 19:12:08 +00:00
|
|
|
|
2010-08-26 18:22:58 +00:00
|
|
|
%if %{undefined kobj}
|
2012-05-11 19:12:08 +00:00
|
|
|
%define kobj_kern %{kdir_kern}
|
|
|
|
%define kobj_dbug %{kdir_dbug}
|
|
|
|
%else
|
|
|
|
%define kobj_kern %{kobj}
|
|
|
|
%define kobj_dbug %{kobj}.debug
|
2010-08-26 18:22:58 +00:00
|
|
|
%endif
|
|
|
|
%else
|
|
|
|
|
|
|
|
# Unsupported distro:
|
|
|
|
%if %{undefined kver}
|
2012-05-11 19:12:08 +00:00
|
|
|
%define kver_kern %(uname -r)
|
|
|
|
%define kver_dbug %{nil}
|
|
|
|
%else
|
|
|
|
%define kver_kern %{kver}
|
|
|
|
%define kver_dbug %{nil}
|
2010-08-26 18:22:58 +00:00
|
|
|
%endif
|
2012-05-11 19:12:08 +00:00
|
|
|
|
|
|
|
%define kverpkg_kern %{kver_kern}
|
|
|
|
%define kverpkg_dbug %{nil}
|
2012-08-07 20:13:17 +00:00
|
|
|
%define kverpkg_dkms %{nil}
|
2012-05-11 19:12:08 +00:00
|
|
|
|
2010-08-26 18:22:58 +00:00
|
|
|
%if %{undefined kdir}
|
2012-05-11 19:12:08 +00:00
|
|
|
%define kdir_kern /lib/modules/%{kver_kern}/build
|
|
|
|
%define kdir_dbug %{nil}
|
|
|
|
%else
|
|
|
|
%define kdir_kern %{kdir}
|
|
|
|
%define kdir_dbug %{nil}
|
2010-08-26 18:22:58 +00:00
|
|
|
%endif
|
2012-05-11 19:12:08 +00:00
|
|
|
|
2010-08-26 18:22:58 +00:00
|
|
|
%if %{undefined kobj}
|
2012-05-11 19:12:08 +00:00
|
|
|
%define kobj_kern %{kdir_kern}
|
|
|
|
%define kobj_dbug %{nil}
|
|
|
|
%else
|
|
|
|
%define kobj_kern %{kobj}
|
|
|
|
%define kobj_dbug %{nil}
|
2010-08-26 18:22:58 +00:00
|
|
|
%endif
|
|
|
|
|
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
|
|
|
|
# spldir: Full path to the spl source headers
|
|
|
|
# splobj: Full path to the spl build objects
|
|
|
|
# splver: Spl version
|
|
|
|
# splpkg: Spl package name
|
|
|
|
# spldevpkg: Spl devel package name
|
|
|
|
# splverpkg: Spl package version
|
|
|
|
|
|
|
|
%if %{defined require_splver}
|
|
|
|
%define splver %{require_splver}
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%if %{defined require_spldir}
|
|
|
|
%define spldir %{require_spldir}
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%if %{defined require_splobj}
|
|
|
|
%define splobj %{require_splobj}
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%if %{undefined splver}
|
2012-05-11 19:12:08 +00:00
|
|
|
%define spllnk_kern %{_usrsrc}/spl-*/%{kver_kern}
|
|
|
|
%define spllnk_dbug %{_usrsrc}/spl-*/%{kver_dbug}
|
2012-08-07 20:13:17 +00:00
|
|
|
%define spllnk_dkms %{_var}/lib/dkms/spl/*/build
|
2012-05-11 19:12:08 +00:00
|
|
|
|
|
|
|
%define splver_kern %((echo X; %{__cat} %{spllnk_kern}/spl.release
|
|
|
|
2>/dev/null) | tail -1)
|
|
|
|
%define splver_dbug %((echo X; %{__cat} %{spllnk_dbug}/spl.release
|
2010-08-26 18:22:58 +00:00
|
|
|
2>/dev/null) | tail -1)
|
2012-08-07 20:13:17 +00:00
|
|
|
%define splver_dkms %((echo X; %{__cat} %{spllnk_dkms}/spl.release
|
|
|
|
2>/dev/null) | tail -1)
|
2012-05-11 19:12:08 +00:00
|
|
|
%else
|
|
|
|
%define splver_kern %{splver}
|
|
|
|
%define splver_dbug %{splver}
|
2012-08-07 20:13:17 +00:00
|
|
|
%define splver_dksm %{splver}
|
2010-08-26 18:22:58 +00:00
|
|
|
%endif
|
2012-05-11 19:12:08 +00:00
|
|
|
|
|
|
|
%define splpkg_kern spl-modules
|
|
|
|
%define splpkg_dbug spl-modules-debug
|
2012-08-07 20:13:17 +00:00
|
|
|
%define splpkg_dkms spl-modules-dkms
|
2012-05-11 19:12:08 +00:00
|
|
|
|
|
|
|
%define spldevpkg_kern spl-modules-devel
|
|
|
|
%define spldevpkg_dbug spl-modules-debug-devel
|
2012-08-07 20:13:17 +00:00
|
|
|
%define spldevpkg_dkms spl-modules-dkms
|
2012-05-11 19:12:08 +00:00
|
|
|
|
|
|
|
%define splverpkg_kern %{splver_kern}
|
|
|
|
%define splverpkg_dbug %{splver_dbug}
|
2012-08-07 20:13:17 +00:00
|
|
|
%define splverpkg_dkms %{splver_dkms}
|
2012-05-11 19:12:08 +00:00
|
|
|
|
2010-08-26 18:22:58 +00:00
|
|
|
%if %{undefined spldir}
|
2012-05-11 19:12:08 +00:00
|
|
|
%define spldir_kern %{_usrsrc}/spl-%{splver_kern}/%{kver_kern}
|
|
|
|
%define spldir_dbug %{_usrsrc}/spl-%{splver_dbug}/%{kver_dbug}
|
2012-08-07 20:13:17 +00:00
|
|
|
%define spldir_dkms %{_usrsrc}/spl-%{splver_dkms}
|
2012-05-11 19:12:08 +00:00
|
|
|
%else
|
|
|
|
%define spldir_kern %{spldir}
|
|
|
|
%define spldir_dbug %{spldir}.debug
|
2012-08-07 20:13:17 +00:00
|
|
|
%define spldir_dkms %{spldir}
|
2010-08-26 18:22:58 +00:00
|
|
|
%endif
|
2012-05-11 19:12:08 +00:00
|
|
|
|
2010-08-26 18:22:58 +00:00
|
|
|
%if %{undefined splobj}
|
2012-05-11 19:12:08 +00:00
|
|
|
%define splobj_kern %{spldir_kern}
|
|
|
|
%define splobj_dbug %{spldir_dbug}
|
2012-08-07 20:13:17 +00:00
|
|
|
%define splobj_dkms %{spldir_dkms}
|
2012-05-11 19:12:08 +00:00
|
|
|
%else
|
|
|
|
%define splobj_kern %{splobj}
|
|
|
|
%define splobj_dbug %{splobj}.debug
|
2012-08-07 20:13:17 +00:00
|
|
|
%define splobj_dkms %{splobj}
|
2010-08-26 18:22:58 +00:00
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
# Distro agnostic:
|
|
|
|
%define name @PACKAGE@-modules
|
|
|
|
%define version @VERSION@
|
|
|
|
|
|
|
|
# The kernel version should only be appended to a binary RPM. When
|
|
|
|
# building a source RPM it must be kernel version agnostic. This means
|
|
|
|
# the source RPM must never specify a required kernel version, but the
|
|
|
|
# final RPM should be keyed to the kernel version it was built against.
|
|
|
|
%if %{defined build_src_rpm}
|
2012-05-11 19:12:08 +00:00
|
|
|
|
|
|
|
%define rel_kern @ZFS_META_RELEASE@
|
|
|
|
%define rel_dbug @ZFS_META_RELEASE@
|
2012-08-07 20:13:17 +00:00
|
|
|
%define rel_dkms @ZFS_META_RELEASE@
|
2012-05-11 19:12:08 +00:00
|
|
|
|
|
|
|
%if %{defined kpkg_kern}
|
|
|
|
%define req_kern %{kpkg_kern}
|
2010-08-26 18:22:58 +00:00
|
|
|
%endif
|
2012-05-11 19:12:08 +00:00
|
|
|
%if %{defined kpkg_dbug}
|
|
|
|
%define req_dbug %{kpkg_dbug}
|
|
|
|
%endif
|
2012-08-07 20:13:17 +00:00
|
|
|
%if %{defined kpkg_dkms}
|
|
|
|
%define req_dkms %{kpkg_dkms}
|
|
|
|
%endif
|
2012-05-11 19:12:08 +00:00
|
|
|
|
|
|
|
%define splreq_kern %{splpkg_kern}
|
|
|
|
%define splreq_dbug %{splpkg_dbug}
|
2012-08-07 20:13:17 +00:00
|
|
|
%define splreq_dkms %{splpkg_dkms}
|
2012-05-11 19:12:08 +00:00
|
|
|
|
|
|
|
%define spldevreq_kern %{spldevpkg_kern}
|
|
|
|
%define spldevreq_dbug %{spldevpkg_dbug}
|
2012-08-07 20:13:17 +00:00
|
|
|
%define spldevreq_dkms %{spldevpkg_dkms}
|
2012-05-11 19:12:08 +00:00
|
|
|
|
2010-08-26 18:22:58 +00:00
|
|
|
%else
|
2012-05-11 19:12:08 +00:00
|
|
|
|
|
|
|
%define relext_kern %(echo %{kverpkg_kern} | %{__sed} -e 's/-/_/g')
|
|
|
|
%define relext_dbug %(echo %{kverpkg_dbug} | %{__sed} -e 's/-/_/g')
|
|
|
|
%define rel_kern @ZFS_META_RELEASE@_%{relext_kern}
|
|
|
|
%define rel_dbug @ZFS_META_RELEASE@_%{relext_dbug}
|
2012-08-07 20:13:17 +00:00
|
|
|
%define rel_dkms @ZFS_META_RELEASE@
|
2012-05-11 19:12:08 +00:00
|
|
|
|
|
|
|
%if %{defined kpkg_kern}
|
|
|
|
%define req_kern %{kpkg_kern} %{koppkg} %{kverpkg_kern}
|
2010-08-26 18:22:58 +00:00
|
|
|
%endif
|
2012-05-11 19:12:08 +00:00
|
|
|
%if %{defined kpkg_dbug}
|
|
|
|
%define req_dbug %{kpkg_dbug} %{koppkg} %{kverpkg_dbug}
|
|
|
|
%endif
|
2012-08-07 20:13:17 +00:00
|
|
|
%if %{defined kpkg_dkms}
|
|
|
|
%define req_dkms %{kpkg_dkms} >= %{kverpkg_dkms}
|
|
|
|
%endif
|
2012-05-11 19:12:08 +00:00
|
|
|
|
|
|
|
%define splreq_kern %{splpkg_kern} = %{splverpkg_kern}_%{relext_kern}
|
|
|
|
%define splreq_dbug %{splpkg_dbug} = %{splverpkg_dbug}_%{relext_dbug}
|
2012-08-07 20:13:17 +00:00
|
|
|
%define splreq_dkms %{splpkg_dkms} = %{splverpkg_dkms}
|
2012-05-11 19:12:08 +00:00
|
|
|
|
|
|
|
%define spldevreq_kern %{spldevpkg_kern} = %{splverpkg_kern}_%{relext_kern}
|
|
|
|
%define spldevreq_dbug %{spldevpkg_dbug} = %{splverpkg_dbug}_%{relext_dbug}
|
2012-08-07 20:13:17 +00:00
|
|
|
%define spldevreq_dkms %{spldevpkg_dkms} = %{splverpkg_dkms}
|
2012-05-11 19:12:08 +00:00
|
|
|
|
2010-08-26 18:22:58 +00:00
|
|
|
%endif
|
|
|
|
|
|
|
|
Summary: ZFS File System
|
|
|
|
Group: Utilities/System
|
|
|
|
Name: %{name}
|
|
|
|
Version: %{version}
|
2012-05-11 19:12:08 +00:00
|
|
|
Release: %{rel_kern}
|
2011-10-17 18:43:55 +00:00
|
|
|
License: @ZFS_META_LICENSE@
|
2011-08-25 22:09:24 +00:00
|
|
|
URL: git://github.com/zfsonlinux/zfs.git
|
2010-08-26 18:22:58 +00:00
|
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id} -un)
|
|
|
|
Source: @PACKAGE@-%{version}.tar.gz
|
2012-05-11 19:12:08 +00:00
|
|
|
|
|
|
|
%if %{?with_kernel}
|
|
|
|
|
|
|
|
%if %{defined req_kern}
|
|
|
|
Requires: %{req_kern}
|
|
|
|
%endif
|
|
|
|
%if %{defined kdevpkg_kern}
|
|
|
|
BuildRequires: %{kdevpkg_kern}
|
2010-08-26 18:22:58 +00:00
|
|
|
%endif
|
2012-05-11 19:12:08 +00:00
|
|
|
%if %{defined splreq_kern}
|
|
|
|
Requires: %{splreq_kern}
|
|
|
|
%endif
|
|
|
|
%if %{defined spldevpkg_kern}
|
|
|
|
BuildRequires: %{spldevpkg_kern}
|
2010-08-26 18:22:58 +00:00
|
|
|
%endif
|
2011-10-07 16:14:12 +00:00
|
|
|
Provides: lustre-backend-fs
|
2010-08-26 18:22:58 +00:00
|
|
|
|
2012-05-11 19:12:08 +00:00
|
|
|
%endif
|
|
|
|
|
2010-08-26 18:22:58 +00:00
|
|
|
%description
|
|
|
|
The %{name} package contains kernel modules and support utilities for
|
|
|
|
the %{name} file system.
|
|
|
|
|
2012-05-11 19:12:08 +00:00
|
|
|
%if %{?with_kernel}
|
|
|
|
|
2010-08-26 18:22:58 +00:00
|
|
|
%package devel
|
|
|
|
Summary: ZFS File System Headers and Symbols
|
|
|
|
Group: Development/Libraries
|
2012-05-11 19:12:08 +00:00
|
|
|
Release: %{rel_kern}
|
|
|
|
%if %{defined devreq_kern}
|
|
|
|
Requires: %{devreq_kern}
|
|
|
|
%endif
|
|
|
|
%if %{defined kdevpkg_kern}
|
|
|
|
BuildRequires: %{kdevpkg_kern}
|
|
|
|
%endif
|
|
|
|
%if %{defined spldevreq_kern}
|
|
|
|
Requires: %{spldevreq_kern}
|
2010-08-26 18:22:58 +00:00
|
|
|
%endif
|
2012-05-11 19:12:08 +00:00
|
|
|
%if %{defined spldevpkg_kern}
|
|
|
|
BuildRequires: %{spldevpkg_kern}
|
2010-08-26 18:22:58 +00:00
|
|
|
%endif
|
|
|
|
|
|
|
|
%description devel
|
2012-05-11 19:12:08 +00:00
|
|
|
The %{name}-devel package contains the kernel header files and
|
2010-08-26 18:22:58 +00:00
|
|
|
Module.symvers symbols needed for building additional modules
|
|
|
|
which use %{name}.
|
|
|
|
|
2012-05-11 19:12:08 +00:00
|
|
|
%endif
|
|
|
|
%if %{?with_kernel_debug}
|
|
|
|
|
|
|
|
%package debug
|
|
|
|
Summary: ZFS File System (Debug)
|
|
|
|
Group: Utilities/System
|
|
|
|
Release: %{rel_dbug}
|
|
|
|
%if %{defined req_dbug}
|
|
|
|
Requires: %{req_dbug}
|
|
|
|
%endif
|
|
|
|
%if %{defined kdevpkg_dbug}
|
|
|
|
BuildRequires: %{kdevpkg_dbug}
|
|
|
|
%endif
|
|
|
|
%if %{defined splreq_dbug}
|
|
|
|
Requires: %{splreq_dbug}
|
|
|
|
%endif
|
|
|
|
%if %{defined spldevpkg_dbug}
|
|
|
|
BuildRequires: %{spldevpkg_dbug}
|
|
|
|
%endif
|
|
|
|
Provides: lustre-backend-fs
|
|
|
|
|
|
|
|
%description debug
|
|
|
|
The %{name}-debug package contains debug kernel modules and support
|
|
|
|
utilities for the %{name} file system.
|
|
|
|
|
|
|
|
%package debug-devel
|
|
|
|
Summary: ZFS File System Headers and Symbols (Debug)
|
|
|
|
Group: Development/Libraries
|
|
|
|
Release: %{rel_dbug}
|
|
|
|
%if %{defined devreq_dbug}
|
|
|
|
Requires: %{devreq_dbug}
|
|
|
|
%endif
|
|
|
|
%if %{defined kdevpkg_dbug}
|
|
|
|
BuildRequires: %{kdevpkg_dbug}
|
|
|
|
%endif
|
|
|
|
%if %{defined spldevreq_dbug}
|
|
|
|
Requires: %{spldevreq_dbug}
|
|
|
|
%endif
|
|
|
|
%if %{defined spldevpkg_dbug}
|
|
|
|
BuildRequires: %{spldevpkg_dbug}
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%description debug-devel
|
|
|
|
The %{name}-debug-devel package contains the debug kernel header files
|
|
|
|
and Module.symvers symbols needed for building additional modules
|
|
|
|
which use %{name}.
|
|
|
|
|
2012-08-07 20:13:17 +00:00
|
|
|
%endif
|
|
|
|
%if %{?with_kernel_dkms}
|
|
|
|
|
|
|
|
%package dkms
|
|
|
|
Summary: ZFS File System (DKMS)
|
|
|
|
Group: Utilities/System
|
|
|
|
Release: %{rel_dkms}
|
|
|
|
Provides: %{name}
|
|
|
|
BuildArch: noarch
|
|
|
|
%if %{defined req_dkms}
|
|
|
|
Requires: %{req_dkms}
|
|
|
|
%endif
|
|
|
|
%if %{defined kdevpkg_dkms}
|
|
|
|
BuildRequires: %{kdevpkg_dkms}
|
|
|
|
%endif
|
|
|
|
%if %{defined splreq_dkms}
|
|
|
|
Requires: %{splreq_dkms}
|
|
|
|
%endif
|
|
|
|
%if %{defined spldevpkg_dkms}
|
|
|
|
BuildRequires: %{spldevpkg_dkms}
|
|
|
|
%endif
|
|
|
|
Provides: lustre-backend-fs
|
|
|
|
|
|
|
|
%description dkms
|
|
|
|
The %{name}-dkms package contains the necessary pieces to build and
|
|
|
|
install the ZFS kernel modules with Dynamic Kernel Modules Support
|
|
|
|
(DKMS).
|
|
|
|
|
2012-05-11 19:12:08 +00:00
|
|
|
%endif
|
|
|
|
|
2010-08-26 18:22:58 +00:00
|
|
|
%prep
|
|
|
|
%setup -n @PACKAGE@-%{version}
|
|
|
|
%build
|
2012-05-11 19:12:08 +00:00
|
|
|
rm -rf $RPM_BUILD_ROOT
|
|
|
|
|
|
|
|
%if %{with_kernel}
|
|
|
|
|
|
|
|
%configure --with-linux=%{kdir_kern} --with-linux-obj=%{kobj_kern} \
|
|
|
|
--with-spl=%{spldir_kern} --with-spl-obj=%{splobj_kern} \
|
2012-03-20 23:00:17 +00:00
|
|
|
--with-config=kernel %{kdebug} %{kdebug_dmu_tx}
|
2010-08-26 18:22:58 +00:00
|
|
|
make
|
2012-05-11 19:12:08 +00:00
|
|
|
make DESTDIR=$RPM_BUILD_ROOT install
|
2010-08-26 18:22:58 +00:00
|
|
|
|
2012-05-11 19:12:08 +00:00
|
|
|
%endif
|
|
|
|
%if %{?with_kernel_debug}
|
|
|
|
|
|
|
|
%configure --with-linux=%{kdir_dbug} --with-linux-obj=%{kobj_dbug} \
|
|
|
|
--with-spl=%{spldir_dbug} --with-spl-obj=%{splobj_dbug} \
|
|
|
|
--with-config=kernel %{kdebug} %{kdebug_dmu_tx}
|
|
|
|
make
|
2010-08-26 18:22:58 +00:00
|
|
|
make DESTDIR=$RPM_BUILD_ROOT install
|
|
|
|
|
2012-08-07 20:13:17 +00:00
|
|
|
%endif
|
|
|
|
%if %{?with_kernel_dkms}
|
|
|
|
|
|
|
|
%configure %{kdebug} %{kdebug_dmu_tx}
|
|
|
|
make dist
|
|
|
|
mkdir -p $RPM_BUILD_ROOT/%{_prefix}/src
|
|
|
|
tar -xf @PACKAGE@-%{version}.tar.gz -C $RPM_BUILD_ROOT/%{_prefix}/src
|
|
|
|
cp -af dkms.conf $RPM_BUILD_ROOT/%{_prefix}/src/@PACKAGE@-%{version}
|
|
|
|
|
2012-05-11 19:12:08 +00:00
|
|
|
%endif
|
|
|
|
|
2010-08-26 18:22:58 +00:00
|
|
|
%clean
|
|
|
|
rm -rf $RPM_BUILD_ROOT
|
|
|
|
|
2012-05-11 19:12:08 +00:00
|
|
|
%if %{?with_kernel}
|
|
|
|
|
2010-08-26 18:22:58 +00:00
|
|
|
%files
|
|
|
|
%defattr(-, root, root)
|
2012-05-11 19:12:08 +00:00
|
|
|
/lib/modules/%{kver_kern}/*
|
2010-08-26 18:22:58 +00:00
|
|
|
|
|
|
|
%files devel
|
|
|
|
%defattr(-,root,root)
|
2012-05-11 19:12:08 +00:00
|
|
|
%{_prefix}/src/*/%{kver_kern}/*
|
2010-08-26 18:22:58 +00:00
|
|
|
|
|
|
|
%post
|
2012-05-11 19:12:08 +00:00
|
|
|
if [ -f /boot/System.map-%{kver_kern} ]; then
|
|
|
|
/sbin/depmod -ae -F /boot/System.map-%{kver_kern} %{kver_kern} || exit 0
|
2010-08-26 18:22:58 +00:00
|
|
|
else
|
2011-11-10 18:22:39 +00:00
|
|
|
/sbin/depmod -a || exit 0
|
2010-08-26 18:22:58 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
%postun
|
2012-05-11 19:12:08 +00:00
|
|
|
if [ -f /boot/System.map-%{kver_kern} ]; then
|
|
|
|
/sbin/depmod -ae -F /boot/System.map-%{kver_kern} %{kver_kern} || exit 0
|
2010-08-26 18:22:58 +00:00
|
|
|
else
|
2011-11-10 18:22:39 +00:00
|
|
|
/sbin/depmod -a || exit 0
|
2010-08-26 18:22:58 +00:00
|
|
|
fi
|
2012-05-11 19:12:08 +00:00
|
|
|
|
|
|
|
%endif
|
|
|
|
%if %{?with_kernel_debug}
|
|
|
|
|
|
|
|
%files debug
|
|
|
|
%defattr(-, root, root)
|
|
|
|
/lib/modules/%{kver_dbug}/*
|
|
|
|
|
|
|
|
%files debug-devel
|
|
|
|
%defattr(-,root,root)
|
|
|
|
%{_prefix}/src/*/%{kver_dbug}/*
|
|
|
|
|
|
|
|
%post debug
|
|
|
|
if [ -f /boot/System.map-%{kver_dbug} ]; then
|
|
|
|
/sbin/depmod -ae -F /boot/System.map-%{kver_dbug} %{kver_dbug} || exit 0
|
|
|
|
else
|
|
|
|
/sbin/depmod -a || exit 0
|
|
|
|
fi
|
|
|
|
|
|
|
|
%postun debug
|
|
|
|
if [ -f /boot/System.map-%{kver_dbug} ]; then
|
|
|
|
/sbin/depmod -ae -F /boot/System.map-%{kver_dbug} %{kver_dbug} || exit 0
|
|
|
|
else
|
|
|
|
/sbin/depmod -a || exit 0
|
|
|
|
fi
|
|
|
|
|
|
|
|
%endif
|
2012-08-07 20:13:17 +00:00
|
|
|
%if %{?with_kernel_dkms}
|
|
|
|
|
|
|
|
%files dkms
|
|
|
|
%defattr(-,root,root)
|
|
|
|
%{_prefix}/src/@PACKAGE@-%{version}/*
|
|
|
|
|
|
|
|
%post dkms
|
|
|
|
for POSTINST in %{_prefix}/lib/dkms/common.postinst; do
|
|
|
|
if [ -f $POSTINST ]; then
|
|
|
|
$POSTINST @PACKAGE@ %{version}
|
|
|
|
exit $?
|
|
|
|
fi
|
|
|
|
echo "WARNING: $POSTINST does not exist."
|
|
|
|
done
|
|
|
|
echo -e "ERROR: DKMS version is too old and @PACKAGE@ was not"
|
|
|
|
echo -e "built with legacy DKMS support."
|
|
|
|
echo -e "You must either rebuild @PACKAGE@ with legacy postinst"
|
|
|
|
echo -e "support or upgrade DKMS to a more current version."
|
|
|
|
exit 1
|
|
|
|
|
|
|
|
%preun dkms
|
|
|
|
echo -e
|
|
|
|
echo -e "Uninstall of @PACKAGE@ module (version %{version}) beginning:"
|
|
|
|
dkms remove -m @PACKAGE@ -v %{version} --all --rpm_safe_upgrade
|
|
|
|
exit 0
|
|
|
|
|
|
|
|
%endif
|