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