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 %{?require_kver: %define kver %{require_kver}}
7 %{?require_kdir: %define kdir %{require_kdir}}
8 %{?require_kobj: %define kobj %{require_kobj}}
10 # kdir: Full path to the kernel source headers
11 # kobj: Full path to the kernel build objects
12 # kver: Kernel version
13 # kpkg: Kernel package name
14 # kdevpkg: Kernel devel package name
15 # kverpkg: Kernel package version
18 %if %{defined sles_version}
20 %define klnk %{_usrsrc}/linux-obj/%{_target_cpu}/%{_target_cpu}
21 %define kver %((echo X; %{__cat} %{klnk}/.kernelrelease
22 2>/dev/null) | tail -1)
24 %define kpkg kernel-%{_target_cpu}
25 %define kdevpkg kernel-source kernel-syms
26 %define kverpkg %(echo %{kver} | cut -d'-' -f1-2)
28 %define kdir %{_usrsrc}/linux-%{kverpkg}
31 %define kobj %{kdir}-obj/%{_target_cpu}/%{_target_cpu}
38 %define klnk %{_usrsrc}/kernels/*/include/config
39 %define kver %((echo X; %{__cat} %{klnk}/kernel.release
40 2>/dev/null) | tail -1)
42 %define kpkg chaos-kernel
43 %define kdevpkg chaos-kernel-devel
44 %define kverpkg %{kver}
46 %define kdir %{_usrsrc}/kernels/%{kver}
54 %if %{defined fedora} || %{defined rhel}
56 %define klnk %{_usrsrc}/kernels/*/include/config
57 %define kver %((echo X; %{__cat} %{klnk}/kernel.release
58 2>/dev/null) | tail -1)
61 %define kdevpkg kernel-devel
62 %define kverpkg %(echo %{kver} | cut -d'.' -f1-7)
64 %define kdir %{_usrsrc}/kernels/%{kver}
77 %define kdevpkg kernel-devel
78 %define kverpkg %{kver}
80 %define kdir %{_usrsrc}/kernels/%{kver}
91 %define name @PACKAGE@-modules
92 %define version @VERSION@
93 %define debug_package %{nil}
96 # The kernel version should only be appended to a binary RPM. When
97 # building a source RPM it must be kernel version agnostic. This means
98 # the source RPM must never specify a required kernel version, but the
99 # final RPM should be keyed to the kernel version it was built against.
100 %if %{defined build_src_rpm}
101 %define release @SPL_META_RELEASE@
102 %define requires %{kpkg}
104 %define relext %(echo %{kverpkg} | %{__sed} -e 's/-/_/g')
105 %define release @SPL_META_RELEASE@_%{relext}
106 %define requires %{kpkg} = %{kverpkg}
109 Summary: Solaris Porting Layer Modules
110 Group: Utilities/System
115 URL: git://eris.llnl.gov/spl.git
116 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id_u} -n)
117 Source: @PACKAGE@-%{version}.tar.gz
118 Requires: %{requires}
119 BuildRequires: %{kdevpkg}
122 The %{name} package contains kernel modules for emulating Solaris style
123 primatives in the linux kernel. These include, but are not limited to:
124 atomic, condvar, debug, error, memory, kobject, kstat, mutex, rwlock,
125 taskq, thread, time, and vnode APIs.
128 Summary: Solaris Porting Layer Headers and Symbols
129 Group: Development/Libraries
130 Requires: %{requires}
131 BuildRequires: %{kdevpkg}
134 The %{name}-devel package contains the header files and Module{s}.symvers
135 symbols needed for building additional modules which use %{name}.
138 %setup -n @PACKAGE@-%{version}
140 %configure --with-linux=%{kdir} --with-linux-obj=%{kobj} \
145 rm -rf $RPM_BUILD_ROOT
146 make DESTDIR=$RPM_BUILD_ROOT install
149 rm -rf $RPM_BUILD_ROOT
152 %defattr(-, root, root)
156 %defattr(-,root,root)
160 if [ -f /boot/System.map-%{kver} ]; then
161 depmod -ae -F /boot/System.map-%{kver} %{kver} || exit 0
163 depmod -ae %{kver} || exit 0
167 if [ -f /boot/System.map-%{kver} ]; then
168 depmod -ae -F /boot/System.map-%{kver} %{kver} || exit 0
170 depmod -ae %{kver} || exit 0