LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File zfs-kmod.spec of Package zfs (Project spins:invis:15:common)

#
# spec file for package zfs-kmod
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


%define pkg_name zfs

%bcond_with     debug
%bcond_with     debug_dmu_tx

Name:           %{pkg_name}-kmod
Version:        0.7.11
Release:        0
Summary:        Kernel module(s)
License:        CDDL-1.0
Group:          System/Filesystems
URL:            http://zfsonlinux.org/
Source0:        https://github.com/zfsonlinux/zfs/releases/download/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
BuildRequires:  %{kernel_module_package_buildreqs}
BuildRequires:  autoconf
BuildRequires:  automake
BuildRequires:  kernel-syms
BuildRequires:  libelf-devel
BuildRequires:  libtool
BuildRequires:  spl-kmod-devel = %{version}

%suse_kernel_module_package -n %{pkg_name} -p %{name}.preamble um xen

%description
This package contains the ZFS kernel modules.

%package devel
Summary:        Headers and Symbols
Group:          Development/Libraries/C and C++
# The developments headers will conflict with the dkms packages.
Conflicts:      %{pkg_name}-dkms

%description devel
This package contains the header files and Module{s}.symvers
symbols needed for building additional modules.

%prep
%setup -q -n %{pkg_name}-%{version}

%build
./autogen.sh
mkdir -p ../obj
for flavor in %{flavors_to_build}; do
    krel=$(make -s -C %{_usrsrc}/linux-obj/%{_target_cpu}/$flavor kernelrelease)
    rm -rf ../obj/$flavor
    cp -r ../%{pkg_name}-%{version} ../obj/$flavor
    pushd ../obj/$flavor
    %configure \
	--with-config=kernel \
	--with-linux=%{_usrsrc}/linux \
	--with-linux-obj=%{_usrsrc}/linux-obj/%{_target_cpu}/$flavor \
	--with-spl=%{_usrsrc}/spl-%{version} \
	--with-spl-obj=%{_usrsrc}/spl-%{version}/$krel \
%if %{with debug}
	--enable-debug \
%else
	--disable-debug \
%endif
%if %{with debug_dmu_tx}
	--enable-debug-dmu-tx
%else
	--disable-debug-dmu-tx
%endif

    make %{?_smp_mflags}
    popd
done

%install
for flavor in %{flavors_to_build}; do
    pushd ../obj/$flavor
    %make_install
    popd
done

%files devel
%{_usrsrc}/%{pkg_name}-*

%changelog