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