]> git.proxmox.com Git - mirror_spl-debian.git/blobdiff - rpm/fedora/spl-kmod.spec.in
Imported Upstream version 0.6.2
[mirror_spl-debian.git] / rpm / fedora / spl-kmod.spec.in
index f83ff60c14314e02b26c07c7e4ce5b9f05fe25a8..e8d88c1709b3307a3272e017c5fbbef49b8a67bb 100644 (file)
@@ -1,6 +1,8 @@
 %define module  @PACKAGE@
-%define repo    rpmfusion
+#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
@@ -23,28 +25,42 @@ License:        GPLv2+
 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
+BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id} -u -n)
 
 # The developments headers will conflict with the dkms packages.
 Conflicts:      %{module}-dkms
 
+%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 !%{defined kernels} && !%{defined build_src_rpm}
+    %if 0%{?rhel}%{?fedora}%{?suse_version}
+        %define kernels %(ls -1 /usr/src/kernels)
+    %else
+        %define kernels %(ls -1 /lib/modules)
+    %endif
+%endif
+%endif
 
 %if 0%{?fedora} >= 17
 %define prefix  /usr
 %endif
 
-%{!?kernels:BuildRequires: buildsys-build-rpmfusion-kerneldevpkgs-%{?buildforkernels:%{buildforkernels}}%{!?buildforkernels:current}-%{_target_cpu} }
-
 # Kmodtool does its magic here.  A patched version of kmodtool is shipped
-# with the source rpm until kmod development packages are supported upstream.
+# because the latest versions may not be available for your distribution.
 # 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}"} 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
@@ -56,7 +72,7 @@ several interfaces provided by the Solaris kernel.
 %{?kmodtool_check}
 
 # Print kmodtool output for debugging purposes:
-sh %{SOURCE10} --target %{_target_cpu}  --repo %{repo} --kmodname %{name} --devel %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 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
@@ -99,18 +115,28 @@ done
 
 %build
 for kernel_version in %{?kernel_versions}; do
-    pushd _kmod_build_${kernel_version%%___*}
+    cd _kmod_build_${kernel_version%%___*}
     %configure \
         --with-config=kernel \
+%if 0%{?rhel}%{?fedora}
         --with-linux="${kernel_version##*___}" \
         --with-linux-obj="${kernel_version##*___}" \
+%else
+        --with-linux="$( \
+        if [ -e "/lib/modules/${kernel_version%%___*}/source" ]; then \
+            echo "/lib/modules/${kernel_version%%___*}/source"; \
+        else \
+            echo "/lib/modules/${kernel_version%%___*}/build"; \
+        fi)" \
+        --with-linux-obj="/lib/modules/${kernel_version%%___*}/build" \
+%endif
         %{debug} \
         %{debug_log} \
         %{debug_kmem} \
         %{debug_kmem_tracking} \
         %{atomic_spinlocks}
     make %{?_smp_mflags}
-    popd
+    cd ..
 done
 
 
@@ -119,12 +145,12 @@ 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%%___*}
+    cd _kmod_build_${kernel_version%%___*}
     make install \
         DESTDIR=${RPM_BUILD_ROOT} \
         %{?prefix:INSTALL_MOD_PATH=%{?prefix}} \
         INSTALL_MOD_DIR=%{kmodinstdir_postfix}
-    popd
+    cd ..
 done
 chmod u+x ${RPM_BUILD_ROOT}%{kmodinstdir_prefix}/*/extra/*/*/*
 %{?akmod_install}
@@ -134,5 +160,7 @@ chmod u+x ${RPM_BUILD_ROOT}%{kmodinstdir_prefix}/*/extra/*/*/*
 rm -rf $RPM_BUILD_ROOT
 
 %changelog
-* Fri Mar 22 2013 Brian Behlendorf <behlendorf1@llnl.gov> - 0.6.1-1
+* Wed Aug 21 2013 Brian Behlendorf <behlendorf1@llnl.gov> - 0.6.2-1
+- Released 0.6.2-1
+* Tue Mar 22 2013 Brian Behlendorf <behlendorf1@llnl.gov> - 0.6.1-1
 - First official stable release.