]> git.pld-linux.org Git - packages/bacula.git/blame - bacula.spec
Version: 7.0.5
[packages/bacula.git] / bacula.spec
CommitLineData
c0d46bda
JK
1## TODO:
2# - fix libtoolize
b0473ed3 3# - update desktop files, think about su-wrappers for console (with .desktop files)
2007449a 4# - fix log file permissions
21838166 5# - check on upgrade (5.0 and 5.2 databases are NOT compatible)
2b68b0cb 6#
f2527d22 7# Conditional build:
12eebbf8 8%if "%{pld_release}" == "ac"
dae4f8f4 9%bcond_with qt # BAT / qt-console Qt4 GUI
12eebbf8 10%else
dae4f8f4 11%bcond_without qt # BAT / qt-console Qt4 GUI
12eebbf8 12%endif
41bc1b6e
JK
13%bcond_without mysql # use MySQL
14%bcond_without pgsql # use PostgreSQL
41bc1b6e 15%bcond_without sqlite3 # use SQLite3
819cd4b0 16%bcond_without nagios # build nagios plugin
6d11b02b 17%bcond_with sqlite3_sync_off # makes SQLite3 backend much faster, but less reliable
0eba139b 18
8ba087a4 19%if %{without sqlite3}
aeaed87e 20%undefine with_sqlite3_sync_off
21%endif
0eba139b 22
cbbef7da 23%define qtver 4.8.4
bb6e7dc5 24Summary: Bacula - The Network Backup Solution
6a00efc0 25Summary(pl.UTF-8): Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
bb6e7dc5 26Name: bacula
c0d46bda
JK
27Version: 7.0.5
28Release: 0.1
ccb5f851 29License: AGPL v3
52504a6d 30Group: Networking/Utilities
71a8c088 31Source0: http://downloads.sourceforge.net/bacula/%{name}-%{version}.tar.gz
c0d46bda 32# Source0-md5: b4a99d673f5e1eaae8b257ccc610241f
5ce18635
AM
33Source10: %{name}-dir.init
34Source11: %{name}-fd.init
35Source12: %{name}-sd.init
36Source13: %{name}.logrotate
4280e495
JK
37Source14: %{name}-dir.sysconfig
38Source15: %{name}-fd.sysconfig
39Source16: %{name}-sd.sysconfig
b6e1a6b6
JK
40Source17: %{name}-dir.service
41Source18: %{name}-fd.service
42Source19: %{name}-sd.service
0a03f92d 43Patch0: %{name}-mtx-changer.patch
53a3431c 44Patch1: %{name}-branding.patch
c0d46bda
JK
45Patch2: %{name}-desktop.patch
46Patch3: make_catalog_backup-setup-home.patch
47Patch4: %{name}-no_lockmgr.patch
bb6e7dc5 48URL: http://www.bacula.org/
0819f86f 49BuildRequires: acl-devel
f6b184fc 50BuildRequires: autoconf >= 2.61
f2337569 51BuildRequires: automake
1c4c1905 52BuildRequires: gettext-tools
0819f86f 53BuildRequires: libcap-devel
2ddca527 54BuildRequires: libtool >= 2:2.2
f183f7ef 55BuildRequires: libwrap-devel
cc01862b 56BuildRequires: ncurses-devel
bb6e7dc5
AM
57BuildRequires: openssl-devel
58BuildRequires: pkgconfig
c0d46bda 59BuildRequires: python
b403dd64 60BuildRequires: python-modules
dae4f8f4 61%if %{with qt}
304bb97e 62BuildRequires: QtCore-devel
e3dd858d 63BuildRequires: QtGui-devel
95ed03d9
ER
64BuildRequires: qt4-build >= %{qtver}
65BuildRequires: qt4-qmake >= %{qtver}
c19580f6 66%endif
4c7199dc
SP
67%{?with_mysql:BuildRequires: mysql-devel}
68%{?with_pgsql:BuildRequires: postgresql-devel}
bb6e7dc5 69BuildRequires: readline-devel
12eebbf8 70BuildRequires: rpm >= 4.4.9-56
b403dd64 71BuildRequires: rpm-pythonprov
b6e1a6b6 72BuildRequires: rpmbuild(macros) >= 1.644
cc01862b 73BuildRequires: sed >= 4.0
6d11b02b 74%{?with_sqlite3:BuildRequires: sqlite3-devel}
b403dd64 75BuildRequires: which
82139dcc 76Requires: systemd-units >= 38
bb6e7dc5 77BuildRequires: zlib-devel
bb6e7dc5
AM
78BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
79
d5e827d3 80%define _sysconfdir /etc/%{name}
1a72afd2 81%define _localstatedir /var/lib/%{name}
d5e827d3 82%define nagiosplugindir %{_libdir}/nagios/plugins
bb6e7dc5 83
9a766d73
AM
84# db packages contain duplicates
85%define _duplicate_files_terminate_build 0
86
b8003eec 87# from 'the worst' to 'the best'
53a3431c 88%define databases %{?with_sqlite3:sqlite3} %{?with_mysql:mysql} %{?with_pgsql:postgresql}
41bc1b6e 89
b60fe5cb
ER
90# dependency section is broken. ccache usage is instead to makefiles
91%undefine with_ccache
92
bb6e7dc5
AM
93%description
94Bacula - It comes by night and sucks the vital essence from your
95computers.
96
97Bacula is a set of computer programs that permit you (or the system
98administrator) to manage backup, recovery, and verification of
99computer data across a network of computers of different kinds. In
100technical terms, it is a network client/server based backup program.
101Bacula is relatively easy to use and efficient, while offering many
102advanced storage management features that make it easy to find and
5ce18635 103recover lost or damaged files.
bb6e7dc5 104
192fbfcf
JR
105%description -l pl.UTF-8
106Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
cc01862b 107
192fbfcf
JR
108Bacula to zbiór programów umożliwiających administratorowi na
109zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
168306e6
ER
110sieci komputerów różnego rodzaju. W terminologii technicznej jest to
111program do kopii zapasowych pracujący w architekturze klient-serwer.
112Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
113wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
114ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
115plików.
cc01862b 116
5ce18635
AM
117%package common
118Summary: Common files for bacula package
6a00efc0 119Summary(pl.UTF-8): Pliki wspólne dla pakietu bacula
bb6e7dc5 120Group: Networking/Utilities
237bfacd
JK
121Requires(post): openssl-tools
122Requires(post): sed >= 4.0
1bd568e8 123Requires(post,preun): /sbin/chkconfig
65253ffd
JK
124Requires(postun): /usr/sbin/groupdel
125Requires(postun): /usr/sbin/userdel
1b0a2248 126Requires(pre): /usr/sbin/groupadd
127Requires(pre): /usr/sbin/useradd
abdcd1c5
JB
128Conflicts: bacula-console < 0:1.34.6
129Conflicts: bacula-dir < 0:1.34.6
130Conflicts: bacula-fd < 0:1.34.6
131Conflicts: bacula-sd < 0:1.34.6
5c4729e7 132Conflicts: logrotate < 3.8.0
bb6e7dc5 133
5ce18635 134%description common
bb6e7dc5
AM
135Bacula - It comes by night and sucks the vital essence from your
136computers.
137
138Bacula is a set of computer programs that permit you (or the system
139administrator) to manage backup, recovery, and verification of
140computer data across a network of computers of different kinds. In
141technical terms, it is a network client/server based backup program.
142Bacula is relatively easy to use and efficient, while offering many
143advanced storage management features that make it easy to find and
5ce18635 144recover lost or damaged files.
bb6e7dc5 145
192fbfcf
JR
146%description common -l pl.UTF-8
147Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
cc01862b 148
192fbfcf
JR
149Bacula to zbiór programów umożliwiających administratorowi na
150zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
168306e6
ER
151sieci komputerów różnego rodzaju. W terminologii technicznej jest to
152program do kopii zapasowych pracujący w architekturze klient-serwer.
153Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
154wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
155ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
156plików.
cc01862b 157
5ce18635
AM
158%package dir
159Summary: Bacula Director and Catalog services
6a00efc0 160Summary(pl.UTF-8): Usługi Bacula Director i Catalog
5ce18635 161Group: Networking/Utilities
237bfacd 162Requires(post): sed >= 4.0
74c2ad1c
ER
163Requires: %{name}-common = %{version}-%{release}
164Requires: bacula(db) = %{version}-%{release}
abdcd1c5 165Obsoletes: bacula-updatedb
bb6e7dc5 166
5ce18635
AM
167%description dir
168Bacula - It comes by night and sucks the vital essence from your
169computers.
170
171Bacula Director is the program that supervises all the backup,
172restore, verify and archive operations. The system administrator uses
173the Bacula Director to schedule backups and to recover files. Catalog
174services are comprised of the software programs responsible for
175maintaining the file indexes and volume databases for all files backed
176up. The Catalog services permit the System Administrator or user to
177quickly locate and restore any desired file, since it maintains a
7533d19f 178record of all Volumes used, all Jobs run, and all Files saved.
5ce18635 179
192fbfcf
JR
180%description dir -l pl.UTF-8
181Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
cc01862b 182
192fbfcf 183Bacula Director to program nadzorujący wszystkie operacje wykonywania
cc01862b 184kopii zapasowych, odzyskiwania, weryfikacji i archiwizowania.
192fbfcf
JR
185Administrator używa Bacula Directora do szeregowania kopii zapasowych
186oraz odzyskiwania plików. Usługi katalogowe (Catalog services) są
168306e6
ER
187używane przez programy odpowiedzialne za zarządzanie indeksami plików
188i bazą danych wolumenów dla wszystkich kopiowanych plików. Usługi
189katalogowe umożliwiają administratorowi lub użytkownikowi szybko
190zlokalizować i odtworzyć dowolny plik, ponieważ utrzymują rekord ze
191wszystkimi używanymi wolumenami, uruchomionymi zadaniami i zapisanymi
192plikami.
cc01862b 193
5ce18635
AM
194%package console
195Summary: Bacula Console
6a00efc0 196Summary(pl.UTF-8): Konsola Baculi
5ce18635 197Group: Networking/Utilities
237bfacd 198Requires(post): sed >= 4.0
74c2ad1c 199Requires: %{name}-common = %{version}-%{release}
5ce18635
AM
200
201%description console
202Bacula - It comes by night and sucks the vital essence from your
203computers.
204
205Bacula Console is the program that allows the administrator or user to
206communicate with the Bacula Director. This is the text only console
207interface.
208
192fbfcf
JR
209%description console -l pl.UTF-8
210Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
cc01862b 211
192fbfcf
JR
212Bacula Console to program umożliwiający administratorowi lub
213użytkownikowi komunikowanie się z programem Bacula Director. To jest
cc01862b
JB
214interfejs czysto tekstowy.
215
348912a8
JK
216%package console-qt
217Summary: bat – The Bacula Administration Tool
218Summary(pl.UTF-8): bat – narzędzie administratora Baculi
304bb97e
AM
219Group: Networking/Utilities
220Requires(post): sed >= 4.0
74c2ad1c 221Requires: %{name}-common = %{version}-%{release}
12eebbf8 222Requires: QtCore >= %{qtver}
30caee93 223Obsoletes: bacula-console-qt4 < 5.2.13-1
304bb97e 224
348912a8 225%description console-qt
304bb97e
AM
226Bacula - It comes by night and sucks the vital essence from your
227computers.
228
82139dcc
JK
229bat is short for Bacula Administration Tool. It is a GUI form of
230bconsole, but with many additional features.
304bb97e 231
348912a8 232%description console-qt -l pl.UTF-8
304bb97e
AM
233Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
234
348912a8
JK
235bat, czyli Bacula Administration Tool, jest graficznym odpowiednikiem
236bconsole, z wieloma dodatkowymi funkcjami.
304bb97e 237
237bfacd
JK
238%package tray-monitor
239Summary: Bacula Tray Monitor
240Group: Networking/Utilities
237bfacd 241Requires(post): sed >= 4.0
74c2ad1c 242Requires: %{name}-common = %{version}-%{release}
237bfacd
JK
243
244%description tray-monitor
245Bacula - It comes by night and sucks the vital essence from your
246computers.
247
1b0a2248 248The Monitor program is typically an icon in the system tray. However,
249once the icon is expanded into a full window, the administrator or
250user can obtain status information about the Director or the backup
251status on the local workstation or any other Bacula daemon that is
252configured.
237bfacd 253
5ce18635
AM
254%package fd
255Summary: Bacula File services (Client)
6a00efc0 256Summary(pl.UTF-8): Usługi Bacula File (klient)
5ce18635 257Group: Networking/Utilities
237bfacd 258Requires(post): sed >= 4.0
74c2ad1c 259Requires: %{name}-common = %{version}-%{release}
5ce18635
AM
260
261%description fd
262Bacula - It comes by night and sucks the vital essence from your
263computers.
264
265Bacula File services (or Client program) is the software program that
266is installed on the machine to be backed up. It is specific to the
267operating system on which it runs and is responsible for providing the
268file attributes and data when requested by the Director. The File
269services are also responsible for the file system dependent part of
270restoring the file attributes and data during a recovery operation.
271This program runs as a daemon on the machine to be backed up, and in
272some of the documentation, the File daemon is referred to as the
273Client (for example in Bacula configuration file).
274
192fbfcf
JR
275%description fd -l pl.UTF-8
276Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
277
168306e6
ER
278Usługi Bacula File (inaczej program kliencki) to oprogramowanie, które
279instaluje się na maszynach, z których mają być wykonywane kopie
280zapasowe. Są one specyficzne dla systemu operacyjnego, pod którym
281działa dana maszyna i odpowiadają za dostarczanie atrybutów i danych
282plików na żądanie Directora. Usługi plikowe są także odpowiedzialne za
283zależną od systemu plików część odzyskiwania atrybutów i danych plików
284podczas operacji odzyskiwania danych. Program działa jako demon na
285maszynie, która ma być backupowana i w części dokumentacji demon ten
286(File) jest nazywany klientem (na przykład w pliku konfiguracyjnym
287Baculi).
cc01862b 288
5ce18635
AM
289%package sd
290Summary: Bacula Storage services
6a00efc0 291Summary(pl.UTF-8): Usługi Bacula Storage
5ce18635 292Group: Networking/Utilities
237bfacd 293Requires(post): sed >= 4.0
74c2ad1c 294Requires: %{name}-common = %{version}-%{release}
82139dcc 295Suggests: mtx
329073aa 296Conflicts: dvd+rw-tools <= 5.21.4.10.8-1
5ce18635
AM
297
298%description sd
299Bacula - It comes by night and sucks the vital essence from your
300computers.
301
302Bacula Storage services consist of the software programs that perform
303the storage and recovery of the file attributes and data to the
304physical backup media or volumes. In other words, the Storage daemon
305is responsible for reading and writing your tapes (or other storage
306media, e.g. files). The Storage services runs as a daemon on the
307machine that has the backup device (usually a tape drive).
bb6e7dc5 308
192fbfcf
JR
309%description sd -l pl.UTF-8
310Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
cc01862b 311
192fbfcf
JR
312Usługi Bacula Storage składają się z programów obsługujących
313przechowywanie danych oraz odzyskiwanie atrybutów i danych na
168306e6
ER
314fizycznych nośnikach lub wolumenach. Innymi słowy, demon Storage jest
315odpowiedzialny za odczyt i zapis taśm (lub innych nośników do
316przechowywania danych, np. plików). Usługi Storage działają jako demon
317na maszynie, która zawiera urządzenie backupowe (zwykle napęd
192fbfcf 318taśmowy).
cc01862b 319
41bc1b6e
JK
320%package db-postgresql
321Summary: PostgreSQL database driver for Bacula
322Summary(pl.UTF-8): Sterownik bazy PostgreSQL dla Baculi
323Group: Networking/Utilities
324Requires(post): /sbin/ldconfig
74c2ad1c
ER
325Requires: %{name}-common = %{version}-%{release}
326Provides: bacula(db) = %{version}-%{release}
168306e6 327Obsoletes: bacula(db)
41bc1b6e
JK
328
329%description db-postgresql
330PostgreSQL database driver for Bacula.
331
332%description db-postgresql -l pl.UTF-8
333Sterownik bazy PostgreSQL dla Baculi.
334
335%package db-mysql
336Summary: MySQL database driver for Bacula
337Summary(pl.UTF-8): Sterownik bazy MySQL dla Baculi
338Group: Networking/Utilities
339Requires(post): /sbin/ldconfig
74c2ad1c
ER
340Requires: %{name}-common = %{version}-%{release}
341Provides: bacula(db) = %{version}-%{release}
168306e6 342Obsoletes: bacula(db)
41bc1b6e
JK
343
344%description db-mysql
345MySQL database driver for Bacula.
346
347%description db-mysql -l pl.UTF-8
348Sterownik bazy MySQL dla Baculi.
349
350%package db-sqlite3
351Summary: SQLite database driver for Bacula
352Summary(pl.UTF-8): Sterownik bazy SQLite dla Baculi
353Group: Networking/Utilities
354Requires(post): /sbin/ldconfig
74c2ad1c
ER
355Requires: %{name}-common = %{version}-%{release}
356Provides: bacula(db) = %{version}-%{release}
168306e6 357Obsoletes: bacula(db)
41bc1b6e
JK
358
359%description db-sqlite3
360SQLite database driver for Bacula.
361
362%description db-sqlite3 -l pl.UTF-8
363Sterownik bazy SQLite dla Baculi.
364
b0473ed3
ER
365%package -n nagios-plugin-check_bacula
366Summary: Nagios plugin to check bacula
367Group: Networking
368Requires: nagios-common
369
370%description -n nagios-plugin-check_bacula
371Nagios plugin to check bacula.
372
77ce6669 373%define _noautoreq libbaccats-%{version}.so
82139dcc 374# provided by various db libraries as a symlink
77ce6669 375
bb6e7dc5 376%prep
c0d46bda 377%setup -q
0a03f92d 378%patch0 -p1
53a3431c 379%patch1 -p1
cf0cfe65 380%patch2 -p1
ecb9bab1 381%patch3 -p1
e740cd49 382%patch4 -p1
cf50297e 383
10650249
AM
384sed -i -e 's#bindir=.*#bindir=%{_bindir}#g' \
385 src/cats/create_* src/cats/delete_* src/cats/drop_* \
386 src/cats/grant_* src/cats/make_* src/cats/update_*
237bfacd 387sed -i -e 's/@hostname@/--hostname--/' src/*/*.conf.in
efb15923 388sed -i -e 's/@basename@/--hostname--/' src/*/*.conf.in
bb6e7dc5
AM
389
390%build
4a39c080 391cd autoconf
c0d46bda
JK
392%{__aclocal} -I bacula-macros -I gettext-macros -I libtool
393## $BUILD_DIR not seen by libtoolize, export it
394#BUILD_DIR=.. %%{__libtoolize}
4a39c080 395cd ..
cf50297e
AM
396%{__autoconf} --prepend-include=$(pwd)/autoconf autoconf/configure.in > configure
397
dae3a0bd
JK
398CPPFLAGS="-I/usr/include/ncurses -I%{_includedir}/readline"
399
5df0c27c 400QMAKE=%{_bindir}/qmake-qt4 \
53a3431c 401%configure \
c0d46bda 402 DISTNAME=pld-linux \
53a3431c 403 --with-scriptdir=%{_libexecdir}/%{name} \
dae4f8f4 404 %{?with_qt:--enable-bat} \
53a3431c
AM
405 --disable-conio \
406 --enable-smartalloc \
53a3431c
AM
407 --with-readline \
408 --with-tcp-wrappers \
409 --with-working-dir=%{_var}/lib/%{name} \
410 --with-dump-email="root@localhost" \
411 --with-job-email="root@localhost" \
412 --with-smtp-host=localhost \
413 --with-pid-dir=/var/run \
414 --with-subsys-dir=/var/lock/subsys \
82139dcc 415 --with-systemd=%{systemdunitdir} \
53a3431c
AM
416 --enable-batch-insert \
417 %{?with_pgsql:--with-postgresql} \
418 %{?with_mysql:--with-mysql} \
419 %{?with_sqlite3:--with-sqlite3} \
420 %{?with_sqlite3_sync_off:--enable-extra-sqlite3-init="pragma synchronous=0;"} \
421 --with-dir-password="#FAKE-dir-password#" \
422 --with-fd-password="#FAKE-fd-password#" \
423 --with-sd-password="#FAKE-sd-password#" \
424 --with-mon-dir-password="#FAKE-mon-dir-password#" \
425 --with-mon-fd-password="#FAKE-mon-fd-password#" \
426 --with-mon-sd-password="#FAKE-mon-sd-password#" \
427 --with-openssl
bb6e7dc5 428
dae4f8f4 429%if %{with qt}
b8003eec
JK
430cd src/qt-console
431qmake-qt4 bat.pro
432cd ../..
433%endif
434
ffb67df4
AM
435%{__make} 2>&1 | tee log
436# check for build errors
437grep "Error in" log && exit 1
b8003eec 438
b0473ed3
ER
439%if %{with nagios}
440# nagios plugin
441%{__make} -C examples/nagios/check_bacula
442%endif
443
bb6e7dc5
AM
444%install
445rm -rf $RPM_BUILD_ROOT
b6e1a6b6 446install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,pam.d,sysconfig} \
b6e1a6b6 447 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \
3f2aae08 448 $RPM_BUILD_ROOT{%{_mandir},%{_bindir},/var/log{,/archive}/bacula} \
b6e1a6b6 449 $RPM_BUILD_ROOT%{systemdunitdir}
bb6e7dc5
AM
450
451%{__make} install \
452 DESTDIR=$RPM_BUILD_ROOT
453
21838166
AM
454# create copies of make_catalog_backup for specific databases; zeore default one (will be ghost)
455for database in %{databases}; do
456 sed -e "s#default_db_type=.*#default_db_type=${database}#g" \
457 $RPM_BUILD_ROOT%{_libdir}/%{name}/make_catalog_backup \
458 > $RPM_BUILD_ROOT%{_libdir}/%{name}/make_${database}_catalog_backup
459 chmod 755 $RPM_BUILD_ROOT%{_libdir}/%{name}/make_${database}_catalog_backup
460done
461:> $RPM_BUILD_ROOT%{_libdir}/%{name}/make_catalog_backup
462
5a48616e 463# we use db dependant (at compile time) shell script only
53a3431c 464rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/make_catalog_backup.pl
5a48616e 465
53a3431c 466## replace with empty file, replaced by ldconfig from each db-* package on intsall
21838166
AM
467rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-%{version}.so
468touch $RPM_BUILD_ROOT%{_libdir}/libbaccats-%{version}.so
aa70ead8 469
8b9ffa69
ER
470install -p %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-dir
471install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-fd
472install -p %{SOURCE12} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-sd
473cp -a %{SOURCE13} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-dir
474cp -a %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/bacula-dir
475cp -a %{SOURCE15} $RPM_BUILD_ROOT/etc/sysconfig/bacula-fd
476cp -a %{SOURCE16} $RPM_BUILD_ROOT/etc/sysconfig/bacula-sd
b6e1a6b6
JK
477cp -a %{SOURCE17} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-dir.service
478cp -a %{SOURCE18} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-fd.service
479cp -a %{SOURCE19} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-sd.service
d907cd57 480
dae4f8f4 481%if %{with qt}
37bd6446
ER
482# qmake somewhy does not always create install_bins target. install our own the bin
483rm -f $RPM_BUILD_ROOT%{_sbindir}/bat
484libtool --silent --mode=install install src/qt-console/bat $RPM_BUILD_ROOT%{_bindir}
8edc54f3 485cp -a scripts/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png
b0473ed3 486cp -a scripts/bat.desktop $RPM_BUILD_ROOT%{_desktopdir}
304bb97e
AM
487%endif
488
3c0eac7c
AM
489touch $RPM_BUILD_ROOT/var/log/bacula/log
490
2f8e46d4
ER
491# install the updatedb scripts for older versions that last full release
492# 2.0 -> 3.0 : 10_to_11
21838166 493# 5.0 -> 5.2 : 12_to_14
2f8e46d4 494install -p updatedb/update_*_tables_10_to_11 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
21838166
AM
495install -p updatedb/update_*_tables_11_to_12 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
496install -p updatedb/update_*_tables_12_to_14 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
d907cd57 497
237bfacd
JK
498# place for site passwords
499touch $RPM_BUILD_ROOT%{_sysconfdir}/{dir-password,fd-password,sd-password}
500touch $RPM_BUILD_ROOT%{_sysconfdir}/{mon-dir-password,mon-fd-password,mon-sd-password}
bb6e7dc5 501
5a48616e 502mv $RPM_BUILD_ROOT%{_libexecdir}/%{name}/mtx-changer.conf $RPM_BUILD_ROOT%{_sysconfdir}/mtx-changer.conf
0a03f92d 503
1a72afd2
AM
504# some file changes
505rm -f $RPM_BUILD_ROOT%{_libexecdir}/%{name}/{gconsole,startmysql,stopmysql,bacula,bconsole,fd}
1a72afd2 506
8ba087a4
ER
507rm $RPM_BUILD_ROOT%{_docdir}/bacula/ChangeLog
508rm $RPM_BUILD_ROOT%{_docdir}/bacula/INSTALL
509rm $RPM_BUILD_ROOT%{_docdir}/bacula/LICENSE
510rm $RPM_BUILD_ROOT%{_docdir}/bacula/README
511rm $RPM_BUILD_ROOT%{_docdir}/bacula/ReleaseNotes
512rm $RPM_BUILD_ROOT%{_docdir}/bacula/VERIFYING
513rm $RPM_BUILD_ROOT%{_docdir}/bacula/technotes
514
7545e94f
JK
515# startup scripts, those in /etc/rc.d/init.d are better
516rm $RPM_BUILD_ROOT%{_sbindir}/bacula
517rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/bacula-ctl-*
518
41bc1b6e 519# unsupported
8fb2ca23 520rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/btraceback.mdb
41bc1b6e 521
7545e94f
JK
522# rename to avoid possible conflicts
523mv $RPM_BUILD_ROOT%{_sbindir}/{,bacula-}dbcheck
524mv $RPM_BUILD_ROOT%{_mandir}/man8/{,bacula-}dbcheck.8.gz
525
526# no -devel files packaged, so this is also useless
c0d46bda 527rm $RPM_BUILD_ROOT%{_libdir}/libbac{,cfg,find,sql,cats}.{so,la}
fe739daa
JK
528#rm $RPM_BUILD_ROOT%{_libdir}/libbaccats*.{so,la}
529%{?with_mysql:rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-mysql.{la,so}}
530%{?with_pgsql:rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-postgresql.{la,so}}
531%{?with_sqlite3:rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-sqlite3.{la,so}}
7545e94f 532
b0473ed3 533%if %{with nagios}
819cd4b0 534install -d $RPM_BUILD_ROOT%{nagiosplugindir}
b0473ed3
ER
535%{__make} -C examples/nagios/check_bacula install \
536 sbindir=%{nagiosplugindir} \
537 DESTDIR=$RPM_BUILD_ROOT
538%endif
7545e94f 539
f2337569
JB
540%clean
541rm -rf $RPM_BUILD_ROOT
542
5ce18635 543%pre common
fbc59152
ER
544%groupadd -P %{name}-common -g 136 -r -f bacula
545%useradd -P %{name}-common -u 136 -r -d /var/lib/bacula -s /bin/false -c "Bacula User" -g bacula bacula
5ce18635 546
b8003eec 547%define update_configs \
210f992b 548echo "Updating bacula passwords and names..." | %banner -a %{name} \
5a48616e 549cd %{_sysconfdir} \
2f8e46d4
ER
550for f in *-password; do \
551 if [ ! -s $f ]; then \
b8003eec
JK
552 openssl rand -base64 33 > $f \
553 fi \
2f8e46d4
ER
554 p=$(cat $f) \
555 for cf in *.conf *.conf.rpmnew; do \
b8003eec
JK
556 [ -f $cf ] && sed -i -e"s:#FAKE-$f#:$p:" "$cf" || : \
557 done \
558done \
2f8e46d4 559for cf in *.conf *.conf.rpmnew; do \
b8003eec
JK
560 [ -f $cf ] && sed -i -e"s:--hostname--:`hostname`:" "$cf" || : \
561done
562
237bfacd 563%post common
0a03f92d 564/sbin/ldconfig
b8003eec 565%update_configs
237bfacd 566
5ce18635 567%postun common
0a03f92d 568/sbin/ldconfig
28c9f5d0
AM
569if [ "$1" = "0" ]; then
570 %userremove bacula
571 %groupremove bacula
572fi
5ce18635 573
e31a1707 574%triggerpostun dir -- %{name}-dir < %{version}-0
b8003eec
JK
575%banner bacula-dir -t3 <<EOF
576You have upgraded from an older version of Bacula director.
bb6e7dc5 577
b8003eec
JK
578You will probably need to call %{_libexecdir}/%{name}/update_bacula_tables
579script to upgrade the database.
f0b67fde
ER
580
581Ensure you database partition has enough free space before you run the upgrade,
582i.e check that there is enough room to rebuild 'File' table (it is the largest
583in bacula db).
584
b8003eec 585EOF
237bfacd 586
b8003eec
JK
587%post dir
588%update_configs
1a72afd2 589/sbin/chkconfig --add bacula-dir
52504a6d 590%service bacula-dir restart "Bacula Director daemon"
b6e1a6b6 591%systemd_post bacula-dir.service
bb6e7dc5 592
5ce18635 593%preun dir
1a72afd2 594if [ "$1" = "0" ]; then
52504a6d 595 %service bacula-dir stop
9aa69d51 596 /sbin/chkconfig --del bacula-dir
1a72afd2 597fi
b6e1a6b6
JK
598%systemd_preun bacula-dir.service
599
600%postun dir
601%systemd_reload
bb6e7dc5 602
5ce18635 603%post fd
b8003eec 604%update_configs
1a72afd2 605/sbin/chkconfig --add bacula-fd
52504a6d 606%service bacula-fd restart "Bacula File daemon"
b6e1a6b6 607%systemd_post bacula-fd.service
bb6e7dc5 608
5ce18635 609%preun fd
1a72afd2 610if [ "$1" = "0" ]; then
52504a6d 611 %service bacula-fd stop
9aa69d51 612 /sbin/chkconfig --del bacula-fd
1a72afd2 613fi
b6e1a6b6
JK
614%systemd_preun bacula-fd.service
615
616%postun fd
617%systemd_reload
5ce18635
AM
618
619%post sd
b8003eec 620%update_configs
1a72afd2 621/sbin/chkconfig --add bacula-sd
52504a6d 622%service bacula-sd restart "Bacula Storage daemon"
b6e1a6b6 623%systemd_post bacula-sd.service
bb6e7dc5 624
5ce18635 625%preun sd
1a72afd2 626if [ "$1" = "0" ]; then
52504a6d 627 %service bacula-sd stop
9aa69d51 628 /sbin/chkconfig --del bacula-sd
1a72afd2 629fi
b6e1a6b6
JK
630%systemd_preun bacula-sd.service
631
632%postun sd
633%systemd_reload
5ce18635
AM
634
635%pre console
636if [ -e %{_sysconfdir}/console.conf -a ! -e %{_sysconfdir}/bconsole.conf ]; then
9aa69d51 637 mv %{_sysconfdir}/console.conf %{_sysconfdir}/bconsole.conf
bb6e7dc5
AM
638fi
639
237bfacd 640%post console
b8003eec 641%update_configs
237bfacd 642
827db798 643%triggerpostun common -- %{name}-common < 5.0.1-2
44069e22 644find %{_sysconfdir}/bat.conf* -perm /007 -print0 2>/dev/null | xargs -0 -r chmod 600 || :
3a5cd5d7 645
348912a8 646%post console-qt
b8003eec 647%update_configs
304bb97e 648
237bfacd 649%post tray-monitor
b8003eec 650%update_configs
bb6e7dc5 651
41bc1b6e
JK
652%define db_post() \
653/sbin/ldconfig \
b0473ed3 654for name in "create database" "drop tables" "drop database" "grant privileges" "make tables" "update tables"; do \
41bc1b6e
JK
655 prefix="${name%% *}" \
656 suffix="${name#* }" \
b0473ed3 657 ln -sf "${prefix}_%{1}_${suffix}" %{_libexecdir}/%{name}/"${prefix}_bacula_${suffix}" || : \
dae3a0bd 658done \
5a48616e 659ln -sf "make_%{1}_catalog_backup" %{_libexecdir}/%{name}/make_catalog_backup || : \
21838166 660ln -sf libbaccats-%{1}-%{version}.so %{_libdir}/libbaccats-%{version}.so || : \
dae3a0bd
JK
661%service bacula-dir restart "Bacula Director daemon"
662
41bc1b6e
JK
663%post db-postgresql
664%db_post postgresql
665
dfef965d 666%postun db-postgresql -p /sbin/ldconfig
dae3a0bd 667
41bc1b6e
JK
668%post db-mysql
669%db_post mysql
670
dfef965d 671%postun db-mysql -p /sbin/ldconfig
dae3a0bd 672
41bc1b6e
JK
673%post db-sqlite3
674%db_post sqlite3
675
dfef965d 676%postun db-sqlite3 -p /sbin/ldconfig
dae3a0bd 677
5ce18635
AM
678%files common
679%defattr(644,root,root,755)
237bfacd 680%doc LICENSE
1a72afd2 681%dir %{_sysconfdir}
1b0a2248 682%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*-password
7545e94f 683# do not remove bsmtp from files. Fix build if it is not installed.
c0d46bda 684%attr(755,root,root) %{_sbindir}/bpluginfo
7545e94f 685%attr(755,root,root) %{_sbindir}/bsmtp
7425cb9d 686%attr(755,root,root) %{_sbindir}/btraceback
c0d46bda
JK
687%attr(755,root,root) %{_libdir}/libbac-7*.so
688%attr(755,root,root) %{_libdir}/libbaccfg-7*.so
689%attr(755,root,root) %{_libdir}/libbacfind-7*.so
690%attr(755,root,root) %{_libdir}/libbacsql-7*.so
c74b041d 691%{_mandir}/man8/bacula.8*
c0d46bda 692%{_mandir}/man8/bpluginfo.8*
7425cb9d
JK
693%{_mandir}/man1/bsmtp.1*
694%{_mandir}/man8/btraceback.8*
5ce18635 695%dir %{_libexecdir}/%{name}
1376b552 696%{_libexecdir}/%{name}/btraceback.dbx
5ce18635 697%{_libexecdir}/%{name}/btraceback.gdb
7545e94f 698%{_libexecdir}/%{name}/bacula_config
d6dbe33c 699%attr(770,root,bacula) %dir %{_localstatedir}
3c0eac7c
AM
700%attr(750,bacula,logs) %dir /var/log/bacula
701%attr(640,bacula,logs) %ghost /var/log/bacula/log
3f2aae08 702%attr(750,bacula,logs) %dir /var/log/archive/bacula
5ce18635
AM
703
704%files dir
bb6e7dc5 705%defattr(644,root,root,755)
c0d46bda 706%doc ChangeLog ReleaseNotes LICENSE
28647453 707#%doc examples %{name}-docs-%{version}/manual/{*.pdf,bacula}
cc515592 708%attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-dir.conf
28c9f5d0 709%attr(640,root,root) %config(noreplace) /etc/logrotate.d/bacula-dir
1a72afd2 710%attr(754,root,root) /etc/rc.d/init.d/bacula-dir
cd23ba7c 711%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-dir
b6e1a6b6 712%{systemdunitdir}/bacula-dir.service
5ff0b6a3 713%attr(755,root,root) %{_sbindir}/bacula-dir
7545e94f
JK
714%attr(755,root,root) %{_sbindir}/bregex
715%attr(755,root,root) %{_sbindir}/bwild
716%attr(755,root,root) %{_sbindir}/bacula-dbcheck
79d0fef6 717%{_mandir}/man8/bacula-dir.8*
7545e94f 718%{_mandir}/man8/bacula-dbcheck.8*
3f7627bd
AM
719%{_mandir}/man8/bregex.8*
720%{_mandir}/man8/bwild.8*
79d0fef6 721%{_libexecdir}/%{name}/query.sql
5a48616e 722%attr(755,root,root) %{_libexecdir}/%{name}/delete_catalog_backup
41bc1b6e 723
722880a5 724%if %{with pgsql}
41bc1b6e
JK
725%files db-postgresql
726%defattr(644,root,root,755)
727%attr(755,root,root) %{_libexecdir}/%{name}/create_postgresql_database
728%attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_database
729%attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_tables
730%attr(755,root,root) %{_libexecdir}/%{name}/grant_postgresql_privileges
731%attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_tables
732%attr(755,root,root) %{_libexecdir}/%{name}/update_postgresql_*
21838166 733%attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_catalog_backup
c0d46bda 734%attr(755,root,root) %{_libdir}/libbaccats-postgresql-7*.so
41bc1b6e 735
c0d46bda 736%ghost %attr(755,root,root) %{_libdir}/libbaccats-7*.so
41bc1b6e
JK
737%ghost %{_libexecdir}/%{name}/create_bacula_database
738%ghost %{_libexecdir}/%{name}/drop_bacula_tables
739%ghost %{_libexecdir}/%{name}/drop_bacula_database
740%ghost %{_libexecdir}/%{name}/grant_bacula_privileges
741%ghost %{_libexecdir}/%{name}/make_bacula_tables
742%ghost %{_libexecdir}/%{name}/update_bacula_tables
21838166 743%ghost %{_libexecdir}/%{name}/make_catalog_backup
722880a5 744%endif
41bc1b6e 745
722880a5 746%if %{with mysql}
41bc1b6e
JK
747%files db-mysql
748%defattr(644,root,root,755)
aeaed87e 749%attr(755,root,root) %{_libexecdir}/%{name}/create_mysql_database
750%attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_database
751%attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_tables
752%attr(755,root,root) %{_libexecdir}/%{name}/grant_mysql_privileges
753%attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_tables
754%attr(755,root,root) %{_libexecdir}/%{name}/update_mysql_*
21838166 755%attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_catalog_backup
c0d46bda 756%attr(755,root,root) %{_libdir}/libbaccats-mysql-7*.so
41bc1b6e 757
c0d46bda 758%ghost %attr(755,root,root) %{_libdir}/libbaccats-7*.so
41bc1b6e
JK
759%ghost %{_libexecdir}/%{name}/create_bacula_database
760%ghost %{_libexecdir}/%{name}/drop_bacula_tables
761%ghost %{_libexecdir}/%{name}/drop_bacula_database
762%ghost %{_libexecdir}/%{name}/grant_bacula_privileges
763%ghost %{_libexecdir}/%{name}/make_bacula_tables
764%ghost %{_libexecdir}/%{name}/update_bacula_tables
21838166 765%ghost %{_libexecdir}/%{name}/make_catalog_backup
722880a5 766%endif
41bc1b6e 767
722880a5 768%if %{with sqlite3}
41bc1b6e
JK
769%files db-sqlite3
770%defattr(644,root,root,755)
771%attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite3_database
772%attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_database
773%attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_tables
774%attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite3_privileges
775%attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_tables
776%attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite3_*
21838166 777%attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_catalog_backup
c0d46bda 778%attr(755,root,root) %{_libdir}/libbaccats-sqlite3-7*.so
41bc1b6e 779
c0d46bda 780%ghost %attr(755,root,root) %{_libdir}/libbaccats-7*.so
41bc1b6e
JK
781%ghost %{_libexecdir}/%{name}/create_bacula_database
782%ghost %{_libexecdir}/%{name}/drop_bacula_tables
783%ghost %{_libexecdir}/%{name}/drop_bacula_database
784%ghost %{_libexecdir}/%{name}/grant_bacula_privileges
785%ghost %{_libexecdir}/%{name}/make_bacula_tables
786%ghost %{_libexecdir}/%{name}/update_bacula_tables
21838166 787%ghost %{_libexecdir}/%{name}/make_catalog_backup
722880a5 788%endif
41bc1b6e 789
5ce18635
AM
790%files fd
791%defattr(644,root,root,755)
237bfacd 792%doc LICENSE
efb15923 793%attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-fd.conf
1a72afd2 794%attr(754,root,root) /etc/rc.d/init.d/bacula-fd
cd23ba7c 795%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-fd
b6e1a6b6 796%{systemdunitdir}/bacula-fd.service
5ff0b6a3 797%attr(755,root,root) %{_sbindir}/bacula-fd
7545e94f 798%attr(755,root,root) %{_libdir}/bpipe-fd.so
79d0fef6 799%{_mandir}/man8/bacula-fd.8*
5ce18635
AM
800
801%files sd
802%defattr(644,root,root,755)
237bfacd 803%doc LICENSE
efb15923 804%attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-sd.conf
805%attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mtx-changer.conf
1a72afd2 806%attr(754,root,root) /etc/rc.d/init.d/bacula-sd
cd23ba7c 807%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-sd
b6e1a6b6 808%{systemdunitdir}/bacula-sd.service
5ff0b6a3
AM
809%attr(755,root,root) %{_sbindir}/bacula-sd
810%attr(755,root,root) %{_sbindir}/bcopy
811%attr(755,root,root) %{_sbindir}/bextract
812%attr(755,root,root) %{_sbindir}/bls
813%attr(755,root,root) %{_sbindir}/bscan
814%attr(755,root,root) %{_sbindir}/btape
329073aa 815%attr(755,root,root) %{_libexecdir}/%{name}/mtx-changer
150db1c2 816%attr(755,root,root) %{_libexecdir}/%{name}/disk-changer
329073aa 817%attr(755,root,root) %{_libexecdir}/%{name}/dvd-handler
5ce18635 818%{_mandir}/man8/bacula-sd.8*
7425cb9d
JK
819%{_mandir}/man8/bcopy.8*
820%{_mandir}/man8/bextract.8*
821%{_mandir}/man8/bls.8*
822%{_mandir}/man8/bscan.8*
823%{_mandir}/man8/btape.8*
5ce18635
AM
824
825%files console
bb6e7dc5 826%defattr(644,root,root,755)
237bfacd 827%doc LICENSE
efb15923 828%attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bconsole.conf
1a72afd2 829%attr(755,root,root) %{_sbindir}/bconsole
7425cb9d 830%{_mandir}/man8/bconsole.8*
5ce18635 831
dae4f8f4 832%if %{with qt}
348912a8 833%files console-qt
304bb97e
AM
834%defattr(644,root,root,755)
835%doc LICENSE
836%{_pixmapsdir}/%{name}.png
837%{_desktopdir}/bat.desktop
2264d68c 838# Do not make this file world-readable or any user will get full access to the
b0473ed3 839# backup system
2264d68c
JK
840%attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bat.conf
841%attr(755,root,root) %{_bindir}/bat
304bb97e 842%{_mandir}/man1/bat.1*
7545e94f 843%{_docdir}/%{name}
304bb97e
AM
844%endif
845
b0473ed3
ER
846%if %{with nagios}
847%files -n nagios-plugin-check_bacula
848%defattr(644,root,root,755)
849%attr(755,root,root) %{nagiosplugindir}/check_bacula
850%endif
This page took 0.259389 seconds and 4 git commands to generate.