%bcond_with     debug
%bcond_with     debug_log
%bcond_with     debug_kmem
%bcond_with     debug_kmem_tracking
%bcond_with     atomic_spinlocks

Name:           @PACKAGE@-kmod
Version:        @VERSION@
Release:        @RELEASE@%{?dist}

Summary:        Kernel module(s)
Group:          System Environment/Kernel
License:        GPLv2+
URL:            http://zfsonlinux.org/
BuildRequires:  %kernel_module_package_buildreqs
Source0:        @PACKAGE@-%{version}.tar.gz
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

# Additional dependency information for the kmod sub-package must be specified
# by generating a preamble text file which kmodtool can append to the spec file.
%(/bin/echo -e "\
Requires:       @PACKAGE@ = %{version}\n\
Conflicts:      @PACKAGE@-dkms\n\n" > %{_sourcedir}/kmod-preamble)

%description
This package contains the kernel modules required to emulate
several interfaces provided by the Solaris kernel.

%define kmod_name spl
%define debug_package %{nil}

%kernel_module_package -n %{kmod_name} -p %{_sourcedir}/kmod-preamble

%define ksrc %{_usrsrc}/kernels/%{kverrel}
%define kobj %{ksrc}

%package -n kmod-%{kmod_name}-devel
Summary:        SPL kernel module(s) devel common
Group:          System Environment/Kernel

%description -n  kmod-%{kmod_name}-devel
This package provides the header files and objects to build kernel modules
which depend on the SPL kernel module.

%prep
if ! [ -d "%{ksrc}"  ]; then
        echo "Kernel build directory isn't set properly, cannot continue"
        exit 1
fi

%if %{with debug}
%define debug --enable-debug
%else
%define debug --disable-debug
%endif

%if %{with debug_log}
%define debug_log --enable-debug-log
%else
%define debug_log --disable-debug-log
%endif

%if %{with debug_kmem}
%define debug_kmem --enable-debug-kmem
%else
%define debug_kmem --disable-debug-kmem
%endif

%if %{with debug_kmem_tracking}
%define debug_kmem_tracking --enable-debug-kmem-tracking
%else
%define debug_kmem_tracking --disable-debug-kmem-tracking
%endif

%if %{with atomic_spinlocks}
%define atomic_spinlocks --enable-atomic-spinlocks
%else
%define atomic_spinlocks --disable-atomic-spinlocks
%endif

%setup -n %{kmod_name}-%{version}
%build
%configure \
        --with-config=kernel \
        --with-linux=%{ksrc} \
        --with-linux-obj=%{kobj} \
        %{debug} \
        %{debug_log} \
        %{debug_kmem} \
        %{debug_kmem_tracking} \
        %{atomic_spinlocks}
make %{?_smp_mflags}

%install
make install \
        DESTDIR=${RPM_BUILD_ROOT} \
        INSTALL_MOD_DIR=extra/%{kmod_name}
%{__rm} -f %{buildroot}/lib/modules/%{kverrel}/modules.*

%clean
rm -rf $RPM_BUILD_ROOT

%files -n kmod-%{kmod_name}-devel
%{_usrsrc}/%{kmod_name}-%{version}