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