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 URL: https://github.com/lizardfs/lizardfs
21 BuildRequires: /usr/bin/a2x
22 BuildRequires: asciidoc
23 BuildRequires: boost-devel
24 BuildRequires: cmake >= 3.4.0
25 BuildRequires: crcutil-devel >= 1.0
26 BuildRequires: db5.3-devel
27 BuildRequires: docbook-dtd45-xml
29 BuildConflicts: judy-devel
31 BuildRequires: judy-devel
33 BuildRequires: libfuse-devel
34 BuildRequires: pkgconfig
35 BuildRequires: rpmbuild(macros) >= 1.647
36 BuildRequires: spdlog-devel >= 0.14.0
37 BuildRequires: zlib-devel
38 Requires(post,preun,postun): systemd-units >= 38
39 Requires(postun): /usr/sbin/groupdel
40 Requires(postun): /usr/sbin/userdel
41 Requires(pre): /bin/id
42 Requires(pre): /usr/bin/getgid
43 Requires(pre): /usr/sbin/groupadd
44 Requires(pre): /usr/sbin/useradd
45 Requires: systemd-units >= 0.38
48 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
51 LizardFS is a highly reliable, scalable and efficient distributed file
52 system. It spreads data over a number of physical servers, making it
53 visible to an end user as a single file system.
55 %description -l pl.UTF-8
56 LizardFS is jest niezawodnym, skalowalnym i efektywnym rozproszonym
57 systemem plików. Rozkłada dane na rózne fizyczne serwery, dająć
58 użytkownikowi końcowemu widok pojedynczego systemu plików.
61 Summary: Master/shadow metadata server
63 Requires: %{name} = %{version}-%{release}
66 Master/shadow metadata server
71 Requires: %{name} = %{version}-%{release}
73 %description chunkserver
79 Requires: %{name} = %{version}-%{release}
81 %description metalogger
87 Requires: %{name} = %{version}-%{release}
89 %description cgiserver
98 %{__rm} -r external/crcutil-1.0
101 %{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+python2(\s|$),#!%{__python}\1,' \
102 src/cgi/chart.cgi.in \
103 src/cgi/lizardfs-cgiserver.py.in \
105 src/cgi/cgiserv.py.in
107 %{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+bash(\s|$),#!/bin/bash\1,' \
108 src/master/mfsrestoremaster.in \
109 src/tools/mfstools.sh
115 -DBUILD_SHARED_LIBS=FALSE \
116 -DCMAKE_INSTALL_PREFIX:PATH=/ \
117 -DENABLE_DEBIAN_PATHS=TRUE
121 rm -rf $RPM_BUILD_ROOT
122 %{__make} -C build install \
123 DESTDIR=$RPM_BUILD_ROOT
125 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{systemdunitdir}}
126 install -d $RPM_BUILD_ROOT/var/lib/%{name}
127 cp -p $RPM_BUILD_ROOT/var/lib/mfs/metadata.mfs.empty $RPM_BUILD_ROOT%{_sysconfdir}/mfs/
128 install -d $RPM_BUILD_ROOT/var/lib/%{name}/master
129 install -d $RPM_BUILD_ROOT/var/lib/%{name}/chunkserver
130 mv $RPM_BUILD_ROOT/var/lib/mfs/metadata.mfs.empty $RPM_BUILD_ROOT/var/lib/%{name}/master/metadata.mfs
132 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}-master.service
133 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}-chunkserver.service
136 rm -rf $RPM_BUILD_ROOT
139 # NOTE: Using same user/group (mfs) as for MooseFS from mfs.spec
141 %useradd -u 282 -d /var/lib/%{name} -g mfs -c "MooseFS/LizardFS Daemon" mfs
144 if [ "$1" = "0" ]; then
150 %systemd_post %{name}-master.service
153 %systemd_preun %{name}-master.service
159 %systemd_post %{name}-chunkserver.service
162 %systemd_preun %{name}-chunkserver.service
168 %defattr(644,root,root,755)
169 %doc doc COPYING README.md UPGRADE NEWS INSTALL
170 %dir %{_sysconfdir}/mfs
171 %dir %attr(750,root,root) /var/lib/%{name}
172 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/globaliolimits.cfg.dist
173 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/iolimits.cfg.dist
174 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfsexports.cfg.dist
175 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfsgoals.cfg.dist
176 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfsmount.cfg.dist
177 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfstopology.cfg.dist
178 %attr(755,root,root) %{_bindir}/lizardfs-admin
179 %attr(755,root,root) %{_bindir}/lizardfs-probe
180 %attr(755,root,root) %{_bindir}/lizardfs
181 %attr(755,root,root) %{_bindir}/mfsappendchunks
182 %attr(755,root,root) %{_bindir}/mfscheckfile
183 %attr(755,root,root) %{_bindir}/mfsdeleattr
184 %attr(755,root,root) %{_bindir}/mfsdirinfo
185 %attr(755,root,root) %{_bindir}/mfsfileinfo
186 %attr(755,root,root) %{_bindir}/mfsfilerepair
187 %attr(755,root,root) %{_bindir}/mfsgeteattr
188 %attr(755,root,root) %{_bindir}/mfsgetgoal
189 %attr(755,root,root) %{_bindir}/mfsgettrashtime
190 %attr(755,root,root) %{_bindir}/mfsmakesnapshot
191 %attr(755,root,root) %{_bindir}/mfsmount
192 %attr(755,root,root) %{_bindir}/mfsrepquota
193 %attr(755,root,root) %{_bindir}/mfsrgetgoal
194 %attr(755,root,root) %{_bindir}/mfsrgettrashtime
195 %attr(755,root,root) %{_bindir}/mfsrsetgoal
196 %attr(755,root,root) %{_bindir}/mfsrsettrashtime
197 %attr(755,root,root) %{_bindir}/mfsseteattr
198 %attr(755,root,root) %{_bindir}/mfssetgoal
199 %attr(755,root,root) %{_bindir}/mfssetquota
200 %attr(755,root,root) %{_bindir}/mfssettrashtime
201 %attr(755,root,root) %{_bindir}/mfstools.sh
202 %attr(755,root,root) %{_sbindir}/mfsmetadump
203 %attr(755,root,root) %{_sbindir}/mfsmetarestore
204 %attr(755,root,root) %{_sbindir}/mfsrestoremaster
205 %{_mandir}/man1/mfs*.1*
206 %{_mandir}/man1/lizardfs-*.1*
207 %{_mandir}/man1/lizardfs.1*
208 %{_mandir}/man5/globaliolimits.cfg.5*
209 %{_mandir}/man5/iolimits.cfg.5*
210 %{_mandir}/man5/mfs*.cfg.5*
211 %{_mandir}/man7/lizardfs.7*
212 %{_mandir}/man7/mfs.7
213 %{_mandir}/man7/moosefs.7
214 %{_mandir}/man8/lizardfs-admin.8*
215 %{_mandir}/man8/lizardfs-cgiserver.8*
216 %{_mandir}/man8/lizardfs-probe.8
217 %{_mandir}/man8/mfs*.8*
218 /etc/bash_completion.d/lizardfs
222 %defattr(644,root,root,755)
223 %attr(755,root,root) %{_sbindir}/mfsmaster
224 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfsmaster.cfg.dist
225 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/metadata.mfs.empty
226 %dir %attr(750,mfs,mfs) /var/lib/%{name}/master
227 %config(noreplace) %verify(not md5 mtime size) /var/lib/%{name}/master/metadata.mfs
228 %{systemdunitdir}/%{name}-master.service
231 %defattr(644,root,root,755)
232 %attr(755,root,root) %{_sbindir}/mfschunkserver
233 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfschunkserver.cfg.dist
234 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfshdd.cfg.dist
235 %dir %attr(750,mfs,mfs) /var/lib/%{name}/chunkserver
236 %{systemdunitdir}/%{name}-chunkserver.service
239 %defattr(644,root,root,755)
240 %attr(755,root,root) %{_sbindir}/mfsmetalogger
241 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfsmetalogger.cfg.dist
242 # %dir %attr(750,mfs,mfs) /var/lib/%{name}/metalogger
245 %defattr(644,root,root,755)
246 %attr(755,root,root) %{_sbindir}/lizardfs-cgiserver
247 %attr(755,root,root) %{_sbindir}/mfscgiserv