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