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