]> git.pld-linux.org Git - packages/BackupPC.git/blob - BackupPC.spec
- drop obsolete and outdated manual inclusion of rpm macros
[packages/BackupPC.git] / BackupPC.spec
1
2 # - now path in browser is  http://localhost/cgi/BackupPC/BackupPC_Admin
3 # TODO:
4 # - trigers
5 # - polish translation in SOURCE/backuppc-pl.pm
6 # - patch at user and gid/uid user - http://sourceforge.net/mailarchive/forum.php?thread_id=6201024&forum_id=17540
7 # - change or/and add Requires for  --bin-path sendmail=%{_sbindir}/sendmail
8 # - correct config file
9
10 %define         oldname         backuppc
11 %define         BPCuser         http
12 %define         BPCgroup        http
13
14 Summary:        A high-performance, enterprise-grade system for backing up
15 Summary(pl.UTF-8):      Wysoko wydajny, profesjonalnej klasy system do kopii zapasowych
16 Name:           BackupPC
17 Version:        3.2.0
18 Release:        0.1
19 License:        GPL
20 Group:          Networking/Utilities
21 Source0:        http://dl.sourceforge.net/backuppc/%{name}-%{version}.tar.gz
22 # Source0-md5:  4b77610d8d1130daf0892fc7134be985
23 Source1:        %{oldname}_apache.conf
24 Source2:        %{oldname}-pl.pm
25 URL:            http://backuppc.sourceforge.net/
26 BuildRequires:  perl-Digest-MD5
27 BuildRequires:  perl-devel >= 1:5.6.0
28 BuildRequires:  rpm-perlprov
29 BuildRequires:  rpmbuild(macros) >= 1.268
30 BuildRequires:  sed >= 4.0
31 Requires(post,preun):   /sbin/chkconfig
32 Requires:       apache(mod_auth)
33 Requires:       apache(mod_perl)
34 Requires:       par2cmdline
35 Requires:       perl-Archive-Zip
36 Requires:       perl-Compress-Bzip2
37 Requires:       perl-Compress-Zlib
38 Requires:       perl-File-RsyncP >= 0.70
39 Requires:       rc-scripts
40 Requires:       rsync
41 Requires:       samba-client
42 Requires:       tar > 1.13
43 Requires:       webapps
44 Provides:       group(%{BPCgroup})
45 Provides:       user(%{BPCuser})
46 Obsoletes:      BackupPC
47 Obsoletes:      backuppc
48 BuildArch:      noarch
49 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
50
51 %define         _webapps        /etc/webapps
52 %define         _webapp         %{name}
53 %define         _libdir         /usr/lib
54
55 %description
56 BackupPC is disk based and not tape based. This particularity allows
57 features not found in any other backup solution:
58 - Clever pooling scheme minimizes disk storage and disk I/O. Identical
59   files across multiple backups of the same or different PC are stored
60   only once (using hard links), resulting in substantial savings in disk
61   storage and disk writes.
62 - Optional compression provides additional reductions in storage. CPU
63   impact of compression is low since only new files (those not already
64   in the pool) need to be compressed.
65 - A powerful http/cgi user interface allows administrators to view log
66   files, configuration, current status and allows users to initiate and
67   cancel backups and browse and restore files from backups very quickly.
68 - No client-side software is needed. On WinXX the SMB protocol is
69   used. On Linux or Unix clients, rsync or tar (over ssh/rsh/NFS) can be
70   used.
71 - Flexible restore options. Single files can be downloaded from any
72   backup directly from the CGI interface. Zip or Tar archives for
73   selected files or directories can also be downloaded from the CGI
74   interface.
75 - BackupPC supports mobile environments where laptops are only
76   intermittently connected to the network and have dynamic IP addresses
77   (DHCP).
78 - Flexible configuration parameters allow multiple backups to be
79   performed in parallel.
80 - and more to discover in the manual...
81
82 %description -l pl.UTF-8
83 BackupPC jest oparty na dyskach, a nie taśmach. Ta osobliwość daje
84 możliwości, których nie mają inne rozwiązania problemu kopii
85 zapasowych:
86 - Inteligentny schemat ściągania minimalizuje zajmowane miejsce i
87   ilość operacji wejścia/wyjścia na dysku. Takie same pliki są
88   przechowywane tylko raz (przy użyciu twardych dowiązań), co daje
89   znaczącą oszczędność w miejscu na dysku i czasie zapisu.
90 - Opcjonalna kompresja pozwala na dalsze ograniczenie rozmiaru.
91   Obciążenie procesora jest małe, ponieważ tylko nowe pliki muszą być
92   kompresowane.
93 - Potężny interfejs użytkownika HTTP/CGI pozwala administratorom
94   przeglądać pliki logów, konfigurację i aktualny stan oraz użytkownikom
95   rozpoczynać lub przerywać tworzenie kopii oraz szybko przeglądać i
96   odtwarzać pliki z kopii zapasowych.
97 - Nie jest wymagane oprogramowanie po stronie klienta. Na WinXX
98   używany jest protokół SMB lub rsync (specjalnie przygotowana wersja
99   pod cygwinem). Na klientach linuksowych lub uniksowych można używać
100   rsynca lub tara (po ssh/rsh/NFS).
101 - Dostępne są elastyczne opcje odzyskiwania. Można ściągać pojedyncze
102   pliki z kopii bezpośrednio z interfejsu CGI. Także archiwa zip lub tar
103   z wybranymi plikami lub katalogami mogą być ściągane z poziomu
104   interfejsu CGI.
105 - BackupPC obsługuje środowiska przenośne, gdzie laptopy są podłączane
106   do sieci tylko z przerwami i mają dynamiczne adresy IP (z DHCP).
107 - Elastyczna konfiguracja parametrów pozwala na wykonywanie wielu
108   kopii równolegle.
109 - Istnieje możliwość nagrywania backupu na inne nośniki (tasmy,
110   DVD-R/RW, CD-R/RW i inne)
111 - Wiele więcej można odkryć w manualu...
112
113 %prep
114 %setup -q
115
116 sed -i -e 's#!/bin/perl#!%{__perl}#' configure.pl
117 sed -i -e 's#!/bin/perl#!%{__perl}#' {bin,cgi-bin,doc}/*
118 sed -i -e 's#!/bin/perl#!%{__perl}#' */src/*
119 sed -i -e 's#!/bin/perl#!%{__perl}#' */*/*/*.pm
120
121 pod2man --section=8 --center="BackupPC manual" doc/BackupPC.pod backuppc.8
122 %{__perl} -e "s/.IX Title.*/.SH NAME\nbackuppc \\- BackupPC manual/g" -p -i.tmp backuppc.8
123
124 %install
125 rm -rf $RPM_BUILD_ROOT
126 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,httpd/httpd.conf} \
127                         $RPM_BUILD_ROOT%{_mandir}/man8 \
128                         $RPM_BUILD_ROOT%{_datadir}/%{name}/www/html/doc \
129                         $RPM_BUILD_ROOT%{_var}/{lib/%{name}/{pc/localhost,log},log} \
130                         $RPM_BUILD_ROOT%{_datadir}/%{name}/conf \
131                         $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
132
133 %{__perl} configure.pl \
134         --batch \
135         --bin-path perl=%{__perl} \
136         --bin-path tar=/bin/tar \
137         --bin-path smbclient=%{_bindir}/smbclient \
138         --bin-path nmblookup=%{_bindir}/nmblookup \
139         --bin-path rsync=%{_bindir}/rsync \
140         --bin-path ping=/bin/echo \
141         --bin-path df=/bin/df \
142         --bin-path ssh=%{_bindir}/ssh \
143         --bin-path sendmail=%{_sbindir}/sendmail \
144         --bin-path par2=%{_bindir}/par \
145         --bin-path hostname=/bin/hostname \
146         --bin-path split=%{_bindir}/split \
147         --bin-path cat=/bin/cat \
148         --bin-path gzip=/bin/gzip \
149         --bin-path bzip2=%{_bindir}/bzip2 \
150         --cgi-dir %{_datadir}/%{name}/www/cgi-bin \
151         --data-dir %{_var}/lib/%{name} \
152         --dest-dir $RPM_BUILD_ROOT \
153         --hostname localhost \
154         --html-dir %{_datadir}/%{name}/www/html \
155         --html-dir-url /BackupPC \
156         --install-dir %{_usr} \
157         --uid-ignore \
158         --no-set-perms \
159         --fhs \
160         --dest-dir $RPM_BUILD_ROOT \
161         --compress-level=3 \
162         --backuppc-user=%{BPCuser}
163 #       --config-path=%{_sysconfdir}/%{name}/config.pl
164
165 #change user in init script
166 sed -i -e 's#--user backuppc#--user %{BPCuser}#' init.d/linux-backuppc
167 #change user in config file
168 #sed -i -e "s#'backuppc';#'%{BPCuser}';#" $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/config.pl
169 #sed -i -e 's/$Conf{SendmailPath} =/#$Conf{SendmailPath} =/' $RPM_BUILD_ROOTT%{_sysconfdir}/%{name}/config.pl
170
171 install init.d/linux-backuppc $RPM_BUILD_ROOT/etc/rc.d/init.d/backuppc
172 install backuppc.8 $RPM_BUILD_ROOT%{_mandir}/man8
173 install %{SOURCE2} $RPM_BUILD_ROOT%{_libdir}/BackupPC/Lang/pl.pm
174 install doc/* $RPM_BUILD_ROOT%{_datadir}/%{name}/www/html/doc
175 # Cleanups:
176 rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/www/html/CVS
177 rm -rdf $RPM_BUILD_ROOT%{_prefix}/doc
178
179 # symlinks
180 cd $RPM_BUILD_ROOT%{_var}/lib/%{name}
181 ln -sf %{_sysconfdir}/%{name} $RPM_BUILD_ROOT%{_var}/lib/%{name}/conf
182
183 cd $RPM_BUILD_ROOT%{_var}/log
184 ln -sf %{_var}/lib/%{name}/log %{name}
185
186 cd $RPM_BUILD_ROOT%{_datadir}/%{name}/www/cgi-bin
187 ln -sf BackupPC_Admin index.cgi
188
189 mv $RPM_BUILD_ROOT%{_datadir}/%{name}/www/html/*.css \
190         $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
191
192 cd $RPM_BUILD_ROOT%{_datadir}/%{name}/www/html
193 ln -sf %{_sysconfdir}/%{name}/BackupPC_stnd.css BackupPC_stnd.css
194 ln -sf %{_sysconfdir}/%{name}/BackupPC_stnd.css BackupPC.css
195
196 install -d $RPM_BUILD_ROOT%{_webapps}/%{_webapp}
197 install %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
198 install %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
199 touch $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/htpasswd
200
201 %if 0
202 %pre
203 # Add the "backuppc" user and "http" group
204 %groupadd -g 150 %{BPCgroup}
205 %useradd -c "system user for %{name}" -u 150 -d /var/lib/backuppc -s /bin/false -g %{BPCgroup} %{BPCuser}
206 %endif
207
208 %post
209 %service backuppc restart "BackupPC"
210
211 %preun
212 if [ "$1" = "0" ]; then
213         %service backuppc stop
214         /sbin/chkconfig --del backuppc
215 fi
216
217 %postun
218 if [ "$1" = "0" ]; then
219         %userremove %{BPCuser}
220         %groupremove %{BPCgroup}
221 fi
222
223 %clean
224 rm -rf $RPM_BUILD_ROOT
225
226 %files
227 %defattr(644,root,root,755)
228 %attr(755,root,root) %{_bindir}/*
229 %attr(755,root,root) %{_datadir}/%{name}/www/cgi-bin/BackupPC_Admin
230 %attr(755,root,root) %{_datadir}/%{name}/www/cgi-bin/index.cgi
231 %dir %{_datadir}/%{name}
232 %dir %{_datadir}/%{name}/www/html/doc
233 %{_datadir}/%{name}/www/html/doc/*
234 %dir %{_datadir}/%{name}/www
235 %dir %{_datadir}/%{name}/www/html
236 %dir %{_datadir}/%{name}/www/cgi-bin
237 %{_datadir}/%{name}/www/html/*.png
238 %{_datadir}/%{name}/www/html/*.gif
239 %{_datadir}/%{name}/www/html/sorttable.js
240 %config(noreplace) %verify(not md5 mtime size) %{_datadir}/%{name}/www/html/*.css
241 %dir %{_libdir}/Net
242 %dir %{_libdir}/Net/FTP
243 %{_libdir}/Net/FTP/AutoReconnect.pm
244 %{_libdir}/Net/FTP/RetrHandle.pm
245 %dir %{_libdir}/%{name}
246 %{_libdir}/%{name}/Attrib.pm
247 %dir %{_libdir}/%{name}/CGI
248 %{_libdir}/%{name}/CGI/*
249 %{_libdir}/%{name}/Config.pm
250 %dir %{_libdir}/%{name}/Config
251 %{_libdir}/%{name}/Config/*
252 %{_libdir}/%{name}/FileZIO.pm
253 %{_libdir}/%{name}/Lib.pm
254 %{_libdir}/%{name}/PoolWrite.pm
255 %{_libdir}/%{name}/Storage.pm
256 %dir %{_libdir}/%{name}/Storage
257 %{_libdir}/%{name}/Storage/*
258 %{_libdir}/%{name}/View.pm
259 %{_libdir}/%{name}/Xfer.pm
260 %dir %{_libdir}/%{name}/Xfer
261 %{_libdir}/%{name}/Xfer/*
262 %dir %{_libdir}/%{name}/Zip
263 %{_libdir}/%{name}/Zip/*
264 %dir %attr(755,%{BPCuser},%{BPCgroup}) %{_libdir}/BackupPC/Lang
265 %lang(cz) %{_libdir}/BackupPC/Lang/cz.pm
266 %lang(de) %{_libdir}/BackupPC/Lang/de.pm
267 %lang(en) %{_libdir}/BackupPC/Lang/en.pm
268 %lang(es) %{_libdir}/BackupPC/Lang/es.pm
269 %lang(fr) %{_libdir}/BackupPC/Lang/fr.pm
270 %lang(it) %{_libdir}/BackupPC/Lang/it.pm
271 %lang(nl) %{_libdir}/BackupPC/Lang/nl.pm
272 %lang(pl) %{_libdir}/BackupPC/Lang/pl.pm
273 %lang(pt_BR) %{_libdir}/BackupPC/Lang/pt_br.pm
274 %lang(zh_CN) %{_libdir}/BackupPC/Lang/zh_CN.pm
275 %dir %attr(750,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}
276 %dir %attr(750,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}/cpool
277 %dir %attr(750,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}/log
278 %dir %attr(750,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}/pc
279 %dir %attr(750,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}/pool
280 %dir %attr(750,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}/trash
281 %dir %attr(755,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}/conf
282 %dir %attr(750,%{BPCuser},%{BPCgroup}) %{_var}/log/%{name}
283 %attr(754,root,root) /etc/rc.d/init.d/backuppc
284 %dir %{_sysconfdir}/%{name}
285 %{_mandir}/man8/backuppc*
286 %config(noreplace) %verify(not md5 mtime size) %attr(644,%{BPCuser},%{BPCgroup}) %{_sysconfdir}/%{name}/*
287 %dir %attr(750,root,http) %{_webapps}/%{_webapp}
288 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf
289 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf
290 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/htpasswd
This page took 0.09477 seconds and 3 git commands to generate.