]> git.pld-linux.org Git - packages/lizardfs.git/blob - lizardfs.spec
ExclusiveArch: %{ix86} %{x8664}, more about crcutil.
[packages/lizardfs.git] / lizardfs.spec
1 # TODO:
2 # - Add daemon startup scripts
3 #   https://github.com/moosefs/moosefs/blob/master/systemd/moosefs-master.service.in
4 # - Verify if CGI server works, dependencies
5 # - Fix x32 asm code inside crcutil-1.0
6 # - Consider using external libcrcutil package
7
8 Summary:        Open Source Distributed File System
9 Summary(pl.UTF-8):      Rozporoszony system plików Open Source
10 Name:           lizardfs
11 Version:        3.9.4
12 Release:        0.2
13 License:        GPL v3
14 Group:          Applications
15 Source0:        https://github.com/lizardfs/lizardfs/archive/v.%{version}.tar.gz
16 # Source0-md5:  71766d18a5066506e54d952ab6056bd3
17 Patch0:         %{name}-cmake_fix.patch
18 URL:            https://github.com/lizardfs/lizardfs
19 BuildRequires:  /usr/bin/a2x
20 BuildRequires:  asciidoc
21 BuildRequires:  boost-devel
22 BuildRequires:  cmake >= 3.4.0
23 BuildRequires:  docbook-dtd45-xml
24 BuildRequires:  libfuse-devel
25 BuildRequires:  pkgconfig
26 BuildRequires:  rpmbuild(macros) >= 1.202
27 BuildRequires:  zlib-devel
28 ExclusiveArch:  %{ix86} %{x8664}
29
30 # Requires:
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 Provides:       group(mfs)
38 Provides:       user(mfs)
39 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
40
41 %description
42 LizardFS is a highly reliable, scalable and efficient distributed file
43 system. It spreads data over a number of physical servers, making it
44 visible to an end user as a single file system.
45
46 %description -l pl.UTF-8
47 LizardFS is jest niezawodnym, skalowalnym i efektywnym rozproszonym
48 systemem plików. Rozkłada dane na rózne fizyczne serwery, dająć
49 użytkownikowi końcowemu widok pojedynczego systemu plików.
50
51 %package master
52 Summary:        Master/shadow metadata server
53 Group:          Applications
54 Requires:       %{name} = %{version}-%{release}
55
56 %description master
57 Master/shadow metadata server
58
59 %package chunkserver
60 Summary:        Chunk server
61 Group:          Applications
62 Requires:       %{name} = %{version}-%{release}
63
64 %description chunkserver
65 Chunk server
66
67 %package metalogger
68 Summary:        Metalogger
69 Group:          Applications
70 Requires:       %{name} = %{version}-%{release}
71
72 %description metalogger
73 Metalogger
74
75 %package cgiserver
76 Summary:        CGI server
77 Group:          Applications
78 Requires:       %{name} = %{version}-%{release}
79
80 %description cgiserver
81 CGI server
82
83 %prep
84 %setup -q -n %{name}-v.%{version}
85 %patch0 -p1
86
87 %build
88 install -d build
89 cd build
90 %cmake  ../
91 %{__make}
92
93 %install
94 rm -rf $RPM_BUILD_ROOT
95 cd build
96 %{__make} install \
97         DESTDIR=$RPM_BUILD_ROOT
98
99 # %{_prefix}%{_sysconfdir}/mfs/ ?
100 install -d $RPM_BUILD_ROOT%{_sysconfdir}
101 mv $RPM_BUILD_ROOT%{_prefix}%{_sysconfdir}/mfs/ $RPM_BUILD_ROOT%{_sysconfdir}/mfs/
102
103 install -d $RPM_BUILD_ROOT/var/lib/%{name}
104 cp $RPM_BUILD_ROOT%{_prefix}/var/lib/mfs/metadata.mfs.empty $RPM_BUILD_ROOT%{_sysconfdir}/mfs/
105 install -d $RPM_BUILD_ROOT/var/lib/%{name}/master
106 install -d $RPM_BUILD_ROOT/var/lib/%{name}/chunkserver
107 mv $RPM_BUILD_ROOT%{_prefix}/var/lib/mfs/metadata.mfs.empty $RPM_BUILD_ROOT/var/lib/%{name}/master/metadata.mfs
108
109 %clean
110 rm -rf $RPM_BUILD_ROOT
111
112 %pre
113 # NOTE: Using same user/group as for MooseFS from mfs.spec
114 %groupadd -g 282 mfs
115 %useradd -u 282 -d /var/lib/%{name} -g mfs -c "MooseFS/LizardFS Daemon" %{name}
116
117 %postun
118 if [ "$1" = "0" ]; then
119         %userremove mfs
120         %groupremove mfs
121 fi
122
123 %files
124 %defattr(644,root,root,755)
125 %doc doc COPYING README UPGRADE NEWS INSTALL
126 %dir %{_sysconfdir}/mfs
127 %dir %attr(750,root,root) /var/lib/%{name}
128 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/globaliolimits.cfg.dist
129 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/iolimits.cfg.dist
130 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfsexports.cfg.dist
131 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfsgoals.cfg.dist
132 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfsmount.cfg.dist
133 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfstopology.cfg.dist
134 %attr(755,root,root) %{_bindir}/lizardfs-admin
135 %attr(755,root,root) %{_bindir}/lizardfs-probe
136 %attr(755,root,root) %{_bindir}/mfsappendchunks
137 %attr(755,root,root) %{_bindir}/mfscheckfile
138 %attr(755,root,root) %{_bindir}/mfsdeleattr
139 %attr(755,root,root) %{_bindir}/mfsdirinfo
140 %attr(755,root,root) %{_bindir}/mfsfileinfo
141 %attr(755,root,root) %{_bindir}/mfsfilerepair
142 %attr(755,root,root) %{_bindir}/mfsgeteattr
143 %attr(755,root,root) %{_bindir}/mfsgetgoal
144 %attr(755,root,root) %{_bindir}/mfsgettrashtime
145 %attr(755,root,root) %{_bindir}/mfsmakesnapshot
146 %attr(755,root,root) %{_bindir}/mfsmount
147 %attr(755,root,root) %{_bindir}/mfsrepquota
148 %attr(755,root,root) %{_bindir}/mfsrgetgoal
149 %attr(755,root,root) %{_bindir}/mfsrgettrashtime
150 %attr(755,root,root) %{_bindir}/mfsrsetgoal
151 %attr(755,root,root) %{_bindir}/mfsrsettrashtime
152 %attr(755,root,root) %{_bindir}/mfsseteattr
153 %attr(755,root,root) %{_bindir}/mfssetgoal
154 %attr(755,root,root) %{_bindir}/mfssetquota
155 %attr(755,root,root) %{_bindir}/mfssettrashtime
156 %attr(755,root,root) %{_bindir}/mfssnapshot
157 %attr(755,root,root) %{_bindir}/mfstools
158 %attr(755,root,root) %{_sbindir}/mfsmetadump
159 %attr(755,root,root) %{_sbindir}/mfsmetarestore
160 %attr(755,root,root) %{_sbindir}/mfsrestoremaster
161 %{_mandir}/man1/mfs*.1*
162 %{_mandir}/man5/globaliolimits.cfg.5*
163 %{_mandir}/man5/iolimits.cfg.5*
164 %{_mandir}/man5/mfs*.cfg.5*
165 %{_mandir}/man7/lizardfs.7*
166 %{_mandir}/man7/mfs.7
167 %{_mandir}/man7/moosefs.7
168 %{_mandir}/man8/lizardfs-admin.8*
169 %{_mandir}/man8/lizardfs-cgiserver.8*
170 %{_mandir}/man8/lizardfs-probe.8
171 %{_mandir}/man8/mfs*.8*
172
173 %files master
174 %defattr(644,root,root,755)
175 %attr(755,root,root) %{_sbindir}/mfsmaster
176 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfsmaster.cfg.dist
177 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/metadata.mfs.empty
178 %dir %attr(750,mfs,mfs) /var/lib/%{name}/master
179 %config(noreplace) %verify(not md5 mtime size) /var/lib/%{name}/master/metadata.mfs
180
181 %files chunkserver
182 %defattr(644,root,root,755)
183 %attr(755,root,root) %{_sbindir}/mfschunkserver
184 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfschunkserver.cfg.dist
185 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfshdd.cfg.dist
186 %dir %attr(750,mfs,mfs) /var/lib/%{name}/chunkserver
187
188 %files metalogger
189 %defattr(644,root,root,755)
190 %attr(755,root,root) %{_sbindir}/mfsmetalogger
191 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfsmetalogger.cfg.dist
192 # %dir %attr(750,mfs,mfs) /var/lib/%{name}/metalogger
193
194 %files cgiserver
195 %defattr(644,root,root,755)
196 %attr(755,root,root) %{_sbindir}/lizardfs-cgiserver
197 %attr(755,root,root) %{_sbindir}/mfscgiserv
198 %{_datadir}/mfscgi/
199 # %dir %attr(750,mfs,mfs) /var/lib/%{name}/cgiserver
This page took 0.066706 seconds and 3 git commands to generate.