]> git.pld-linux.org Git - packages/lizardfs.git/blame - lizardfs.spec
- fix building with spdlog 1.x
[packages/lizardfs.git] / lizardfs.spec
CommitLineData
69fdf778 1# TODO:
db568ec4 2# - systemd service files to metalogger, cgiserver packages
18cf1acb 3# - Fix cgiserver
211e462d 4# - fix judy lib usage on x32 arch
db568ec4 5
19bf9ddd
MK
6Summary: Open Source Distributed File System
7Summary(pl.UTF-8): Rozporoszony system plików Open Source
8Name: lizardfs
207db56a
JR
9Version: 3.12.0
10Release: 1
19bf9ddd
MK
11License: GPL v3
12Group: Applications
207db56a
JR
13Source0: https://github.com/lizardfs/lizardfs/archive/v%{version}/%{name}-%{version}.tar.gz
14# Source0-md5: e584aa9534f900ca04d40a4772e01302
db568ec4
MK
15Source1: %{name}-master.service
16Source2: %{name}-chunkserver.service
207db56a 17Patch0: system-spdlog.patch
85466b53 18Patch1: x32.patch
207db56a 19Patch2: 0001-Add-missing-header.patch
4b13ae9d 20Patch3: spdlog-1.patch
19bf9ddd 21URL: https://github.com/lizardfs/lizardfs
7b264090 22BuildRequires: /usr/bin/a2x
69fdf778
MK
23BuildRequires: asciidoc
24BuildRequires: boost-devel
25BuildRequires: cmake >= 3.4.0
f98b528c 26BuildRequires: crcutil-devel >= 1.0
211e462d 27BuildRequires: db5.3-devel
69fdf778 28BuildRequires: docbook-dtd45-xml
211e462d
MK
29%ifarch x32
30BuildConflicts: judy-devel
31%else
32BuildRequires: judy-devel
33%endif
69fdf778
MK
34BuildRequires: libfuse-devel
35BuildRequires: pkgconfig
db568ec4 36BuildRequires: rpmbuild(macros) >= 1.647
4b13ae9d 37BuildRequires: spdlog-devel >= 1.12-2
0d2e5917 38BuildRequires: zlib-devel
db568ec4 39Requires(post,preun,postun): systemd-units >= 38
7b264090
ER
40Requires(postun): /usr/sbin/groupdel
41Requires(postun): /usr/sbin/userdel
42Requires(pre): /bin/id
43Requires(pre): /usr/bin/getgid
44Requires(pre): /usr/sbin/groupadd
45Requires(pre): /usr/sbin/useradd
0d2e5917 46Requires: systemd-units >= 0.38
7b264090
ER
47Provides: group(mfs)
48Provides: user(mfs)
19bf9ddd
MK
49BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
50
51%description
69fdf778
MK
52LizardFS is a highly reliable, scalable and efficient distributed file
53system. It spreads data over a number of physical servers, making it
54visible to an end user as a single file system.
19bf9ddd
MK
55
56%description -l pl.UTF-8
69fdf778
MK
57LizardFS is jest niezawodnym, skalowalnym i efektywnym rozproszonym
58systemem plików. Rozkłada dane na rózne fizyczne serwery, dająć
59użytkownikowi końcowemu widok pojedynczego systemu plików.
19bf9ddd 60
d6cda542 61%package master
69fdf778
MK
62Summary: Master/shadow metadata server
63Group: Applications
64Requires: %{name} = %{version}-%{release}
65
d6cda542
MK
66%description master
67Master/shadow metadata server
68
d6cda542 69%package chunkserver
69fdf778
MK
70Summary: Chunk server
71Group: Applications
72Requires: %{name} = %{version}-%{release}
73
d6cda542
MK
74%description chunkserver
75Chunk server
76
d6cda542 77%package metalogger
69fdf778
MK
78Summary: Metalogger
79Group: Applications
80Requires: %{name} = %{version}-%{release}
81
d6cda542
MK
82%description metalogger
83Metalogger
84
d6cda542 85%package cgiserver
69fdf778
MK
86Summary: CGI server
87Group: Applications
88Requires: %{name} = %{version}-%{release}
89
d6cda542
MK
90%description cgiserver
91CGI server
92
19bf9ddd 93%prep
c8289e8b 94%setup -q
207db56a 95%patch0 -p1
85466b53 96%patch1 -p1
207db56a 97%patch2 -p1
4b13ae9d 98%patch3 -p1
19bf9ddd 99
f98b528c
ER
100%{__rm} -r external/crcutil-1.0
101
207db56a
JR
102
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 \
106 src/cgi/mfs.cgi.in \
107 src/cgi/cgiserv.py.in
108
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
112
19bf9ddd
MK
113%build
114install -d build
115cd build
85466b53 116%cmake ../ \
18cf1acb
MK
117 -DBUILD_SHARED_LIBS=FALSE \
118 -DCMAKE_INSTALL_PREFIX:PATH=/ \
119 -DENABLE_DEBIAN_PATHS=TRUE
19bf9ddd
MK
120%{__make}
121
122%install
123rm -rf $RPM_BUILD_ROOT
955db8b0 124%{__make} -C build install \
19bf9ddd 125 DESTDIR=$RPM_BUILD_ROOT
69fdf778 126
955db8b0 127install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{systemdunitdir}}
d6cda542 128install -d $RPM_BUILD_ROOT/var/lib/%{name}
19d7eb09 129cp -p $RPM_BUILD_ROOT/var/lib/mfs/metadata.mfs.empty $RPM_BUILD_ROOT%{_sysconfdir}/mfs/
69fdf778
MK
130install -d $RPM_BUILD_ROOT/var/lib/%{name}/master
131install -d $RPM_BUILD_ROOT/var/lib/%{name}/chunkserver
152dce4a 132mv $RPM_BUILD_ROOT/var/lib/mfs/metadata.mfs.empty $RPM_BUILD_ROOT/var/lib/%{name}/master/metadata.mfs
19bf9ddd 133
18cf1acb
MK
134cp -p %{SOURCE1} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}-master.service
135cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}-chunkserver.service
db568ec4 136
19bf9ddd
MK
137%clean
138rm -rf $RPM_BUILD_ROOT
139
50a14354 140%pre
13290c9c
ER
141# NOTE: Using same user/group (mfs) as for MooseFS from mfs.spec
142%groupadd -g 282 mfs
143%useradd -u 282 -d /var/lib/%{name} -g mfs -c "MooseFS/LizardFS Daemon" mfs
144
145%postun
146if [ "$1" = "0" ]; then
147 %userremove mfs
148 %groupremove mfs
149fi
150
955db8b0
ER
151%post master
152%systemd_post %{name}-master.service
153
154%preun master
155%systemd_preun %{name}-master.service
156
157%postun master
158%systemd_reload
159
160%post chunkserver
161%systemd_post %{name}-chunkserver.service
162
163%preun chunkserver
164%systemd_preun %{name}-chunkserver.service
165
166%postun chunkserver
167%systemd_reload
168
19bf9ddd
MK
169%files
170%defattr(644,root,root,755)
207db56a 171%doc doc COPYING README.md UPGRADE NEWS INSTALL
69fdf778
MK
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
d6cda542
MK
180%attr(755,root,root) %{_bindir}/lizardfs-admin
181%attr(755,root,root) %{_bindir}/lizardfs-probe
c8289e8b 182%attr(755,root,root) %{_bindir}/lizardfs
d6cda542
MK
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
d6cda542
MK
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
c8289e8b 203%attr(755,root,root) %{_bindir}/mfstools.sh
d6cda542
MK
204%attr(755,root,root) %{_sbindir}/mfsmetadump
205%attr(755,root,root) %{_sbindir}/mfsmetarestore
206%attr(755,root,root) %{_sbindir}/mfsrestoremaster
093a7d1a 207%{_mandir}/man1/mfs*.1*
c8289e8b
MK
208%{_mandir}/man1/lizardfs-*.1*
209%{_mandir}/man1/lizardfs.1*
093a7d1a
ER
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*
c8289e8b
MK
220/etc/bash_completion.d/lizardfs
221
d6cda542
MK
222
223%files master
224%defattr(644,root,root,755)
225%attr(755,root,root) %{_sbindir}/mfsmaster
69fdf778
MK
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
db568ec4 230%{systemdunitdir}/%{name}-master.service
db568ec4 231
d6cda542
MK
232%files chunkserver
233%defattr(644,root,root,755)
234%attr(755,root,root) %{_sbindir}/mfschunkserver
69fdf778
MK
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
db568ec4 238%{systemdunitdir}/%{name}-chunkserver.service
d6cda542
MK
239
240%files metalogger
241%defattr(644,root,root,755)
242%attr(755,root,root) %{_sbindir}/mfsmetalogger
69fdf778
MK
243%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfsmetalogger.cfg.dist
244# %dir %attr(750,mfs,mfs) /var/lib/%{name}/metalogger
d6cda542
MK
245
246%files cgiserver
247%defattr(644,root,root,755)
248%attr(755,root,root) %{_sbindir}/lizardfs-cgiserver
249%attr(755,root,root) %{_sbindir}/mfscgiserv
69fdf778 250%{_datadir}/mfscgi/
This page took 0.12108 seconds and 4 git commands to generate.