]>
Commit | Line | Data |
---|---|---|
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 |
6 | Summary: Open Source Distributed File System |
7 | Summary(pl.UTF-8): Rozporoszony system plików Open Source | |
8 | Name: lizardfs | |
207db56a JR |
9 | Version: 3.12.0 |
10 | Release: 1 | |
19bf9ddd MK |
11 | License: GPL v3 |
12 | Group: Applications | |
207db56a JR |
13 | Source0: https://github.com/lizardfs/lizardfs/archive/v%{version}/%{name}-%{version}.tar.gz |
14 | # Source0-md5: e584aa9534f900ca04d40a4772e01302 | |
db568ec4 MK |
15 | Source1: %{name}-master.service |
16 | Source2: %{name}-chunkserver.service | |
207db56a | 17 | Patch0: system-spdlog.patch |
85466b53 | 18 | Patch1: x32.patch |
207db56a | 19 | Patch2: 0001-Add-missing-header.patch |
4b13ae9d | 20 | Patch3: spdlog-1.patch |
19bf9ddd | 21 | URL: https://github.com/lizardfs/lizardfs |
7b264090 | 22 | BuildRequires: /usr/bin/a2x |
69fdf778 MK |
23 | BuildRequires: asciidoc |
24 | BuildRequires: boost-devel | |
25 | BuildRequires: cmake >= 3.4.0 | |
f98b528c | 26 | BuildRequires: crcutil-devel >= 1.0 |
211e462d | 27 | BuildRequires: db5.3-devel |
69fdf778 | 28 | BuildRequires: docbook-dtd45-xml |
211e462d MK |
29 | %ifarch x32 |
30 | BuildConflicts: judy-devel | |
31 | %else | |
32 | BuildRequires: judy-devel | |
33 | %endif | |
69fdf778 MK |
34 | BuildRequires: libfuse-devel |
35 | BuildRequires: pkgconfig | |
db568ec4 | 36 | BuildRequires: rpmbuild(macros) >= 1.647 |
4b13ae9d | 37 | BuildRequires: spdlog-devel >= 1.12-2 |
0d2e5917 | 38 | BuildRequires: zlib-devel |
db568ec4 | 39 | Requires(post,preun,postun): systemd-units >= 38 |
7b264090 ER |
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 | |
0d2e5917 | 46 | Requires: systemd-units >= 0.38 |
7b264090 ER |
47 | Provides: group(mfs) |
48 | Provides: user(mfs) | |
19bf9ddd MK |
49 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
50 | ||
51 | %description | |
69fdf778 MK |
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. | |
19bf9ddd MK |
55 | |
56 | %description -l pl.UTF-8 | |
69fdf778 MK |
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. | |
19bf9ddd | 60 | |
d6cda542 | 61 | %package master |
69fdf778 MK |
62 | Summary: Master/shadow metadata server |
63 | Group: Applications | |
64 | Requires: %{name} = %{version}-%{release} | |
65 | ||
d6cda542 MK |
66 | %description master |
67 | Master/shadow metadata server | |
68 | ||
d6cda542 | 69 | %package chunkserver |
69fdf778 MK |
70 | Summary: Chunk server |
71 | Group: Applications | |
72 | Requires: %{name} = %{version}-%{release} | |
73 | ||
d6cda542 MK |
74 | %description chunkserver |
75 | Chunk server | |
76 | ||
d6cda542 | 77 | %package metalogger |
69fdf778 MK |
78 | Summary: Metalogger |
79 | Group: Applications | |
80 | Requires: %{name} = %{version}-%{release} | |
81 | ||
d6cda542 MK |
82 | %description metalogger |
83 | Metalogger | |
84 | ||
d6cda542 | 85 | %package cgiserver |
69fdf778 MK |
86 | Summary: CGI server |
87 | Group: Applications | |
88 | Requires: %{name} = %{version}-%{release} | |
89 | ||
d6cda542 MK |
90 | %description cgiserver |
91 | CGI 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 |
114 | install -d build | |
115 | cd 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 | |
123 | rm -rf $RPM_BUILD_ROOT | |
955db8b0 | 124 | %{__make} -C build install \ |
19bf9ddd | 125 | DESTDIR=$RPM_BUILD_ROOT |
69fdf778 | 126 | |
955db8b0 | 127 | install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{systemdunitdir}} |
d6cda542 | 128 | install -d $RPM_BUILD_ROOT/var/lib/%{name} |
19d7eb09 | 129 | cp -p $RPM_BUILD_ROOT/var/lib/mfs/metadata.mfs.empty $RPM_BUILD_ROOT%{_sysconfdir}/mfs/ |
69fdf778 MK |
130 | install -d $RPM_BUILD_ROOT/var/lib/%{name}/master |
131 | install -d $RPM_BUILD_ROOT/var/lib/%{name}/chunkserver | |
152dce4a | 132 | mv $RPM_BUILD_ROOT/var/lib/mfs/metadata.mfs.empty $RPM_BUILD_ROOT/var/lib/%{name}/master/metadata.mfs |
19bf9ddd | 133 | |
18cf1acb MK |
134 | cp -p %{SOURCE1} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}-master.service |
135 | cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}-chunkserver.service | |
db568ec4 | 136 | |
19bf9ddd MK |
137 | %clean |
138 | rm -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 | |
146 | if [ "$1" = "0" ]; then | |
147 | %userremove mfs | |
148 | %groupremove mfs | |
149 | fi | |
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/ |