]> git.proxmox.com Git - mirror_spl-debian.git/blobdiff - spl-modules.spec.in
Include distribution in release
[mirror_spl-debian.git] / spl-modules.spec.in
index 61ad41ba34d36cf5289a2ae7a83c6577783748a8..9c632017157505cb40838b3f11e312e9d335a894 100644 (file)
@@ -3,10 +3,6 @@
 # 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.
 
-%{?require_kver: %define kver %{require_kver}}
-%{?require_kdir: %define kdir %{require_kdir}}
-%{?require_kobj: %define kobj %{require_kobj}}
-
 # kdir:    Full path to the kernel source headers
 # kobj:    Full path to the kernel build objects
 # kver:    Kernel version
 # kdevpkg: Kernel devel package name
 # kverpkg: Kernel package version
 
-# SLES*:
-%if %{defined sles_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
+
+# SLES:
+%if %{defined suse_version}
  %if %{undefined kver}
-  %define klnk           %{_usrsrc}/linux-obj/%{_target_cpu}/%{_target_cpu}
-  %define kver           %((echo X; %{__cat} %{klnk}/.kernelrelease
-                            2>/dev/null) | tail -1)
+  %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
+
+  %define kver           %((echo X; %{__cat} %{krelease} 2>/dev/null)|tail -1)
+ %endif
+
+ %if %{undefined kverextra}
+  %define kverextra      %(echo %{kver} | cut -f3 -d'-')
+ %endif
+
+ %define kpkg            kernel-%{kverextra}
+ %define kdevpkg         kernel-source
+ %define kverpkg         %(echo %{kver} | %{__sed} -e 's/-%{kverextra}//g')
+
+ # 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
- %define kpkg            kernel-%{_target_cpu}
- %define kdevpkg         kernel-source kernel-syms
- %define kverpkg         %(echo %{kver} | cut -d'-' -f1-2)
+
  %if %{undefined kdir}
   %define kdir           %{_usrsrc}/linux-%{kverpkg}
  %endif
  %if %{undefined kobj}
-  %define kobj           %{kdir}-obj/%{_target_cpu}/%{_target_cpu}
+  %define kobj           %{kdir}-obj/%{_target_cpu}/%{kverextra}
  %endif
-
-# CHAOS4:
 %else
+
+# CHAOS 4.x:
 %if %{defined ch4}
  %if %{undefined kver}
   %define klnk           %{_usrsrc}/kernels/*/include/config
  %define kpkg            chaos-kernel
  %define kdevpkg         chaos-kernel-devel
  %define kverpkg         %{kver}
+ %define koppkg          =
  %if %{undefined kdir}
   %define kdir %{_usrsrc}/kernels/%{kver}
  %endif
  %if %{undefined kobj}
   %define kobj           %{kdir}
  %endif
+%else
 
-# RHEL*/Fedora:
+# RHEL 5.x/6.x, CHAOS 5.x:
+%if %{defined el5} || %{defined el6} || %{defined ch5}
+ %if %{undefined kver}
+  %define klnk           %{_usrsrc}/kernels/*/include/config
+  %define kver           %((echo X; %{__cat} %{klnk}/kernel.release
+                            2>/dev/null) | tail -1)
+ %endif
+ %define kpkg            kernel
+ %define kdevpkg         kernel-devel
+ %if %{defined el6} || %{defined ch5}
+  %define kverpkg        %(echo %{kver} | %{__sed} -e 's/.%{_target_cpu}//g')
+ %else
+  %define kverpkg        %{kver}
+ %endif
+ %define koppkg          =
+ %if %{undefined kdir}
+  %if %{defined el6} || %{defined ch5}
+   %define kdir           %{_usrsrc}/kernels/%{kver}
+  %else
+   %define kdir           %{_usrsrc}/kernels/%{kver}-%{_target_cpu}
+  %endif
+ %endif
+ %if %{undefined kobj}
+  %define kobj           %{kdir}
+ %endif
 %else
-%if %{defined fedora} || %{defined rhel}
+
+# Fedora:
+%if %{defined fedora}
  %if %{undefined kver}
   %define klnk           %{_usrsrc}/kernels/*/include/config
   %define kver           %((echo X; %{__cat} %{klnk}/kernel.release
  %endif
  %define kpkg            kernel
  %define kdevpkg         kernel-devel
- %define kverpkg         %(echo %{kver} | cut -d'.' -f1-7)
+ %define kverpkg         %(echo %{kver} | %{__sed} -e 's/.%{_target_cpu}//g')
+ %define koppkg          =
  %if %{undefined kdir}
   %define kdir           %{_usrsrc}/kernels/%{kver}
  %endif
  %if %{undefined kobj}
   %define kobj           %{kdir}
  %endif
-
 %else
 
 # Unsupported distro:
  %if %{undefined kver}
-  %define kver            X
+  %define kver           %(uname -r)
  %endif
- %define kpkg             kernel
- %define kdevpkg          kernel-devel
- %define kverpkg          %{kver}
+ %define kverpkg         %{kver}
  %if %{undefined kdir}
-  %define kdir           %{_usrsrc}/kernels/%{kver}
+  %define kdir           /lib/modules/%{kver}/build
  %endif
  %if %{undefined kobj}
   %define kobj           %{kdir}
 %endif
 %endif
 %endif
+%endif
 
 # Distro agnostic:
 %define name             @PACKAGE@-modules
 %define version          @VERSION@
 %define debug_package    %{nil}
 
-
 # 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
 %if %{defined build_src_rpm}
 %define release          @SPL_META_RELEASE@
 %define requires         %{kpkg}
+%if %{defined kdevpkg}
+%define devel_requires   %{kdevpkg}
+%endif
 %else
 %define relext           %(echo %{kverpkg} | %{__sed} -e 's/-/_/g')
 %define release          @SPL_META_RELEASE@_%{relext}
-%define requires         %{kpkg} = %{kverpkg}
+%if %{defined kpkg}
+%define krequires        %{kpkg} %{koppkg} %{kverpkg}
+%endif
+%if %{defined kdevpkg}
+%define devel_requires   %{kdevpkg} %{koppkg} %{kverpkg}
+%endif
 %endif
 
 Summary:         Solaris Porting Layer Modules
 Group:           Utilities/System
 Name:            %{name}
 Version:         %{version}
-Release:         %{release}
+Release:         %{release}%{?dist}
 License:         @LICENSE@
-URL:             git://eris.llnl.gov/spl.git
-BuildRoot:       %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id_u} -n)
+URL:             git://github.com/zfsonlinux/spl.git
+BuildRoot:       %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id} -un)
 Source:          @PACKAGE@-%{version}.tar.gz
-Requires:        %{requires}
+%if %{defined krequires}
+Requires:        %{krequires}
+%endif
+%if %{defined kdevpkg}
 BuildRequires:   %{kdevpkg}
+%endif
 
 %description
 The %{name} package contains kernel modules for emulating Solaris style
@@ -127,8 +199,12 @@ taskq, thread, time, and vnode APIs.
 %package devel
 Summary:         Solaris Porting Layer Headers and Symbols
 Group:           Development/Libraries
-Requires:        %{requires}
+%if %{defined devel_requires}
+Requires:        %{devel_requires}
+%endif
+%if %{defined kdevpkg}
 BuildRequires:   %{kdevpkg}
+%endif
 
 %description devel
 The %{name}-devel package contains the header files and Module{s}.symvers