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