]> git.pld-linux.org Git - packages/BackupPC.git/blob - BackupPC.spec
- delete /home/services
[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,cgi-bin} \
111                         $RPM_BUILD_ROOT%{_var}/{lib/%{name}/pc/localhost,log} \
112                         $RPM_BUILD_ROOT%{_datadir}/%{name}/conf \
113
114 %{__perl} configure.pl \
115         --batch \
116         --bin-path perl=%{__perl} \
117         --bin-path tar=/bin/tar \
118         --bin-path smbclient=%{_bindir}/smbclient \
119         --bin-path nmblookup=%{_bindir}/nmblookup \
120         --bin-path rsync=%{_bindir}/rsync \
121         --bin-path ping=/bin/ping \
122         --bin-path df=/bin/df \
123         --bin-path ssh=%{_bindir}/ssh \
124         --bin-path sendmail=%{_sbindir}/sendmail \
125         --bin-path hostname=/bin/hostname \
126         --bin-path split=%{_bindir}/split \
127         --bin-path cat=/bin/cat \
128         --bin-path gzip=/bin/gzip \
129         --bin-path bzip2=%{_bindir}/bzip2 \
130         --cgi-dir %{_usr}/share/%{name}/www/cgi-bin \
131         --data-dir %{_var}/lib/%{name} \
132         --dest-dir $RPM_BUILD_ROOT \
133         --hostname localhost \
134         --html-dir %{_usr}/share/%{name}/www/html \
135         --html-dir-url /BackupPC \
136         --install-dir %{_usr} \
137         --uid-ignore
138 #       --config-path
139
140 install init.d/linux-backuppc $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/backuppc
141 install conf/BackupPC_stnd.css $RPM_BUILD_ROOT%{_var}/lib/%{name}/conf/BackupPC_stnd.css
142 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd/httpd.conf/93_backuppc.conf
143 install %{SOURCE2} $RPM_BUILD_ROOT%{_usr}/share/%{name}/www/cgi-bin/.htaccess
144
145 # Cleanups:
146 rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/www/html/CVS
147
148 # symlinks
149 cd $RPM_BUILD_ROOT%{_sysconfdir}
150 ln -sf %{_var}/lib/%{name}/conf %{name}
151
152 cd $RPM_BUILD_ROOT%{_var}/log
153 ln -sf %{_var}/lib/%{name}/log %{name}
154
155 cd $RPM_BUILD_ROOT%{_usr}/share/%{name}/www/cgi-bin
156 ln -sf BackupPC_Admin index.cgi
157
158 %pre
159 # Add the "backuppc" user and group
160 if [ -n "`/usr/bin/getgid %{BPCgroup}`" ]; then
161         if [ "`/usr/bin/getgid %{BPCgroup}`" != "150" ]; then
162                 echo "Error: group %{BPCgroup} doesn't have gid=150. Correct this before installing %{name}." 1>&2
163                 exit 1
164         fi
165 else
166         /usr/sbin/groupadd -g 150 %{BPCgroup}
167 fi
168 if [ -n "`/bin/id -u %{BPCuser} 2>/dev/null`" ]; then
169         if [ "`/bin/id -u %{BPCuser}`" != 150 ]; then
170                 echo "Error: user %{BPCuser} doesn't have uid=150. Correct this before installing %{name}." 1>&2
171                 exit 1
172         fi
173 else
174         /usr/sbin/useradd -c "system user for %{name}" -u 150 \
175                 -d /home/services/BackupPC -s /bin/false -g %{BPCgroup} %{BPCuser} 1>&2
176 fi
177
178 %post
179 /etc/init.d/backuppc restart
180
181 %postun
182 if [ "$1" = "0" ]; then
183         %userremove %{BPCuser}
184         %groupremove %{BPCgroup}
185 fi
186
187 %clean
188 rm -rf $RPM_BUILD_ROOT
189
190 %files
191 %defattr(644,root,root,755)
192 %attr(755,root,root) %{_bindir}/*
193 %doc %{_usr}/doc/*.html
194 %doc %{_usr}/doc/BackupPC.pod
195 %dir %{_usr}/share/%{name}/www/cgi-bin
196 %attr(755,root,root)%{_usr}/share/%{name}/www/cgi-bin/BackupPC_Admin
197 %dir %{_usr}/share/%{name}/www/html
198 %{_usr}/share/%{name}/www/html/*
199 %dir %{_libdir}/BackupPC
200 %{_libdir}/BackupPC/Attrib.pm
201 %{_libdir}/BackupPC/FileZIO.pm
202 %{_libdir}/BackupPC/Lib.pm
203 %{_libdir}/BackupPC/PoolWrite.pm
204 %{_libdir}/BackupPC/View.pm
205 %dir %{_libdir}/BackupPC/CGI
206 %{_libdir}/BackupPC/CGI/*
207 %dir %{_libdir}/BackupPC/Xfer
208 %{_libdir}/BackupPC/Xfer/*
209 %dir %{_libdir}/BackupPC/Zip
210 %{_libdir}/BackupPC/Zip/*
211 %dir %{_libdir}/BackupPC/Lang
212 %lang(en) %{_libdir}/BackupPC/Lang/en.pm
213 %lang(de) %{_libdir}/BackupPC/Lang/de.pm
214 %lang(fr) %{_libdir}/BackupPC/Lang/fr.pm
215 %lang(es) %{_libdir}/BackupPC/Lang/es.pm
216 %lang(it) %{_libdir}/BackupPC/Lang/it.pm
217 %lang(nl) %{_libdir}/BackupPC/Lang/nl.pm
218 %dir %attr(750,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}/cpool
219 %dir %attr(750,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}/log
220 %dir %attr(750,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}/pc
221 %dir %attr(750,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}/pool
222 %dir %attr(750,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}/trash
223 %dir %{_var}/lib/%{name}/conf
224 %dir %{_var}/log/%{name}
225 %attr(755,root,root) %{_sysconfdir}/rc.d/init.d/backuppc
226 %{_sysconfdir}/httpd/httpd.conf/93_backuppc.conf
227 %dir %{_sysconfdir}/%{name}
228 %config(noreplace) %verify(not md5 size mtime) %attr(640,root,root) /home/services/httpd/cgi-bin/%{name}/.htaccess
229 %config(noreplace) %verify(not md5 size mtime) %{_var}/lib/%{name}/conf/*
This page took 0.051291 seconds and 4 git commands to generate.