1 # The following block is used to allow the source RPM to be rebuilt
2 # against specific kernels. It is preferable that rpmbuild define the
3 # require_kver, require_kdir, require_obj constants for us, but if it does not
4 # not we attempt to determine the correct values based on your distro.
6 # kdir: Full path to the kernel source headers
7 # kobj: Full path to the kernel build objects
9 # kpkg: Kernel package name
10 # kdevpkg: Kernel devel package name
11 # kverpkg: Kernel package version
13 %if %{defined require_kver}
14 %define kver
%{require_kver}
17 %if %{defined require_kdir}
18 %define kdir
%{require_kdir}
21 %if %{defined require_kobj}
22 %define kobj
%{require_kobj}
26 %if %{defined suse_version}
29 %define kverextra ppc64
31 %define kverextra default
34 %if %{suse_version} >= 1100
35 %define klnk
%{_usrsrc}/linux-obj/%{_target_cpu}/%{kverextra}
36 %define krelease
%{klnk}/include
/config
/kernel.release
38 %define klnk
%{_usrsrc}/linux-obj/%{_target_cpu}/%{kverextra}
39 %define krelease
%{klnk}/.kernelrelease
42 %define kver %
((echo X
; %{__cat} %{krelease} 2>/dev
/null
)|tail
-1)
45 %if %{undefined kverextra}
46 %define kverextra %
(echo %{kver} | cut
-f3
-d'
-'
)
49 %define kpkg kernel
-%{kverextra}
50 %define kdevpkg kernel
-source
51 %define kverpkg %
(echo %{kver} | %{__sed} -e 's/-%{kverextra}//g'
)
53 # The kernel and rpm versions do not strictly match under SLES11
54 # e.g. kernel version 2.6.27.19-5 != rpm version 2.6.27.19-5.1
55 %if %{suse_version} >= 1100
62 %define kdir
%{_usrsrc}/linux-%{kverpkg}
65 %define kobj
%{kdir}-obj/%{_target_cpu}/%{kverextra}
72 %define klnk
%{_usrsrc}/kernels
/*/include
/config
73 %define kver %
((echo X
; %{__cat} %{klnk}/kernel.release
74 2>/dev
/null
) | tail
-1)
76 %define kpkg chaos
-kernel
77 %define kdevpkg chaos
-kernel
-devel
78 %define kverpkg
%{kver}
81 %define kdir
%{_usrsrc}/kernels/%{kver}
91 %define klnk
%{_usrsrc}/kernels
/*/include
/config
92 %define kver %
((echo X
; %{__cat} %{klnk}/kernel.release
93 2>/dev
/null
) | tail
-1)
96 %define kdevpkg kernel
-devel
97 %define kverpkg
%{kver}
100 %define kdir
%{_usrsrc}/kernels/%{kver}-%{_target_cpu}
102 %if %{undefined kobj}
108 %if %{defined fedora}
109 %if %{undefined kver}
110 %define klnk
%{_usrsrc}/kernels
/*/include
/config
111 %define kver %
((echo X
; %{__cat} %{klnk}/kernel.release
112 2>/dev
/null
) | tail
-1)
115 %define kdevpkg kernel
-devel
116 %define kverpkg %
(echo %{kver} | %{__sed} -e 's/.%{_target_cpu}//g'
)
118 %if %{undefined kdir}
119 %define kdir
%{_usrsrc}/kernels/%{kver}
121 %if %{undefined kobj}
126 # Unsupported distro:
127 %if %{undefined kver}
131 %define kdevpkg kernel
-devel
132 %define kverpkg
%{kver}
134 %if %{undefined kdir}
135 %define kdir
%{_usrsrc}/kernels/%{kver}
137 %if %{undefined kobj}
147 %define name @PACKAGE@
-modules
148 %define version @VERSION@
149 %define debug_package
%{nil}
151 # The kernel version should only be appended to a binary RPM. When
152 # building a source RPM it must be kernel version agnostic. This means
153 # the source RPM must never specify a required kernel version, but the
154 # final RPM should be keyed to the kernel version it was built against.
155 %if %{defined build_src_rpm}
156 %define release @SPL_META_RELEASE@
157 %define requires
%{kpkg}
159 %define relext %
(echo %{kverpkg} | %{__sed} -e 's
/-/_
/g'
)
160 %define release @SPL_META_RELEASE@_
%{relext}
161 %define requires
%{kpkg} %{koppkg} %{kverpkg}
164 Summary: Solaris Porting Layer Modules
165 Group: Utilities
/System
170 URL: git
://eris.llnl.gov
/spl.git
171 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id_u} -n
)
172 Source: @PACKAGE@
-%{version}.tar.gz
173 Requires: %{requires}
174 BuildRequires
: %{kdevpkg}
177 The
%{name} package contains kernel modules
for emulating Solaris style
178 primatives
in the linux kernel. These include
, but are not limited to
:
179 atomic
, condvar
, debug
, error
, memory
, kobject
, kstat
, mutex
, rwlock
,
180 taskq
, thread
, time, and vnode APIs.
183 Summary: Solaris Porting Layer Headers and Symbols
184 Group: Development
/Libraries
185 Requires: %{requires}
186 BuildRequires
: %{kdevpkg}
189 The
%{name}-devel package contains the header files and Module{s}.symvers
190 symbols needed
for building additional modules which use
%{name}.
193 %setup -n @PACKAGE@
-%{version}
195 %configure --with
-linux
=%{kdir} --with-linux-obj=%{kobj} \
200 rm -rf $RPM_BUILD_ROOT
201 make DESTDIR
=$RPM_BUILD_ROOT
install
204 rm -rf $RPM_BUILD_ROOT
207 %defattr(-, root
, root
)
211 %defattr(-,root
,root
)
215 if [ -f
/boot
/System.map
-%{kver} ]; then
216 depmod
-ae
-F
/boot
/System.map
-%{kver} %{kver} ||
exit 0
218 depmod
-ae
%{kver} ||
exit 0
222 if [ -f
/boot
/System.map
-%{kver} ]; then
223 depmod
-ae
-F
/boot
/System.map
-%{kver} %{kver} ||
exit 0
225 depmod
-ae
%{kver} ||
exit 0