]>
Commit | Line | Data |
---|---|---|
c5f70460 | 1 | # The following block is used to allow the source RPM to be rebuilt |
31b2e0b0 BB |
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. | |
5 | ||
6 | %{?require_kver: %define kver %{require_kver}} | |
7 | %{?require_kdir: %define kdir %{require_kdir}} | |
8 | %{?require_kobj: %define kobj %{require_kobj}} | |
9 | ||
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 | |
16 | ||
17 | # SLES*: | |
18 | %if %{defined sles_version} | |
19 | %if %{undefined kver} | |
e28bc916 | 20 | %define klnk %{_usrsrc}/linux-obj/%{_target_cpu}/%{_target_cpu} |
155189d4 | 21 | %define kver %((echo X; %{__cat} %{klnk}/.kernelrelease |
af971a85 BB |
22 | 2>/dev/null) | tail -1) |
23 | %endif | |
31b2e0b0 BB |
24 | %define kpkg kernel-%{_target_cpu} |
25 | %define kdevpkg kernel-source kernel-syms | |
26 | %define kverpkg %(echo %{kver} | cut -d'-' -f1-2) | |
af971a85 BB |
27 | %if %{undefined kdir} |
28 | %define kdir %{_usrsrc}/linux-%{kverpkg} | |
29 | %endif | |
30 | %if %{undefined kobj} | |
31 | %define kobj %{kdir}-obj/%{_target_cpu}/%{_target_cpu} | |
32 | %endif | |
31b2e0b0 BB |
33 | |
34 | # CHAOS4: | |
39a3d2a4 | 35 | %else |
31b2e0b0 BB |
36 | %if %{defined ch4} |
37 | %if %{undefined kver} | |
e28bc916 | 38 | %define klnk %{_usrsrc}/kernels/*/include/config |
155189d4 | 39 | %define kver %((echo X; %{__cat} %{klnk}/kernel.release |
af971a85 BB |
40 | 2>/dev/null) | tail -1) |
41 | %endif | |
31b2e0b0 BB |
42 | %define kpkg chaos-kernel |
43 | %define kdevpkg chaos-kernel-devel | |
44 | %define kverpkg %{kver} | |
af971a85 BB |
45 | %if %{undefined kdir} |
46 | %define kdir %{_usrsrc}/kernels/%{kver} | |
47 | %endif | |
48 | %if %{undefined kobj} | |
49 | %define kobj %{kdir} | |
50 | %endif | |
31b2e0b0 BB |
51 | |
52 | # RHEL*/Fedora: | |
39a3d2a4 | 53 | %else |
31b2e0b0 BB |
54 | %if %{defined fedora} || %{defined rhel} |
55 | %if %{undefined kver} | |
e28bc916 | 56 | %define klnk %{_usrsrc}/kernels/*/include/config |
155189d4 | 57 | %define kver %((echo X; %{__cat} %{klnk}/kernel.release |
af971a85 | 58 | 2>/dev/null) | tail -1) |
31b2e0b0 BB |
59 | %endif |
60 | %define kpkg kernel | |
61 | %define kdevpkg kernel-devel | |
62 | %define kverpkg %(echo %{kver} | cut -d'.' -f1-7) | |
af971a85 BB |
63 | %if %{undefined kdir} |
64 | %define kdir %{_usrsrc}/kernels/%{kver} | |
65 | %endif | |
66 | %if %{undefined kobj} | |
67 | %define kobj %{kdir} | |
68 | %endif | |
39a3d2a4 | 69 | |
c5f70460 | 70 | %else |
c5f70460 | 71 | |
31b2e0b0 | 72 | # Unsupported distro: |
af971a85 | 73 | %if %{undefined kver} |
155189d4 | 74 | %define kver X |
af971a85 BB |
75 | %endif |
76 | %define kpkg kernel | |
77 | %define kdevpkg kernel-devel | |
78 | %define kverpkg %{kver} | |
79 | %if %{undefined kdir} | |
80 | %define kdir %{_usrsrc}/kernels/%{kver} | |
81 | %endif | |
82 | %if %{undefined kobj} | |
83 | %define kobj %{kdir} | |
84 | %endif | |
31b2e0b0 BB |
85 | |
86 | %endif | |
87 | %endif | |
c5f70460 BB |
88 | %endif |
89 | ||
31b2e0b0 | 90 | # Distro agnostic: |
ac12b262 BB |
91 | %define name @PACKAGE@ |
92 | %define version @VERSION@ | |
93 | %define debug_package %{nil} | |
c5f70460 | 94 | |
155189d4 | 95 | |
ac12b262 BB |
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. | |
07114bde | 100 | %if %{defined build_src_rpm} |
ac12b262 BB |
101 | %define release @SPL_META_RELEASE@ |
102 | %define requires %{kpkg} | |
c5f70460 | 103 | %else |
155189d4 BB |
104 | %define relext %(echo %{kverpkg} | %{__sed} -e 's/-/_/g') |
105 | %define release @SPL_META_RELEASE@_%{relext} | |
ac12b262 | 106 | %define requires %{kpkg} = %{kverpkg} |
c5f70460 BB |
107 | %endif |
108 | ||
109 | Summary: Solaris Porting Layer | |
110 | Group: Utilities/System | |
111 | Name: %{name} | |
112 | Version: %{version} | |
113 | Release: %{release} | |
114 | License: GPL | |
115 | URL: git://eris.llnl.gov/spl.git | |
116 | BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id_u} -n) | |
117 | Source: %{name}-%{version}.tar.gz | |
e28bc916 | 118 | Requires: %{requires} |
155189d4 | 119 | BuildRequires: %{kdevpkg} |
c5f70460 BB |
120 | |
121 | %description | |
122 | The %{name} package contains kernel modules and support utilities for | |
123 | emulating Solaris style primatives in the linux kernel. These include, | |
124 | but are not limited too, atomic, condvar, debug, error, memory, kobject, | |
125 | kstat, mutex, rwlock, taskq, thread, time, and vnode APIs. | |
126 | ||
127 | %package devel | |
128 | Summary: Solaris Porting Layer Headers and Symbols | |
129 | Group: Development/Libraries | |
e28bc916 | 130 | Requires: %{requires} |
155189d4 | 131 | BuildRequires: %{kdevpkg} |
c5f70460 BB |
132 | |
133 | %description devel | |
2e0e7e69 | 134 | The %{name}-devel package contains the header files and Module{s}.symvers |
c5f70460 BB |
135 | symbols needed for building additional modules which use %{name}. |
136 | ||
137 | %prep | |
138 | %setup | |
139 | %build | |
39a3d2a4 | 140 | %configure --with-linux=%{kdir} --with-linux-obj=%{kobj} |
c5f70460 BB |
141 | make |
142 | ||
143 | %install | |
144 | rm -rf $RPM_BUILD_ROOT | |
145 | make DESTDIR=$RPM_BUILD_ROOT install | |
146 | ||
147 | %clean | |
148 | rm -rf $RPM_BUILD_ROOT | |
149 | ||
150 | %files | |
151 | %defattr(-, root, root) | |
152 | %doc AUTHORS ChangeLog COPYING DISCLAIMER INSTALL | |
153 | %{_sbindir}/* | |
154 | /lib/modules/* | |
155 | ||
156 | %files devel | |
157 | %defattr(-,root,root) | |
39a3d2a4 | 158 | %{_prefix}/src/* |
c5f70460 BB |
159 | |
160 | %post | |
161 | if [ -f /boot/System.map-%{kver} ]; then | |
162 | depmod -ae -F /boot/System.map-%{kver} %{kver} || exit 0 | |
163 | else | |
164 | depmod -ae %{kver} || exit 0 | |
165 | fi | |
166 | ||
167 | %postun | |
168 | if [ -f /boot/System.map-%{kver} ]; then | |
169 | depmod -ae -F /boot/System.map-%{kver} %{kver} || exit 0 | |
170 | else | |
171 | depmod -ae %{kver} || exit 0 | |
172 | fi |