2 # - Fix x32 asm code inside crcutil-1.0
3 # - Consider using external libcrcutil package
4 # - systemd service files to metalogger, cgiserver packages
7 Summary: Open Source Distributed File System
8 Summary(pl.UTF-8): Rozporoszony system plików Open Source
14 Source0: https://github.com/lizardfs/lizardfs/archive/v.%{version}.tar.gz
15 # Source0-md5: 71766d18a5066506e54d952ab6056bd3
16 Source1: %{name}-master.service
17 Source2: %{name}-chunkserver.service
18 Patch0: %{name}-cmake_fix.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: docbook-dtd45-xml
26 BuildRequires: libfuse-devel
27 BuildRequires: pkgconfig
28 BuildRequires: rpmbuild(macros) >= 1.647
29 BuildRequires: zlib-devel
30 Requires(post,preun,postun): systemd-units >= 38
31 Requires(postun): /usr/sbin/groupdel
32 Requires(postun): /usr/sbin/userdel
33 Requires(pre): /bin/id
34 Requires(pre): /usr/bin/getgid
35 Requires(pre): /usr/sbin/groupadd
36 Requires(pre): /usr/sbin/useradd
37 Requires: systemd-units >= 0.38
40 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
43 LizardFS is a highly reliable, scalable and efficient distributed file
44 system. It spreads data over a number of physical servers, making it
45 visible to an end user as a single file system.
47 %description -l pl.UTF-8
48 LizardFS is jest niezawodnym, skalowalnym i efektywnym rozproszonym
49 systemem plików. Rozkłada dane na rózne fizyczne serwery, dająć
50 użytkownikowi końcowemu widok pojedynczego systemu plików.
53 Summary: Master/shadow metadata server
55 Requires: %{name} = %{version}-%{release}
58 Master/shadow metadata server
63 Requires: %{name} = %{version}-%{release}
65 %description chunkserver
71 Requires: %{name} = %{version}-%{release}
73 %description metalogger
79 Requires: %{name} = %{version}-%{release}
81 %description cgiserver
85 %setup -q -n %{name}-v.%{version}
93 -DBUILD_SHARED_LIBS=FALSE \
94 -DCMAKE_INSTALL_PREFIX:PATH=/ \
95 -DENABLE_DEBIAN_PATHS=TRUE
99 rm -rf $RPM_BUILD_ROOT
100 %{__make} -C build install \
101 DESTDIR=$RPM_BUILD_ROOT
103 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{systemdunitdir}}
104 install -d $RPM_BUILD_ROOT/var/lib/%{name}
105 cp -p $RPM_BUILD_ROOT/var/lib/mfs/metadata.mfs.empty $RPM_BUILD_ROOT%{_sysconfdir}/mfs/
106 install -d $RPM_BUILD_ROOT/var/lib/%{name}/master
107 install -d $RPM_BUILD_ROOT/var/lib/%{name}/chunkserver
108 mv $RPM_BUILD_ROOT/var/lib/mfs/metadata.mfs.empty $RPM_BUILD_ROOT/var/lib/%{name}/master/metadata.mfs
110 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}-master.service
111 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}-chunkserver.service
114 rm -rf $RPM_BUILD_ROOT
116 # NOTE: Using same user/group (mfs) as for MooseFS from mfs.spec
118 %useradd -u 282 -d /var/lib/%{name} -g mfs -c "MooseFS/LizardFS Daemon" mfs
121 if [ "$1" = "0" ]; then
127 %systemd_post %{name}-master.service
130 %systemd_preun %{name}-master.service
136 %systemd_post %{name}-chunkserver.service
139 %systemd_preun %{name}-chunkserver.service
145 %defattr(644,root,root,755)
146 %doc doc COPYING README UPGRADE NEWS INSTALL
147 %dir %{_sysconfdir}/mfs
148 %dir %attr(750,root,root) /var/lib/%{name}
149 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/globaliolimits.cfg.dist
150 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/iolimits.cfg.dist
151 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfsexports.cfg.dist
152 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfsgoals.cfg.dist
153 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfsmount.cfg.dist
154 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfstopology.cfg.dist
155 %attr(755,root,root) %{_bindir}/lizardfs-admin
156 %attr(755,root,root) %{_bindir}/lizardfs-probe
157 %attr(755,root,root) %{_bindir}/mfsappendchunks
158 %attr(755,root,root) %{_bindir}/mfscheckfile
159 %attr(755,root,root) %{_bindir}/mfsdeleattr
160 %attr(755,root,root) %{_bindir}/mfsdirinfo
161 %attr(755,root,root) %{_bindir}/mfsfileinfo
162 %attr(755,root,root) %{_bindir}/mfsfilerepair
163 %attr(755,root,root) %{_bindir}/mfsgeteattr
164 %attr(755,root,root) %{_bindir}/mfsgetgoal
165 %attr(755,root,root) %{_bindir}/mfsgettrashtime
166 %attr(755,root,root) %{_bindir}/mfsmakesnapshot
167 %attr(755,root,root) %{_bindir}/mfsmount
168 %attr(755,root,root) %{_bindir}/mfsrepquota
169 %attr(755,root,root) %{_bindir}/mfsrgetgoal
170 %attr(755,root,root) %{_bindir}/mfsrgettrashtime
171 %attr(755,root,root) %{_bindir}/mfsrsetgoal
172 %attr(755,root,root) %{_bindir}/mfsrsettrashtime
173 %attr(755,root,root) %{_bindir}/mfsseteattr
174 %attr(755,root,root) %{_bindir}/mfssetgoal
175 %attr(755,root,root) %{_bindir}/mfssetquota
176 %attr(755,root,root) %{_bindir}/mfssettrashtime
177 %attr(755,root,root) %{_bindir}/mfssnapshot
178 %attr(755,root,root) %{_bindir}/mfstools
179 %attr(755,root,root) %{_sbindir}/mfsmetadump
180 %attr(755,root,root) %{_sbindir}/mfsmetarestore
181 %attr(755,root,root) %{_sbindir}/mfsrestoremaster
182 %{_mandir}/man1/mfs*.1*
183 %{_mandir}/man5/globaliolimits.cfg.5*
184 %{_mandir}/man5/iolimits.cfg.5*
185 %{_mandir}/man5/mfs*.cfg.5*
186 %{_mandir}/man7/lizardfs.7*
187 %{_mandir}/man7/mfs.7
188 %{_mandir}/man7/moosefs.7
189 %{_mandir}/man8/lizardfs-admin.8*
190 %{_mandir}/man8/lizardfs-cgiserver.8*
191 %{_mandir}/man8/lizardfs-probe.8
192 %{_mandir}/man8/mfs*.8*
195 %defattr(644,root,root,755)
196 %attr(755,root,root) %{_sbindir}/mfsmaster
197 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfsmaster.cfg.dist
198 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/metadata.mfs.empty
199 %dir %attr(750,mfs,mfs) /var/lib/%{name}/master
200 %config(noreplace) %verify(not md5 mtime size) /var/lib/%{name}/master/metadata.mfs
201 %{systemdunitdir}/%{name}-master.service
204 %defattr(644,root,root,755)
205 %attr(755,root,root) %{_sbindir}/mfschunkserver
206 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfschunkserver.cfg.dist
207 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfshdd.cfg.dist
208 %dir %attr(750,mfs,mfs) /var/lib/%{name}/chunkserver
209 %{systemdunitdir}/%{name}-chunkserver.service
212 %defattr(644,root,root,755)
213 %attr(755,root,root) %{_sbindir}/mfsmetalogger
214 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfsmetalogger.cfg.dist
215 # %dir %attr(750,mfs,mfs) /var/lib/%{name}/metalogger
218 %defattr(644,root,root,755)
219 %attr(755,root,root) %{_sbindir}/lizardfs-cgiserver
220 %attr(755,root,root) %{_sbindir}/mfscgiserv