1 |
slords |
1.1 |
%if %{?fedora}%{?rhel} >= 5 |
2 |
|
|
%define useselinux 1 |
3 |
|
|
%else |
4 |
|
|
%define useselinux 0 |
5 |
|
|
%endif |
6 |
|
|
|
7 |
|
|
Name: BackupPC |
8 |
|
|
Version: 3.1.0 |
9 |
|
|
Release: 3%{?dist} |
10 |
|
|
Summary: BackupPC - high-performance backup system |
11 |
|
|
|
12 |
|
|
Group: Applications/System |
13 |
|
|
License: GPLv2+ |
14 |
|
|
URL: http://backuppc.sourceforge.net/ |
15 |
|
|
Source0: http://dl.sourceforge.net/backuppc/%{name}-%{version}.tar.gz |
16 |
|
|
Source1: BackupPC.htaccess |
17 |
|
|
Source2: BackupPC.logrotate |
18 |
|
|
Source3: BackupPC-README.fedora |
19 |
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) |
20 |
|
|
BuildArch: noarch |
21 |
|
|
|
22 |
|
|
BuildRequires: /bin/cat |
23 |
|
|
BuildRequires: /bin/df |
24 |
|
|
BuildRequires: /bin/gtar |
25 |
|
|
BuildRequires: %{_bindir}/nmblookup |
26 |
|
|
BuildRequires: %{_bindir}/rsync |
27 |
|
|
BuildRequires: %{_sbindir}/sendmail |
28 |
|
|
BuildRequires: %{_bindir}/smbclient |
29 |
|
|
BuildRequires: %{_bindir}/split |
30 |
|
|
BuildRequires: %{_bindir}/ssh |
31 |
|
|
BuildRequires: perl(Compress::Zlib) |
32 |
|
|
|
33 |
|
|
Requires: httpd |
34 |
|
|
Requires: perl-suidperl |
35 |
|
|
Requires: perl(File::RsyncP) |
36 |
|
|
Requires: perl(Compress::Zlib) |
37 |
|
|
Requires: perl(Archive::Zip) |
38 |
|
|
Requires: perl-Time-modules |
39 |
|
|
Requires: perl(XML::RSS) |
40 |
|
|
Requires: rsync |
41 |
|
|
Requires: samba-client |
42 |
|
|
Requires(pre): %{_sbindir}/useradd |
43 |
|
|
Requires(preun): initscripts, chkconfig |
44 |
|
|
Requires(post): initscripts, chkconfig, %{_sbindir}/usermod |
45 |
|
|
Requires(postun): initscripts |
46 |
|
|
%if %{useselinux} |
47 |
|
|
Requires: policycoreutils |
48 |
|
|
BuildRequires: selinux-policy-devel, checkpolicy |
49 |
|
|
%endif |
50 |
|
|
Provides: backuppc = %{version} |
51 |
|
|
|
52 |
|
|
%description |
53 |
|
|
BackupPC is a high-performance, enterprise-grade system for backing up Linux |
54 |
|
|
and WinXX PCs and laptops to a server's disk. BackupPC is highly configurable |
55 |
|
|
and easy to install and maintain. |
56 |
|
|
|
57 |
|
|
%prep |
58 |
|
|
%setup -q |
59 |
|
|
sed -i "s|\"backuppc\"|\"$LOGNAME\"|g" configure.pl |
60 |
|
|
iconv -f ISO-8859-1 -t UTF-8 ChangeLog > ChangeLog.utf && mv ChangeLog.utf ChangeLog |
61 |
|
|
pushd doc |
62 |
|
|
iconv -f ISO-8859-1 -t UTF-8 BackupPC.pod > BackupPC.pod.utf && mv BackupPC.pod.utf BackupPC.pod |
63 |
|
|
iconv -f ISO-8859-1 -t UTF-8 BackupPC.html > BackupPC.html.utf && mv BackupPC.html.utf BackupPC.html |
64 |
|
|
popd |
65 |
|
|
cp %{SOURCE3} README.fedora |
66 |
|
|
|
67 |
|
|
%if %{useselinux} |
68 |
|
|
%{__mkdir} selinux |
69 |
|
|
pushd selinux |
70 |
|
|
|
71 |
|
|
cat >%{name}.te <<EOF |
72 |
|
|
policy_module(%{name},0.0.3) |
73 |
|
|
require { |
74 |
|
|
type var_log_t; |
75 |
|
|
type httpd_t; |
76 |
|
|
class sock_file write; |
77 |
|
|
type initrc_t; |
78 |
|
|
class unix_stream_socket connectto; |
79 |
|
|
type ssh_exec_t; |
80 |
|
|
type ping_exec_t; |
81 |
|
|
type sendmail_exec_t; |
82 |
|
|
class file getattr; |
83 |
|
|
type httpd_sys_content_t; |
84 |
|
|
class sock_file getattr; |
85 |
|
|
} |
86 |
|
|
|
87 |
|
|
allow httpd_t httpd_sys_content_t:sock_file write; |
88 |
|
|
allow httpd_t initrc_t:unix_stream_socket connectto; |
89 |
|
|
allow httpd_t ping_exec_t:file getattr; |
90 |
|
|
allow httpd_t sendmail_exec_t:file getattr; |
91 |
|
|
allow httpd_t ssh_exec_t:file getattr; |
92 |
|
|
allow httpd_t httpd_sys_content_t:sock_file getattr; |
93 |
|
|
EOF |
94 |
|
|
|
95 |
|
|
cat >%{name}.fc <<EOF |
96 |
|
|
%{_sysconfdir}/%{name} system_u:object_r:httpd_sys_content_t:s0 |
97 |
|
|
%{_sysconfdir}/%{name}/pc system_u:object_r:httpd_sys_script_rw_t:s0 |
98 |
|
|
%{_sysconfdir}/%{name}/config.pl system_u:object_r:httpd_sys_content_t:s0 |
99 |
|
|
%{_sysconfdir}/%{name}/hosts system_u:object_r:httpd_sys_content_t:s0 |
100 |
|
|
%{_localstatedir}/log/%{name} system_u:object_r:httpd_sys_content_t:s0 |
101 |
|
|
EOF |
102 |
|
|
%endif |
103 |
|
|
|
104 |
|
|
%build |
105 |
|
|
%if %{useselinux} |
106 |
|
|
# SElinux |
107 |
|
|
pushd selinux |
108 |
|
|
make -f %{_datadir}/selinux/devel/Makefile |
109 |
|
|
popd |
110 |
|
|
%endif |
111 |
|
|
|
112 |
|
|
|
113 |
|
|
|
114 |
|
|
%install |
115 |
|
|
rm -rf $RPM_BUILD_ROOT |
116 |
|
|
perl configure.pl \ |
117 |
|
|
--batch \ |
118 |
|
|
--dest-dir $RPM_BUILD_ROOT \ |
119 |
|
|
--config-dir %{_sysconfdir}/%{name}/ \ |
120 |
|
|
--cgi-dir %{_datadir}/%{name}/sbin/ \ |
121 |
|
|
--data-dir %{_localstatedir}/lib/%{name}/ \ |
122 |
|
|
--html-dir %{_datadir}/%{name}/html/ \ |
123 |
|
|
--html-dir-url /%{name}/images \ |
124 |
|
|
--log-dir %{_localstatedir}/log/%{name} \ |
125 |
|
|
--install-dir %{_datadir}/%{name} \ |
126 |
|
|
--hostname localhost \ |
127 |
|
|
--uid-ignore |
128 |
|
|
|
129 |
|
|
for f in `find $RPM_BUILD_ROOT` |
130 |
|
|
do |
131 |
|
|
if [ -f $f ] |
132 |
|
|
then |
133 |
|
|
sed -i s,$LOGNAME,backuppc,g $f |
134 |
|
|
fi |
135 |
|
|
done |
136 |
|
|
sed -i s,$LOGNAME,backuppc,g init.d/linux-backuppc |
137 |
|
|
|
138 |
|
|
%{__mkdir} -p $RPM_BUILD_ROOT%{_initrddir} |
139 |
|
|
%{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/ |
140 |
|
|
%{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/ |
141 |
|
|
%{__mkdir} -p $RPM_BUILD_ROOT%{_localstatedir}/log/%{name} |
142 |
|
|
%{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/pc |
143 |
|
|
|
144 |
|
|
%{__cp} init.d/linux-backuppc $RPM_BUILD_ROOT%{_initrddir}/backuppc |
145 |
|
|
%{__cp} %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/%{name}.conf |
146 |
|
|
%{__cp} %{SOURCE2} %{buildroot}/%{_sysconfdir}/logrotate.d/%{name} |
147 |
|
|
|
148 |
|
|
%{__chmod} 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/bin/* |
149 |
|
|
%{__chmod} 755 $RPM_BUILD_ROOT%{_initrddir}/backuppc |
150 |
|
|
|
151 |
|
|
sed -i 's/^\$Conf{XferMethod}\ =.*/$Conf{XferMethod} = "rsync";/' $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/config.pl |
152 |
|
|
sed -i 's|^\$Conf{CgiURL}\ =.*|$Conf{CgiURL} = "http://localhost/BackupPC";|' $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/config.pl |
153 |
|
|
|
154 |
|
|
%if %{useselinux} |
155 |
|
|
# SElinux |
156 |
|
|
%{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/selinux/packages/%{name} |
157 |
|
|
%{__install} -m644 selinux/%{name}.pp $RPM_BUILD_ROOT%{_datadir}/selinux/packages/%{name}/%{name}.pp |
158 |
|
|
%endif |
159 |
|
|
|
160 |
|
|
|
161 |
|
|
%clean |
162 |
|
|
rm -rf $RPM_BUILD_ROOT |
163 |
|
|
|
164 |
|
|
|
165 |
|
|
%pre |
166 |
|
|
%{_sbindir}/useradd -d %{_localstatedir}/lib/%{name} -r -s /sbin/nologin backuppc 2> /dev/null || : |
167 |
|
|
|
168 |
|
|
|
169 |
|
|
%preun |
170 |
|
|
if [ $1 = 0 ]; then |
171 |
|
|
service backuppc stop > /dev/null 2>&1 || : |
172 |
|
|
chkconfig --del backuppc || : |
173 |
|
|
fi |
174 |
|
|
|
175 |
|
|
%post |
176 |
|
|
%if %{useselinux} |
177 |
|
|
# Install/update Selinux policy |
178 |
|
|
semodule -i %{_datadir}/selinux/packages/%{name}/%{name}.pp |
179 |
|
|
# files owned by RPM |
180 |
|
|
fixfiles -R %{name} restore |
181 |
|
|
# files created by app |
182 |
|
|
restorecon -R %{_sysconfdir}/%{name} |
183 |
|
|
restorecon -R %{_localstatedir}/lib/%{name} |
184 |
|
|
restorecon -R %{_localstatedir}/log/%{name} |
185 |
|
|
%endif |
186 |
|
|
chkconfig --add backuppc || : |
187 |
|
|
service httpd condrestart > /dev/null 2>&1 || : |
188 |
|
|
#%{_sbindir}/usermod -a -G backuppc apache || : |
189 |
|
|
|
190 |
|
|
|
191 |
|
|
%postun |
192 |
|
|
service httpd condrestart > /dev/null 2>&1 || : |
193 |
|
|
%if %{useselinux} |
194 |
|
|
if [ "$1" -eq "0" ]; then |
195 |
|
|
# Remove the SElinux policy. |
196 |
|
|
semodule -r %{name} || : |
197 |
|
|
fi |
198 |
|
|
%endif |
199 |
|
|
|
200 |
|
|
|
201 |
|
|
%files |
202 |
|
|
%defattr(-,root,root,-) |
203 |
|
|
%doc README README.fedora ChangeLog LICENSE doc/ |
204 |
|
|
|
205 |
|
|
%dir %attr(-,backuppc,backuppc) %{_localstatedir}/log/%{name} |
206 |
|
|
%dir %attr(-,backuppc,backuppc) %{_sysconfdir}/%{name}/ |
207 |
|
|
|
208 |
|
|
%config(noreplace) %{_sysconfdir}/httpd/conf.d/%{name}.conf |
209 |
|
|
%config(noreplace) %attr(-,backuppc,backuppc) %{_sysconfdir}/%{name}/* |
210 |
|
|
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name} |
211 |
|
|
|
212 |
|
|
%dir %{_datadir}/%{name} |
213 |
|
|
%dir %{_datadir}/%{name}/sbin |
214 |
|
|
%{_datadir}/%{name}/[^s]* |
215 |
|
|
%{_initrddir}/backuppc |
216 |
|
|
|
217 |
|
|
%attr(4750,backuppc,root) %{_datadir}/%{name}/sbin/BackupPC_Admin |
218 |
|
|
%attr(-,backuppc,root) %{_localstatedir}/lib/%{name}/ |
219 |
|
|
|
220 |
|
|
%if %{useselinux} |
221 |
|
|
%{_datadir}/selinux/packages/%{name}/%{name}.pp |
222 |
|
|
%endif |
223 |
|
|
|
224 |
|
|
%changelog |
225 |
|
|
* Tue Dec 09 2008 Daniel B <daniel@firewall-services.com> 3.1.0-3 |
226 |
|
|
- Small changes for SME Server (apache -> www) |
227 |
|
|
|
228 |
|
|
* Sat Apr 05 2008 Johan Cwiklinski <johan AT x-tnd DOT be> 3.1.0-2 |
229 |
|
|
- correcting nologin path |
230 |
|
|
|
231 |
|
|
* Thu Nov 29 2007 Johan Cwiklinski <johan AT x-tnd DOT be> 3.1.0-1 |
232 |
|
|
- New upstream version |
233 |
|
|
- Added samba-client as a dependency |
234 |
|
|
- Added readme.fedora |
235 |
|
|
- Changed CGI admin path in default config file |
236 |
|
|
|
237 |
|
|
* Fri Sep 21 2007 Johan Cwiklinski <johan AT x-tnd DOT be> 3.0.0-3 |
238 |
|
|
- Fixed SELinux policy module |
239 |
|
|
|
240 |
|
|
* Wed Sep 12 2007 Johan Cwiklinski <johan AT x-tnd DOT be> 3.0.0-2 |
241 |
|
|
- Added SELinux policy module |
242 |
|
|
|
243 |
|
|
* Tue Jan 30 2007 Johan Cwiklinski <johan AT x-tnd DOT be> 3.0.0-1 |
244 |
|
|
- Rebuild RPM for v 3.0.0 |
245 |
|
|
|
246 |
|
|
* Sat Aug 16 2006 Mike McGrath <imlinux@gmail.com> 2.1.2-7 |
247 |
|
|
- Release bump for rebuild |
248 |
|
|
|
249 |
|
|
* Tue Jul 25 2006 Mike McGrath <imlinux@gmail.com> 2.1.2-6 |
250 |
|
|
- One more config change |
251 |
|
|
|
252 |
|
|
* Sun Jul 23 2006 Mike McGrath <imlinux@gmail.com> 2.1.2-5 |
253 |
|
|
- Added upstream patch for better support for rsync |
254 |
|
|
|
255 |
|
|
* Sun Jul 23 2006 Mike McGrath <imlinux@gmail.com> 2.1.2-4 |
256 |
|
|
- Properly marking config files as such |
257 |
|
|
|
258 |
|
|
* Sun Jul 23 2006 Mike McGrath <imlinux@gmail.com> 2.1.2-3 |
259 |
|
|
- Changes to defaults in config.pl |
260 |
|
|
- Added Requires: rsync |
261 |
|
|
|
262 |
|
|
* Fri Jul 21 2006 Mike McGrath <imlinux@gmail.com> 2.1.2-2 |
263 |
|
|
- Added requires: perl(File::RsyncP) |
264 |
|
|
|
265 |
|
|
* Tue Jul 18 2006 Mike McGrath <imlinux@gmail.com> 2.1.2-1 |
266 |
|
|
- Initial Fedora Packaging |