]> git.pld-linux.org Git - packages/spl.git/blob - spl.spec
e73574eb92624715d50e7c9394923c474daa7ac8
[packages/spl.git] / spl.spec
1 #
2 # Conditional build:
3 %bcond_without  dist_kernel     # allow non-distribution kernel
4 %bcond_without  kernel          # don't build kernel modules
5 %bcond_without  userspace       # don't build userspace programs
6 %bcond_with     verbose         # verbose build (V=1)
7 #
8 %if %{without kernel}
9 %undefine       with_dist_kernel
10 %endif
11
12 # The goal here is to have main, userspace, package built once with
13 # simple release number, and only rebuild kernel packages with kernel
14 # version as part of release number, without the need to bump release
15 # with every kernel change.
16 %if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
17 %{error:kernel and userspace cannot be built at the same time on PLD builders}
18 exit 1
19 %endif
20
21 %if "%{_alt_kernel}" != "%{nil}"
22 %if 0%{?build_kernels:1}
23 %{error:alt_kernel and build_kernels are mutually exclusive}
24 exit 1
25 %endif
26 %undefine       with_userspace
27 %global         _build_kernels          %{alt_kernel}
28 %else
29 %global         _build_kernels          %{?build_kernels:,%{?build_kernels}}
30 %endif
31
32 %if %{without userspace}
33 # nothing to be placed to debuginfo package
34 %define         _enable_debug_packages  0
35 %endif
36
37 %define         _duplicate_files_terminate_build        0
38
39 %define         kbrs    %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo "BuildRequires:kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2" ; done)
40 %define         kpkg    %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%kernel_pkg ; done)
41 %define         bkpkg   %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%build_kernel_pkg ; done)
42
43 %define         pname   spl
44 %define         rel     7
45 Summary:        Solaris Porting Layer
46 Summary(pl.UTF-8):      Solaris Porting Layer - warstwa do portowania kodu z Solarisa
47 Name:           %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
48 Version:        0.6.2
49 Release:        %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
50 License:        GPL v2+
51 Group:          Applications/System
52 Source0:        http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/%{pname}-%{version}.tar.gz
53 # Source0-md5:  f00535bf89a7fde0e08f44a14a1f1e03
54 Patch0:         %{pname}-linux-3.12.patch
55 Patch1:         %{pname}-linux-3.13.patch
56 URL:            http://zfsonlinux.org/
57 BuildRequires:  rpmbuild(macros) >= 1.678
58 %{?with_dist_kernel:%{expand:%kbrs}}
59 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
60
61 %description
62 Solaris Porting Layer.
63
64 %description -l pl.UTF-8
65 Solaris Porting Layer - warstwa do portowania kodu z Solarisa.
66
67 %define kernel_pkg()\
68 %package -n kernel%{_alt_kernel}-spl\
69 Summary:        Solaris Porting Layer - Linux kernel modules\
70 Summary(pl.UTF-8):      Solaris Porting Layer - moduły jądra Linuksa\
71 Release:        %{rel}@%{_kernel_ver_str}\
72 Group:          Base/Kernel\
73 Requires(post,postun):  /sbin/depmod\
74 %if %{with dist_kernel}\
75 %requires_releq_kernel\
76 Requires(postun):       %releq_kernel\
77 %endif\
78 \
79 %description -n kernel%{_alt_kernel}-spl\
80 Solaris Porting Layer - Linux kernel modules.\
81 \
82 %description -n kernel%{_alt_kernel}-spl -l pl.UTF-8\
83 Solaris Porting Layer - moduły jądra Linuksa.\
84 \
85 %package -n kernel%{_alt_kernel}-spl-devel\
86 Summary:        Solaris Porting Layer - Linux kernel headers\
87 Summary(pl.UTF-8):      Solaris Porting Layer - pliki nagłówkowe jądra Linuksa\
88 Release:        %{rel}@%{_kernel_ver_str}\
89 Group:          Development/Building\
90 %{?with_dist_kernel:Requires:   kernel%{_alt_kernel}-headers}\
91 \
92 %description -n kernel%{_alt_kernel}-spl-devel\
93 Solaris Porting Layer - Linux kernel headers configured for PLD\
94 kernel%{_alt_kernel}, version %{_kernel_ver}.\
95 \
96 %description -n kernel%{_alt_kernel}-spl-devel -l pl.UTF-8\
97 Solaris Porting Layer - pliki nagłówkowe jądra Linuksa skonfigurowane\
98 dla jądra PLD z pakietu kernel%{_alt_kernel} w wersji %{_kernel_ver}.\
99 \
100 %files -n kernel%{_alt_kernel}-spl\
101 %defattr(644,root,root,755)\
102 %dir /lib/modules/%{_kernel_ver}/misc/spl\
103 /lib/modules/%{_kernel_ver}/misc/spl/spl.ko*\
104 %dir /lib/modules/%{_kernel_ver}/misc/splat\
105 /lib/modules/%{_kernel_ver}/misc/splat/splat.ko*\
106 \
107 %files -n kernel%{_alt_kernel}-spl-devel\
108 %defattr(644,root,root,755)\
109 %dir /usr/src/spl-%{version}\
110 /usr/src/spl-%{version}/spl*.in\
111 /usr/src/spl-%{version}/include\
112 /usr/src/spl-%{version}/%{_kernel_ver}\
113 \
114 %post   -n kernel%{_alt_kernel}-spl\
115 %depmod %{_kernel_ver}\
116 \
117 %postun -n kernel%{_alt_kernel}-spl\
118 %depmod %{_kernel_ver}\
119 %{nil}
120
121 %define build_kernel_pkg()\
122 %configure \\\
123         --disable-silent-rules \\\
124         --with-config="kernel" \\\
125         --with-linux=%{_kernelsrcdir}\
126 \
127 %{__make} clean\
128 %{__make} %{?with_verbose:V=1}\
129 p=`pwd`\
130 %{__make} install DESTDIR=$p/installed INSTALL_MOD_DIR=misc\
131 %{nil}
132
133 %{?with_kernel:%{expand:%kpkg}}
134
135 %prep
136 %setup -q -n %{pname}-%{version}
137 %patch0 -p1
138 %patch1 -p1
139
140 %build
141 %{__aclocal} -I config
142 %{__autoconf}
143 %{__autoheader}
144 %{__automake}
145 %{?with_kernel:%{expand:%bkpkg}}
146
147 %if %{with userspace}
148 %configure \
149         --disable-silent-rules \
150         --with-config="user"
151
152 %{__make} \
153         %{?with_verbose:V=1}
154 %endif
155
156 %install
157 rm -rf $RPM_BUILD_ROOT
158
159 %if %{with kernel}
160 install -d $RPM_BUILD_ROOT
161 cp -a installed/* $RPM_BUILD_ROOT
162 %endif
163
164 %if %{with userspace}
165 %{__make} install \
166         DESTDIR=$RPM_BUILD_ROOT
167 %endif
168
169 %clean
170 rm -rf $RPM_BUILD_ROOT
171
172 %if %{with userspace}
173 %files
174 %defattr(644,root,root,755)
175 %doc AUTHORS DISCLAIMER
176 %attr(755,root,root) %{_sbindir}/splat
177 %{_mandir}/man1/splat.1*
178 %endif
This page took 0.083393 seconds and 2 git commands to generate.