/[smecontribs]/rpms/BackupPC/contribs7/BackupPC.spec
ViewVC logotype

Contents of /rpms/BackupPC/contribs7/BackupPC.spec

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (show annotations) (download)
Mon Mar 2 17:29:33 2009 UTC (15 years, 9 months ago) by slords
Branch: MAIN
CVS Tags: BackupPC-3_1_0-3_el4_sme
Initial import of BackupPC

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

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed