~ubuntu-branches/ubuntu/wily/spl-linux/wily

« back to all changes in this revision

Viewing changes to rpm/fedora/spl-kmod.spec.in

  • Committer: Package Import Robot
  • Author(s): Aron Xu
  • Date: 2013-04-02 01:03:05 UTC
  • Revision ID: package-import@ubuntu.com-20130402010305-bt9to0tn48joen5q
Tags: upstream-0.6.1
ImportĀ upstreamĀ versionĀ 0.6.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
%define module  @PACKAGE@
 
2
%define repo    rpmfusion
 
3
 
 
4
%define buildforkernels newest
 
5
#define buildforkernels current
 
6
#define buildforkernels akmod
 
7
 
 
8
%bcond_with     debug
 
9
%bcond_with     debug_log
 
10
%bcond_with     debug_kmem
 
11
%bcond_with     debug_kmem_tracking
 
12
%bcond_with     atomic_spinlocks
 
13
 
 
14
 
 
15
Name:           %{module}-kmod
 
16
 
 
17
Version:        @VERSION@
 
18
Release:        @RELEASE@%{?dist}
 
19
Summary:        Kernel module(s)
 
20
 
 
21
Group:          System Environment/Kernel
 
22
License:        GPLv2+
 
23
URL:            http://zfsonlinux.org/
 
24
Source0:        %{module}-%{version}.tar.gz
 
25
Source10:       kmodtool
 
26
 
 
27
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
28
ExclusiveArch:  i586 i686 x86_64
 
29
 
 
30
# Likely compiles but is not supported.
 
31
ExcludeArch:    ppc ppc64
 
32
 
 
33
# The developments headers will conflict with the dkms packages.
 
34
Conflicts:      %{module}-dkms
 
35
 
 
36
BuildRequires:  %{_bindir}/kmodtool
 
37
 
 
38
%if 0%{?fedora} >= 17
 
39
%define prefix  /usr
 
40
%endif
 
41
 
 
42
%{!?kernels:BuildRequires: buildsys-build-rpmfusion-kerneldevpkgs-%{?buildforkernels:%{buildforkernels}}%{!?buildforkernels:current}-%{_target_cpu} }
 
43
 
 
44
# Kmodtool does its magic here.  A patched version of kmodtool is shipped
 
45
# with the source rpm until kmod development packages are supported upstream.
 
46
# https://bugzilla.rpmfusion.org/show_bug.cgi?id=2714
 
47
%{expand:%(sh %{SOURCE10} --target %{_target_cpu} --repo %{repo} --kmodname %{name} --devel %{?prefix:--prefix "%{?prefix}"} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) }
 
48
 
 
49
 
 
50
%description
 
51
This package contains the kernel modules required to emulate
 
52
several interfaces provided by the Solaris kernel.
 
53
 
 
54
%prep
 
55
# Error out if there was something wrong with kmodtool.
 
56
%{?kmodtool_check}
 
57
 
 
58
# Print kmodtool output for debugging purposes:
 
59
sh %{SOURCE10} --target %{_target_cpu}  --repo %{repo} --kmodname %{name} --devel %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null
 
60
 
 
61
%if %{with debug}
 
62
    %define debug --enable-debug
 
63
%else
 
64
    %define debug --disable-debug
 
65
%endif
 
66
 
 
67
%if %{with debug_log}
 
68
    %define debug_log --enable-debug-log
 
69
%else
 
70
    %define debug_log --disable-debug-log
 
71
%endif
 
72
 
 
73
%if %{with debug_kmem}
 
74
    %define debug_kmem --enable-debug-kmem
 
75
%else
 
76
    %define debug_kmem --disable-debug-kmem
 
77
%endif
 
78
 
 
79
%if %{with debug_kmem_tracking}
 
80
    %define debug_kmem_tracking --enable-debug-kmem-tracking
 
81
%else
 
82
    %define debug_kmem_tracking --disable-debug-kmem-tracking
 
83
%endif
 
84
 
 
85
%if %{with atomic_spinlocks}
 
86
    %define atomic_spinlocks --enable-atomic-spinlocks
 
87
%else
 
88
    %define atomic_spinlocks --disable-atomic-spinlocks
 
89
%endif
 
90
 
 
91
# Leverage VPATH from configure to avoid making multiple copies.
 
92
%define _configure ../%{module}-%{version}/configure
 
93
 
 
94
%setup -q -c -T -a 0
 
95
 
 
96
for kernel_version in %{?kernel_versions}; do
 
97
    %{__mkdir} _kmod_build_${kernel_version%%___*}
 
98
done
 
99
 
 
100
%build
 
101
for kernel_version in %{?kernel_versions}; do
 
102
    pushd _kmod_build_${kernel_version%%___*}
 
103
    %configure \
 
104
        --with-config=kernel \
 
105
        --with-linux="${kernel_version##*___}" \
 
106
        --with-linux-obj="${kernel_version##*___}" \
 
107
        %{debug} \
 
108
        %{debug_log} \
 
109
        %{debug_kmem} \
 
110
        %{debug_kmem_tracking} \
 
111
        %{atomic_spinlocks}
 
112
    make %{?_smp_mflags}
 
113
    popd
 
114
done
 
115
 
 
116
 
 
117
%install
 
118
rm -rf ${RPM_BUILD_ROOT}
 
119
 
 
120
# Relies on the kernel 'modules_install' make target.
 
121
for kernel_version in %{?kernel_versions}; do
 
122
    pushd _kmod_build_${kernel_version%%___*}
 
123
    make install \
 
124
        DESTDIR=${RPM_BUILD_ROOT} \
 
125
        %{?prefix:INSTALL_MOD_PATH=%{?prefix}} \
 
126
        INSTALL_MOD_DIR=%{kmodinstdir_postfix}
 
127
    popd
 
128
done
 
129
chmod u+x ${RPM_BUILD_ROOT}%{kmodinstdir_prefix}/*/extra/*/*/*
 
130
%{?akmod_install}
 
131
 
 
132
 
 
133
%clean
 
134
rm -rf $RPM_BUILD_ROOT
 
135
 
 
136
%changelog
 
137
* Fri Mar 22 2013 Brian Behlendorf <behlendorf1@llnl.gov> - 0.6.1-1
 
138
- First official stable release.