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

Annotation of /rpms/BackupPC/contribs7/BackupPC.spec

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


Revision 1.2 - (hide annotations) (download)
Mon Mar 2 17:43:46 2009 UTC (15 years, 9 months ago) by slords
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +4 -0 lines
Update specs

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

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