3 # Copyright (C) 2000-2014 Bacula Systems SA
6 # Platform Build Configuration
8 # basic defines for every build
9 %define _release @RELEASE@
10 %define _version @VERSION@
11 %define product bacula
12 %define _packager Kern Sibbald <kern@sibbald.com>
13 %define depkgs_version @DEPKGS_VERSION@
15 # Don't strip binaries
16 %define __os_install_post %{nil}
17 %define __debug_install_post %{nil}
18 %define debug_package %{nil}
20 %define postgres_version 8
22 %{?build_rhel5:%define pgre84 1}
23 %{?build_el5:%define pgre84 1}
25 %define postgres_package postgresql84
26 %define postgres_server_package postgresql84-server
27 %define postgres_devel_package postgresql84-devel
29 %define postgres_package postgresql
30 %define postgres_server_package postgresql-server
31 %define postgres_devel_package postgresql-devel
35 %{?single_dir_install:%define single_dir 1}
37 # Installation Directory locations
39 %define _prefix /opt/bacula
40 %define _sbindir /opt/bacula/bin
41 %define _bindir /opt/bacula/bin
42 %define _subsysdir /opt/bacula/working
43 %define sqlite_bindir /opt/bacula/sqlite
44 %define _mandir /usr/share/man
45 %define docs_dir /opt/bacula/docs
46 %define archive_dir /opt/bacula/archive
47 %define sysconf_dir /opt/bacula/etc
48 %define script_dir /opt/bacula/scripts
49 %define working_dir /opt/bacula/working
50 %define pid_dir /opt/bacula/working
51 %define plugin_dir /opt/bacula/plugins
52 %define lib_dir /opt/bacula/lib
53 %define log_dir /opt/bacula/log
56 %define _sbindir %_prefix/sbin
57 %define _bindir %_prefix/bin
58 %define _subsysdir /var/lock/subsys
59 %define sqlite_bindir %_libdir/bacula/sqlite
60 %define _mandir %_prefix/share/man
61 %define sysconf_dir /etc/bacula
62 %define script_dir %_libdir/bacula
63 %define working_dir /var/lib/bacula
64 %define pid_dir /var/run
65 %define plugin_dir %_libdir/bacula/plugins
66 %define lib_dir %_libdir/bacula/lib
67 %define log_dir %_libdir/bacula/log
70 # Daemon user:group Don't change them unless you know what you are doing
71 %define director_daemon_user bacula
72 %define storage_daemon_user bacula
73 %define file_daemon_user root
74 %define daemon_group bacula
75 # group that has write access to tape devices, usually disk on Linux
76 %define storage_daemon_group disk
78 %define depkgs ../depkgs
80 # probems with mandriva build:
81 # nothing provides libbonobo2_0-devel, nothing provides libbonoboui2_0-devel
83 #--------------------------------------------------------------------------
84 # it should not be necessary to change anything below here for a release
85 # except for patch macros in the setup section
86 #--------------------------------------------------------------------------
88 %define base_package_name %{product}
90 %{?contrib_packager:%define _packager %{contrib_packager}}
92 Summary: Bacula - The Network Backup Solution
93 Name: %{base_package_name}
96 Group: System Environment/Daemons
98 BuildRoot: %{_tmppath}/%{name}-root
99 URL: http://www.bacula.org/
100 Vendor: The Bacula Team
101 Packager: %{_packager}
104 # opensuse build service changes the release itself
105 # what happens if the release is not 1? DSB
106 Source0: http://www.prdownloads.sourceforge.net/bacula/depkgs-%{depkgs_version}.tar.gz
107 Source1: http://www.prdownloads.sourceforge.net/bacula/%{product}-%{version}.tar.gz
109 Source2: Release_Notes-%{version}-1.tar.gz
111 Source2: Release_Notes-%{version}-%{release}.tar.gz
114 # define the basic package description
115 %define blurb Bacula - The Leading Open Source Backup Solution.
116 %define blurb2 Bacula is a set of computer programs that permit you (or the system
117 %define blurb3 administrator) to manage backup, recovery, and verification of computer
118 %define blurb4 data across a network of computers of different kinds. In technical terms,
119 %define blurb5 it is a network client/server based backup program. Bacula is relatively
120 %define blurb6 easy to use and efficient, while offering many advanced storage management
121 %define blurb7 features that make it easy to find and recover lost or damaged files.
122 %define blurb8 Bacula source code has been released under the AGPL version 3 license.
124 %define user_file /etc/passwd
125 %define group_file /etc/group
128 %define useradd /usr/sbin/useradd
129 %define groupadd /usr/sbin/groupadd
130 %define usermod /usr/sbin/usermod
132 # platform defines - set one below or define the build_xxx on the command line
135 %{?build_rh7:%define rh7 1}
137 %{?build_rh8:%define rh8 1}
139 %{?build_rh9:%define rh9 1}
142 %{?build_fc16:%define fc16 1}
144 %{?build_fc17:%define fc17 1}
146 %{?build_fc18:%define fc18 1}
147 # Whitebox Enterprise build
149 %{?build_wb3:%define wb3 1}
150 # RedHat Enterprise builds
152 %{?build_rhel3:%define rhel3 1}
153 %{?build_rhel3:%define wb3 1}
155 %{?build_rhel4:%define rhel4 1}
156 %{?build_rhel4:%define fc3 1}
157 %{?build_el4:%define rhel4 1}
158 %{?build_el4:%define fc3 1}
160 %{?build_rhel5:%define rhel5 1}
161 %{?build_rhel5:%define fc6 1}
162 %{?build_el5:%define rhel5 1}
163 %{?build_el5:%define fc6 1}
165 %{?build_rhel6:%define rhel6 1}
166 %{?build_el6:%define rhel6 1}
169 %{?build_centos3:%define centos3 1}
170 %{?build_centos3:%define wb3 1}
172 %{?build_centos4:%define centos4 1}
173 %{?build_centos4:%define fc3 1}
175 %{?build_centos5:%define centos5 1}
176 %{?build_centos5:%define fc6 1}
178 %{?build_centos6:%define centos6 1}
181 %{?build_sl3:%define sl3 1}
182 %{?build_sl3:%define wb3 1}
184 %{?build_sl4:%define sl4 1}
185 %{?build_sl4:%define fc3 1}
187 %{?build_sl5:%define sl5 1}
188 %{?build_sl5:%define fc6 1}
191 %{?build_su9:%define su9 1}
193 %{?build_su10:%define su10 1}
195 %{?build_su102:%define su102 1}
197 %{?build_su103:%define su103 1}
199 %{?build_su110:%define su110 1}
201 %{?build_su111:%define su111 1}
203 %{?build_su112:%define su112 1}
206 %{?build_mdk:%define mdk 1}
208 %{?build_mdv:%define mdv 1}
209 %{?build_mdv:%define mdk 1}
212 %define client_only 0
213 %{?build_client_only:%define client_only 1}
215 # Setup some short cuts
217 %if %{rh7} || %{rh8} || %{rh9}
221 %if %{fc16} || %{fc17} || %{fc18}
225 %if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111} || %{su112}
229 %if %{rhel3} || %{rhel4} || %{rhel5} || %{rhel6} || %{centos3} || %{centos4} || %{centos5} || %{centos6}
233 %if %{sl3} || %{sl4} || %{sl5}
238 # test for a platform definition
239 %if !%{rhat} && !%{rhel} && !%{fed} && !%{wb3} && !%{suse} && !%{mdk} && !%{scil}
240 %{error: You must specify a platform. Please examine the spec file.}
244 # distribution-specific directory for logwatch
245 %if %{wb3} || %{rh7} || %{rh8} || %{rh9}
246 %define logwatch_dir /etc/log.d
248 %define logwatch_dir /etc/logwatch
252 # set for database support desired or define the build_xxx on the command line
254 %{?build_mysql:%define mysql 1}
256 %{?build_sqlite:%define sqlite 1}
258 %{?build_postgresql:%define postgresql 1}
260 # test for a database definition
261 %if ! %{mysql} && ! %{sqlite} && ! %{postgresql} && ! %{client_only}
262 %{error: You must specify database support, by passing one of the following to rpmbuild:}
263 %{error: --define build_postgresql=1}
264 %{error: --define build_sqlite=1}
265 %{error: --define build_mysql=1}
270 %define db_backend mysql
273 %define db_backend sqlite3
276 %define db_backend postgresql
281 %{?build_x86_64:%define x86_64 1}
283 # check what distribution we are
284 %if %{fc16} || %{fc17} || %{fc18}
285 %define _dist %(grep Fedora /etc/redhat-release)
287 %if %{centos5} || %{centos4} || %{centos3}
288 %define _dist %(grep CentOS /etc/redhat-release)
290 %if %{sl5} ||%{sl4} || %{sl3}
291 %define _dist %(grep 'Scientific Linux' /etc/redhat-release)
293 %if %{wb3} && ! %{rhel3} && ! %{centos3} && ! %{sl3}
294 %define _dist %(grep White /etc/whitebox-release)
297 %define _dist %(grep -i SuSE /etc/SuSE-release)
300 %define _dist %(grep Mand /etc/mandrake-release)
302 %if %{rhat} || %{rhel}
303 %define _dist %(grep Red /etc/redhat-release)
305 %{?DISTNAME:%define _dist %{DISTNAME}}
307 # only set Disribution if not in opensuse build service, as it sets it itself
308 %if ! 0%{?opensuse_bs}
309 Distribution: %{_dist}
312 %if 0%{?opensuse_bs} && %{mysql} && %{suse}
313 # needed in opensuse_bs, as rpm is installed during build process
314 BuildRequires: libmysqlclient-devel
315 BuildRequires: mysql-client
318 %if 0%{?opensuse_bs} && %{suse} && %{postgresql}
319 BuildRequires: %{postgres_package}
320 BuildRequires: %{postgres_server_package}
322 BuildRequires: openssl
324 %if 0%{?opensuse_bs} && %{suse}
325 BuildRequires: pwdutils
326 BuildRequires: sysconfig
329 # should we turn on python support
331 %{?build_python:%define python 1}
333 # should we enable tcp wrappers support
334 %define tcpwrappers 1
335 %{?build_tcpwrappers:%define tcpwrappers 1}
337 # do we need to patch for old postgresql version?
339 %{?build_old_pgsql:%define old_pgsql 1}
341 # Mandriva somehow forces the manpage file extension to bz2 rather than gz
343 %define manpage_ext bz2
345 %define manpage_ext gz
348 # for client only build
355 BuildRequires: gcc, gcc-c++, make, autoconf
356 BuildRequires: glibc, glibc-devel
357 BuildRequires: ncurses-devel, readline-devel
358 BuildRequires: libstdc++-devel, zlib-devel
359 BuildRequires: openssl-devel
360 BuildRequires: libacl-devel
361 BuildRequires: pkgconfig
363 BuildRequires: libxml2-devel
366 BuildRequires: python, python-devel
367 %{expand: %%define pyver %(python -c 'import sys;print(sys.version[0:3])')}
371 BuildRequires: libxml-devel
374 BuildRequires: libstdc++-static-devel
375 BuildRequires: glibc-static-devel
378 %if %{mysql} && ! %{suse}
379 BuildRequires: mysql-devel
382 %if %{postgresql} && %{wb3}
383 BuildRequires: rh-postgresql-devel >= %{postgres_version}
386 %if %{postgresql} && ! %{wb3}
387 BuildRequires: %{postgres_devel_package} >= %{postgres_version}
411 Summary: Bacula - The Network Backup Solution
412 Group: System Environment/Daemons
413 Provides: bacula-dir, bacula-sd, bacula-fd, bacula-server
414 Conflicts: bacula-client
416 Requires: ncurses, libstdc++, zlib, openssl
417 Requires: glibc, readline, %{name}-libs
427 %if %{postgresql} && %{wb3}
428 Requires: rh-postgresql >= 7
430 %if %{postgresql} && ! %{wb3}
431 Requires: postgresql >= 7
441 %description postgresql
445 Requires: python >= %{pyver}
459 This build requires MySQL to be installed separately as the catalog database.
462 This build requires PostgreSQL to be installed separately as the catalog database.
465 This build incorporates sqlite3 as the catalog database, statically compiled.
468 This build includes python scripting support.
471 This build includes tcp-wrappers support.
475 Summary: Bacula - The Network Backup Solution
476 Group: System Environment/Daemons
478 Conflicts: bacula-mysql
479 Conflicts: bacula-sqlite
480 Conflicts: bacula-postgresql
484 Provides: %{product}-libs
487 Requires: libstdc++, zlib, openssl
488 Requires: glibc, readline, %{name}-libs
491 Requires: python >= %{pyver}
505 This is the File daemon (Client) only package. It includes the command line
508 This build includes python scripting support.
511 This build includes tcp-wrappers support.
517 Summary: Bacula - The Network Backup Solution
518 Group: System Environment/Daemons
520 %description updatedb
531 This package installs scripts for updating older versions of the bacula
537 Summary: Bacula - The Network Backup Solution
538 Group: System Environment/Daemons
551 This package installs the shared libraries used by many bacula programs.
553 # Must explicitly enable debug pkg on SuSE
554 # but not in opensuse_bs
555 #%if %{suse} && ! 0%{?opensuse_bs}
560 %setup -T -b 0 -n depkgs
561 %setup -T -b 1 -n %{product}-%{version}
562 %setup -T -D -b 2 -n %{product}-%{version}
569 #export LDFLAGS="${LDFLAGS} -L/usr/lib/termcap -L/usr/lib64/termcap"
572 # You can use a cache for depkgs
573 # tar xfz depkgs*gz -C ~/
575 # touch %{depkgs_version} # depkgs version
577 if [ -f $HOME/depkgs/%{depkgs_version} ]; then
579 ln -s $HOME/depkgs %{depkgs}
591 export LDFLAGS="${LDFLAGS} -L${PWD}/lzo/lib"
592 export CPPFLAGS="${CPPFLAGS} -I${PWD}/lzo/include"
595 # hostname is the build hostname, so use XXX_HOSTNAME_XXX for Address parameter
596 sed -i s/hostname/basename/ src/console/bconsole.conf.in src/dird/bacula-dir.conf.in src/qt-console/bat.conf.in
599 # patches for the bundled sqlite scripts
600 sed -i s:.SQLITE_BINDIR.:/opt/bacula/sqlite: src/cats/*_sqlite3_*.in
602 # patch the bacula-dir init script to remove sqlite service
604 sed -i 's/network .DB_TYPE./network/' platforms/suse/bacula-dir.in
608 # 64 bit lib location hacks
609 # as of 1.39.18 it should not be necessary to enable x86_64 as configure is
610 # reported to be fixed to properly detect lib locations.
612 export LDFLAGS="${LDFLAGS} -L/usr/lib64"
614 %if %{mysql} && %{x86_64}
615 export LDFLAGS="${LDFLAGS} -L/usr/lib64/mysql"
617 %if %{python} && %{x86_64}
618 export LDFLAGS="${LDFLAGS} -L/usr/lib64/python%{pyver}"
621 export BACULA="Bacula"
623 # Main Bacula configuration
625 --prefix=%{_prefix} \
626 --sbindir=%{_sbindir} \
627 --sysconfdir=%{sysconf_dir} \
628 --mandir=%{_mandir} \
629 --with-scriptdir=%{script_dir} \
630 --with-working-dir=%{working_dir} \
631 --with-plugindir=%{plugin_dir} \
632 --with-logdir=%{log_dir} \
633 --with-pid-dir=%{pid_dir} \
634 --with-subsys-dir=%{_subsysdir} \
635 --enable-smartalloc \
642 --with-sqlite3=${cwd}/%{depkgs}/sqlite3 \
652 --enable-client-only \
654 %if %{rh7} || %{rh8} || %{rh9}
655 --disable-batch-insert \
657 --with-tcp-wrappers \
658 --with-dir-user=%{director_daemon_user} \
659 --with-dir-group=%{daemon_group} \
660 --with-sd-user=%{storage_daemon_user} \
661 --with-sd-group=%{storage_daemon_group} \
662 --with-fd-user=%{file_daemon_user} \
663 --with-fd-group=%{daemon_group} \
664 --with-basename="XXX_HOSTNAME_XXX" \
665 --with-hostname="XXX_HOSTNAME_XXX" \
666 --with-dir-password="XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX" \
667 --with-fd-password="XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX" \
668 --with-sd-password="XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX" \
669 --with-mon-dir-password="XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX" \
670 --with-mon-fd-password="XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX" \
671 --with-mon-sd-password="XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX" \
679 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
680 mkdir -p $RPM_BUILD_ROOT/etc/init.d
681 mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d
682 mkdir -p $RPM_BUILD_ROOT%{logwatch_dir}/conf/logfiles
683 mkdir -p $RPM_BUILD_ROOT%{logwatch_dir}/conf/services
684 mkdir -p $RPM_BUILD_ROOT%{logwatch_dir}/scripts/services
685 mkdir -p $RPM_BUILD_ROOT%{logwatch_dir}/scripts/shared
686 mkdir -p $RPM_BUILD_ROOT%{script_dir}/updatedb
688 mkdir -p $RPM_BUILD_ROOT/etc/pam.d
689 mkdir -p $RPM_BUILD_ROOT%{_sbindir}
692 mkdir -p $RPM_BUILD_ROOT%{sqlite_bindir}
695 make DESTDIR=$RPM_BUILD_ROOT install
697 # Remove docs for programs that are depreciated
698 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-bgnome-console.1.%{manpage_ext}
699 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-bwxconsole.1.%{manpage_ext}
700 rm -f $RPM_BUILD_ROOT%{script_dir}/gconsole
701 # Storage-ctl packaged in shstore rpm
702 rm -f $RPM_BUILD_ROOT%{script_dir}/storage-ctl
703 rm -f $RPM_BUILD_ROOT%{script_dir}/storage-ctl.conf
705 # fixme - make installs the mysql scripts for sqlite build
707 rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql
708 rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql
709 rm -f $RPM_BUILD_ROOT%{script_dir}/grant_mysql_privileges
712 # fixme - make installs the mysql scripts for postgresql build
714 rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql
715 rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql
718 # install the init scripts
720 cp -p platforms/suse/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
721 cp -p platforms/suse/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
722 cp -p platforms/suse/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
725 cp -p platforms/mandrake/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
726 cp -p platforms/mandrake/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
727 cp -p platforms/mandrake/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
729 %if ! %{suse} && ! %{mdk}
730 cp -p platforms/redhat/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
731 cp -p platforms/redhat/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
732 cp -p platforms/redhat/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
734 chmod 0754 $RPM_BUILD_ROOT/etc/init.d/*
736 rm -f $RPM_BUILD_ROOT/etc/init.d/bacula-dir
737 rm -f $RPM_BUILD_ROOT/etc/init.d/bacula-sd
742 cp -p %{depkgs}/sqlite3/sqlite3 $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite3
743 cp -p %{depkgs}/sqlite3/sqlite3.h $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite3.h
744 cp -p %{depkgs}/sqlite3/libsqlite3.a $RPM_BUILD_ROOT%{sqlite_bindir}/libsqlite3.a
748 # install the logrotate file
749 cp -p scripts/logrotate $RPM_BUILD_ROOT/etc/logrotate.d/bacula
751 # install the updatedb scripts
752 cp -p updatedb/* $RPM_BUILD_ROOT%{script_dir}/updatedb/
754 # install specific scripts
756 # install special upgrade script, except for sqlite3
759 # install the sample-query.sql file
760 cp -p examples/sample-query.sql $RPM_BUILD_ROOT%{script_dir}/sample-query.sql
762 # install the logwatch scripts
763 cp -p scripts/logwatch/bacula $RPM_BUILD_ROOT%{logwatch_dir}/scripts/services/bacula
764 cp -p scripts/logwatch/applybaculadate $RPM_BUILD_ROOT%{logwatch_dir}/scripts/shared/applybaculadate
765 cp -p scripts/logwatch/logfile.bacula.conf $RPM_BUILD_ROOT%{logwatch_dir}/conf/logfiles/bacula.conf
766 cp -p scripts/logwatch/services.bacula.conf $RPM_BUILD_ROOT%{logwatch_dir}/conf/services/bacula.conf
767 chmod 755 $RPM_BUILD_ROOT%{logwatch_dir}/scripts/services/bacula
768 chmod 755 $RPM_BUILD_ROOT%{logwatch_dir}/scripts/shared/applybaculadate
769 chmod 644 $RPM_BUILD_ROOT%{logwatch_dir}/conf/logfiles/bacula.conf
770 chmod 644 $RPM_BUILD_ROOT%{logwatch_dir}/conf/services/bacula.conf
773 # now clean up permissions that are left broken by the install
774 chmod o-rwx $RPM_BUILD_ROOT%{working_dir}
776 # fix me - building enable-client-only installs files not included in bacula-client package
778 # Program docs not installed on client
779 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bacula-dir.8.%{manpage_ext}
780 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bacula-sd.8.%{manpage_ext}
781 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bcopy.8.%{manpage_ext}
782 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bextract.8.%{manpage_ext}
783 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bls.8.%{manpage_ext}
784 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bscan.8.%{manpage_ext}
785 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/btape.8.%{manpage_ext}
786 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/dbcheck.8.%{manpage_ext}
787 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bregex.8.%{manpage_ext}
788 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bwild.8.%{manpage_ext}
789 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bsmtp.1.%{manpage_ext}
791 rm -f $RPM_BUILD_ROOT%{script_dir}/bacula
792 rm -f $RPM_BUILD_ROOT%{script_dir}/bacula_config
793 rm -f $RPM_BUILD_ROOT%{script_dir}/bacula-ctl-dir
794 rm -f $RPM_BUILD_ROOT%{script_dir}/bacula-ctl-sd
795 rm -f $RPM_BUILD_ROOT%{script_dir}/disk-changer
796 rm -f $RPM_BUILD_ROOT%{script_dir}/dvd-handler
797 rm -f $RPM_BUILD_ROOT%{script_dir}/mtx-changer
798 rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql
799 rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql
800 rm -rf $RPM_BUILD_ROOT%{script_dir}/updatedb
801 rm -f $RPM_BUILD_ROOT%{script_dir}/bconsole
802 rm -f $RPM_BUILD_ROOT%{script_dir}/mtx-changer.conf
803 rm -f $RPM_BUILD_ROOT%{_sbindir}/bacula
807 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
809 rm -f $RPM_BUILD_DIR/Release_Notes-%{version}-1.txt
811 rm -f $RPM_BUILD_DIR/Release_Notes-%{version}-%{release}.txt
816 # MySQL specific files
818 %defattr(-, root, root)
819 %attr(-, root, %{daemon_group}) %{script_dir}/create_mysql_database
820 %attr(-, root, %{daemon_group}) %{script_dir}/drop_mysql_database
821 %attr(-, root, %{daemon_group}) %{script_dir}/make_mysql_tables
822 %attr(-, root, %{daemon_group}) %{script_dir}/drop_mysql_tables
823 %attr(-, root, %{daemon_group}) %{script_dir}/update_mysql_tables
824 %attr(-, root, %{daemon_group}) %{script_dir}/grant_mysql_privileges
825 %{_libdir}/libbaccats*
826 %{_libdir}/libbacsql*
831 %defattr(-,root,root)
832 %attr(-, root, %{daemon_group}) %{script_dir}/create_sqlite3_database
833 %attr(-, root, %{daemon_group}) %{script_dir}/drop_sqlite3_database
834 %attr(-, root, %{daemon_group}) %{script_dir}/grant_sqlite3_privileges
835 %attr(-, root, %{daemon_group}) %{script_dir}/make_sqlite3_tables
836 %attr(-, root, %{daemon_group}) %{script_dir}/drop_sqlite3_tables
837 %attr(-, root, %{daemon_group}) %{script_dir}/update_sqlite3_tables
838 %{sqlite_bindir}/libsqlite3.a
839 %{sqlite_bindir}/sqlite3.h
840 %{sqlite_bindir}/sqlite3
841 %{_libdir}/libbaccats*
842 %{_libdir}/libbacsql*
849 %defattr(-,root,root)
850 %attr(755, root, %{daemon_group}) %{script_dir}/create_postgresql_database
851 %attr(755, root, %{daemon_group}) %{script_dir}/drop_postgresql_database
852 %attr(755, root, %{daemon_group}) %{script_dir}/make_postgresql_tables
853 %attr(755, root, %{daemon_group}) %{script_dir}/drop_postgresql_tables
854 %attr(755, root, %{daemon_group}) %{script_dir}/update_postgresql_tables
855 %attr(755, root, %{daemon_group}) %{script_dir}/grant_postgresql_privileges
856 %{_libdir}/libbaccats*
857 %{_libdir}/libbacsql*
860 # The rest is DB backend independent
863 %attr(-, root, %{daemon_group}) %dir %{script_dir}
864 %attr(-, root, %{daemon_group}) %dir %{sysconf_dir}
865 #%attr(-, %{director_daemon_user}, %{daemon_group}) %dir %{log_dir}
866 %attr(-, root, %{daemon_group}) %{script_dir}/bacula
867 %attr(-, root, %{daemon_group}) %{script_dir}/bacula_config
868 %attr(-, root, %{daemon_group}) %{script_dir}/bconsole
869 %attr(755, root, %{daemon_group}) %{script_dir}/create_bacula_database
870 %attr(755, root, %{daemon_group}) %{script_dir}/drop_bacula_database
871 %attr(755, root, %{daemon_group}) %{script_dir}/grant_bacula_privileges
872 %attr(755, root, %{daemon_group}) %{script_dir}/make_bacula_tables
873 %attr(755, root, %{daemon_group}) %{script_dir}/drop_bacula_tables
874 %attr(755, root, %{daemon_group}) %{script_dir}/update_bacula_tables
875 %attr(-, root, %{daemon_group}) %{script_dir}/make_catalog_backup
876 %attr(-, root, %{daemon_group}) %{script_dir}/make_catalog_backup.pl
877 %attr(-, root, %{daemon_group}) %{script_dir}/delete_catalog_backup
878 %attr(-, root, %{daemon_group}) %{script_dir}/btraceback.dbx
879 %attr(-, root, %{daemon_group}) %{script_dir}/btraceback.gdb
880 %attr(-, root, %{daemon_group}) %{script_dir}/btraceback.mdb
881 %attr(-, root, %{daemon_group}) %{script_dir}/disk-changer
882 %attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-dir
883 %attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-fd
884 %attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-sd
885 %attr(-, root, %{daemon_group}) %{plugin_dir}/bpipe-fd.so
886 %attr(-, root, %{daemon_group}) /etc/init.d/bacula-dir
887 %attr(-, root, %{daemon_group}) /etc/init.d/bacula-fd
888 %attr(-, root, %{daemon_group}) %{_sbindir}/dbcheck
889 %attr(-, root, %{storage_daemon_group}) %{script_dir}/dvd-handler
890 %attr(-, root, %{storage_daemon_group}) /etc/init.d/bacula-sd
891 %attr(-, root, %{storage_daemon_group}) %{script_dir}/mtx-changer
892 %attr(-, root, %{storage_daemon_group}) %config(noreplace) %{script_dir}/mtx-changer.conf
894 /etc/logrotate.d/bacula
895 %{logwatch_dir}/scripts/services/bacula
896 %{logwatch_dir}/scripts/shared/applybaculadate
897 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-dir.conf
898 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-fd.conf
899 %attr(-, root, %{storage_daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-sd.conf
900 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bconsole.conf
901 %attr(-, root, %{daemon_group}) %config(noreplace) %{logwatch_dir}/conf/logfiles/bacula.conf
902 %attr(-, root, %{daemon_group}) %config(noreplace) %{logwatch_dir}/conf/services/bacula.conf
903 %attr(-, root, %{daemon_group}) %{script_dir}/sample-query.sql
905 %attr(-, %{storage_daemon_user}, %{daemon_group}) %dir %{working_dir}
907 %attr(-, root, %{daemon_group}) %{_sbindir}/bacula-dir
908 %attr(-, root, %{daemon_group}) %{_sbindir}/bacula-sd
909 %attr(-, root, %{daemon_group}) %{_sbindir}/btraceback
910 %attr(-, root, %{daemon_group}) %{_sbindir}/bconsole
911 %attr(-, root, %{daemon_group}) %{_sbindir}/bsmtp
912 %attr(-, root, %{daemon_group}) %{_sbindir}/bscan
913 %attr(-, root, %{daemon_group}) %{_sbindir}/btape
915 %{_sbindir}/bacula-fd
922 %{_mandir}/man8/bacula-fd.8.%{manpage_ext}
923 %{_mandir}/man8/bacula-dir.8.%{manpage_ext}
924 %{_mandir}/man8/bacula-sd.8.%{manpage_ext}
925 %{_mandir}/man8/bacula.8.%{manpage_ext}
926 %{_mandir}/man8/bconsole.8.%{manpage_ext}
927 %{_mandir}/man8/bcopy.8.%{manpage_ext}
928 %{_mandir}/man8/bextract.8.%{manpage_ext}
929 %{_mandir}/man8/bls.8.%{manpage_ext}
930 %{_mandir}/man8/bscan.8.%{manpage_ext}
931 %{_mandir}/man8/btape.8.%{manpage_ext}
932 %{_mandir}/man8/btraceback.8.%{manpage_ext}
933 %{_mandir}/man8/dbcheck.8.%{manpage_ext}
934 %{_mandir}/man8/bregex.8.%{manpage_ext}
935 %{_mandir}/man8/bwild.8.%{manpage_ext}
936 %{_mandir}/man1/bsmtp.1.%{manpage_ext}
937 %{_mandir}/man1/bat.1.%{manpage_ext}
940 # opensuse build service changes the release itself
942 %doc ../Release_Notes-%{version}-1.txt
944 %doc ../Release_Notes-%{version}-%{release}.txt
950 # test for bacula database older than version 13
951 # note: this ASSUMES no password has been set for bacula database
952 DB_VER=`mysql 2>/dev/null bacula -e 'select * from Version;'|tail -n 1`
957 # are we upgrading from sqlite to sqlite3?
958 if [ -s %{working_dir}/bacula.db ] && [ -s %{sqlite_bindir}/sqlite ];then
959 echo "This version of bacula-sqlite involves an upgrade to sqlite3."
960 echo "Your catalog database file is not compatible with sqlite3, thus"
961 echo "you will need to dump the data, delete the old file, and re-run"
962 echo "this rpm upgrade."
964 echo "Backing up your current database..."
965 echo ".dump" | %{sqlite_bindir}/sqlite %{working_dir}/bacula.db > %{working_dir}/bacula_backup.sql
966 mv %{working_dir}/bacula.db %{working_dir}/bacula.db.old
967 echo "Your catalog data has been saved in %{working_dir}/bacula_backup.sql and your"
968 echo "catalog file has been renamed %{working_dir}/bacula.db.old."
970 echo "Please re-run this rpm package upgrade."
971 echo "After the upgrade is complete, restore your catalog"
972 echo "with the following commands:"
973 echo "%{script_dir}/drop_sqlite3_tables"
974 echo "cd %{working_dir}"
975 echo "%{sqlite_bindir}/sqlite3 $* bacula.db < bacula_backup.sql"
976 echo "chown bacula.bacula bacula.db"
979 # test for bacula database older than version 12 and sqlite3
980 if [ -s %{working_dir}/bacula.db ] && [ -s %{sqlite_bindir}/sqlite3 ];then
981 DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite3 2>/dev/null %{working_dir}/bacula.db | tail -n 1`
986 DB_VER=`echo 'SELECT * FROM Version LIMIT 1;' | su - postgres -c 'psql bacula' 2>/dev/null | tail -3 | head -1`
990 if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "12" ]; then
991 echo "This bacula upgrade will update a bacula database from version 12 to 1014."
992 echo "You appear to be running database version $DB_VER. You must first update"
993 echo "your database to version 12 and then install this upgrade. The alternative"
994 echo "is to use %{script_dir}/drop_%{db_backend}_tables to delete all your your current"
995 echo "catalog information, then do the upgrade. Information on updating a"
996 echo "database older than version 12 can be found in the release notes."
1005 %if ! %{client_only}
1006 # check for and copy %{sysconf_dir}/console.conf to bconsole.conf
1007 if [ -s %{sysconf_dir}/console.conf ];then
1008 cp -p %{sysconf_dir}/console.conf %{sysconf_dir}/bconsole.conf
1011 # create the daemon users and groups
1012 # first create the groups if they don't exist
1013 HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
1014 if [ -z "$HAVE_BACULA" ]; then
1015 %{groupadd} -r %{daemon_group} > /dev/null 2>&1
1016 echo "The group %{daemon_group} has been added to %{group_file}."
1017 echo "See the manual chapter \"Running Bacula\" for details."
1019 HAVE_BACULA=`grep %{storage_daemon_group} %{group_file} 2>/dev/null`
1020 if [ -z "$HAVE_BACULA" ]; then
1021 %{groupadd} -r %{storage_daemon_group} > /dev/null 2>&1
1022 echo "The group %{storage_daemon_group} has been added to %{group_file}."
1023 echo "See the manual chapter \"Running Bacula\" for details."
1025 # now create the users if they do not exist
1026 # we do not use the -g option allowing the primary group to be set to system default
1027 # this will be a unique group on redhat type systems or the group users on some systems
1028 HAVE_BACULA=`grep %{storage_daemon_user} %{user_file} 2>/dev/null`
1029 if [ -z "$HAVE_BACULA" ]; then
1030 %{useradd} -r -c "Bacula" -d %{working_dir} -g %{storage_daemon_group} -M -s /sbin/nologin %{storage_daemon_user} > /dev/null 2>&1
1031 echo "The user %{storage_daemon_user} has been added to %{user_file}."
1032 echo "See the manual chapter \"Running Bacula\" for details."
1034 HAVE_BACULA=`grep %{director_daemon_user} %{user_file} 2>/dev/null`
1035 if [ -z "$HAVE_BACULA" ]; then
1036 %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{director_daemon_user} > /dev/null 2>&1
1037 echo "The user %{director_daemon_user} has been added to %{user_file}."
1038 echo "See the manual chapter \"Running Bacula\" for details."
1040 HAVE_BACULA=`grep %{file_daemon_user} %{user_file} 2>/dev/null`
1041 if [ -z "$HAVE_BACULA" ]; then
1042 %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{file_daemon_user} > /dev/null 2>&1
1043 echo "The user %{file_daemon_user} has been added to %{user_file}."
1044 echo "See the manual chapter \"Running Bacula\" for details."
1046 # now we add the supplementary groups, this is ok to call even if the users already exist
1047 # we only do this if the user is NOT root
1048 IS_ROOT=%{director_daemon_user}
1049 if [ "$IS_ROOT" != "root" ]; then
1050 %{usermod} -G %{daemon_group} %{director_daemon_user}
1052 IS_ROOT=%{storage_daemon_user}
1053 if [ "$IS_ROOT" != "root" ]; then
1054 %{usermod} -G %{daemon_group},%{storage_daemon_group} %{storage_daemon_user}
1056 IS_ROOT=%{file_daemon_user}
1057 if [ "$IS_ROOT" != "root" ]; then
1058 %{usermod} -G %{daemon_group} %{file_daemon_user}
1071 %if ! %{client_only}
1073 if [ "$1" -ge 1 ] ; then
1074 %if %{suse} && %{mysql}
1075 /sbin/chkconfig --add mysql
1077 %if %{suse} && %{postgresql}
1078 /sbin/chkconfig --add postgresql
1080 /sbin/chkconfig --add bacula-dir
1081 /sbin/chkconfig --add bacula-fd
1082 /sbin/chkconfig --add bacula-sd
1086 if [ -d %{sysconf_dir} ]; then
1088 if [ ! -f .rpm.sed ]; then
1090 echo "# This file is used to ensure that all passwords will" > .rpm.sed
1091 echo "# match between configuration files" >> .rpm.sed
1093 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
1094 pass=`openssl rand -base64 33`
1095 echo "s@${string}@${pass}@g" >> .rpm.sed
1099 for file in *.conf; do
1100 sed -f .rpm.sed $file > $file.new
1101 sed "s@XXX_HOSTNAME_XXX@${host}@g" $file.new > $file
1109 #check, if mysql can be called successfully at all
1110 if mysql 2>/dev/null bacula -e 'select * from Version;' ; then
1112 # test for an existing database
1113 # note: this ASSUMES no password has been set for bacula database
1114 DB_VER=`mysql 2>/dev/null bacula -e 'select * from Version;'|tail -n 1`
1116 # grant privileges and create tables if they do not exist
1117 if [ -z "$DB_VER" ]; then
1118 echo "Hmm, it doesn't look like you have an existing database."
1119 echo "Granting privileges for MySQL user bacula..."
1120 %{script_dir}/grant_mysql_privileges
1121 echo "Creating MySQL bacula database..."
1122 %{script_dir}/create_mysql_database
1123 echo "Creating bacula tables..."
1124 %{script_dir}/make_mysql_tables
1126 elif [ "$DB_VER" -ge "12" -a "$DB_VER" -lt "1015" ]; then
1127 echo "This release requires an upgrade to your bacula database."
1128 echo "Backing up your current database..."
1129 mysqldump -f --opt bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2
1130 echo "Upgrading bacula database ..."
1131 %{script_dir}/update_mysql_tables
1132 echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
1139 # test for an existing database
1140 if [ -s %{working_dir}/bacula.db ]; then
1141 DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite3 2>/dev/null %{working_dir}/bacula.db | tail -n 1`
1142 # check to see if we need to upgrade a 3.x database
1143 if [ "$DB_VER" -le "13" ] && [ "$DB_VER" -ge "12" ]; then
1144 echo "This release requires an upgrade to your bacula database."
1145 echo "Backing up your current database..."
1146 echo ".dump" | %{sqlite_bindir}/sqlite3 %{working_dir}/bacula.db | bzip2 > %{working_dir}/bacula_backup.sql.bz2
1147 echo "Upgrading bacula database ..."
1148 %{script_dir}/update_sqlite3_tables
1149 echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
1152 # create the database and tables
1153 echo "Hmm, doesn't look like you have an existing database."
1154 echo "Creating SQLite database..."
1155 %{script_dir}/create_sqlite3_database
1156 echo "Creating the SQLite tables..."
1157 %{script_dir}/make_sqlite3_tables
1158 chown %{director_daemon_user}.%{daemon_group} %{working_dir}/bacula.db
1163 # check if psql can be called successfully at all
1164 if echo 'select * from Version;' | su - postgres -c 'psql bacula' 2>/dev/null; then
1166 # test for an existing database
1167 # note: this ASSUMES no password has been set for bacula database
1168 DB_VER=`echo 'SELECT * FROM Version LIMIT 1;' | su - postgres -c 'psql bacula' 2>/dev/null | tail -3 | head -1`
1170 # grant privileges and create tables if they do not exist
1171 if [ -z "$DB_VER" ]; then
1172 echo "Hmm, doesn't look like you have an existing database."
1173 echo "Creating PostgreSQL bacula database..."
1174 su - postgres -c %{script_dir}/create_postgresql_database
1175 echo "Creating bacula tables..."
1176 su - postgres -c %{script_dir}/make_postgresql_tables
1177 echo "Granting privileges for PostgreSQL user bacula..."
1178 su - postgres -c %{script_dir}/grant_postgresql_privileges
1180 elif [ "$DB_VER" -ge "12" -a "$DB_VER" -lt "1015" ]; then
1181 echo "This release requires an upgrade to your bacula database."
1182 echo "Backing up your current database..."
1183 su - postgres -c 'pg_dump bacula' | bzip2 > %{working_dir}/bacula_backup.sql.bz2
1184 echo "Upgrading bacula database ..."
1185 su - postgres -c %{script_dir}/update_postgresql_tables
1186 echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
1187 echo "Granting privileges for PostgreSQL user bacula..."
1188 su - postgres -c %{script_dir}/grant_postgresql_privileges
1194 %if ! %{client_only}
1195 if [ -d %{sysconf_dir} ]; then
1197 if [ ! -f .rpm.sed ]; then
1199 echo "# This file is used to ensure that all passwords will" > .rpm.sed
1200 echo "# match between configuration files" >> .rpm.sed
1202 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
1203 pass=`openssl rand -base64 33`
1204 echo "s@${string}@${pass}@g" >> .rpm.sed
1208 for file in *.conf; do
1209 sed -f .rpm.sed $file > $file.new
1210 sed "s@XXX_HOSTNAME_XXX@${host}@g" $file.new > $file
1227 %if ! %{client_only}
1230 /sbin/chkconfig --del bacula-dir
1231 /sbin/chkconfig --del bacula-fd
1232 /sbin/chkconfig --del bacula-sd
1237 %defattr(-,root,root)
1238 %attr(-, root, %{daemon_group}) %dir %{script_dir}
1239 %attr(-, root, %{daemon_group}) %dir %{plugin_dir}
1240 #%attr(-, root, %{daemon_group}) %dir %{log_dir}
1241 %attr(-, root, %{daemon_group}) %dir %{sysconf_dir}
1242 %{script_dir}/bacula-ctl-fd
1243 /etc/init.d/bacula-fd
1245 /etc/logrotate.d/bacula
1247 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-fd.conf
1248 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bconsole.conf
1249 %attr(-, root, %{daemon_group}) %dir %{working_dir}
1251 %{_sbindir}/bacula-fd
1252 %{_sbindir}/btraceback
1253 %attr(-, root, %{daemon_group}) %{script_dir}/btraceback.gdb
1254 %attr(-, root, %{daemon_group}) %{script_dir}/btraceback.dbx
1255 %attr(-, root, %{daemon_group}) %{script_dir}/btraceback.mdb
1256 %attr(-, root, %{daemon_group}) %{plugin_dir}/bpipe-fd.so
1257 %{_sbindir}/bconsole
1258 %{_mandir}/man8/bacula-fd.8.%{manpage_ext}
1259 %{_mandir}/man8/bacula.8.%{manpage_ext}
1260 %{_mandir}/man8/bconsole.8.%{manpage_ext}
1261 %{_mandir}/man8/btraceback.8.%{manpage_ext}
1262 %{_mandir}/man1/bat.1.%{manpage_ext}
1263 %_prefix/share/doc/*
1266 # create the daemon group and user
1267 HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
1268 if [ -z "$HAVE_BACULA" ]; then
1269 %{groupadd} -r %{daemon_group} > /dev/null 2>&1
1270 echo "The group %{daemon_group} has been added to %{group_file}."
1271 echo "See the manual chapter \"Running Bacula\" for details."
1273 # we do not use the -g option allowing the primary group to be set to system default
1274 # this will be a unique group on redhat type systems or the group users on some systems
1275 HAVE_BACULA=`grep %{file_daemon_user} %{user_file} 2>/dev/null`
1276 if [ -z "$HAVE_BACULA" ]; then
1277 %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{file_daemon_user} > /dev/null 2>&1
1278 echo "The user %{file_daemon_user} has been added to %{user_file}."
1279 echo "See the manual chapter \"Running Bacula\" for details."
1281 # now we add the supplementary group, this is ok to call even if the user already exists
1282 # we only do this if the user is NOT root
1283 IS_ROOT=%{file_daemon_user}
1284 if [ "$IS_ROOT" != "root" ]; then
1285 %{usermod} -G %{daemon_group} %{file_daemon_user}
1290 if [ "$1" -ge 1 ] ; then
1291 /sbin/chkconfig --add bacula-fd
1294 if [ -d %{sysconf_dir} ]; then
1296 if [ ! -f .rpm.sed ]; then
1298 echo "# This file is used to ensure that all passwords will" > .rpm.sed
1299 echo "# match between configuration files" >> .rpm.sed
1301 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
1302 pass=`openssl rand -base64 33`
1303 echo "s@${string}@${pass}@g" >> .rpm.sed
1307 for file in *.conf; do
1308 sed -f .rpm.sed $file > $file.new
1309 sed "s@XXX_HOSTNAME_XXX@${host}@g" $file.new > $file
1317 /sbin/chkconfig --del bacula-fd
1321 %defattr(-,root,root)
1324 %{_libdir}/libbaccfg*
1325 %{_libdir}/libbacfind*
1326 %{_libdir}/libbacpy*
1336 %if ! %{client_only}
1338 %defattr(-,root,%{daemon_group})
1339 %{script_dir}/updatedb/*
1340 #oensuse_bs: directories not owned by any package
1341 #%{script_dir}/updatedb
1344 # create the daemon group
1345 HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
1346 if [ -z "$HAVE_BACULA" ]; then
1347 %{groupadd} -r %{daemon_group} > /dev/null 2>&1
1348 echo "The group %{daemon_group} has been added to %{group_file}."
1349 echo "See the manual chapter \"Running Bacula\" for details."
1353 echo "The database update scripts were installed to %{script_dir}/updatedb"