2 # - systemd service files to metalogger, cgiserver packages
4 # - fix judy lib usage on x32 arch
6 Summary: Open Source Distributed File System
7 Summary(pl.UTF-8): Rozporoszony system plików Open Source
13 Source0: https://github.com/lizardfs/lizardfs/archive/v%{version}/%{name}-%{version}.tar.gz
14 # Source0-md5: e584aa9534f900ca04d40a4772e01302
15 Source1: %{name}-master.service
16 Source2: %{name}-chunkserver.service
17 Patch0: system-spdlog.patch
19 Patch2: 0001-Add-missing-header.patch
20 Patch3: spdlog-1.patch
21 URL: https://github.com/lizardfs/lizardfs
22 BuildRequires: /usr/bin/a2x
23 BuildRequires: asciidoc
24 BuildRequires: boost-devel
25 BuildRequires: cmake >= 3.4.0
26 BuildRequires: crcutil-devel >= 1.0
27 BuildRequires: db5.3-devel
28 BuildRequires: docbook-dtd45-xml
30 BuildConflicts: judy-devel
32 BuildRequires: judy-devel
34 BuildRequires: libfuse-devel
35 BuildRequires: pkgconfig
36 BuildRequires: rpmbuild(macros) >= 1.647
37 BuildRequires: spdlog-devel >= 1.12-2
38 BuildRequires: zlib-devel
39 Requires(post,preun,postun): systemd-units >= 38
40 Requires(postun): /usr/sbin/groupdel
41 Requires(postun): /usr/sbin/userdel
42 Requires(pre): /bin/id
43 Requires(pre): /usr/bin/getgid
44 Requires(pre): /usr/sbin/groupadd
45 Requires(pre): /usr/sbin/useradd
46 Requires: systemd-units >= 0.38
49 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
52 LizardFS is a highly reliable, scalable and efficient distributed file
53 system. It spreads data over a number of physical servers, making it
54 visible to an end user as a single file system.
56 %description -l pl.UTF-8
57 LizardFS is jest niezawodnym, skalowalnym i efektywnym rozproszonym
58 systemem plików. Rozkłada dane na rózne fizyczne serwery, dająć
59 użytkownikowi końcowemu widok pojedynczego systemu plików.
62 Summary: Master/shadow metadata server
64 Requires: %{name} = %{version}-%{release}
67 Master/shadow metadata server
72 Requires: %{name} = %{version}-%{release}
74 %description chunkserver
80 Requires: %{name} = %{version}-%{release}
82 %description metalogger
88 Requires: %{name} = %{version}-%{release}
90 %description cgiserver
100 %{__rm} -r external/crcutil-1.0
103 %{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+python2(\s|$),#!%{__python}\1,' \
104 src/cgi/chart.cgi.in \
105 src/cgi/lizardfs-cgiserver.py.in \
107 src/cgi/cgiserv.py.in
109 %{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+bash(\s|$),#!/bin/bash\1,' \
110 src/master/mfsrestoremaster.in \
111 src/tools/mfstools.sh
117 -DBUILD_SHARED_LIBS=FALSE \
118 -DCMAKE_INSTALL_PREFIX:PATH=/ \
119 -DENABLE_DEBIAN_PATHS=TRUE
123 rm -rf $RPM_BUILD_ROOT
124 %{__make} -C build install \
125 DESTDIR=$RPM_BUILD_ROOT
127 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{systemdunitdir}}
128 install -d $RPM_BUILD_ROOT/var/lib/%{name}
129 cp -p $RPM_BUILD_ROOT/var/lib/mfs/metadata.mfs.empty $RPM_BUILD_ROOT%{_sysconfdir}/mfs/
130 install -d $RPM_BUILD_ROOT/var/lib/%{name}/master
131 install -d $RPM_BUILD_ROOT/var/lib/%{name}/chunkserver
132 mv $RPM_BUILD_ROOT/var/lib/mfs/metadata.mfs.empty $RPM_BUILD_ROOT/var/lib/%{name}/master/metadata.mfs
134 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}-master.service
135 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}-chunkserver.service
138 rm -rf $RPM_BUILD_ROOT
141 # NOTE: Using same user/group (mfs) as for MooseFS from mfs.spec
143 %useradd -u 282 -d /var/lib/%{name} -g mfs -c "MooseFS/LizardFS Daemon" mfs
146 if [ "$1" = "0" ]; then
152 %systemd_post %{name}-master.service
155 %systemd_preun %{name}-master.service
161 %systemd_post %{name}-chunkserver.service
164 %systemd_preun %{name}-chunkserver.service
170 %defattr(644,root,root,755)
171 %doc doc COPYING README.md UPGRADE NEWS INSTALL
172 %dir %{_sysconfdir}/mfs
173 %dir %attr(750,root,root) /var/lib/%{name}
174 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/globaliolimits.cfg.dist
175 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/iolimits.cfg.dist
176 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfsexports.cfg.dist
177 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfsgoals.cfg.dist
178 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfsmount.cfg.dist
179 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfstopology.cfg.dist
180 %attr(755,root,root) %{_bindir}/lizardfs-admin
181 %attr(755,root,root) %{_bindir}/lizardfs-probe
182 %attr(755,root,root) %{_bindir}/lizardfs
183 %attr(755,root,root) %{_bindir}/mfsappendchunks
184 %attr(755,root,root) %{_bindir}/mfscheckfile
185 %attr(755,root,root) %{_bindir}/mfsdeleattr
186 %attr(755,root,root) %{_bindir}/mfsdirinfo
187 %attr(755,root,root) %{_bindir}/mfsfileinfo
188 %attr(755,root,root) %{_bindir}/mfsfilerepair
189 %attr(755,root,root) %{_bindir}/mfsgeteattr
190 %attr(755,root,root) %{_bindir}/mfsgetgoal
191 %attr(755,root,root) %{_bindir}/mfsgettrashtime
192 %attr(755,root,root) %{_bindir}/mfsmakesnapshot
193 %attr(755,root,root) %{_bindir}/mfsmount
194 %attr(755,root,root) %{_bindir}/mfsrepquota
195 %attr(755,root,root) %{_bindir}/mfsrgetgoal
196 %attr(755,root,root) %{_bindir}/mfsrgettrashtime
197 %attr(755,root,root) %{_bindir}/mfsrsetgoal
198 %attr(755,root,root) %{_bindir}/mfsrsettrashtime
199 %attr(755,root,root) %{_bindir}/mfsseteattr
200 %attr(755,root,root) %{_bindir}/mfssetgoal
201 %attr(755,root,root) %{_bindir}/mfssetquota
202 %attr(755,root,root) %{_bindir}/mfssettrashtime
203 %attr(755,root,root) %{_bindir}/mfstools.sh
204 %attr(755,root,root) %{_sbindir}/mfsmetadump
205 %attr(755,root,root) %{_sbindir}/mfsmetarestore
206 %attr(755,root,root) %{_sbindir}/mfsrestoremaster
207 %{_mandir}/man1/mfs*.1*
208 %{_mandir}/man1/lizardfs-*.1*
209 %{_mandir}/man1/lizardfs.1*
210 %{_mandir}/man5/globaliolimits.cfg.5*
211 %{_mandir}/man5/iolimits.cfg.5*
212 %{_mandir}/man5/mfs*.cfg.5*
213 %{_mandir}/man7/lizardfs.7*
214 %{_mandir}/man7/mfs.7
215 %{_mandir}/man7/moosefs.7
216 %{_mandir}/man8/lizardfs-admin.8*
217 %{_mandir}/man8/lizardfs-cgiserver.8*
218 %{_mandir}/man8/lizardfs-probe.8
219 %{_mandir}/man8/mfs*.8*
220 /etc/bash_completion.d/lizardfs
224 %defattr(644,root,root,755)
225 %attr(755,root,root) %{_sbindir}/mfsmaster
226 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfsmaster.cfg.dist
227 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/metadata.mfs.empty
228 %dir %attr(750,mfs,mfs) /var/lib/%{name}/master
229 %config(noreplace) %verify(not md5 mtime size) /var/lib/%{name}/master/metadata.mfs
230 %{systemdunitdir}/%{name}-master.service
233 %defattr(644,root,root,755)
234 %attr(755,root,root) %{_sbindir}/mfschunkserver
235 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfschunkserver.cfg.dist
236 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfshdd.cfg.dist
237 %dir %attr(750,mfs,mfs) /var/lib/%{name}/chunkserver
238 %{systemdunitdir}/%{name}-chunkserver.service
241 %defattr(644,root,root,755)
242 %attr(755,root,root) %{_sbindir}/mfsmetalogger
243 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfsmetalogger.cfg.dist
244 # %dir %attr(750,mfs,mfs) /var/lib/%{name}/metalogger
247 %defattr(644,root,root,755)
248 %attr(755,root,root) %{_sbindir}/lizardfs-cgiserver
249 %attr(755,root,root) %{_sbindir}/mfscgiserv