]>
Commit | Line | Data |
---|---|---|
5a0c6d94 JB |
1 | # TODO: |
2 | # - Find pidfiles killproc --pidfile ${PIDFILE} -TERM instead of kill -TERM ${PID} | |
3 | # - Check transport-ibverbs package and ibverbs bcond | |
4 | # - Add passing options from /etc/sysconfig/glusterfsd to glusterfsd | |
5 | # - package /etc/glusterfs/glusterfs-logrotate as logrotate config | |
6 | # - package in proper emacs/vim locations: | |
7 | # /usr/share/doc/glusterfs/glusterfs-mode.el | |
8 | # /usr/share/doc/glusterfs/glusterfs.vim | |
4d40ce33 JB |
9 | # |
10 | # Conditional build: | |
4163e7ad | 11 | %bcond_without ibverbs # ib-verbs transport |
65d9dbc4 | 12 | %bcond_without systemtap # systemtap/dtrace support |
7f75179c | 13 | # |
d6a0cdd1 | 14 | Summary: Clustered File Storage that can scale to peta bytes |
dae7af53 | 15 | Summary(pl.UTF-8): Klastrowy system przechowywania plików skalujący się do petabajtów |
d6a0cdd1 | 16 | Name: glusterfs |
29b13fa9 | 17 | Version: 3.4.3 |
7b2c6d20 | 18 | Release: 1 |
4d40ce33 | 19 | License: LGPL v3+ or GPL v2 (libraries), GPL v3+ (programs) |
dae7af53 | 20 | Group: Applications/System |
4d40ce33 | 21 | Source0: http://download.gluster.org/pub/gluster/glusterfs/LATEST/glusterfs-%{version}.tar.gz |
29b13fa9 | 22 | # Source0-md5: 52cf3b00d874818e653f075e7dfb82d7 |
824dab89 | 23 | Source1: glusterfsd.init |
65d9dbc4 JB |
24 | Patch0: %{name}-link.patch |
25 | Patch1: %{name}-noquiet.patch | |
6c386b20 | 26 | URL: http://www.gluster.org/ |
4163e7ad JB |
27 | BuildRequires: autoconf >= 2.50 |
28 | BuildRequires: automake | |
d6a0cdd1 | 29 | BuildRequires: bison |
65d9dbc4 | 30 | BuildRequires: device-mapper-devel >= 2.02.79 |
d6a0cdd1 | 31 | BuildRequires: flex |
4d40ce33 | 32 | BuildRequires: libaio-devel |
7f75179c JB |
33 | BuildRequires: libfuse-devel >= 2.6 |
34 | %{?with_ibverbs:BuildRequires: libibverbs-devel >= 1.0.4} | |
abcc847c | 35 | BuildRequires: libtool |
4d40ce33 JB |
36 | BuildRequires: libxml2-devel >= 1:2.6.19 |
37 | BuildRequires: openssl-devel | |
38 | BuildRequires: pkgconfig | |
39 | BuildRequires: python >= 1:2.4 | |
abcc847c | 40 | BuildRequires: readline-devel |
41 | BuildRequires: rpm-pythonprov | |
d6a0cdd1 | 42 | BuildRequires: rpmbuild(macros) >= 1.228 |
65d9dbc4 | 43 | %{?with_systemtap:BuildRequires: systemtap-sdt-devel} |
d6a0cdd1 | 44 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
45 | ||
46 | %description | |
47 | GlusterFS is a clustered file-system capable of scaling to several | |
48 | peta-bytes. It aggregates various storage bricks over Infiniband RDMA | |
49 | or TCP/IP interconnect into one large parallel network file system. | |
50 | GlusterFS is one of the most sophisticated file system in terms of | |
51 | features and extensibility. It borrows a powerful concept called | |
52 | Translators from GNU Hurd kernel. Much of the code in GlusterFS is in | |
53 | userspace and easily manageable. | |
54 | ||
dae7af53 JB |
55 | %description -l pl.UTF-8 |
56 | GlusterFS to klastrowy system plików skalujący się do petabajtów. | |
abcc847c | 57 | Scala różne kawałki miejsca po łączach Infiniband RDMA lub TCP/IP w |
58 | jeden duży, równoległy sieciowy system plików. GlusterFS to jeden z | |
59 | najbardziej wyszukanych systemów plików jeśli chodzi o możliwości i | |
60 | rozszerzalność. Zapożycza potężną ideę o nazwie Translators z jądra | |
61 | GNU Hurd. Duża część kodu GlusterFS działa w przestrzeni użytkownika i | |
62 | jest łatwo zarządzalna. | |
11c9e8ee MK |
63 | |
64 | %package common | |
65d9dbc4 JB |
65 | Summary: GlusterFS common files including Translators |
66 | Summary(pl.UTF-8): Wspólne pliki GlusterFS-a, w tym translatory | |
5f2d10ee | 67 | Group: Libraries |
4d40ce33 | 68 | Requires: libxml2 >= 1:2.6.19 |
11c9e8ee MK |
69 | |
70 | %description common | |
71 | GlusterFS is a clustered file-system capable of scaling to several | |
72 | peta-bytes. It aggregates various storage bricks over Infiniband RDMA | |
73 | or TCP/IP interconnect into one large parallel network file system. | |
74 | GlusterFS is one of the most sophisticated file system in terms of | |
75 | features and extensibility. It borrows a powerful concept called | |
76 | Translators from GNU Hurd kernel. Much of the code in GlusterFS is in | |
77 | userspace and easily manageable. | |
78 | ||
79 | This package includes libglusterfs and glusterfs translator modules | |
80 | common to both GlusterFS server and client framework. | |
81 | ||
82 | %description common -l pl.UTF-8 | |
5f2d10ee | 83 | GlusterFS to klastrowy system plików skalujący się do petabajtów. |
abcc847c | 84 | Scala różne kawałki miejsca po łączach Infiniband RDMA lub TCP/IP w |
85 | jeden duży, równoległy sieciowy system plików. GlusterFS to jeden z | |
86 | najbardziej wyszukanych systemów plików jeśli chodzi o możliwości i | |
87 | rozszerzalność. Zapożycza potężną ideę o nazwie Translators z jądra | |
88 | GNU Hurd. Duża część kodu GlusterFS działa w przestrzeni użytkownika i | |
89 | jest łatwo zarządzalna. | |
5f2d10ee JB |
90 | |
91 | Ten pakiet zawiera libglusterfs i moduły translatorów glusterfs | |
92 | wspólne dla klienta jak i serwera GlusterFS-a. | |
11c9e8ee | 93 | |
65d9dbc4 JB |
94 | %package libs |
95 | Summary: GlusterFS libraries | |
96 | Summary(pl.UTF-8): Biblioteki GlusterFS-a | |
97 | Group: Libraries | |
98 | Conflicts: glusterfs-common < 3.4.0 | |
99 | ||
100 | %description libs | |
101 | GlusterFS libraries. | |
102 | ||
103 | %description libs -l pl.UTF-8 | |
104 | Biblioteki GlusterFS-a. | |
105 | ||
4163e7ad JB |
106 | %package devel |
107 | Summary: GlusterFS development files | |
108 | Summary(pl.UTF-8): Pliki programistyczne GlusterFS-a | |
109 | Group: Development/Libraries | |
65d9dbc4 | 110 | Requires: %{name}-libs = %{version}-%{release} |
4d40ce33 JB |
111 | # -lfl |
112 | Requires: flex | |
113 | Requires: openssl-devel | |
114 | Obsoletes: glusterfs-static | |
4163e7ad JB |
115 | |
116 | %description devel | |
117 | This package provides the development files for GlusterFS library. | |
118 | ||
119 | %description devel -l pl.UTF-8 | |
120 | Ten pakiet udostępnia pliki programistyczne biblioteki GlusterFS-a. | |
121 | ||
4163e7ad JB |
122 | %package transport-ibverbs |
123 | Summary: InfiniBand "verbs" transport plugins for GlusterFS | |
124 | Summary(pl.UTF-8): Wtyczki transportu "verbs" InfiniBand dla GlusterFS-a | |
125 | Group: Libraries | |
126 | Requires: %{name}-common = %{version}-%{release} | |
127 | Requires: libibverbs >= 1.0.4 | |
128 | ||
129 | %description transport-ibverbs | |
130 | InfiniBand "verbs" transport plugins for GlusterFS. | |
131 | ||
132 | %description transport-ibverbs -l pl.UTF-8 | |
133 | Wtyczki transportu "verbs" InfiniBand dla GlusterFS-a. | |
134 | ||
11c9e8ee MK |
135 | %package server |
136 | Summary: GlusterFS Server | |
5f2d10ee JB |
137 | Summary(pl.UTF-8): Serwer GlusterFS-a |
138 | Group: Daemons | |
6c386b20 | 139 | Requires: %{name}-client = %{version}-%{release} |
5f2d10ee JB |
140 | Requires: %{name}-common = %{version}-%{release} |
141 | Requires(post,preun): /sbin/chkconfig | |
142 | Requires: rc-scripts | |
11c9e8ee MK |
143 | |
144 | %description server | |
11c9e8ee MK |
145 | This package provides the glusterfs server daemon. |
146 | ||
147 | %description server -l pl.UTF-8 | |
5f2d10ee | 148 | Ten pakiet zawiera część serwerową GlusterFS-a. |
11c9e8ee MK |
149 | |
150 | %package client | |
151 | Summary: GlusterFS Client | |
5f2d10ee | 152 | Summary(pl.UTF-8): Klient GlusterFS |
11c9e8ee | 153 | Group: Applications/System |
5f2d10ee | 154 | Requires: %{name}-common = %{version}-%{release} |
7f75179c | 155 | Requires: libfuse >= 2.6 |
11c9e8ee MK |
156 | |
157 | %description client | |
11c9e8ee MK |
158 | This package provides the FUSE based GlusterFS client. |
159 | ||
160 | %description client -l pl.UTF-8 | |
5f2d10ee | 161 | Ten pakiet udostępnia opartego na FUSE klienta GlusterFS-a. |
11c9e8ee | 162 | |
65d9dbc4 JB |
163 | %package resource-agents |
164 | Summary: OCF Resource Agents for GlusterFS processes | |
165 | Summary(pl.UTF-8): Agenci OCF do monitorowania procesów GlusterFS-a | |
166 | Group: Applications/System | |
167 | Requires: %{name}-server = %{version}-%{release} | |
168 | Requires: resource-agents | |
169 | ||
170 | %description resource-agents | |
171 | OCF Resource Agents for GlusterFS processes. | |
172 | ||
173 | %description resource-agents -l pl.UTF-8 | |
174 | Agenci OCF do monitorowania procesów GlusterFS-a. | |
175 | ||
d6a0cdd1 | 176 | %prep |
4d40ce33 | 177 | %setup -q |
65d9dbc4 | 178 | %patch0 -p1 |
cfcff11b | 179 | %patch1 -p1 |
cfcff11b | 180 | |
d6a0cdd1 | 181 | %build |
4163e7ad JB |
182 | %{__libtoolize} |
183 | %{__aclocal} | |
184 | %{__autoconf} | |
185 | %{__automake} | |
1293e304 | 186 | %configure \ |
4d40ce33 | 187 | --disable-silent-rules \ |
abcc847c | 188 | --enable-fusermount \ |
65d9dbc4 JB |
189 | %{!?with_ibverbs:--disable-ibverbs} \ |
190 | --enable-systemtap%{!?with_systemtap:=no} \ | |
191 | --with-initdir=/etc/rc.d/init.d | |
cfcff11b | 192 | |
a53022f4 | 193 | %{__make} -j1 |
d6a0cdd1 | 194 | |
195 | %install | |
196 | rm -rf $RPM_BUILD_ROOT | |
4d40ce33 | 197 | install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{_var}/lib/glusterd} |
824dab89 | 198 | |
a53022f4 | 199 | %{__make} -j1 install \ |
d6a0cdd1 | 200 | DESTDIR=$RPM_BUILD_ROOT |
abcc847c | 201 | |
cfcff11b MK |
202 | # No idea why installs elsewhere than later expects to be |
203 | mv $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterd.vol $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterfsd.vol | |
d6a0cdd1 | 204 | |
5f2d10ee | 205 | install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/glusterfsd |
65d9dbc4 JB |
206 | install -d $RPM_BUILD_ROOT%{systemdtmpfilesdir} |
207 | cat >>$RPM_BUILD_ROOT%{systemdtmpfilesdir}/gluster.conf <<EOF | |
208 | d /var/run/gluster 0755 root root - | |
209 | EOF | |
5f2d10ee | 210 | |
4d40ce33 JB |
211 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*.la |
212 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*/*.la | |
213 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*/*/*.la | |
7f75179c | 214 | |
5a0c6d94 JB |
215 | %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/glusterfs/benchmarking |
216 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/python/syncdaemon/README.md | |
217 | ||
d6a0cdd1 | 218 | %clean |
219 | rm -rf $RPM_BUILD_ROOT | |
220 | ||
65d9dbc4 JB |
221 | %post libs -p /sbin/ldconfig |
222 | %postun libs -p /sbin/ldconfig | |
d34394d5 | 223 | |
11c9e8ee MK |
224 | %files common |
225 | %defattr(644,root,root,755) | |
65d9dbc4 | 226 | %doc ChangeLog NEWS README THANKS doc/glusterd.vol |
3abbc79a | 227 | %dir %{_sysconfdir}/%{name} |
abcc847c | 228 | # NOTE: glusterfs is link to glusterfsd and is needed by client mount |
dca0f35d MK |
229 | %attr(755,root,root) %{_sbindir}/glusterfs |
230 | %attr(755,root,root) %{_sbindir}/glusterfsd | |
13bdb3c9 | 231 | |
796930f1 | 232 | %dir %{_libdir}/glusterfs |
4d40ce33 JB |
233 | |
234 | %dir %{_libdir}/glusterfs/%{version} | |
235 | %dir %{_libdir}/glusterfs/%{version}/auth | |
236 | %attr(755,root,root) %{_libdir}/glusterfs/%{version}/auth/addr.so | |
237 | %attr(755,root,root) %{_libdir}/glusterfs/%{version}/auth/login.so | |
238 | ||
239 | %dir %{_libdir}/glusterfs/%{version}/rpc-transport | |
240 | %attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/socket.so | |
241 | ||
242 | %dir %{_libdir}/glusterfs/%{version}/xlator | |
243 | %dir %{_libdir}/glusterfs/%{version}/xlator/cluster | |
244 | %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/cluster/*.so | |
245 | %dir %{_libdir}/glusterfs/%{version}/xlator/debug | |
246 | %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/debug/*.so | |
247 | %dir %{_libdir}/glusterfs/%{version}/xlator/encryption | |
248 | %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/encryption/*.so | |
249 | %dir %{_libdir}/glusterfs/%{version}/xlator/features | |
250 | %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/features/*.so | |
4d40ce33 JB |
251 | %dir %{_libdir}/glusterfs/%{version}/xlator/mgmt |
252 | %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mgmt/glusterd.so | |
253 | %dir %{_libdir}/glusterfs/%{version}/xlator/mount | |
65d9dbc4 | 254 | %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mount/api.so |
4d40ce33 JB |
255 | %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mount/fuse.so |
256 | %dir %{_libdir}/glusterfs/%{version}/xlator/nfs | |
257 | %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/nfs/server.so | |
258 | %dir %{_libdir}/glusterfs/%{version}/xlator/performance | |
259 | %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/performance/*.so | |
260 | %dir %{_libdir}/glusterfs/%{version}/xlator/protocol | |
261 | %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/protocol/*.so | |
262 | %dir %{_libdir}/glusterfs/%{version}/xlator/storage | |
263 | %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/storage/*.so | |
264 | %dir %{_libdir}/glusterfs/%{version}/xlator/system | |
265 | %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/system/posix-acl.so | |
266 | %dir %{_libdir}/glusterfs/%{version}/xlator/testing | |
267 | %dir %{_libdir}/glusterfs/%{version}/xlator/testing/performance | |
268 | %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/testing/performance/*.so | |
269 | ||
270 | %attr(755,root,root) %{_libdir}/glusterfs/gsyncd | |
271 | ||
272 | %dir %{_libdir}/glusterfs/python | |
273 | %dir %{_libdir}/glusterfs/python/syncdaemon | |
274 | # gsyncd.py is a script, the rest probably don't require *.py | |
275 | %{_libdir}/glusterfs/python/syncdaemon/*.py* | |
276 | ||
65d9dbc4 JB |
277 | %{_mandir}/man8/glusterfs.8* |
278 | %{_mandir}/man8/glusterfsd.8* | |
cfcff11b | 279 | %dir %{_var}/log/glusterfs |
11c9e8ee | 280 | |
65d9dbc4 JB |
281 | %files libs |
282 | %defattr(644,root,root,755) | |
283 | %attr(755,root,root) %{_libdir}/libgfapi.so.*.*.* | |
284 | %attr(755,root,root) %ghost %{_libdir}/libgfapi.so.0 | |
285 | %attr(755,root,root) %{_libdir}/libgfrpc.so.*.*.* | |
286 | %attr(755,root,root) %ghost %{_libdir}/libgfrpc.so.0 | |
287 | %attr(755,root,root) %{_libdir}/libgfxdr.so.*.*.* | |
288 | %attr(755,root,root) %ghost %{_libdir}/libgfxdr.so.0 | |
289 | %attr(755,root,root) %{_libdir}/libglusterfs.so.*.*.* | |
290 | %attr(755,root,root) %ghost %{_libdir}/libglusterfs.so.0 | |
291 | ||
4163e7ad JB |
292 | %files devel |
293 | %defattr(644,root,root,755) | |
65d9dbc4 | 294 | %attr(755,root,root) %{_libdir}/libgfapi.so |
37b19a82 | 295 | %attr(755,root,root) %{_libdir}/libgfrpc.so |
37b19a82 | 296 | %attr(755,root,root) %{_libdir}/libgfxdr.so |
65d9dbc4 JB |
297 | %attr(755,root,root) %{_libdir}/libglusterfs.so |
298 | %{_libdir}/libgfapi.la | |
299 | %{_libdir}/libgfrpc.la | |
37b19a82 | 300 | %{_libdir}/libgfxdr.la |
65d9dbc4 JB |
301 | %{_libdir}/libglusterfs.la |
302 | %dir %{_includedir}/glusterfs | |
303 | %{_includedir}/glusterfs/api | |
304 | %{_pkgconfigdir}/glusterfs-api.pc | |
37b19a82 | 305 | |
9891d861 | 306 | %if %{with ibverbs} |
4163e7ad JB |
307 | %files transport-ibverbs |
308 | %defattr(644,root,root,755) | |
4d40ce33 | 309 | %attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/rdma.so |
9891d861 | 310 | %endif |
4163e7ad | 311 | |
11c9e8ee MK |
312 | %files server |
313 | %defattr(644,root,root,755) | |
cfcff11b | 314 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/glusterfsd.vol |
824dab89 | 315 | %attr(754,root,root) /etc/rc.d/init.d/glusterfsd |
37b19a82 | 316 | %attr(755,root,root) %{_sbindir}/glusterd |
65d9dbc4 JB |
317 | %{systemdtmpfilesdir}/gluster.conf |
318 | %{_mandir}/man8/glusterd.8* | |
4d40ce33 | 319 | %dir %{_var}/lib/glusterd |
65d9dbc4 | 320 | %dir %{_var}/run/gluster |
11c9e8ee | 321 | |
11c9e8ee MK |
322 | %files client |
323 | %defattr(644,root,root,755) | |
cfcff11b | 324 | %attr(755,root,root) %{_bindir}/fusermount-glusterfs |
11c9e8ee | 325 | %attr(755,root,root) /sbin/mount.glusterfs |
37b19a82 | 326 | %attr(755,root,root) %{_sbindir}/gluster |
4d40ce33 | 327 | %{_mandir}/man8/gluster.8* |
65d9dbc4 JB |
328 | %{_mandir}/man8/mount.glusterfs.8* |
329 | ||
330 | %files resource-agents | |
331 | %defattr(644,root,root,755) | |
332 | %dir %{_prefix}/lib/ocf/resource.d/glusterfs | |
333 | %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/glusterd | |
334 | %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/volume |