]>
Commit | Line | Data |
---|---|---|
1 | # TODO: | |
2 | # - update desktop files, think about su-wrappers for console | |
3 | # - package web admin | |
4 | # - fix log file permissions | |
5 | # | |
6 | # Conditional build: | |
7 | %bcond_without console_wx # wx-console program | |
8 | %bcond_without gnome # gnome-console program | |
9 | %bcond_with python | |
10 | %bcond_with rescue | |
11 | %bcond_with sqlite3 # use sqlite3 insted sqlite | |
12 | %bcond_with sqlite3_sync_off # makes sqlite3 backend much faster, but less reliable | |
13 | # | |
14 | Summary: Bacula - The Network Backup Solution | |
15 | Summary(pl.UTF-8): Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci | |
16 | Name: bacula | |
17 | Version: 2.0.3 | |
18 | Release: 0.1 | |
19 | Epoch: 0 | |
20 | License: extended GPL v2 | |
21 | Group: Networking/Utilities | |
22 | Source0: http://dl.sourceforge.net/bacula/%{name}-%{version}.tar.gz | |
23 | # Source0-md5: 443d2560ace95173a0d8ba465de493ef | |
24 | Source1: http://dl.sourceforge.net/bacula/%{name}-docs-%{version}.tar.gz | |
25 | # Source1-md5: dce3aed621b9e4abee51cc89aebf4a58 | |
26 | Source2: http://dl.sourceforge.net/bacula/%{name}-rescue-2.0.0.tar.gz | |
27 | # Source2-md5: 4a21381f16355193771a34fc2eb4e806 | |
28 | Source10: %{name}-dir.init | |
29 | Source11: %{name}-fd.init | |
30 | Source12: %{name}-sd.init | |
31 | Source13: %{name}.logrotate | |
32 | Source14: %{name}-dir.sysconfig | |
33 | Source15: %{name}-fd.sysconfig | |
34 | Source16: %{name}-sd.sysconfig | |
35 | Patch0: %{name}-dvd-handler_path.patch | |
36 | Patch1: %{name}-link.patch | |
37 | Patch2: %{name}-compile.patch | |
38 | Patch3: %{name}-wx28.patch | |
39 | Patch4: %{name}-sqlite3_init_query.patch | |
40 | URL: http://www.bacula.org/ | |
41 | BuildRequires: acl-static | |
42 | BuildRequires: automake | |
43 | %if %{with rescue} | |
44 | BuildRequires: fakeroot | |
45 | %endif | |
46 | BuildRequires: glibc-static | |
47 | %if %{with gnome} | |
48 | BuildRequires: libgnome-devel >= 2.0 | |
49 | BuildRequires: libgnomeui-devel >= 2.0 | |
50 | %endif | |
51 | BuildRequires: libstdc++-static | |
52 | BuildRequires: libwrap-static | |
53 | BuildRequires: mtx | |
54 | BuildRequires: ncurses-devel | |
55 | BuildRequires: openssl-devel | |
56 | BuildRequires: openssl-static | |
57 | BuildRequires: pkgconfig | |
58 | %if %{with python} | |
59 | BuildRequires: python-static | |
60 | %endif | |
61 | BuildRequires: readline-devel | |
62 | BuildRequires: rpmbuild(macros) >= 1.268 | |
63 | BuildRequires: sed >= 4.0 | |
64 | %if %{with sqlite3} | |
65 | BuildRequires: sqlite3-devel | |
66 | %else | |
67 | BuildRequires: sqlite-devel | |
68 | %endif | |
69 | %if %{with console_wx} | |
70 | BuildRequires: wxGTK2-unicode-devel >= 2.4.0 | |
71 | %endif | |
72 | BuildRequires: zlib-devel | |
73 | BuildRequires: zlib-static | |
74 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
75 | ||
76 | %define _sysconfdir /etc/%{name} | |
77 | %define _localstatedir /var/lib/%{name} | |
78 | ||
79 | # dependency section is broken. ccache usage is instead to makefiles | |
80 | %undefine with_ccache | |
81 | ||
82 | %description | |
83 | Bacula - It comes by night and sucks the vital essence from your | |
84 | computers. | |
85 | ||
86 | Bacula is a set of computer programs that permit you (or the system | |
87 | administrator) to manage backup, recovery, and verification of | |
88 | computer data across a network of computers of different kinds. In | |
89 | technical terms, it is a network client/server based backup program. | |
90 | Bacula is relatively easy to use and efficient, while offering many | |
91 | advanced storage management features that make it easy to find and | |
92 | recover lost or damaged files. | |
93 | ||
94 | %description -l pl.UTF-8 | |
95 | Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów. | |
96 | ||
97 | Bacula to zbiór programów umożliwiających administratorowi na | |
98 | zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w | |
99 | sieci komputerów różnego rodzaju. W terminologii technicznej jest to | |
100 | program do kopii zapasowych pracujący w architekturze klient-serwer. | |
101 | Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym | |
102 | wiele zaawansowanych możliwości przy zarządzaniu nośnikami, | |
103 | ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych | |
104 | plików. | |
105 | ||
106 | %package common | |
107 | Summary: Common files for bacula package | |
108 | Summary(pl.UTF-8): Pliki wspólne dla pakietu bacula | |
109 | Group: Networking/Utilities | |
110 | Requires(post): openssl-tools | |
111 | Requires(post): sed >= 4.0 | |
112 | Requires(post,preun): /sbin/chkconfig | |
113 | Requires(postun): /usr/sbin/groupdel | |
114 | Requires(postun): /usr/sbin/userdel | |
115 | Requires(pre): /usr/sbin/groupadd | |
116 | Requires(pre): /usr/sbin/useradd | |
117 | Conflicts: bacula-console < 0:1.34.6 | |
118 | Conflicts: bacula-dir < 0:1.34.6 | |
119 | Conflicts: bacula-fd < 0:1.34.6 | |
120 | Conflicts: bacula-sd < 0:1.34.6 | |
121 | ||
122 | %description common | |
123 | Bacula - It comes by night and sucks the vital essence from your | |
124 | computers. | |
125 | ||
126 | Bacula is a set of computer programs that permit you (or the system | |
127 | administrator) to manage backup, recovery, and verification of | |
128 | computer data across a network of computers of different kinds. In | |
129 | technical terms, it is a network client/server based backup program. | |
130 | Bacula is relatively easy to use and efficient, while offering many | |
131 | advanced storage management features that make it easy to find and | |
132 | recover lost or damaged files. | |
133 | ||
134 | %description common -l pl.UTF-8 | |
135 | Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów. | |
136 | ||
137 | Bacula to zbiór programów umożliwiających administratorowi na | |
138 | zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w | |
139 | sieci komputerów różnego rodzaju. W terminologii technicznej jest to | |
140 | program do kopii zapasowych pracujący w architekturze klient-serwer. | |
141 | Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym | |
142 | wiele zaawansowanych możliwości przy zarządzaniu nośnikami, | |
143 | ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych | |
144 | plików. | |
145 | ||
146 | %package dir | |
147 | Summary: Bacula Director and Catalog services | |
148 | Summary(pl.UTF-8): Usługi Bacula Director i Catalog | |
149 | Group: Networking/Utilities | |
150 | Requires(post): sed >= 4.0 | |
151 | Requires: %{name}-common = %{epoch}:%{version}-%{release} | |
152 | Obsoletes: bacula-updatedb | |
153 | ||
154 | %description dir | |
155 | Bacula - It comes by night and sucks the vital essence from your | |
156 | computers. | |
157 | ||
158 | Bacula Director is the program that supervises all the backup, | |
159 | restore, verify and archive operations. The system administrator uses | |
160 | the Bacula Director to schedule backups and to recover files. Catalog | |
161 | services are comprised of the software programs responsible for | |
162 | maintaining the file indexes and volume databases for all files backed | |
163 | up. The Catalog services permit the System Administrator or user to | |
164 | quickly locate and restore any desired file, since it maintains a | |
165 | record of all Volumes used, all Jobs run, and all Files saved. This | |
166 | build requires sqlite%{?with_sqlite3:3} to be installed separately as the catalog | |
167 | database. | |
168 | ||
169 | %description dir -l pl.UTF-8 | |
170 | Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów. | |
171 | ||
172 | Bacula Director to program nadzorujący wszystkie operacje wykonywania | |
173 | kopii zapasowych, odzyskiwania, weryfikacji i archiwizowania. | |
174 | Administrator używa Bacula Directora do szeregowania kopii zapasowych | |
175 | oraz odzyskiwania plików. Usługi katalogowe (Catalog services) są | |
176 | używane przez programy odpowiedzialne za zarządzanie indeksami plików | |
177 | i bazą danych wolumenów dla wszystkich kopiowanych plików. Usługi | |
178 | katalogowe umożliwiają administratorowi lub użytkownikowi szybko | |
179 | zlokalizować i odtworzyć dowolny plik, ponieważ utrzymują rekord ze | |
180 | wszystkimi używanymi wolumenami, uruchomionymi zadaniami i zapisanymi | |
181 | plikami. Pakiet wymaga sqlite%{?with_sqlite3:3} zainstalowanego oddzielnie jako bazy | |
182 | danych dla katalogu. | |
183 | ||
184 | %package console | |
185 | Summary: Bacula Console | |
186 | Summary(pl.UTF-8): Konsola Baculi | |
187 | Group: Networking/Utilities | |
188 | Requires(post): sed >= 4.0 | |
189 | Requires: %{name}-common = %{epoch}:%{version}-%{release} | |
190 | ||
191 | %description console | |
192 | Bacula - It comes by night and sucks the vital essence from your | |
193 | computers. | |
194 | ||
195 | Bacula Console is the program that allows the administrator or user to | |
196 | communicate with the Bacula Director. This is the text only console | |
197 | interface. | |
198 | ||
199 | %description console -l pl.UTF-8 | |
200 | Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów. | |
201 | ||
202 | Bacula Console to program umożliwiający administratorowi lub | |
203 | użytkownikowi komunikowanie się z programem Bacula Director. To jest | |
204 | interfejs czysto tekstowy. | |
205 | ||
206 | %package console-wx | |
207 | Summary: Bacula wxWidgets Console | |
208 | Summary(pl.UTF-8): Konsola Baculi oparta na wxWidgets | |
209 | Group: Networking/Utilities | |
210 | Requires(post): sed >= 4.0 | |
211 | Requires: %{name}-common = %{epoch}:%{version}-%{release} | |
212 | ||
213 | %description console-wx | |
214 | Bacula - It comes by night and sucks the vital essence from your | |
215 | computers. | |
216 | ||
217 | Bacula Console is the program that allows the administrator or user to | |
218 | communicate with the Bacula Director. This is the wxWidgets GUI | |
219 | interface. | |
220 | ||
221 | %description console-wx -l pl.UTF-8 | |
222 | Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów. | |
223 | ||
224 | Bacula Console to program umożliwiający administratorowi lub | |
225 | użytkownikowi komunikowanie się z programem Bacula Director. To jest | |
226 | interfejs graficzny oparty na wxWidgets. | |
227 | ||
228 | %package console-gnome | |
229 | Summary: Bacula GNOME Console | |
230 | Summary(pl.UTF-8): Konsola Baculi oparta dla GNOME | |
231 | Group: Networking/Utilities | |
232 | Requires(post): sed >= 4.0 | |
233 | Requires: %{name}-common = %{epoch}:%{version}-%{release} | |
234 | ||
235 | %description console-gnome | |
236 | Bacula - It comes by night and sucks the vital essence from your | |
237 | computers. | |
238 | ||
239 | Bacula Console is the program that allows the administrator or user to | |
240 | communicate with the Bacula Director. This is the GNOME GUI interface. | |
241 | ||
242 | %description console-gnome -l pl.UTF-8 | |
243 | Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów. | |
244 | ||
245 | Bacula Console to program umożliwiający administratorowi lub | |
246 | użytkownikowi komunikowanie się z programem Bacula Director. To jest | |
247 | interfejs graficzny oparty na GNOME. | |
248 | ||
249 | %package tray-monitor | |
250 | Summary: Bacula Tray Monitor | |
251 | Group: Networking/Utilities | |
252 | Requires(post): sed >= 4.0 | |
253 | Requires: %{name}-common = %{epoch}:%{version}-%{release} | |
254 | ||
255 | %description tray-monitor | |
256 | Bacula - It comes by night and sucks the vital essence from your | |
257 | computers. | |
258 | ||
259 | The Monitor program is typically an icon in the system tray. However, | |
260 | once the icon is expanded into a full window, the administrator or | |
261 | user can obtain status information about the Director or the backup | |
262 | status on the local workstation or any other Bacula daemon that is | |
263 | configured. | |
264 | ||
265 | %package fd | |
266 | Summary: Bacula File services (Client) | |
267 | Summary(pl.UTF-8): Usługi Bacula File (klient) | |
268 | Group: Networking/Utilities | |
269 | Requires(post): sed >= 4.0 | |
270 | Requires: %{name}-common = %{epoch}:%{version}-%{release} | |
271 | ||
272 | %description fd | |
273 | Bacula - It comes by night and sucks the vital essence from your | |
274 | computers. | |
275 | ||
276 | Bacula File services (or Client program) is the software program that | |
277 | is installed on the machine to be backed up. It is specific to the | |
278 | operating system on which it runs and is responsible for providing the | |
279 | file attributes and data when requested by the Director. The File | |
280 | services are also responsible for the file system dependent part of | |
281 | restoring the file attributes and data during a recovery operation. | |
282 | This program runs as a daemon on the machine to be backed up, and in | |
283 | some of the documentation, the File daemon is referred to as the | |
284 | Client (for example in Bacula configuration file). | |
285 | ||
286 | %description fd -l pl.UTF-8 | |
287 | Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów. | |
288 | ||
289 | Usługi Bacula File (inaczej program kliencki) to oprogramowanie, które | |
290 | instaluje się na maszynach, z których mają być wykonywane kopie | |
291 | zapasowe. Są one specyficzne dla systemu operacyjnego, pod którym | |
292 | działa dana maszyna i odpowiadają za dostarczanie atrybutów i danych | |
293 | plików na żądanie Directora. Usługi plikowe są także odpowiedzialne za | |
294 | zależną od systemu plików część odzyskiwania atrybutów i danych plików | |
295 | podczas operacji odzyskiwania danych. Program działa jako demon na | |
296 | maszynie, która ma być backupowana i w części dokumentacji demon ten | |
297 | (File) jest nazywany klientem (na przykład w pliku konfiguracyjnym | |
298 | Baculi). | |
299 | ||
300 | %package sd | |
301 | Summary: Bacula Storage services | |
302 | Summary(pl.UTF-8): Usługi Bacula Storage | |
303 | Group: Networking/Utilities | |
304 | Requires(post): sed >= 4.0 | |
305 | Requires: %{name}-common = %{epoch}:%{version}-%{release} | |
306 | Conflicts: dvd+rw-tools <= 5.21.4.10.8-1 | |
307 | ||
308 | %description sd | |
309 | Bacula - It comes by night and sucks the vital essence from your | |
310 | computers. | |
311 | ||
312 | Bacula Storage services consist of the software programs that perform | |
313 | the storage and recovery of the file attributes and data to the | |
314 | physical backup media or volumes. In other words, the Storage daemon | |
315 | is responsible for reading and writing your tapes (or other storage | |
316 | media, e.g. files). The Storage services runs as a daemon on the | |
317 | machine that has the backup device (usually a tape drive). | |
318 | ||
319 | %description sd -l pl.UTF-8 | |
320 | Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów. | |
321 | ||
322 | Usługi Bacula Storage składają się z programów obsługujących | |
323 | przechowywanie danych oraz odzyskiwanie atrybutów i danych na | |
324 | fizycznych nośnikach lub wolumenach. Innymi słowy, demon Storage jest | |
325 | odpowiedzialny za odczyt i zapis taśm (lub innych nośników do | |
326 | przechowywania danych, np. plików). Usługi Storage działają jako demon | |
327 | na maszynie, która zawiera urządzenie backupowe (zwykle napęd | |
328 | taśmowy). | |
329 | ||
330 | %package rescue | |
331 | Summary: Bacula - The Network Backup Solution | |
332 | Summary(pl.UTF-8): Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci | |
333 | Group: Networking/Utilities | |
334 | Requires: %{name}-fd = %{epoch}:%{version}-%{release} | |
335 | Requires: coreutils | |
336 | Requires: util-linux | |
337 | ||
338 | %description rescue | |
339 | Bacula - It comes by night and sucks the vital essence from your | |
340 | computers. | |
341 | ||
342 | Bacula is a set of computer programs that permit you (or the system | |
343 | administrator) to manage backup, recovery, and verification of | |
344 | computer data across a network of computers of different kinds. In | |
345 | technical terms, it is a network client/server based backup program. | |
346 | Bacula is relatively easy to use and efficient, while offering many | |
347 | advanced storage management features that make it easy to find and | |
348 | recover lost or damaged files. | |
349 | ||
350 | This package installs scripts for disaster recovery and builds rescue | |
351 | floppy disk for bare metal recovery. | |
352 | ||
353 | To make the bacula rescue disk run "./make_rescue_disk | |
354 | --copy-static-bacula | |
355 | - --copy-etc-files" from the %{_sysconfdir}/rescue directory. To | |
356 | recreate the rescue information for this system run ./getdiskinfo | |
357 | again. | |
358 | ||
359 | %description rescue -l pl.UTF-8 | |
360 | Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów. | |
361 | ||
362 | Bacula to zbiór programów umożliwiających administratorowi na | |
363 | zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w | |
364 | sieci komputerów różnego rodzaju. W terminologii technicznej jest to | |
365 | program do kopii zapasowych pracujący w architekturze klient-serwer. | |
366 | Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym | |
367 | wiele zaawansowanych możliwości przy zarządzaniu nośnikami, | |
368 | ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych | |
369 | plików. | |
370 | ||
371 | Ten pakiet zawiera skrypty do odtwarzania po awarii i tworzy dyskietkę | |
372 | ratunkowe do odtwarzania systemu od zera. | |
373 | ||
374 | Aby stworzyć dyskietkę ratunkową Baculi, należy uruchomić "./make_rescue_disk | |
375 | --copy-static-bacula - --copy-etc-files" z katalogu | |
376 | %{_sysconfdir}/rescue . Aby ponownie utworzyć informacje ratunkowe dla | |
377 | danego systemu, należy ponownie uruchomić ./getdiskinfo . | |
378 | ||
379 | %prep | |
380 | %setup -q -a 1 | |
381 | %patch0 -p1 | |
382 | %patch1 -p1 | |
383 | %patch2 -p1 | |
384 | %patch3 -p1 | |
385 | %patch4 -p1 | |
386 | ||
387 | tar -xf %{SOURCE2} && ln -s bacula-rescue-* rescue | |
388 | sed -i -e 's#wx-config#wx-gtk2-unicode-config#g' configure* | |
389 | sed -i -e 's#-lreadline -lhistory -ltermcap#-lreadline -lhistory#g' configure* | |
390 | sed -i -e 's#bindir=.*#bindir=%{_bindir}#g' \ | |
391 | src/cats/create_* src/cats/delete_* src/cats/drop_* \ | |
392 | src/cats/grant_* src/cats/make_* src/cats/update_* | |
393 | sed -i -e 's/@hostname@/--hostname--/' src/*/*.conf.in | |
394 | ||
395 | %build | |
396 | cp -f %{_datadir}/automake/config.sub autoconf | |
397 | CPPFLAGS="-I/usr/include/ncurses -I%{_includedir}/readline" | |
398 | %configure \ | |
399 | --with-scriptdir=%{_libexecdir}/%{name} \ | |
400 | --%{!?with_gnome:dis}%{?with_gnome:en}able-gnome \ | |
401 | --disable-conio \ | |
402 | --enable-smartalloc \ | |
403 | %{?with_console_wx:--enable-wx-console} \ | |
404 | --enable-tray-monitor \ | |
405 | %{?with_python:--with-python} \ | |
406 | --with-readline \ | |
407 | --with-tcp-wrappers \ | |
408 | --with-working-dir=%{_var}/lib/%{name} \ | |
409 | --with-dump-email="root@localhost" \ | |
410 | --with-job-email="root@localhost" \ | |
411 | --with-smtp-host=localhost \ | |
412 | --with-pid-dir=/var/run \ | |
413 | --with-subsys-dir=/var/lock/subsys \ | |
414 | --with-sqlite%{?with_sqlite3:3} \ | |
415 | %{?with_sqlite3_sync_off:--enable-extra-sqlite3-init="pragma synchronous=0;"} \ | |
416 | --with-dir-password="#FAKE-dir-password#" \ | |
417 | --with-fd-password="#FAKE-fd-password#" \ | |
418 | --with-sd-password="#FAKE-sd-password#" \ | |
419 | --with-mon-dir-password="#FAKE-mon-dir-password#" \ | |
420 | --with-mon-fd-password="#FAKE-mon-fd-password#" \ | |
421 | --with-mon-sd-password="#FAKE-mon-sd-password#" \ | |
422 | --enable-static-fd \ | |
423 | --with-openssl | |
424 | %{__make} | |
425 | ||
426 | %if %{with rescue} | |
427 | cd rescue | |
428 | %configure \ | |
429 | --with-bacula=../ | |
430 | cd linux/cdrom | |
431 | fakeroot %{__make} | |
432 | %endif | |
433 | ||
434 | %install | |
435 | rm -rf $RPM_BUILD_ROOT | |
436 | ||
437 | install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,pam.d,sysconfig} | |
438 | install -d $RPM_BUILD_ROOT%{_sysconfdir}/rescue | |
439 | install -d $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_mandir},%{_bindir}} | |
440 | ||
441 | %{__make} install \ | |
442 | DESTDIR=$RPM_BUILD_ROOT | |
443 | ||
444 | # static daemon | |
445 | strip -R.comment -R.note src/filed/static-bacula-fd | |
446 | install src/filed/static-bacula-fd $RPM_BUILD_ROOT%{_sysconfdir}/rescue/bacula-fd | |
447 | ||
448 | install %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-dir | |
449 | install %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-fd | |
450 | install %{SOURCE12} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-sd | |
451 | install %{SOURCE13} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-dir | |
452 | install %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/bacula-dir | |
453 | install %{SOURCE15} $RPM_BUILD_ROOT/etc/sysconfig/bacula-fd | |
454 | install %{SOURCE16} $RPM_BUILD_ROOT/etc/sysconfig/bacula-sd | |
455 | ||
456 | %if %{with console_wx} | |
457 | # tray-monitor is for regular users | |
458 | mv $RPM_BUILD_ROOT%{_sbindir}/bacula-tray-monitor $RPM_BUILD_ROOT%{_bindir} | |
459 | ||
460 | install scripts/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png | |
461 | install src/tray-monitor/generic.xpm $RPM_BUILD_ROOT%{_pixmapsdir}/bacula-tray-monitor.xpm | |
462 | install scripts/bacula.desktop.gnome2 $RPM_BUILD_ROOT%{_desktopdir}/bacula.desktop | |
463 | sed -e 's/gnome-console/wx-console/g;s/Console/Wx Console/g' \ | |
464 | scripts/bacula.desktop.gnome2 > $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop | |
465 | sed -e 's#%{_sbindir}#%{_bindir}#' \ | |
466 | scripts/bacula-tray-monitor.desktop > $RPM_BUILD_ROOT%{_desktopdir}/bacula-tray-monitor.desktop | |
467 | %endif | |
468 | ||
469 | %if %{with rescue} | |
470 | # install the rescue stuff, these are the rescue scripts | |
471 | install rescue/linux/floppy/backup.etc.list $RPM_BUILD_ROOT%{_sysconfdir}/rescue | |
472 | install rescue/linux/floppy/*_* $RPM_BUILD_ROOT%{_sysconfdir}/rescue | |
473 | install rescue/linux/floppy/getdiskinfo $RPM_BUILD_ROOT%{_sysconfdir}/rescue | |
474 | install rescue/linux/floppy/sfdisk.bz2 $RPM_BUILD_ROOT%{_sysconfdir}/rescue | |
475 | %endif | |
476 | ||
477 | # install the updatedb scripts | |
478 | install updatedb/update_sqlite* $RPM_BUILD_ROOT%{_libexecdir}/%{name} | |
479 | ||
480 | # place for site passwords | |
481 | touch $RPM_BUILD_ROOT%{_sysconfdir}/{dir-password,fd-password,sd-password} | |
482 | touch $RPM_BUILD_ROOT%{_sysconfdir}/{mon-dir-password,mon-fd-password,mon-sd-password} | |
483 | ||
484 | # some file changes | |
485 | rm -f $RPM_BUILD_ROOT%{_libexecdir}/%{name}/{gconsole,startmysql,stopmysql,bacula,bconsole,fd} | |
486 | rm -f $RPM_BUILD_ROOT%{_sbindir}/static-bacula-fd | |
487 | %if !%{with console_wx} | |
488 | rm -f $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop | |
489 | %endif | |
490 | touch $RPM_BUILD_ROOT%{_sysconfdir}/.pw.sed | |
491 | ||
492 | %clean | |
493 | rm -rf $RPM_BUILD_ROOT | |
494 | ||
495 | %pre common | |
496 | %groupadd -P %{name}-common -g 136 -r -f bacula | |
497 | %useradd -P %{name}-common -u 136 -r -d /var/lib/bacula -s /bin/false -c "Bacula User" -g bacula bacula | |
498 | ||
499 | %post common | |
500 | echo "Updating bacula passwords and names..." | |
501 | cd /etc/bacula | |
502 | for f in *-password ; do | |
503 | if [ ! -s $f ] ; then | |
504 | openssl rand -base64 33 > $f | |
505 | fi | |
506 | p=`cat $f` | |
507 | for cf in *.conf *.conf.rpmnew ; do | |
508 | [ -f $cf ] && sed -i -e"s:#FAKE-$f#:$p:" "$cf" || : | |
509 | done | |
510 | done | |
511 | for cf in *.conf *.conf.rpmnew ; do | |
512 | [ -f $cf ] && sed -i -e"s:--hostname--:`hostname`:" "$cf" || : | |
513 | done | |
514 | ||
515 | %postun common | |
516 | if [ "$1" = "0" ]; then | |
517 | %userremove bacula | |
518 | %groupremove bacula | |
519 | fi | |
520 | ||
521 | %post dir | |
522 | umask 077 | |
523 | [ -s %{_localstatedir}/bacula.db ] && \ | |
524 | DB_VER=`echo "select * from Version;" | \ | |
525 | %{_bindir}/sqlite%{?with_sqlite3:3} %{_localstatedir}/bacula.db | tail -n 1 2>/dev/null` | |
526 | if [ -z "$DB_VER" ]; then | |
527 | # grant privileges and create tables | |
528 | %{_libexecdir}/%{name}/grant_bacula_privileges > dev/null | |
529 | %{_libexecdir}/%{name}/create_bacula_database > dev/null | |
530 | %{_libexecdir}/%{name}/make_bacula_tables > dev/null | |
531 | elif [ "$DB_VER" -lt "9" ]; then | |
532 | echo "Backing up bacula tables" | |
533 | echo ".dump" | sqlite%{?with_sqlite3:3} %{_localstatedir}/bacula.db | bzip2 > %{_localstatedir}/bacula_backup.sql.bz2 | |
534 | echo "Upgrading bacula tables" | |
535 | %if %{with sqlite3} | |
536 | type=sqlite3 | |
537 | if [ "$DB_VER" -lt "9" ]; then | |
538 | %{_libexecdir}/%{name}/update_${type}_tables_8_to_9 | |
539 | fi | |
540 | %else | |
541 | type=sqlite | |
542 | if [ "$DB_VER" -lt "9" ]; then | |
543 | if [ "$DB_VER" -lt "8" ]; then | |
544 | if [ "$DB_VER" -lt "7" ]; then | |
545 | if [ "$DB_VER" -lt "6" ]; then | |
546 | if [ "$DB_VER" -lt "5" ]; then | |
547 | %{_libexecdir}/%{name}/update_${type}_tables_4_to_5 | |
548 | fi | |
549 | %{_libexecdir}/%{name}/update_${type}_tables_5_to_6 | |
550 | fi | |
551 | %{_libexecdir}/%{name}/update_${type}_tables_6_to_7 | |
552 | fi | |
553 | %{_libexecdir}/%{name}/update_${type}_tables_7_to_8 | |
554 | fi | |
555 | %{_libexecdir}/%{name}/update_${type}_tables_8_to_9 | |
556 | fi | |
557 | %endif | |
558 | %{_libexecdir}/%{name}/update_bacula_tables | |
559 | echo "If bacula works correctly you can remove the backup file %{_localstatedir}/bacula_backup.sql.bz2" | |
560 | fi | |
561 | chown -R bacula:bacula %{_localstatedir} | |
562 | chmod -R u+rX,go-rwx %{_localstatedir}/* | |
563 | ||
564 | echo "Updating Bacula passwords and names..." | |
565 | cd /etc/bacula | |
566 | for f in *-password ; do | |
567 | p=`cat $f` | |
568 | sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || : | |
569 | done | |
570 | sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || : | |
571 | ||
572 | /sbin/chkconfig --add bacula-dir | |
573 | %service bacula-dir restart "Bacula Director daemon" | |
574 | ||
575 | %preun dir | |
576 | if [ "$1" = "0" ]; then | |
577 | %service bacula-dir stop | |
578 | /sbin/chkconfig --del bacula-dir | |
579 | fi | |
580 | ||
581 | %post fd | |
582 | echo "Updating Bacula passwords and names..." | |
583 | cd /etc/bacula | |
584 | for f in *-password ; do | |
585 | p=`cat $f` | |
586 | sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || : | |
587 | done | |
588 | sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || : | |
589 | ||
590 | /sbin/chkconfig --add bacula-fd | |
591 | %service bacula-fd restart "Bacula File daemon" | |
592 | ||
593 | %preun fd | |
594 | if [ "$1" = "0" ]; then | |
595 | %service bacula-fd stop | |
596 | /sbin/chkconfig --del bacula-fd | |
597 | fi | |
598 | ||
599 | %post sd | |
600 | echo "Updating Bacula passwords and names..." | |
601 | cd /etc/bacula | |
602 | for f in *-password ; do | |
603 | p=`cat $f` | |
604 | sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || : | |
605 | done | |
606 | sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || : | |
607 | ||
608 | /sbin/chkconfig --add bacula-sd | |
609 | %service bacula-sd restart "Bacula Storage daemon" | |
610 | ||
611 | %preun sd | |
612 | if [ "$1" = "0" ]; then | |
613 | %service bacula-sd stop | |
614 | /sbin/chkconfig --del bacula-sd | |
615 | fi | |
616 | ||
617 | %pre console | |
618 | if [ -e %{_sysconfdir}/console.conf -a ! -e %{_sysconfdir}/bconsole.conf ]; then | |
619 | mv %{_sysconfdir}/console.conf %{_sysconfdir}/bconsole.conf | |
620 | fi | |
621 | ||
622 | %post console | |
623 | echo "Updating Bacula passwords and names..." | |
624 | cd /etc/bacula | |
625 | for f in *-password ; do | |
626 | p=`cat $f` | |
627 | sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || : | |
628 | done | |
629 | sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || : | |
630 | ||
631 | %post console-wx | |
632 | echo "Updating Bacula passwords and names..." | |
633 | cd /etc/bacula | |
634 | for f in *-password ; do | |
635 | p=`cat $f` | |
636 | sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || : | |
637 | done | |
638 | sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || : | |
639 | ||
640 | %post console-gnome | |
641 | echo "Updating Bacula passwords and names..." | |
642 | cd /etc/bacula | |
643 | for f in *-password ; do | |
644 | p=`cat $f` | |
645 | sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || : | |
646 | done | |
647 | sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || : | |
648 | ||
649 | %post tray-monitor | |
650 | echo "Updating Bacula passwords and names..." | |
651 | cd /etc/bacula | |
652 | for f in *-password ; do | |
653 | p=`cat $f` | |
654 | sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || : | |
655 | done | |
656 | sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || : | |
657 | ||
658 | %post rescue | |
659 | # link our current installed conf file to the rescue directory | |
660 | ln -sf %{_sysconfdir}/bacula-fd.conf %{_sysconfdir}/rescue/bacula-fd.conf | |
661 | ||
662 | # run getdiskinfo | |
663 | echo "Creating rescue files for this system..." | |
664 | cd %{_sysconfdir}/rescue | |
665 | ./getdiskinfo | |
666 | ||
667 | %preun rescue | |
668 | # remove the files created after the initial rpm installation | |
669 | if [ "$1" = "0" ]; then | |
670 | rm -f %{_sysconfdir}/rescue/bacula-fd.conf | |
671 | rm -f %{_sysconfdir}/rescue/partition.* | |
672 | rm -f %{_sysconfdir}/rescue/format.* | |
673 | rm -f %{_sysconfdir}/rescue/mount_drives | |
674 | rm -f %{_sysconfdir}/rescue/start_network | |
675 | rm -f %{_sysconfdir}/rescue/sfdisk | |
676 | rm -rf %{_sysconfdir}/rescue/diskinfo/* | |
677 | fi | |
678 | ||
679 | %files common | |
680 | %defattr(644,root,root,755) | |
681 | %doc LICENSE | |
682 | %dir %{_sysconfdir} | |
683 | %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*-password | |
684 | %attr(755,root,root) %{_sbindir}/bsmtp | |
685 | %attr(755,root,root) %{_sbindir}/btraceback | |
686 | %{_mandir}/man8/bacula.8* | |
687 | %{_mandir}/man1/bsmtp.1* | |
688 | %{_mandir}/man8/btraceback.8* | |
689 | %dir %{_libexecdir}/%{name} | |
690 | %{_libexecdir}/%{name}/btraceback.dbx | |
691 | %{_libexecdir}/%{name}/btraceback.gdb | |
692 | %attr(770,root,bacula) %dir %{_localstatedir} | |
693 | ||
694 | %files dir | |
695 | %defattr(644,root,root,755) | |
696 | %doc ChangeLog CheckList ReleaseNotes kernstodo LICENSE | |
697 | #%doc examples %{name}-docs-%{version}/manual/{*.pdf,bacula} | |
698 | %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-dir.conf | |
699 | %ghost %{_sysconfdir}/.pw.sed | |
700 | %attr(640,root,root) %config(noreplace) /etc/logrotate.d/bacula-dir | |
701 | %attr(754,root,root) /etc/rc.d/init.d/bacula-dir | |
702 | %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-dir | |
703 | %attr(755,root,root) %{_sbindir}/bacula-dir | |
704 | %attr(755,root,root) %{_sbindir}/bregex | |
705 | %attr(755,root,root) %{_sbindir}/bwild | |
706 | %attr(755,root,root) %{_sbindir}/dbcheck | |
707 | %{_mandir}/man8/bacula-dir.8* | |
708 | %{_mandir}/man8/dbcheck.8* | |
709 | %{_libexecdir}/%{name}/query.sql | |
710 | %if %{with sqlite3} | |
711 | %attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite3_database | |
712 | %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_database | |
713 | %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_tables | |
714 | %attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite3_privileges | |
715 | %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_tables | |
716 | %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite3_* | |
717 | %else | |
718 | %attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite_database | |
719 | %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite_database | |
720 | %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite_tables | |
721 | %attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite_privileges | |
722 | %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite_tables | |
723 | %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite_* | |
724 | %endif | |
725 | %attr(755,root,root) %{_libexecdir}/%{name}/create_bacula_database | |
726 | %attr(755,root,root) %{_libexecdir}/%{name}/drop_bacula_database | |
727 | %attr(755,root,root) %{_libexecdir}/%{name}/drop_bacula_tables | |
728 | %attr(755,root,root) %{_libexecdir}/%{name}/grant_bacula_privileges | |
729 | %attr(755,root,root) %{_libexecdir}/%{name}/make_bacula_tables | |
730 | %attr(755,root,root) %{_libexecdir}/%{name}/update_bacula_tables | |
731 | %attr(755,root,root) %{_libexecdir}/%{name}/make_catalog_backup | |
732 | %attr(755,root,root) %{_libexecdir}/%{name}/delete_catalog_backup | |
733 | ||
734 | %files fd | |
735 | %defattr(644,root,root,755) | |
736 | %doc LICENSE | |
737 | %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-fd.conf | |
738 | %attr(754,root,root) /etc/rc.d/init.d/bacula-fd | |
739 | %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-fd | |
740 | %attr(755,root,root) %{_sbindir}/bacula-fd | |
741 | %{_mandir}/man8/bacula-fd.8* | |
742 | ||
743 | %files sd | |
744 | %defattr(644,root,root,755) | |
745 | %doc LICENSE | |
746 | %dir %{_sysconfdir} | |
747 | %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-sd.conf | |
748 | %attr(754,root,root) /etc/rc.d/init.d/bacula-sd | |
749 | %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-sd | |
750 | %attr(755,root,root) %{_sbindir}/bacula-sd | |
751 | %attr(755,root,root) %{_sbindir}/bcopy | |
752 | %attr(755,root,root) %{_sbindir}/bextract | |
753 | %attr(755,root,root) %{_sbindir}/bls | |
754 | %attr(755,root,root) %{_sbindir}/bscan | |
755 | %attr(755,root,root) %{_sbindir}/btape | |
756 | %attr(755,root,root) %{_libexecdir}/%{name}/mtx-changer | |
757 | %attr(755,root,root) %{_libexecdir}/%{name}/disk-changer | |
758 | %attr(755,root,root) %{_libexecdir}/%{name}/dvd-handler | |
759 | %{_mandir}/man8/bacula-sd.8* | |
760 | %{_mandir}/man8/bcopy.8* | |
761 | %{_mandir}/man8/bextract.8* | |
762 | %{_mandir}/man8/bls.8* | |
763 | %{_mandir}/man8/bscan.8* | |
764 | %{_mandir}/man8/btape.8* | |
765 | ||
766 | %files console | |
767 | %defattr(644,root,root,755) | |
768 | %doc LICENSE | |
769 | %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bconsole.conf | |
770 | %attr(755,root,root) %{_sbindir}/bconsole | |
771 | %{_mandir}/man8/bconsole.8* | |
772 | ||
773 | %if %{with console_wx} | |
774 | %files console-wx | |
775 | %defattr(644,root,root,755) | |
776 | %doc LICENSE | |
777 | %{_pixmapsdir}/%{name}.png | |
778 | %{_desktopdir}/bacula-wx.desktop | |
779 | %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/wx-console.conf | |
780 | %attr(755,root,root) %{_sbindir}/wx-console | |
781 | %{_mandir}/man1/bacula-wxconsole.1* | |
782 | %endif | |
783 | ||
784 | %if %{with gnome} | |
785 | %files console-gnome | |
786 | %defattr(644,root,root,755) | |
787 | %doc LICENSE | |
788 | %{_pixmapsdir}/%{name}.png | |
789 | %{_desktopdir}/bacula.desktop | |
790 | %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnome-console.conf | |
791 | %attr(755,root,root) %{_sbindir}/gnome-console | |
792 | %{_mandir}/man1/bacula-console-gnome.1* | |
793 | %endif | |
794 | ||
795 | %if %{with console_wx} | |
796 | %files tray-monitor | |
797 | %defattr(644,root,root,755) | |
798 | %doc LICENSE | |
799 | %{_pixmapsdir}/%{name}-tray-monitor.xpm | |
800 | %{_desktopdir}/%{name}-tray-monitor.desktop | |
801 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/tray-monitor.conf | |
802 | %attr(755,root,root) %{_bindir}/bacula-tray-monitor | |
803 | %{_mandir}/man1/bacula-tray-monitor.1* | |
804 | %endif | |
805 | ||
806 | %if %{with rescue} | |
807 | %files rescue | |
808 | %defattr(644,root,root,755) | |
809 | %doc LICENSE | |
810 | %dir %{_sysconfdir}/rescue | |
811 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/backup.etc.list | |
812 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/bacula-fd | |
813 | %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/format_floppy | |
814 | %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/getdiskinfo | |
815 | %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/make_rescue_disk | |
816 | %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_bacula | |
817 | %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_etc | |
818 | %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_grub | |
819 | %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_lilo | |
820 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/sfdisk.bz2 | |
821 | %endif |