5 # Platform Build Configuration
7 # basic defines for every build
8 %define _release @RELEASE@
9 %define _version @VERSION@
10 %define product bacula
11 %define _packager Kern Sibbald <kern@sibbald.com>
12 %define depkgs_version @DEPKGS_VERSION@
14 # Don't strip binaries
15 %define __os_install_post %{nil}
16 %define __debug_install_post %{nil}
17 %define debug_package %{nil}
19 %define postgres_version 8
21 %{?build_rhel5:%define pgre84 1}
22 %{?build_el5:%define pgre84 1}
24 %define postgres_package postgresql84
25 %define postgres_server_package postgresql84-server
26 %define postgres_devel_package postgresql84-devel
28 %define postgres_package postgresql
29 %define postgres_server_package postgresql-server
30 %define postgres_devel_package postgresql-devel
34 %{?single_dir_install:%define single_dir 1}
36 # Installation Directory locations
37 %define _prefix /opt/bacula
38 %define _sbindir /opt/bacula/bin
39 %define _bindir /opt/bacula/bin
40 %define _subsysdir /opt/bacula/working
41 %define sqlite_bindir /opt/bacula/sqlite
42 %define _mandir /usr/share/man
43 %define docs_dir /opt/bacula/docs
44 %define archive_dir /opt/bacula/archive
45 %define sysconf_dir /opt/bacula/etc
46 %define script_dir /opt/bacula/scripts
47 %define working_dir /opt/bacula/working
48 %define pid_dir /opt/bacula/working
49 %define plugin_dir /opt/bacula/plugins
50 %define lib_dir /opt/bacula/lib
51 %define log_dir /opt/bacula/log
52 %define systemd_dir /lib/systemd/system
54 # Daemon user:group Don't change them unless you know what you are doing
55 %define director_daemon_user bacula
56 %define storage_daemon_user bacula
57 %define file_daemon_user root
58 %define daemon_group bacula
59 # group that has write access to tape devices, usually disk on Linux
60 %define storage_daemon_group disk
62 %define depkgs ../depkgs
64 # problems with mandriva build:
65 # nothing provides libbonobo2_0-devel, nothing provides libbonoboui2_0-devel
67 #--------------------------------------------------------------------------
68 # it should not be necessary to change anything below here for a release
69 # except for patch macros in the setup section
70 #--------------------------------------------------------------------------
72 %define base_package_name %{product}
74 %{?contrib_packager:%define _packager %{contrib_packager}}
76 Summary: Bacula - The Network Backup Solution
77 Name: %{base_package_name}
80 Group: System Environment/Daemons
82 BuildRoot: %{_tmppath}/%{name}-root
83 URL: http://www.bacula.org/
84 Vendor: The Bacula Team
85 Packager: %{_packager}
88 # opensuse build service changes the release itself
89 # what happens if the release is not 1? DSB
90 Source0: http://www.prdownloads.sourceforge.net/bacula/depkgs-%{depkgs_version}.tar.gz
91 Source1: http://www.prdownloads.sourceforge.net/bacula/%{product}-%{version}.tar.gz
92 Source2: Release_Notes-%{version}-%{release}.tar.gz
94 # define the basic package description
95 %define blurb Bacula - The Leading Open Source Backup Solution.
96 %define blurb2 Bacula is a set of computer programs that permit you (or the system
97 %define blurb3 administrator) to manage backup, recovery, and verification of computer
98 %define blurb4 data across a network of computers of different kinds. In technical terms,
99 %define blurb5 it is a network client/server based backup program. Bacula is relatively
100 %define blurb6 easy to use and efficient, while offering many advanced storage management
101 %define blurb7 features that make it easy to find and recover lost or damaged files.
102 %define blurb8 Bacula source code has been released under the AGPL version 3 license.
104 %define user_file /etc/passwd
105 %define group_file /etc/group
108 %define useradd /usr/sbin/useradd
109 %define groupadd /usr/sbin/groupadd
110 %define usermod /usr/sbin/usermod
112 # platform defines - set one below or define the build_xxx on the command line
115 %{?build_rh7:%define rh7 1}
117 %{?build_rh8:%define rh8 1}
119 %{?build_rh9:%define rh9 1}
122 %{?build_fc16:%define fc16 1}
124 %{?build_fc17:%define fc17 1}
126 %{?build_fc18:%define fc18 1}
128 %{?build_fc22:%define fc22 1}
130 %{?build_fc25:%define fc25 1}
132 %{?build_fc26:%define fc26 1}
134 %{?build_fc27:%define fc27 1}
135 # RedHat Enterprise builds
137 %{?build_rhel3:%define rhel3 1}
139 %{?build_rhel4:%define rhel4 1}
140 %{?build_rhel4:%define fc3 1}
141 %{?build_el4:%define rhel4 1}
142 %{?build_el4:%define fc3 1}
144 %{?build_rhel5:%define rhel5 1}
145 %{?build_rhel5:%define fc6 1}
146 %{?build_el5:%define rhel5 1}
147 %{?build_el5:%define fc6 1}
149 %{?build_rhel6:%define rhel6 1}
150 %{?build_el6:%define rhel6 1}
152 %{?build_rhel7:%define rhel7 1}
153 %{?build_el7:%define rhel7 1}
156 %{?build_centos3:%define centos3 1}
158 %{?build_centos4:%define centos4 1}
159 %{?build_centos4:%define fc3 1}
161 %{?build_centos5:%define centos5 1}
162 %{?build_centos5:%define fc6 1}
164 %{?build_centos6:%define centos6 1}
166 %{?build_centos7:%define centos7 1}
169 %{?build_sl3:%define sl3 1}
171 %{?build_sl4:%define sl4 1}
172 %{?build_sl4:%define fc3 1}
174 %{?build_sl5:%define sl5 1}
175 %{?build_sl5:%define fc6 1}
178 %{?build_su9:%define su9 1}
180 %{?build_su10:%define su10 1}
182 %{?build_su102:%define su102 1}
184 %{?build_su103:%define su103 1}
186 %{?build_su110:%define su110 1}
188 %{?build_su111:%define su111 1}
190 %{?build_su112:%define su112 1}
192 %{?build_su113:%define su113 1}
194 %{?build_su120:%define su120 1}
196 %{?build_su131:%define su131 1}
199 %{?build_mdk:%define mdk 1}
201 %{?build_mdv:%define mdv 1}
202 %{?build_mdv:%define mdk 1}
205 %define client_only 0
206 %{?build_client_only:%define client_only 1}
208 # if the platform is using systemd
211 %if %{rhel7} || %{fc22}|| %{fc25} || %{fc26} || %{fc27} || %{centos7}
215 # depending if we use systemd or not, we use chkconfig or systemctl
217 %define service_enable systemctl enable
218 %define service_disable systemctl disable
220 %define service_enable /sbin/chkconfig --add
221 %define service_disable /sbin/chkconfig --del
224 # Setup some short cuts
226 %if %{rh7} || %{rh8} || %{rh9}
230 %if %{fc16} || %{fc17} || %{fc18} || %{fc22} || %{fc25} || %{fc26} || %{fc27}
234 %if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111} || %{su112} || %{su120} || %{su131}
238 %if %{rhel3} || %{rhel4} || %{rhel5} || %{rhel6} || %{rhel7} || %{centos3} || %{centos4} || %{centos5} || %{centos6} || %{centos7}
242 %if %{sl3} || %{sl4} || %{sl5}
247 # test for a platform definition
248 %if !%{rhat} && !%{rhel} && !%{fed} && !%{suse} && !%{mdk} && !%{scil}
249 %{error: You must specify a platform. Please examine the spec file.}
253 # distribution-specific directory for logwatch
254 %if %{rh7} || %{rh8} || %{rh9}
255 %define logwatch_dir /etc/log.d
257 %define logwatch_dir /etc/logwatch
261 # set for database support desired or define the build_xxx on the command line
263 %{?build_mysql:%define mysql 1}
265 %{?build_sqlite:%define sqlite 1}
267 %{?build_postgresql:%define postgresql 1}
269 # test for a database definition
270 %if ! %{mysql} && ! %{sqlite} && ! %{postgresql} && ! %{client_only}
271 %{error: You must specify database support, by passing one of the following to rpmbuild:}
272 %{error: --define build_postgresql=1}
273 %{error: --define build_sqlite=1}
274 %{error: --define build_mysql=1}
279 %define db_backend mysql
282 %define db_backend sqlite3
285 %define db_backend postgresql
290 %{?build_x86_64:%define x86_64 1}
292 # check what distribution we are
293 %if %{fc16} || %{fc17} || %{fc18} || %{fc22} || %{fc25} || %{fc26} || %{fc27}
294 %define _dist %(grep Fedora /etc/redhat-release)
296 %if %{centos7} || %{centos6}
297 %define _dist %(grep CentOS /etc/redhat-release)
299 %if %{centos5} || %{centos4} || %{centos3}
300 %define _dist %(grep CentOS /etc/redhat-release)
302 %if %{sl5} ||%{sl4} || %{sl3}
303 %define _dist %(grep 'Scientific Linux' /etc/redhat-release)
306 %define _dist %(grep -i SuSE /etc/SuSE-release)
311 # should we enable tcp wrappers support
312 %define tcpwrappers 1
313 %{?build_tcpwrappers:%define tcpwrappers 1}
315 # do we need to patch for old postgresql version?
317 %{?build_old_pgsql:%define old_pgsql 1}
319 # Mandriva somehow forces the manpage file extension to bz2 rather than gz
321 %define manpage_ext bz2
323 %define manpage_ext gz
326 # for client only build
333 BuildRequires: gcc, gcc-c++, make, autoconf
334 BuildRequires: glibc, glibc-devel
335 BuildRequires: ncurses-devel, readline-devel
336 BuildRequires: libstdc++-devel, zlib-devel
337 BuildRequires: openssl-devel
338 BuildRequires: libacl-devel
339 BuildRequires: pkgconfig
340 BuildRequires: bzip2-devel
342 BuildRequires: libxml2-devel
346 BuildRequires: libxml-devel
349 BuildRequires: libstdc++-static-devel
350 BuildRequires: glibc-static-devel
353 %if %{mysql} && ! %{suse}
354 BuildRequires: mysql-devel
358 BuildRequires: %{postgres_devel_package} >= %{postgres_version}
373 # ===========================================================
374 # Generate mysql, sqlite, or postgresql rpm
375 # ===========================================================
379 Provides: libbaccats-%{version}.so()(64bit)
381 # The following provides is to work around an
382 # auto generated requires from src/scripts/logwatch/applybaculadate
383 # this is a gross kludge to keep it from being a requirement
385 Provides: perl(Logwatch)
391 Summary: Bacula - The Network Backup Solution
392 Group: System Environment/Daemons
393 Provides: bacula-dir, bacula-sd, bacula-fd, bacula-server
394 Conflicts: bacula-client
396 Requires: ncurses, libstdc++, zlib, openssl
397 Requires: glibc, readline, %{name}-libs
408 Requires: postgresql >= 7
418 %description postgresql
432 This build requires MySQL to be installed separately as the catalog database.
435 This build requires PostgreSQL to be installed separately as the catalog database.
438 This build incorporates sqlite3 as the catalog database, statically compiled.
441 This build includes tcp-wrappers support.
447 # ===========================================================
448 # Client -- bacula-fd rpm
449 # ===========================================================
452 Summary: Bacula - The Network Backup Solution
453 Group: System Environment/Daemons
455 Conflicts: bacula-mysql
456 Conflicts: bacula-sqlite
457 Conflicts: bacula-postgresql
461 Provides: %{product}-libs
464 Requires: libstdc++, zlib, openssl, bzip2-libs
465 Requires: glibc, readline, %{name}-libs
478 This is the File daemon (Client) only package. It includes the command line
481 This build includes tcp-wrappers support.
485 # ===========================================================
486 # Generate updatedb rpm
487 # ===========================================================
492 Summary: Bacula - The Network Backup Solution
493 Group: System Environment/Daemons
495 %description updatedb
506 This package installs scripts for updating older versions of the bacula
511 # ===========================================================
513 # ===========================================================
517 Summary: Bacula - The Network Backup Solution
518 Group: System Environment/Daemons
531 This package installs the shared libraries used by many bacula programs.
533 # Must explicitly enable debug pkg on SuSE
534 # but not in opensuse_bs
535 #%if %{suse} && ! 0%{?opensuse_bs}
540 %setup -T -b 0 -n depkgs
541 %setup -T -b 1 -n %{product}-%{version}
542 %setup -T -D -b 2 -n %{product}-%{version}
549 #export LDFLAGS="${LDFLAGS} -L/usr/lib/termcap -L/usr/lib64/termcap"
552 # You can use a cache for depkgs
553 # tar xfz depkgs*gz -C ~/
555 # touch %{depkgs_version} # depkgs version
557 if [ -f $HOME/depkgs/%{depkgs_version} ]; then
559 ln -s $HOME/depkgs %{depkgs}
571 export LDFLAGS="${LDFLAGS} -L${PWD}/lzo/lib"
572 export CPPFLAGS="${CPPFLAGS} -I${PWD}/lzo/include"
575 # hostname is the build hostname, so use XXX_HOSTNAME_XXX for Address parameter
576 sed -i s/hostname/basename/ src/console/bconsole.conf.in src/dird/bacula-dir.conf.in src/qt-console/bat.conf.in
579 # patches for the bundled sqlite scripts
580 sed -i s:.SQLITE_BINDIR.:/opt/bacula/sqlite: src/cats/*_sqlite3_*.in
582 # patch the bacula-dir init script to remove sqlite service
584 sed -i 's/network .DB_TYPE./network/' platforms/suse/bacula-dir.in
588 # 64 bit lib location hacks
589 # as of 1.39.18 it should not be necessary to enable x86_64 as configure is
590 # reported to be fixed to properly detect lib locations.
592 export LDFLAGS="${LDFLAGS} -L/usr/lib64"
594 %if %{mysql} && %{x86_64}
595 export LDFLAGS="${LDFLAGS} -L/usr/lib64/mysql"
598 export BACULA="Bacula"
600 # Main Bacula configuration
602 --prefix=%{_prefix} \
603 --sbindir=%{_sbindir} \
604 --sysconfdir=%{sysconf_dir} \
605 --mandir=%{_mandir} \
606 --with-scriptdir=%{script_dir} \
607 --with-working-dir=%{working_dir} \
608 --with-plugindir=%{plugin_dir} \
609 --with-logdir=%{log_dir} \
610 --with-pid-dir=%{pid_dir} \
611 --with-subsys-dir=%{_subsysdir} \
612 --enable-smartalloc \
623 --enable-client-only \
625 %if %{rh7} || %{rh8} || %{rh9}
626 --disable-batch-insert \
629 --with-systemd=%{systemd_dir} \
631 --with-tcp-wrappers \
632 --with-dir-user=%{director_daemon_user} \
633 --with-dir-group=%{daemon_group} \
634 --with-sd-user=%{storage_daemon_user} \
635 --with-sd-group=%{storage_daemon_group} \
636 --with-fd-user=%{file_daemon_user} \
637 --with-fd-group=%{daemon_group} \
638 --with-basename="XXX_HOSTNAME_XXX" \
639 --with-hostname="XXX_HOSTNAME_XXX" \
640 --with-dir-password="XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX" \
641 --with-fd-password="XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX" \
642 --with-sd-password="XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX" \
643 --with-mon-dir-password="XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX" \
644 --with-mon-fd-password="XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX" \
645 --with-mon-sd-password="XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX" \
653 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
654 mkdir -p $RPM_BUILD_ROOT/etc/init.d
655 mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d
656 mkdir -p $RPM_BUILD_ROOT%{logwatch_dir}/conf/logfiles
657 mkdir -p $RPM_BUILD_ROOT%{logwatch_dir}/conf/services
658 mkdir -p $RPM_BUILD_ROOT%{logwatch_dir}/scripts/services
659 mkdir -p $RPM_BUILD_ROOT%{logwatch_dir}/scripts/shared
660 mkdir -p $RPM_BUILD_ROOT%{script_dir}/updatedb
662 mkdir -p $RPM_BUILD_ROOT/etc/pam.d
663 mkdir -p $RPM_BUILD_ROOT%{_sbindir}
666 mkdir -p $RPM_BUILD_ROOT%{sqlite_bindir}
669 make DESTDIR=$RPM_BUILD_ROOT install
672 make DESTDIR=$RPM_BUILD_ROOT -C ../bacula-%{_version}/src/tools/ install-bsnapshot
675 make DESTDIR=$RPM_BUILD_ROOT -C platforms/systemd install-dir install-service
678 # Remove docs for programs that are depreciated
679 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-bgnome-console.1.%{manpage_ext}
680 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-bwxconsole.1.%{manpage_ext}
681 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-tray-monitor.1.%{manpage_ext}
682 rm -f $RPM_BUILD_ROOT%{script_dir}/gconsole
684 # Remove docs for programs we do not distribute
685 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bpluginfo.8.%{manpage_ext}
687 # Remove storage-ctl packaged in shstore rpm
688 rm -f $RPM_BUILD_ROOT%{script_dir}/storage-ctl
689 rm -f $RPM_BUILD_ROOT%{script_dir}/storage-ctl.conf
691 # fixme - make installs the mysql scripts for sqlite build
693 rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql
694 rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql
695 rm -f $RPM_BUILD_ROOT%{script_dir}/grant_mysql_privileges
698 # fixme - make installs the mysql scripts for postgresql build
700 rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql
701 rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql
705 #rm -f $RPM_BUILD_ROOT%{_libdir}/libbaccats.so
706 #rm -f $RPM_BUILD_ROOT%{_libdir}/libbaccats-%{version}.so
707 rm -f $RPM_BUILD_ROOT%{_libdir}/libbacsd.la
709 # install the init scripts
712 cp -p platforms/suse/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
713 cp -p platforms/suse/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
714 cp -p platforms/suse/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
717 cp -p platforms/mandrake/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
718 cp -p platforms/mandrake/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
719 cp -p platforms/mandrake/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
721 %if ! %{suse} && ! %{mdk}
722 cp -p platforms/redhat/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
723 cp -p platforms/redhat/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
724 cp -p platforms/redhat/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
725 %endif # !suse && !mdk
726 chmod 0754 $RPM_BUILD_ROOT/etc/init.d/*
727 %endif # ! usesystemd
730 rm -f $RPM_BUILD_ROOT/etc/init.d/bacula-dir
731 rm -f $RPM_BUILD_ROOT/etc/init.d/bacula-sd
732 rm -f $RPM_BUILD_ROOT%{script_dir}/breload
733 rm -f $RPM_BUILD_ROOT%{script_dir}/manual_prune.pl
734 rm -f $RPM_BUILD_ROOT%{systemd_dir}/bacula-dir.service
735 rm -f $RPM_BUILD_ROOT%{systemd_dir}/bacula-sd.service
740 cp -p %{depkgs}/sqlite3/sqlite3 $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite3
741 cp -p %{depkgs}/sqlite3/sqlite3.h $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite3.h
742 cp -p %{depkgs}/sqlite3/libsqlite3.a $RPM_BUILD_ROOT%{sqlite_bindir}/libsqlite3.a
746 # install the logrotate file
747 cp -p scripts/logrotate $RPM_BUILD_ROOT/etc/logrotate.d/bacula
749 # install the updatedb scripts
750 cp -p updatedb/* $RPM_BUILD_ROOT%{script_dir}/updatedb/
752 # install specific scripts
755 # install the sample-query.sql file
756 cp -p examples/sample-query.sql $RPM_BUILD_ROOT%{script_dir}/sample-query.sql
758 # install the logwatch scripts
759 cp -p scripts/logwatch/bacula $RPM_BUILD_ROOT%{logwatch_dir}/scripts/services/bacula
760 cp -p scripts/logwatch/applybaculadate $RPM_BUILD_ROOT%{logwatch_dir}/scripts/shared/applybaculadate
761 cp -p scripts/logwatch/logfile.bacula.conf $RPM_BUILD_ROOT%{logwatch_dir}/conf/logfiles/bacula.conf
762 cp -p scripts/logwatch/services.bacula.conf $RPM_BUILD_ROOT%{logwatch_dir}/conf/services/bacula.conf
763 chmod 755 $RPM_BUILD_ROOT%{logwatch_dir}/scripts/services/bacula
764 chmod 755 $RPM_BUILD_ROOT%{logwatch_dir}/scripts/shared/applybaculadate
765 chmod 644 $RPM_BUILD_ROOT%{logwatch_dir}/conf/logfiles/bacula.conf
766 chmod 644 $RPM_BUILD_ROOT%{logwatch_dir}/conf/services/bacula.conf
769 # now clean up permissions that are left broken by the install
770 chmod o-rwx $RPM_BUILD_ROOT%{working_dir}
772 # fix me - building enable-client-only installs files not included in bacula-client package
774 # Program docs not installed on client
775 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bacula-dir.8.%{manpage_ext}
776 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bacula-sd.8.%{manpage_ext}
777 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bcopy.8.%{manpage_ext}
778 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bextract.8.%{manpage_ext}
779 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bls.8.%{manpage_ext}
780 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bscan.8.%{manpage_ext}
781 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/btape.8.%{manpage_ext}
782 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/dbcheck.8.%{manpage_ext}
783 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bregex.8.%{manpage_ext}
784 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bwild.8.%{manpage_ext}
785 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bsmtp.1.%{manpage_ext}
786 rm -f $RPM_BUILD_ROOT%{script_dir}/bacula
787 rm -f $RPM_BUILD_ROOT%{script_dir}/bacula_config
788 rm -f $RPM_BUILD_ROOT%{script_dir}/bacula-ctl-dir
789 rm -f $RPM_BUILD_ROOT%{script_dir}/bacula-ctl-sd
790 rm -f $RPM_BUILD_ROOT%{script_dir}/disk-changer
791 rm -f $RPM_BUILD_ROOT%{script_dir}/dvd-handler
792 rm -f $RPM_BUILD_ROOT%{script_dir}/mtx-changer
793 rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql
794 rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql
795 rm -rf $RPM_BUILD_ROOT%{script_dir}/updatedb
796 rm -f $RPM_BUILD_ROOT%{script_dir}/bconsole
797 rm -f $RPM_BUILD_ROOT%{script_dir}/mtx-changer.conf
798 rm -f $RPM_BUILD_ROOT%{_sbindir}/bacula
803 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
804 rm -f $RPM_BUILD_DIR/Release_Notes-%{version}-%{release}.txt
808 # MySQL specific files
810 %defattr(-, root, root)
811 %attr(-, root, %{daemon_group}) %{script_dir}/create_mysql_database
812 %attr(-, root, %{daemon_group}) %{script_dir}/drop_mysql_database
813 %attr(-, root, %{daemon_group}) %{script_dir}/make_mysql_tables
814 %attr(-, root, %{daemon_group}) %{script_dir}/drop_mysql_tables
815 %attr(-, root, %{daemon_group}) %{script_dir}/update_mysql_tables
816 %attr(-, root, %{daemon_group}) %{script_dir}/grant_mysql_privileges
817 %{_libdir}/libbaccats*
818 %{_libdir}/libbacsql*
819 %{_libdir}/libbacsd*.so
825 %defattr(-,root,root)
826 %attr(755, root, %{daemon_group}) %{script_dir}/create_postgresql_database
827 %attr(755, root, %{daemon_group}) %{script_dir}/drop_postgresql_database
828 %attr(755, root, %{daemon_group}) %{script_dir}/make_postgresql_tables
829 %attr(755, root, %{daemon_group}) %{script_dir}/drop_postgresql_tables
830 %attr(755, root, %{daemon_group}) %{script_dir}/update_postgresql_tables
831 %attr(755, root, %{daemon_group}) %{script_dir}/grant_postgresql_privileges
832 %{_libdir}/libbaccats*
833 %{_libdir}/libbacsql*
834 %{_libdir}/libbacsd*.so
837 # The rest is DB backend independent
840 %attr(-, root, %{daemon_group}) %dir %{script_dir}
841 %attr(-, root, %{daemon_group}) %dir %{sysconf_dir}
842 %attr(-, root, %{daemon_group}) %{script_dir}/bacula
843 %attr(-, root, %{daemon_group}) %{script_dir}/bacula_config
844 %attr(-, root, %{daemon_group}) %{script_dir}/bconsole
845 %attr(755, root, %{daemon_group}) %{script_dir}/create_bacula_database
846 %attr(755, root, %{daemon_group}) %{script_dir}/drop_bacula_database
847 %attr(755, root, %{daemon_group}) %{script_dir}/grant_bacula_privileges
848 %attr(755, root, %{daemon_group}) %{script_dir}/make_bacula_tables
849 %attr(755, root, %{daemon_group}) %{script_dir}/drop_bacula_tables
850 %attr(755, root, %{daemon_group}) %{script_dir}/update_bacula_tables
851 %attr(-, root, %{daemon_group}) %{script_dir}/make_catalog_backup
852 %attr(-, root, %{daemon_group}) %{script_dir}/make_catalog_backup.pl
853 %attr(-, root, %{daemon_group}) %{script_dir}/delete_catalog_backup
854 %attr(-, root, %{daemon_group}) %{script_dir}/btraceback.dbx
855 %attr(-, root, %{daemon_group}) %{script_dir}/btraceback.gdb
856 %attr(-, root, %{daemon_group}) %{script_dir}/btraceback.mdb
857 %attr(-, root, %{daemon_group}) %{script_dir}/disk-changer
858 %attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-dir
859 %attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-fd
860 %attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-sd
861 %attr(-, root, %{daemon_group}) %{script_dir}/tapealert
862 %attr(-, root, %{daemon_group}) %{script_dir}/baculabackupreport
864 %attr(-, root, %{daemon_group}) %{plugin_dir}/bpipe-fd.so
865 %attr(-, root, %{daemon_group}) %{_sbindir}/dbcheck
866 %attr(-, root, %{storage_daemon_group}) %{script_dir}/mtx-changer
867 %attr(-, root, %{storage_daemon_group}) %config(noreplace) %{script_dir}/mtx-changer.conf
870 %attr(-, root, %{daemon_group}) %{systemd_dir}/bacula-dir.service
871 %attr(-, root, %{daemon_group}) %{systemd_dir}/bacula-fd.service
872 %attr(-, root, %{daemon_group}) %{systemd_dir}/bacula-sd.service
874 %attr(-, root, %{daemon_group}) /etc/init.d/bacula-dir
875 %attr(-, root, %{daemon_group}) /etc/init.d/bacula-fd
876 %attr(-, root, %{storage_daemon_group}) /etc/init.d/bacula-sd
879 /etc/logrotate.d/bacula
880 %{logwatch_dir}/scripts/services/bacula
881 %{logwatch_dir}/scripts/shared/applybaculadate
882 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-dir.conf
883 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-fd.conf
884 %attr(-, root, %{storage_daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-sd.conf
885 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bconsole.conf
886 %attr(-, root, %{daemon_group}) %config(noreplace) %{logwatch_dir}/conf/logfiles/bacula.conf
887 %attr(-, root, %{daemon_group}) %config(noreplace) %{logwatch_dir}/conf/services/bacula.conf
888 %attr(-, root, %{daemon_group}) %{script_dir}/sample-query.sql
889 %attr(-, root, %{daemon_group}) %{script_dir}/query.sql
891 %attr(-, %{storage_daemon_user}, %{daemon_group}) %dir %{working_dir}
893 %attr(-, root, %{daemon_group}) %{_sbindir}/bacula-dir
894 %attr(-, root, %{daemon_group}) %{_sbindir}/bacula-sd
895 %attr(-, root, %{daemon_group}) %{_sbindir}/btraceback
896 %attr(-, root, %{daemon_group}) %{_sbindir}/bconsole
897 %attr(-, root, %{daemon_group}) %{_sbindir}/bbconsjson
898 %attr(-, root, %{daemon_group}) %{_sbindir}/bsmtp
899 %attr(-, root, %{daemon_group}) %{_sbindir}/bscan
900 %attr(-, root, %{daemon_group}) %{_sbindir}/btape
901 %attr(-, root, %{daemon_group}) %{_sbindir}/bdirjson
902 %attr(-, root, %{daemon_group}) %{_sbindir}/bsdjson
904 %attr(755, root, root) %{_sbindir}/bsnapshot
905 %attr(755, root, root) %{_sbindir}/bfdjson
907 %{_sbindir}/bacula-fd
914 %{_mandir}/man8/bacula-fd.8.%{manpage_ext}
915 %{_mandir}/man8/bacula-dir.8.%{manpage_ext}
916 %{_mandir}/man8/bacula-sd.8.%{manpage_ext}
917 %{_mandir}/man8/bacula.8.%{manpage_ext}
918 %{_mandir}/man8/bconsole.8.%{manpage_ext}
919 %{_mandir}/man8/bcopy.8.%{manpage_ext}
920 %{_mandir}/man8/bextract.8.%{manpage_ext}
921 %{_mandir}/man8/bls.8.%{manpage_ext}
922 %{_mandir}/man8/bscan.8.%{manpage_ext}
923 %{_mandir}/man8/btape.8.%{manpage_ext}
924 %{_mandir}/man8/btraceback.8.%{manpage_ext}
925 %{_mandir}/man8/dbcheck.8.%{manpage_ext}
926 %{_mandir}/man8/bregex.8.%{manpage_ext}
927 %{_mandir}/man8/bwild.8.%{manpage_ext}
928 %{_mandir}/man1/bsmtp.1.%{manpage_ext}
929 %{_mandir}/man1/bat.1.%{manpage_ext}
932 %attr(-, root, %{daemon_group}) %{script_dir}/bacula-tray-monitor.desktop
934 %doc ../Release_Notes-%{version}-%{release}.txt
940 # test for bacula database older than version 13
941 # note: this ASSUMES no password has been set for bacula database
942 DB_VER=`mysql 2>/dev/null bacula -e 'select * from Version;'|tail -n 1`
947 # are we upgrading from sqlite to sqlite3?
948 if [ -s %{working_dir}/bacula.db ] && [ -s %{sqlite_bindir}/sqlite ];then
949 echo "This version of bacula-sqlite involves an upgrade to sqlite3."
950 echo "Your catalog database file is not compatible with sqlite3, thus"
951 echo "you will need to dump the data, delete the old file, and re-run"
952 echo "this rpm upgrade."
954 echo "Backing up your current database..."
955 echo ".dump" | %{sqlite_bindir}/sqlite %{working_dir}/bacula.db > %{working_dir}/bacula_backup.sql
956 mv %{working_dir}/bacula.db %{working_dir}/bacula.db.old
957 echo "Your catalog data has been saved in %{working_dir}/bacula_backup.sql and your"
958 echo "catalog file has been renamed %{working_dir}/bacula.db.old."
960 echo "Please re-run this rpm package upgrade."
961 echo "After the upgrade is complete, restore your catalog"
962 echo "with the following commands:"
963 echo "%{script_dir}/drop_sqlite3_tables"
964 echo "cd %{working_dir}"
965 echo "%{sqlite_bindir}/sqlite3 $* bacula.db < bacula_backup.sql"
966 echo "chown bacula.bacula bacula.db"
969 # test for bacula database older than version 12 and sqlite3
970 if [ -s %{working_dir}/bacula.db ] && [ -s %{sqlite_bindir}/sqlite3 ];then
971 DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite3 2>/dev/null %{working_dir}/bacula.db | tail -n 1`
976 DB_VER=`echo 'SELECT * FROM Version LIMIT 1;' | su - postgres -c 'psql bacula' 2>/dev/null | tail -3 | head -1`
980 if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "12" ]; then
981 echo "This bacula upgrade will update a bacula database from version 12 to 1014."
982 echo "You appear to be running database version $DB_VER. You must first update"
983 echo "your database to version 12 and then install this upgrade. The alternative"
984 echo "is to use %{script_dir}/drop_%{db_backend}_tables to delete all your your current"
985 echo "catalog information, then do the upgrade. Information on updating a"
986 echo "database older than version 12 can be found in the release notes."
996 # check for and copy %{sysconf_dir}/console.conf to bconsole.conf
997 if [ -s %{sysconf_dir}/console.conf ];then
998 cp -p %{sysconf_dir}/console.conf %{sysconf_dir}/bconsole.conf
1001 # create the daemon users and groups
1002 # first create the groups if they don't exist
1003 HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
1004 if [ -z "$HAVE_BACULA" ]; then
1005 %{groupadd} -r %{daemon_group} > /dev/null 2>&1
1006 echo "The group %{daemon_group} has been added to %{group_file}."
1007 echo "See the manual chapter \"Running Bacula\" for details."
1009 HAVE_BACULA=`grep %{storage_daemon_group} %{group_file} 2>/dev/null`
1010 if [ -z "$HAVE_BACULA" ]; then
1011 %{groupadd} -r %{storage_daemon_group} > /dev/null 2>&1
1012 echo "The group %{storage_daemon_group} has been added to %{group_file}."
1013 echo "See the manual chapter \"Running Bacula\" for details."
1015 # now create the users if they do not exist
1016 # we do not use the -g option allowing the primary group to be set to system default
1017 # this will be a unique group on redhat type systems or the group users on some systems
1018 HAVE_BACULA=`grep %{storage_daemon_user} %{user_file} 2>/dev/null`
1019 if [ -z "$HAVE_BACULA" ]; then
1020 %{useradd} -r -c "Bacula" -d %{working_dir} -g %{storage_daemon_group} -M -s /sbin/nologin %{storage_daemon_user} > /dev/null 2>&1
1021 echo "The user %{storage_daemon_user} has been added to %{user_file}."
1022 echo "See the manual chapter \"Running Bacula\" for details."
1024 HAVE_BACULA=`grep %{director_daemon_user} %{user_file} 2>/dev/null`
1025 if [ -z "$HAVE_BACULA" ]; then
1026 %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{director_daemon_user} > /dev/null 2>&1
1027 echo "The user %{director_daemon_user} has been added to %{user_file}."
1028 echo "See the manual chapter \"Running Bacula\" for details."
1030 HAVE_BACULA=`grep %{file_daemon_user} %{user_file} 2>/dev/null`
1031 if [ -z "$HAVE_BACULA" ]; then
1032 %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{file_daemon_user} > /dev/null 2>&1
1033 echo "The user %{file_daemon_user} has been added to %{user_file}."
1034 echo "See the manual chapter \"Running Bacula\" for details."
1036 # now we add the supplementary groups, this is ok to call even if the users already exist
1037 # we only do this if the user is NOT root
1038 IS_ROOT=%{director_daemon_user}
1039 if [ "$IS_ROOT" != "root" ]; then
1040 %{usermod} -G %{daemon_group} %{director_daemon_user}
1042 IS_ROOT=%{storage_daemon_user}
1043 if [ "$IS_ROOT" != "root" ]; then
1044 %{usermod} -G %{daemon_group},%{storage_daemon_group} %{storage_daemon_user}
1046 IS_ROOT=%{file_daemon_user}
1047 if [ "$IS_ROOT" != "root" ]; then
1048 %{usermod} -G %{daemon_group} %{file_daemon_user}
1061 %if ! %{client_only}
1063 if [ "$1" -ge 1 ] ; then
1064 %if %{suse} && %{mysql}
1065 %{service_enable} mysql
1067 %if %{suse} && %{postgresql}
1068 %{service_enable} postgresql
1070 %{service_enable} bacula-dir
1071 %{service_enable} bacula-fd
1072 %{service_enable} bacula-sd
1076 if [ -d %{sysconf_dir} ]; then
1078 if [ ! -f .rpm.sed ]; then
1080 echo "# This file is used to ensure that all passwords will" > .rpm.sed
1081 echo "# match between configuration files" >> .rpm.sed
1083 for string in XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX; do
1084 pass=`openssl rand -base64 33`
1085 echo "s@${string}@${pass}@g" >> .rpm.sed
1089 if [ "$host" = "" ]; then
1092 for file in *.conf; do
1093 sed -f .rpm.sed $file > $file.new
1094 sed "s@XXX_HOSTNAME_XXX@${host}@g" $file.new > $file
1102 #check, if mysql can be called successfully at all
1103 if mysql 2>/dev/null bacula -e 'select * from Version;' ; then
1105 # test for an existing database
1106 # note: this ASSUMES no password has been set for bacula database
1107 DB_VER=`mysql 2>/dev/null bacula -e 'select * from Version;'|tail -n 1`
1109 # grant privileges and create tables if they do not exist
1110 if [ -z "$DB_VER" ]; then
1111 echo "Hmm, it doesn't look like you have an existing database."
1112 echo "Granting privileges for MySQL user bacula..."
1113 %{script_dir}/grant_mysql_privileges
1114 echo "Creating MySQL bacula database..."
1115 %{script_dir}/create_mysql_database
1116 echo "Creating bacula tables..."
1117 %{script_dir}/make_mysql_tables
1119 elif [ "$DB_VER" -ge "12" -a "$DB_VER" -lt "1015" ]; then
1120 echo "This release requires an upgrade to your bacula database."
1121 echo "Backing up your current database..."
1122 mysqldump -f --opt bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2
1123 echo "Upgrading bacula database ..."
1124 %{script_dir}/update_mysql_tables
1125 echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
1132 # test for an existing database
1133 if [ -s %{working_dir}/bacula.db ]; then
1134 DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite3 2>/dev/null %{working_dir}/bacula.db | tail -n 1`
1135 # check to see if we need to upgrade a 3.x database
1136 if [ "$DB_VER" -le "13" ] && [ "$DB_VER" -ge "12" ]; then
1137 echo "This release requires an upgrade to your bacula database."
1138 echo "Backing up your current database..."
1139 echo ".dump" | %{sqlite_bindir}/sqlite3 %{working_dir}/bacula.db | bzip2 > %{working_dir}/bacula_backup.sql.bz2
1140 echo "Upgrading bacula database ..."
1141 %{script_dir}/update_sqlite3_tables
1142 echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
1145 # create the database and tables
1146 echo "Hmm, doesn't look like you have an existing database."
1147 echo "Creating SQLite database..."
1148 %{script_dir}/create_sqlite3_database
1149 echo "Creating the SQLite tables..."
1150 %{script_dir}/make_sqlite3_tables
1151 chown %{director_daemon_user}.%{daemon_group} %{working_dir}/bacula.db
1156 # check if psql can be called successfully at all
1157 if echo 'select * from Version;' | su - postgres -c 'psql bacula' 2>/dev/null; then
1159 # test for an existing database
1160 # note: this ASSUMES no password has been set for bacula database
1161 DB_VER=`echo 'SELECT * FROM Version LIMIT 1;' | su - postgres -c 'psql bacula' 2>/dev/null | tail -3 | head -1`
1163 # grant privileges and create tables if they do not exist
1164 if [ -z "$DB_VER" ]; then
1165 echo "Hmm, doesn't look like you have an existing database."
1166 echo "Creating PostgreSQL bacula database..."
1167 su - postgres -c %{script_dir}/create_postgresql_database
1168 echo "Creating bacula tables..."
1169 su - postgres -c %{script_dir}/make_postgresql_tables
1170 echo "Granting privileges for PostgreSQL user bacula..."
1171 su - postgres -c %{script_dir}/grant_postgresql_privileges
1173 elif [ "$DB_VER" -ge "12" -a "$DB_VER" -lt "1015" ]; then
1174 echo "This release requires an upgrade to your bacula database."
1175 echo "Backing up your current database..."
1176 su - postgres -c 'pg_dump bacula' | bzip2 > %{working_dir}/bacula_backup.sql.bz2
1177 echo "Upgrading bacula database ..."
1178 su - postgres -c %{script_dir}/update_postgresql_tables
1179 echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
1180 echo "Granting privileges for PostgreSQL user bacula..."
1181 su - postgres -c %{script_dir}/grant_postgresql_privileges
1187 %if ! %{client_only}
1188 if [ -d %{sysconf_dir} ]; then
1190 if [ ! -f .rpm.sed ]; then
1192 echo "# This file is used to ensure that all passwords will" > .rpm.sed
1193 echo "# match between configuration files" >> .rpm.sed
1195 for string in XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX; do
1196 pass=`openssl rand -base64 33`
1197 echo "s@${string}@${pass}@g" >> .rpm.sed
1201 if [ "$host" = "" ]; then
1204 for file in *.conf; do
1205 sed -f .rpm.sed $file > $file.new
1206 sed "s@XXX_HOSTNAME_XXX@${host}@g" $file.new > $file
1223 %if ! %{client_only}
1226 %{service_disable} bacula-dir
1227 %{service_disable} bacula-fd
1228 %{service_disable} bacula-sd
1233 %defattr(-,root,root)
1234 %attr(-, root, %{daemon_group}) %dir %{script_dir}
1235 %attr(-, root, %{daemon_group}) %dir %{plugin_dir}
1236 %attr(-, root, %{daemon_group}) %dir %{sysconf_dir}
1238 # SD/DIR might write here
1239 %attr(-, %{storage_daemon_user}, %{daemon_group}) %dir %{log_dir}
1242 %attr(-, root, %{daemon_group}) %{systemd_dir}/bacula-fd.service
1244 %{script_dir}/bacula-ctl-fd
1245 /etc/init.d/bacula-fd
1248 /etc/logrotate.d/bacula
1250 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-fd.conf
1251 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bconsole.conf
1252 %attr(-, root, %{daemon_group}) %dir %{working_dir}
1254 %{_sbindir}/bacula-fd
1255 %{_sbindir}/btraceback
1256 %attr(-, root, %{daemon_group}) %{script_dir}/btraceback.gdb
1257 %attr(-, root, %{daemon_group}) %{script_dir}/btraceback.dbx
1258 %attr(-, root, %{daemon_group}) %{script_dir}/btraceback.mdb
1259 %attr(-, root, %{daemon_group}) %{plugin_dir}/bpipe-fd.so
1260 %{_sbindir}/bconsole
1261 %{_mandir}/man8/bacula-fd.8.%{manpage_ext}
1262 %{_mandir}/man8/bacula.8.%{manpage_ext}
1263 %{_mandir}/man8/bconsole.8.%{manpage_ext}
1264 %{_mandir}/man8/btraceback.8.%{manpage_ext}
1265 %{_mandir}/man1/bat.1.%{manpage_ext}
1266 %_prefix/share/doc/*
1269 # create the daemon group and user
1270 HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
1271 if [ -z "$HAVE_BACULA" ]; then
1272 %{groupadd} -r %{daemon_group} > /dev/null 2>&1
1273 echo "The group %{daemon_group} has been added to %{group_file}."
1274 echo "See the manual chapter \"Running Bacula\" for details."
1276 # we do not use the -g option allowing the primary group to be set to system default
1277 # this will be a unique group on redhat type systems or the group users on some systems
1278 HAVE_BACULA=`grep %{file_daemon_user} %{user_file} 2>/dev/null`
1279 if [ -z "$HAVE_BACULA" ]; then
1280 %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{file_daemon_user} > /dev/null 2>&1
1281 echo "The user %{file_daemon_user} has been added to %{user_file}."
1282 echo "See the manual chapter \"Running Bacula\" for details."
1284 # now we add the supplementary group, this is ok to call even if the user already exists
1285 # we only do this if the user is NOT root
1286 IS_ROOT=%{file_daemon_user}
1287 if [ "$IS_ROOT" != "root" ]; then
1288 %{usermod} -G %{daemon_group} %{file_daemon_user}
1293 if [ "$1" -ge 1 ] ; then
1294 %{service_enable} bacula-fd
1297 if [ -d %{sysconf_dir} ]; then
1299 if [ ! -f .rpm.sed ]; then
1301 echo "# This file is used to ensure that all passwords will" > .rpm.sed
1302 echo "# match between configuration files" >> .rpm.sed
1304 for string in XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX; do
1305 pass=`openssl rand -base64 33`
1306 echo "s@${string}@${pass}@g" >> .rpm.sed
1310 if [ "$host" = "" ]; then
1313 for file in *.conf; do
1314 sed -f .rpm.sed $file > $file.new
1315 sed "s@XXX_HOSTNAME_XXX@${host}@g" $file.new > $file
1323 %{service_disable} bacula-fd
1327 %defattr(-,root,root)
1330 %{_libdir}/libbaccfg*
1331 %{_libdir}/libbacfind*
1341 %if ! %{client_only}
1343 %defattr(-,root,%{daemon_group})
1344 %{script_dir}/updatedb/*
1347 # create the daemon group
1348 HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
1349 if [ -z "$HAVE_BACULA" ]; then
1350 %{groupadd} -r %{daemon_group} > /dev/null 2>&1
1351 echo "The group %{daemon_group} has been added to %{group_file}."
1352 echo "See the manual chapter \"Running Bacula\" for details."
1356 echo "The database update scripts were installed to %{script_dir}/updatedb"