]> git.pld-linux.org Git - packages/bacula.git/blob - bacula.spec
- 2.0.3
[packages/bacula.git] / bacula.spec
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
This page took 0.097846 seconds and 4 git commands to generate.