3 # Copyright (C) 2000-2010 Free Software Foundation Europe e.V.
5 # Platform Build Configuration
7 # basic defines for every build
10 %define _packager D. Scott Barninger <barninger@fairfieldcomputers.com>
13 %{?single_dir_install:%define single_dir 1}
15 # Installation Directory locations
17 %define _prefix /opt/bacula
18 %define _sbindir /opt/bacula/bin
19 %define _bindir /opt/bacula/bin
20 %define _subsysdir /opt/bacula/working
21 %define _mandir /usr/share/man
22 %define sysconf_dir /opt/bacula/etc
23 %define script_dir /opt/bacula/scripts
24 %define working_dir /opt/bacula/working
25 %define pid_dir /opt/bacula/working
26 %define plugin_dir /opt/bacula/plugins
27 %define lib_dir /opt/bacula/lib
30 %define _sbindir %_prefix/sbin
31 %define _bindir %_prefix/bin
32 %define _subsysdir /var/lock/subsys
33 %define _mandir %_prefix/share/man
34 %define sysconf_dir /etc/bacula
35 %define script_dir %_libdir/bacula
36 %define working_dir /var/lib/bacula
37 %define pid_dir /var/run
38 %define plugin_dir %_libdir/bacula/plugins
39 %define lib_dir %_libdir/bacula/lib
42 # Daemon user:group Don't change them unless you know what you are doing
43 %define director_daemon_user bacula
44 %define storage_daemon_user bacula
45 %define file_daemon_user root
46 %define daemon_group bacula
47 # group that has write access to tape devices, usually disk on Linux
48 %define storage_daemon_group disk
51 # probems with mandriva build:
52 # nothing provides libbonobo2_0-devel, nothing provides libbonoboui2_0-devel
54 # set Macros by opensuse_bs, see http://en.opensuse.org/Build_Service/cross_distribution_package_how_to
55 #openSUSE 11.1 %if 0%{?suse_version} == 1110
56 #openSUSE 11.0 %if 0%{?suse_version} == 1100
57 #openSUSE 10.3 %if 0%{?suse_version} == 1030
58 #openSUSE 10.2 %if 0%{?suse_version} == 1020
59 #SUSE Linux 10.1 %if 0%{?suse_version} == 1010
60 #SUSE Linux 10.0 %if 0%{?suse_version} == 1000
61 #SUSE Linux 9.3 %if 0%{?suse_version} == 930
62 #SLES 9 %if 0%{?sles_version} == 9 also set: %if 0%{?suse_version} == 910
63 #SLE 10 %if 0%{?sles_version} == 10 also set: %if 0%{?suse_version} == 1010
64 #SLE 11 %if 0%{?sles_version} == 11 also set: %if 0%{?suse_version} == 1110
65 #CentOS 5 %if 0%{?centos_version} == 501
66 #RHEL 4 %if 0%{?rhel_version} == 406
67 #RHEL 5 %if 0%{?rhel_version} == 501
68 #Fedora 6 with Extras %if 0%{?fedora_version} == 6
69 #Fedora 7 with Extras %if 0%{?fedora_version} == 7
70 #Fedora 8 with Extras %if 0%{?fedora_version} == 8
71 #Fedora 9 with Extras %if 0%{?fedora_version} == 9
72 #Fedora 10 with Extras %if 0%{?fedora_version} == 10
73 #Mandriva 2006 %if 0%{?mandriva_version} == 2006
74 #Mandriva 2007 %if 0%{?mandriva_version} == 2007
75 #Mandriva 2008 %if 0%{?mandriva_version} == 2008
79 # am I running in opensuse build service?
80 # TODO: seems to make problems
82 # choose database backend here
83 # postgres, mysql, sqlite
86 # Build Service: Determine Distribution
89 %define build_x86_64 1
93 %if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version}
94 BuildRequires: GConf2-devel
95 BuildRequires: freetype-devel
96 BuildRequires: libtermcap-devel
97 BuildRequires: shadow-utils
101 %if 0%{?mandriva_version} == 2007
103 %define _dist "Mandriva 2007"
106 %if 0%{?fedora_version} == 8
108 %define _dist "Fedora Core 8"
109 BuildRequires: redhat-release
112 %if 0%{?fedora_version} == 9
114 %define _dist "Fedora Core 9"
115 BuildRequires: redhat-release
119 %if 0%{?fedora_version} == 10
121 %define _dist "Fedora Core 10"
122 BuildRequires: PolicyKit-gnome
123 BuildRequires: fedora-release
126 %if 0%{?fedora_version} == 11
128 %define _dist "Fedora Core 11"
129 BuildRequires: PolicyKit-gnome
130 BuildRequires: fedora-release
133 %if 0%{?rhel_version} == 501
134 %define build_rhel5 1
135 %define _dist "Red Hat Enterprise Linux Server release 5"
136 BuildRequires: redhat-release
139 %if 0%{?rhel_version} == 406
140 %define build_rhel4 1
141 %define _dist "Red Hat Enterprise Linux Server release 4"
142 BuildRequires: redhat-release
146 %if 0%{?centos_version} == 501
147 %define build_centos5 1
148 %define _dist "CentOS 5"
149 BuildRequires: redhat-release
153 %if 0%{?suse_version} == 1020
154 %define build_su102 1
155 %define _dist "OpenSUSE 10.2"
156 BuildRequires: suse-release
160 %if 0%{?suse_version} == 1030
161 %define build_su103 1
162 %define _dist "OpenSUSE 10.3"
163 BuildRequires: suse-release
166 %if 0%{?suse_version} == 1100
167 %define build_su110 1
168 %define _dist "SUSE 11"
169 BuildRequires: suse-release
173 %if 0%{?suse_version} == 1110
174 %define build_su111 1
175 %define _dist "SUSE 11"
179 %if 0%{?sles_version} == 9
181 %define _dist "SLES 9"
185 %if 0%{?sles_version} == 10
187 %define _dist "SLE 10"
191 %if 0%{?sles_version} == 11
192 %define build_su111 1
193 %define _dist "SLES 11"
200 # any patches for this release
201 # be sure to check the setup section for patch macros
203 #--------------------------------------------------------------------------
204 # it should not be necessary to change anything below here for a release
205 # except for patch macros in the setup section
206 #--------------------------------------------------------------------------
208 %{?contrib_packager:%define _packager %{contrib_packager}}
210 Summary: Bacula - The Network Backup Solution
214 Group: System Environment/Daemons
216 BuildRoot: %{_tmppath}/%{name}-root
217 URL: http://www.bacula.org/
218 Vendor: The Bacula Team
219 Packager: %{_packager}
222 Source0: http://www.prdownloads.sourceforge.net/bacula/%{name}-%{version}.tar.gz
223 # opensuse build service changes the release itself
225 Source1: Release_Notes-%{version}-1.tar.gz
227 Source1: Release_Notes-%{version}-%{release}.tar.gz
229 Source2: bacula-2.2.7-postgresql.patch
231 # define the basic package description
232 %define blurb Bacula - It comes by night and sucks the vital essence from your computers.
233 %define blurb2 Bacula is a set of computer programs that permit you (or the system
234 %define blurb3 administrator) to manage backup, recovery, and verification of computer
235 %define blurb4 data across a network of computers of different kinds. In technical terms,
236 %define blurb5 it is a network client/server based backup program. Bacula is relatively
237 %define blurb6 easy to use and efficient, while offering many advanced storage management
238 %define blurb7 features that make it easy to find and recover lost or damaged files.
239 %define blurb8 Bacula source code has been released under the GPL version 2 license.
241 %define user_file /etc/passwd
242 %define group_file /etc/group
245 %define useradd /usr/sbin/useradd
246 %define groupadd /usr/sbin/groupadd
247 %define usermod /usr/sbin/usermod
249 # platform defines - set one below or define the build_xxx on the command line
252 %{?build_rh7:%define rh7 1}
254 %{?build_rh8:%define rh8 1}
256 %{?build_rh9:%define rh9 1}
259 %{?build_fc1:%define fc1 1}
261 %{?build_fc3:%define fc3 1}
263 %{?build_fc4:%define fc4 1}
265 %{?build_fc5:%define fc5 1}
267 %{?build_fc6:%define fc6 1}
269 %{?build_fc7:%define fc7 1}
271 %{?build_fc8:%define fc8 1}
273 %{?build_fc9:%define fc9 1}
274 # Whitebox Enterprise build
276 %{?build_wb3:%define wb3 1}
277 # RedHat Enterprise builds
279 %{?build_rhel3:%define rhel3 1}
280 %{?build_rhel3:%define wb3 1}
282 %{?build_rhel4:%define rhel4 1}
283 %{?build_rhel4:%define fc3 1}
285 %{?build_rhel5:%define rhel5 1}
286 %{?build_rhel5:%define fc6 1}
289 %{?build_centos3:%define centos3 1}
290 %{?build_centos3:%define wb3 1}
292 %{?build_centos4:%define centos4 1}
293 %{?build_centos4:%define fc3 1}
295 %{?build_centos5:%define centos5 1}
296 %{?build_centos5:%define fc6 1}
299 %{?build_sl3:%define sl3 1}
300 %{?build_sl3:%define wb3 1}
302 %{?build_sl4:%define sl4 1}
303 %{?build_sl4:%define fc3 1}
305 %{?build_sl5:%define sl5 1}
306 %{?build_sl5:%define fc6 1}
309 %{?build_su9:%define su9 1}
311 %{?build_su10:%define su10 1}
313 %{?build_su102:%define su102 1}
315 %{?build_su103:%define su103 1}
317 %{?build_su110:%define su110 1}
319 %{?build_su111:%define su111 1}
322 %{?build_mdk:%define mdk 1}
324 %{?build_mdv:%define mdv 1}
325 %{?build_mdv:%define mdk 1}
328 %define client_only 0
329 %{?build_client_only:%define client_only 1}
331 # Setup some short cuts
333 %if %{rh7} || %{rh8} || %{rh9}
337 %if %{fc1} || %{fc3} || %{fc4} || %{fc5} || %{fc6} || %{fc7} || %{fc8} || %{fc9}
341 %if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111}
345 %if %{rhel3} || %{rhel4} || %{rhel5} || %{centos3} || %{centos4} || %{centos5}
349 %if %{sl3} || %{sl4} || %{sl5}
354 # test for a platform definition
355 %if !%{rhat} && !%{rhel} && !%{fed} && !%{wb3} && !%{suse} && !%{mdk}
356 %{error: You must specify a platform. Please examine the spec file.}
360 # distribution-specific directory for logwatch
361 %if %{wb3} || %{rh7} || %{rh8} || %{rh9} || %{fc1} || %{fc3} || %{fc4}
362 %define logwatch_dir /etc/log.d
364 %define logwatch_dir /etc/logwatch
368 # set for database support desired or define the build_xxx on the command line
370 %{?build_mysql:%define mysql 1}
371 # if using mysql 4.x define this and mysql above
372 # currently: Mandrake 10.1, SuSE 9.x & 10.0, RHEL4 and Fedora Core 4
374 %{?build_mysql4:%define mysql4 1}
375 %{?build_mysql4:%define mysql 1}
376 # if using mysql 5.x define this and mysql above
377 # currently: SuSE 10.1 and Fedora Core 5
379 %{?build_mysql5:%define mysql5 1}
380 %{?build_mysql5:%define mysql 1}
382 %{?build_sqlite:%define sqlite 1}
384 %{?build_postgresql:%define postgresql 1}
386 # test for a database definition
387 %if ! %{mysql} && ! %{sqlite} && ! %{postgresql} && ! %{client_only}
388 %{error: You must specify database support. Please examine the spec file.}
393 %define db_backend mysql
396 %define db_backend sqlite3
399 %define db_backend postgresql
404 %{?build_x86_64:%define x86_64 1}
406 # check what distribution we are
407 %if %{rhat} || %{rhel}
408 %define _dist %(grep Red /etc/redhat-release)
410 %if %{fc1} || %{fc3} || %{fc4} || %{fc5} || %{fc7} || %{fc8} || %{fc9}
411 %define _dist %(grep Fedora /etc/redhat-release)
413 %if %{centos5} || %{centos4} || %{centos3}
414 %define _dist %(grep CentOS /etc/redhat-release)
416 %if %{sl5} ||%{sl4} || %{sl3}
417 %define _dist %(grep 'Scientific Linux' /etc/redhat-release)
419 %if %{wb3} && ! %{rhel3} && ! %{centos3} && ! %{sl3}
420 %define _dist %(grep White /etc/whitebox-release)
423 %define _dist %(grep -i SuSE /etc/SuSE-release)
426 %define _dist %(grep Mand /etc/mandrake-release)
428 %{?DISTNAME:%define _dist %{DISTNAME}}
430 # only set Disribution if not in opensuse build service, as it sets it itself
431 %if ! 0%{?opensuse_bs}
432 %{?DISTNAME:%define _dist %{DISTNAME}}
433 Distribution: %{_dist}
436 %if 0%{?opensuse_bs} && %{mysql} && %{suse}
437 # needed in opensuse_bs, as rpm is installed during build process
438 BuildRequires: libmysqlclient-devel
439 BuildRequires: mysql-client
442 %if 0%{?opensuse_bs} && %{suse} && %{postgresql}
443 BuildRequires: postgresql
444 BuildRequires: postgresql-server
446 BuildRequires: openssl
448 %if 0%{?opensuse_bs} && %{suse}
449 BuildRequires: pwdutils
450 BuildRequires: sysconfig
453 # should we turn on python support
455 %{?build_python:%define python 1}
457 # specifically disallow build of mtx package if desired
459 %{?nobuild_mtx:%define mtx 0}
461 # do we need to patch for old postgresql version?
463 %{?build_old_pgsql:%define old_pgsql 1}
465 # Mandriva somehow forces the manpage file extension to bz2 rather than gz
467 %define manpage_ext bz2
469 %define manpage_ext gz
472 # for client only build
481 BuildRequires: gcc, gcc-c++, make, autoconf
482 BuildRequires: glibc, glibc-devel
483 BuildRequires: ncurses-devel, perl
484 BuildRequires: libstdc++-devel, zlib-devel
485 BuildRequires: openssl-devel
486 BuildRequires: libacl-devel
487 BuildRequires: pkgconfig
489 BuildRequires: libxml2-devel
492 BuildRequires: python, python-devel
493 %{expand: %%define pyver %(python -c 'import sys;print(sys.version[0:3])')}
497 BuildRequires: libtermcap-devel
498 BuildRequires: libxml-devel
501 BuildRequires: termcap
504 BuildRequires: libtermcap-devel
505 BuildRequires: libstdc++-static-devel
506 BuildRequires: glibc-static-devel
508 %if %{fc1} || %{fc3} || %{fc4} || %{fc5} || %{fc7} || %{fc8} || %{fc9}
509 BuildRequires: libtermcap-devel
511 %if !%{rh7} && !%{su9} && !%{su10} && !%{su102} && !%{su103} && !%{su110} && !%{su111} && !%{mdk} && !%{fc3} && !%{fc4} && !%{fc5} && !%{fc6} && !%{fc7} && !%{fc8} && !%{fc9}
512 #BuildRequires: libtermcap-devel
515 %if %{sqlite} && %{su10}
516 BuildRequires: sqlite2-devel
518 %if %{sqlite} && ! %{su10}
519 BuildRequires: sqlite-devel
523 BuildRequires: mysql-devel
526 %if %{postgresql} && %{wb3}
527 BuildRequires: rh-postgresql-devel >= 7
530 %if %{postgresql} && ! %{wb3}
531 BuildRequires: postgresql-devel >= 7
555 Summary: Bacula - The Network Backup Solution
556 Group: System Environment/Daemons
557 Provides: bacula-dir, bacula-sd, bacula-fd, bacula-server
558 Conflicts: bacula-client
560 Requires: ncurses, libstdc++, zlib, openssl
563 %if %{rhel} || %{rhat} || %{fed}
574 %if %{suse} || %{mdk}
575 Requires: mysql-client
577 Requires: mysql-server
581 %if %{postgresql} && %{wb3}
582 Requires: rh-postgresql >= 7
583 Requires: rh-postgresql-server >= 7
585 %if %{postgresql} && ! %{wb3}
586 Requires: postgresql >= 7
587 Requires: postgresql-server >= 7
600 %description postgresql
604 Requires: python >= %{pyver}
618 This build requires MySQL to be installed separately as the catalog database.
621 This build requires PostgreSQL to be installed separately as the catalog database.
624 This build incorporates sqlite3 as the catalog database, statically compiled.
627 This build includes python scripting support.
631 Summary: Bacula - The Network Backup Solution
632 Group: System Environment/Daemons
634 Conflicts: bacula-mysql
635 Conflicts: bacula-sqlite
636 Conflicts: bacula-postgresql
642 Requires: libstdc++, zlib, openssl
652 Requires: python >= %{pyver}
666 This is the File daemon (Client) only package. It includes the command line
669 This build includes python scripting support.
675 Summary: Bacula - The Network Backup Solution
676 Group: System Environment/Daemons
678 %description updatedb
689 This package installs scripts for updating older versions of the bacula
695 Summary: Bacula - The Network Backup Solution
696 Group: System Environment/Daemons
709 This package installs the Bacula pdf and html documentation.
711 # Must explicitly enable debug pkg on SuSE
712 # but not in opensuse_bs
713 %if ! 0%{?opensuse_bs}
716 export LDFLAGS="${LDFLAGS} -L/usr/lib/termcap"
727 %if %{wb3} || %{old_pgsql}
728 patch -p3 src/cats/postgresql.c < %SOURCE5
731 # patches for the bundled sqlite scripts
733 # patch the make_sqlite_tables script for installation bindir
734 #patch src/cats/make_sqlite_tables.in src/cats/make_sqlite_tables.in.patch
735 #patch src/cats/make_sqlite3_tables.in src/cats/make_sqlite3_tables.in.patch
737 # patch the create_sqlite_database script for installation bindir
738 #patch src/cats/create_sqlite_database.in src/cats/create_sqlite_database.in.patch
739 #patch src/cats/create_sqlite3_database.in src/cats/create_sqlite3_database.in.patch
741 # patch the make_catalog_backup script for installation bindir
742 #patch src/cats/make_catalog_backup.in src/cats/make_catalog_backup.in.patch
744 # patch the update_sqlite_tables script for installation bindir
745 #patch src/cats/update_sqlite_tables.in src/cats/update_sqlite_tables.in.patch
746 #patch src/cats/update_sqlite3_tables.in src/cats/update_sqlite3_tables.in.patch
748 # patch the bacula-dir init script to remove sqlite service
749 %if %{sqlite} && %{su9}
750 patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch
752 %if %{sqlite} && %{su10}
753 patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch
755 %if %{sqlite} && %{su102}
756 patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch
758 %if %{sqlite} && %{su103}
759 patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch
761 %if %{sqlite} && %{su110}
762 patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch
764 %if %{sqlite} && %{su111}
765 patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch
768 # 64 bit lib location hacks
769 # as of 1.39.18 it should not be necessary to enable x86_64 as configure is
770 # reported to be fixed to properly detect lib locations.
772 export LDFLAGS="${LDFLAGS} -L/usr/lib64"
774 %if %{mysql} && %{x86_64}
775 export LDFLAGS="${LDFLAGS} -L/usr/lib64/mysql"
777 %if %{python} && %{x86_64}
778 export LDFLAGS="${LDFLAGS} -L/usr/lib64/python%{pyver}"
781 # Red Hat's 64 bit installation of QT4 appears to be broken so:
783 %if %{rhel5} || %{centos5} || %{sl5}
787 # Main Bacula configuration
789 --prefix=%{_prefix} \
790 --sbindir=%{_sbindir} \
791 --sysconfdir=%{sysconf_dir} \
792 --mandir=%{_mandir} \
793 --with-scriptdir=%{script_dir} \
794 --with-working-dir=%{working_dir} \
795 --with-plugindir=%{script_dir} \
796 --with-pid-dir=%{pid_dir} \
797 --with-subsys-dir=%{_subsysdir} \
798 --enable-smartalloc \
800 --disable-bwx-console \
801 --disable-tray-monitor \
806 %if %{su9} || %{su10}
820 --enable-client-only \
822 %if %{rh7} || %{rh8} || %{rh9} || %{fc1} || %{fc3} || %{wb3}
823 --disable-batch-insert \
825 --with-dir-user=%{director_daemon_user} \
826 --with-dir-group=%{daemon_group} \
827 --with-sd-user=%{storage_daemon_user} \
828 --with-sd-group=%{storage_daemon_group} \
829 --with-fd-user=%{file_daemon_user} \
830 --with-fd-group=%{daemon_group} \
831 --with-dir-password="XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX" \
832 --with-fd-password="XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX" \
833 --with-sd-password="XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX" \
834 --with-mon-dir-password="XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX" \
835 --with-mon-fd-password="XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX" \
836 --with-mon-sd-password="XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX" \
844 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
845 mkdir -p $RPM_BUILD_ROOT/etc/init.d
846 mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d
847 mkdir -p $RPM_BUILD_ROOT%{logwatch_dir}/conf/logfiles
848 mkdir -p $RPM_BUILD_ROOT%{logwatch_dir}/conf/services
849 mkdir -p $RPM_BUILD_ROOT%{logwatch_dir}/scripts/services
850 mkdir -p $RPM_BUILD_ROOT%{logwatch_dir}/scripts/shared
851 mkdir -p $RPM_BUILD_ROOT%{script_dir}/updatedb
853 mkdir -p $RPM_BUILD_ROOT/etc/pam.d
854 mkdir -p $RPM_BUILD_ROOT%{_sbindir}
855 #mkdir -p $RPM_BUILD_ROOT%{_bindir}
857 make DESTDIR=$RPM_BUILD_ROOT install
860 # Program docs not installed on client
861 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bacula-dir.8.%{manpage_ext}
862 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bacula-sd.8.%{manpage_ext}
863 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bcopy.8.%{manpage_ext}
864 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bextract.8.%{manpage_ext}
865 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bls.8.%{manpage_ext}
866 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bscan.8.%{manpage_ext}
867 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/btape.8.%{manpage_ext}
868 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/dbcheck.8.%{manpage_ext}
869 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bsmtp.1.%{manpage_ext}
871 # Docs for programs that are depreciated
872 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-bgnome-console.1.%{manpage_ext}
873 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-bwxconsole.1.%{manpage_ext}
874 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-tray-monitor.1.%{manpage_ext}
875 rm -f $RPM_BUILD_ROOT%{script_dir}/gconsole
877 # fixme - make installs the mysql scripts for sqlite build
879 rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql
880 rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql
881 rm -f $RPM_BUILD_ROOT%{script_dir}/grant_mysql_privileges
884 # fixme - make installs the mysql scripts for postgresql build
886 rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql
887 rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql
890 # install the init scripts
892 cp -p platforms/suse/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
893 cp -p platforms/suse/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
894 cp -p platforms/suse/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
897 cp -p platforms/mandrake/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
898 cp -p platforms/mandrake/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
899 cp -p platforms/mandrake/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
901 %if ! %{suse} && ! %{mdk}
902 cp -p platforms/redhat/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
903 cp -p platforms/redhat/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
904 cp -p platforms/redhat/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
906 chmod 0754 $RPM_BUILD_ROOT/etc/init.d/*
908 rm -f $RPM_BUILD_ROOT/etc/init.d/bacula-dir
909 rm -f $RPM_BUILD_ROOT/etc/init.d/bacula-sd
912 # install the logrotate file
913 cp -p scripts/logrotate $RPM_BUILD_ROOT/etc/logrotate.d/bacula
915 # install the updatedb scripts
916 cp -p updatedb/* $RPM_BUILD_ROOT%{script_dir}/updatedb/
918 # install the logwatch scripts
920 cp -p scripts/%{logwatch_dir}/bacula $RPM_BUILD_ROOT/etc/%{logwatch_dir}/scripts/services/bacula
921 cp -p scripts/%{logwatch_dir}/applybacula $RPM_BUILD_ROOT/etc/%{logwatch_dir}/scripts/shared/applybacula
922 cp -p scripts/%{logwatch_dir}/logfile.bacula.conf $RPM_BUILD_ROOT/etc/%{logwatch_dir}/conf/logfiles/bacula.conf
923 cp -p scripts/%{logwatch_dir}/services.bacula.conf $RPM_BUILD_ROOT/etc/%{logwatch_dir}/conf/services/bacula.conf
924 chmod 755 $RPM_BUILD_ROOT/etc/%{logwatch_dir}/scripts/services/bacula
925 chmod 755 $RPM_BUILD_ROOT/etc/%{logwatch_dir}/scripts/shared/applybacula
926 chmod 644 $RPM_BUILD_ROOT/etc/%{logwatch_dir}/conf/logfiles/bacula.conf
927 chmod 644 $RPM_BUILD_ROOT/etc/%{logwatch_dir}/conf/services/bacula.conf
930 # now clean up permissions that are left broken by the install
931 chmod o-rwx $RPM_BUILD_ROOT%{working_dir}
933 # fix me - building enable-client-only installs files not included in bacula-client package
935 rm -f $RPM_BUILD_ROOT%{script_dir}/bacula
936 rm -f $RPM_BUILD_ROOT%{script_dir}/bacula-ctl-dir
937 rm -f $RPM_BUILD_ROOT%{script_dir}/bacula-ctl-sd
938 rm -f $RPM_BUILD_ROOT%{script_dir}/disk-changer
939 rm -f $RPM_BUILD_ROOT%{script_dir}/dvd-handler
940 rm -f $RPM_BUILD_ROOT%{script_dir}/mtx-changer
941 rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql
942 rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql
943 rm -rf $RPM_BUILD_ROOT%{script_dir}/updatedb
944 rm -f $RPM_BUILD_ROOT%{script_dir}/bconsole
945 rm -f $RPM_BUILD_ROOT%{script_dir}/bpipe-fd.so
946 rm -f $RPM_BUILD_ROOT%{script_dir}/mtx-changer.conf
947 rm -f $RPM_BUILD_ROOT%{_sbindir}/bacula
951 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
953 rm -f $RPM_BUILD_DIR/Release_Notes-%{version}-1.txt
955 rm -f $RPM_BUILD_DIR/Release_Notes-%{version}-%{release}.txt
960 # MySQL specific files
962 %defattr(-, root, root)
963 %attr(-, root, %{daemon_group}) %{script_dir}/create_mysql_database
964 %attr(-, root, %{daemon_group}) %{script_dir}/drop_mysql_database
965 %attr(-, root, %{daemon_group}) %{script_dir}/make_mysql_tables
966 %attr(-, root, %{daemon_group}) %{script_dir}/drop_mysql_tables
967 %attr(-, root, %{daemon_group}) %{script_dir}/update_mysql_tables
968 %attr(-, root, %{daemon_group}) %{script_dir}/grant_mysql_privileges
969 %attr(-, root, %{daemon_group}) %{script_dir}/startmysql
970 %attr(-, root, %{daemon_group}) %{script_dir}/stopmysql
974 %if %{su9} || %{su10}
975 # use sqlite2 on SLE_10 and SLES9
977 %defattr(-,root,root)
978 %attr(-, root, %{daemon_group}) %{script_dir}/create_sqlite_database
979 %attr(-, root, %{daemon_group}) %{script_dir}/drop_sqlite_database
980 %attr(-, root, %{daemon_group}) %{script_dir}/grant_sqlite_privileges
981 %attr(-, root, %{daemon_group}) %{script_dir}/make_sqlite_tables
982 %attr(-, root, %{daemon_group}) %{script_dir}/drop_sqlite_tables
983 %attr(-, root, %{daemon_group}) %{script_dir}/update_sqlite_tables
986 %defattr(-,root,root)
987 %attr(-, root, %{daemon_group}) %{script_dir}/create_sqlite3_database
988 %attr(-, root, %{daemon_group}) %{script_dir}/drop_sqlite3_database
989 %attr(-, root, %{daemon_group}) %{script_dir}/grant_sqlite3_privileges
990 %attr(-, root, %{daemon_group}) %{script_dir}/make_sqlite3_tables
991 %attr(-, root, %{daemon_group}) %{script_dir}/drop_sqlite3_tables
992 %attr(-, root, %{daemon_group}) %{script_dir}/update_sqlite3_tables
1000 %defattr(-,root,root)
1001 %attr(-, root, %{daemon_group}) %{script_dir}/create_postgresql_database
1002 %attr(-, root, %{daemon_group}) %{script_dir}/drop_postgresql_database
1003 %attr(-, root, %{daemon_group}) %{script_dir}/make_postgresql_tables
1004 %attr(-, root, %{daemon_group}) %{script_dir}/drop_postgresql_tables
1005 %attr(-, root, %{daemon_group}) %{script_dir}/update_postgresql_tables
1006 %attr(-, root, %{daemon_group}) %{script_dir}/grant_postgresql_privileges
1007 # The rest is DB backend independent
1009 # opensuse_bs: directories not owned by any package
1012 %if ! %{client_only}
1013 %attr(-, root, %{daemon_group}) %dir %{script_dir}
1014 %attr(-, root, %{daemon_group}) %{script_dir}/bacula
1015 %attr(-, root, %{daemon_group}) %{script_dir}/bconsole
1016 %attr(-, root, %{daemon_group}) %{script_dir}/create_bacula_database
1017 %attr(-, root, %{daemon_group}) %{script_dir}/drop_bacula_database
1018 %attr(-, root, %{daemon_group}) %{script_dir}/grant_bacula_privileges
1019 %attr(-, root, %{daemon_group}) %{script_dir}/make_bacula_tables
1020 %attr(-, root, %{daemon_group}) %{script_dir}/drop_bacula_tables
1021 %attr(-, root, %{daemon_group}) %{script_dir}/update_bacula_tables
1022 %attr(-, root, %{daemon_group}) %{script_dir}/make_catalog_backup
1023 %attr(-, root, %{daemon_group}) %{script_dir}/delete_catalog_backup
1024 %attr(-, root, %{daemon_group}) %{script_dir}/btraceback.dbx
1025 %attr(-, root, %{daemon_group}) %{script_dir}/btraceback.gdb
1026 %attr(-, root, %{daemon_group}) %{script_dir}/disk-changer
1027 %attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-dir
1028 %attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-fd
1029 %attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-sd
1030 %attr(-, root, %{daemon_group}) %{script_dir}/bpipe-fd.so
1031 %attr(-, root, %{daemon_group}) /etc/init.d/bacula-dir
1032 %attr(-, root, %{daemon_group}) /etc/init.d/bacula-fd
1033 %attr(-, root, %{storage_daemon_group}) %{script_dir}/dvd-handler
1034 %attr(-, root, %{storage_daemon_group}) /etc/init.d/bacula-sd
1035 %attr(-, root, %{storage_daemon_group}) %{script_dir}/mtx-changer
1036 %attr(-, root, %{storage_daemon_group}) %{script_dir}/mtx-changer.conf
1038 /etc/logrotate.d/bacula
1039 /etc/%{logwatch_dir}/scripts/services/bacula
1040 /etc/%{logwatch_dir}/scripts/shared/applybacula
1041 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-dir.conf
1042 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-fd.conf
1043 %attr(-, root, %{storage_daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-sd.conf
1044 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bconsole.conf
1045 %attr(-, root, %{daemon_group}) %config(noreplace) /etc/%{logwatch_dir}/conf/logfiles/bacula.conf
1046 %attr(-, root, %{daemon_group}) %config(noreplace) /etc/%{logwatch_dir}/conf/services/bacula.conf
1047 %attr(-, root, %{daemon_group}) %config(noreplace) %{script_dir}/query.sql
1049 %attr(-, %{storage_daemon_user}, %{daemon_group}) %dir %{working_dir}
1051 %{_sbindir}/bacula-dir
1052 %{_sbindir}/bacula-fd
1053 %{_sbindir}/bacula-sd
1056 %{_sbindir}/bextract
1060 %{_sbindir}/btraceback
1061 %{_sbindir}/bconsole
1066 %{_mandir}/man8/bacula-fd.8.%{manpage_ext}
1067 %{_mandir}/man8/bacula-dir.8.%{manpage_ext}
1068 %{_mandir}/man8/bacula-sd.8.%{manpage_ext}
1069 %{_mandir}/man8/bacula.8.%{manpage_ext}
1070 %{_mandir}/man8/bconsole.8.%{manpage_ext}
1071 %{_mandir}/man8/bcopy.8.%{manpage_ext}
1072 %{_mandir}/man8/bextract.8.%{manpage_ext}
1073 %{_mandir}/man8/bls.8.%{manpage_ext}
1074 %{_mandir}/man8/bscan.8.%{manpage_ext}
1075 %{_mandir}/man8/btape.8.%{manpage_ext}
1076 %{_mandir}/man8/btraceback.8.%{manpage_ext}
1077 %{_mandir}/man8/dbcheck.8.%{manpage_ext}
1078 %{_mandir}/man1/bsmtp.1.%{manpage_ext}
1079 %{_mandir}/man1/bat.1.%{manpage_ext}
1086 # test for bacula database older than version 10
1087 # note: this ASSUMES no password has been set for bacula database
1088 DB_VER=`mysql 2>/dev/null bacula -e 'select * from Version;'|tail -n 1`
1093 # test for bacula database older than version 10 and sqlite3
1094 if [ -s %{working_dir}/bacula.db ]; then
1095 DB_VER=`echo "select * from Version;" | sqlite3 2>/dev/null %{working_dir}/bacula.db | tail -n 1`
1101 DB_VER=`echo 'select * from Version;' | psql bacula 2>/dev/null | tail -3 | head -1`
1104 %if ! %{client_only}
1105 if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "10" ]; then
1106 echo "This bacula upgrade will update a bacula database from version 10 to 11."
1107 echo "You appear to be running database version $DB_VER. You must first update"
1108 echo "your database to version 10 and then install this upgrade. The alternative"
1109 echo "is to use %{script_dir}/drop_%{db_backend}_tables to delete all your your current"
1110 echo "catalog information, then do the upgrade. Information on updating a"
1111 echo "database older than version 10 can be found in the release notes."
1117 %if ! %{client_only}
1118 # check for and copy %{sysconf_dir}/console.conf to bconsole.conf
1119 if [ -s %{sysconf_dir}/console.conf ];then
1120 cp -p %{sysconf_dir}/console.conf %{sysconf_dir}/bconsole.conf
1123 # create the daemon users and groups
1124 # first create the groups if they don't exist
1125 HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
1126 if [ -z "$HAVE_BACULA" ]; then
1127 %{groupadd} -r %{daemon_group} > /dev/null 2>&1
1128 echo "The group %{daemon_group} has been added to %{group_file}."
1129 echo "See the manual chapter \"Running Bacula\" for details."
1131 HAVE_BACULA=`grep %{storage_daemon_group} %{group_file} 2>/dev/null`
1132 if [ -z "$HAVE_BACULA" ]; then
1133 %{groupadd} -r %{storage_daemon_group} > /dev/null 2>&1
1134 echo "The group %{storage_daemon_group} has been added to %{group_file}."
1135 echo "See the manual chapter \"Running Bacula\" for details."
1137 # now create the users if they do not exist
1138 # we do not use the -g option allowing the primary group to be set to system default
1139 # this will be a unique group on redhat type systems or the group users on some systems
1140 HAVE_BACULA=`grep %{storage_daemon_user} %{user_file} 2>/dev/null`
1141 if [ -z "$HAVE_BACULA" ]; then
1142 %{useradd} -r -c "Bacula" -d %{working_dir} -g %{storage_daemon_group} -M -s /sbin/nologin %{storage_daemon_user} > /dev/null 2>&1
1143 echo "The user %{storage_daemon_user} has been added to %{user_file}."
1144 echo "See the manual chapter \"Running Bacula\" for details."
1146 HAVE_BACULA=`grep %{director_daemon_user} %{user_file} 2>/dev/null`
1147 if [ -z "$HAVE_BACULA" ]; then
1148 %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{director_daemon_user} > /dev/null 2>&1
1149 echo "The user %{director_daemon_user} has been added to %{user_file}."
1150 echo "See the manual chapter \"Running Bacula\" for details."
1152 HAVE_BACULA=`grep %{file_daemon_user} %{user_file} 2>/dev/null`
1153 if [ -z "$HAVE_BACULA" ]; then
1154 %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{file_daemon_user} > /dev/null 2>&1
1155 echo "The user %{file_daemon_user} has been added to %{user_file}."
1156 echo "See the manual chapter \"Running Bacula\" for details."
1158 # now we add the supplementary groups, this is ok to call even if the users already exist
1159 # we only do this if the user is NOT root
1160 IS_ROOT=%{director_daemon_user}
1161 if [ "$IS_ROOT" != "root" ]; then
1162 %{usermod} -G %{daemon_group} %{director_daemon_user}
1164 IS_ROOT=%{storage_daemon_user}
1165 if [ "$IS_ROOT" != "root" ]; then
1166 %{usermod} -G %{daemon_group},%{storage_daemon_group} %{storage_daemon_user}
1168 IS_ROOT=%{file_daemon_user}
1169 if [ "$IS_ROOT" != "root" ]; then
1170 %{usermod} -G %{daemon_group} %{file_daemon_user}
1183 %if ! %{client_only}
1185 if [ "$1" -ge 1 ] ; then
1186 %if %{suse} && %{mysql}
1187 /sbin/chkconfig --add mysql
1189 %if %{suse} && %{postgresql}
1190 /sbin/chkconfig --add postgresql
1192 /sbin/chkconfig --add bacula-dir
1193 /sbin/chkconfig --add bacula-fd
1194 /sbin/chkconfig --add bacula-sd
1200 #check, if mysql can be called successfully at all
1201 if mysql 2>/dev/null bacula -e 'select * from Version;' ; then
1203 # test for an existing database
1204 # note: this ASSUMES no password has been set for bacula database
1205 DB_VER=`mysql 2>/dev/null bacula -e 'select * from Version;'|tail -n 1`
1207 # grant privileges and create tables if they do not exist
1208 if [ -z "$DB_VER" ]; then
1209 echo "Hmm, it doesn't look like you have an existing database."
1210 echo "Granting privileges for MySQL user bacula..."
1211 %{script_dir}/grant_mysql_privileges
1212 echo "Creating MySQL bacula database..."
1213 %{script_dir}/create_mysql_database
1214 echo "Creating bacula tables..."
1215 %{script_dir}/make_mysql_tables
1217 # check to see if we need to upgrade a 2.x database
1218 elif [ "$DB_VER" -lt "11" ]; then
1219 echo "This release requires an upgrade to your bacula database."
1220 echo "Backing up your current database..."
1221 mysqldump -f --opt bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2
1222 echo "Upgrading bacula database ..."
1223 %{script_dir}/update_mysql_tables
1224 echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
1231 # test for an existing database
1232 if [ -s %{working_dir}/bacula.db ]; then
1233 DB_VER=`echo "select * from Version;" | sqlite3 2>/dev/null %{working_dir}/bacula.db | tail -n 1`
1234 # check to see if we need to upgrade a 2.x database
1235 if [ "$DB_VER" -lt "11" ] && [ "$DB_VER" -ge "10" ]; then
1236 echo "This release requires an upgrade to your bacula database."
1237 echo "Backing up your current database..."
1238 echo ".dump" | sqlite3 %{working_dir}/bacula.db | bzip2 > %{working_dir}/bacula_backup.sql.bz2
1239 echo "Upgrading bacula database ..."
1240 %{script_dir}/update_sqlite3_tables
1241 echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
1244 # create the database and tables
1245 echo "Hmm, it doesn't look like you have an existing database."
1246 echo "Creating SQLite database..."
1247 %{script_dir}/create_sqlite3_database
1248 echo "Creating the SQLite tables..."
1249 %{script_dir}/make_sqlite3_tables
1250 chown %{director_daemon_user}.%{daemon_group} %{working_dir}/bacula.db
1255 # check if psql can be called successfully at all
1256 if echo 'select * from Version;' | psql bacula 2>/dev/null; then
1258 # test for an existing database
1259 # note: this ASSUMES no password has been set for bacula database
1260 DB_VER=`echo 'select * from Version;' | psql bacula 2>/dev/null | tail -3 | head -1`
1262 # grant privileges and create tables if they do not exist
1263 if [ -z "$DB_VER" ]; then
1264 echo "Hmm, doesn't look like you have an existing database."
1265 echo "Creating PostgreSQL bacula database..."
1266 %{script_dir}/create_postgresql_database
1267 echo "Creating bacula tables..."
1268 %{script_dir}/make_postgresql_tables
1269 echo "Granting privileges for PostgreSQL user bacula..."
1270 %{script_dir}/grant_postgresql_privileges
1272 # check to see if we need to upgrade a 2.x database
1273 elif [ "$DB_VER" -lt "11" ]; then
1274 echo "This release requires an upgrade to your bacula database."
1275 echo "Backing up your current database..."
1276 pg_dump bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2
1277 echo "Upgrading bacula database ..."
1278 %{script_dir}/update_postgresql_tables
1279 echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
1285 %if ! %{client_only}
1286 if [ -d %{sysconf_dir} ]; then
1288 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
1289 pass=`openssl rand -base64 33`
1290 for file in *.conf; do
1291 sed "s@${string}@${pass}@g" $file > $file.new
1292 cp -f $file.new $file; rm -f $file.new
1295 # put actual hostname in conf file
1297 string="XXX_HOSTNAME_XXX"
1298 for file in *.conf; do
1299 sed "s@${string}@${host}@g" $file >$file.new
1300 cp -f $file.new $file; rm -f $file.new
1305 exit 0 # always exit successfull, as otherwise opensuse build service complains
1317 %if ! %{client_only}
1320 /sbin/chkconfig --del bacula-dir
1321 /sbin/chkconfig --del bacula-fd
1322 /sbin/chkconfig --del bacula-sd
1327 # added: run ldconfig in postun
1340 %defattr(-,root,root)
1341 %attr(-, root, %{daemon_group}) %dir %{script_dir}
1342 %{script_dir}/bacula-ctl-fd
1343 /etc/init.d/bacula-fd
1345 /etc/logrotate.d/bacula
1347 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-fd.conf
1348 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bconsole.conf
1349 %attr(-, root, %{daemon_group}) %dir %{working_dir}
1351 %{_sbindir}/bacula-fd
1352 %{_sbindir}/btraceback
1353 %attr(-, root, %{daemon_group}) %{script_dir}/btraceback.gdb
1354 %attr(-, root, %{daemon_group}) %{script_dir}/btraceback.dbx
1355 %{_sbindir}/bconsole
1356 %{_mandir}/man8/bacula-fd.8.%{manpage_ext}
1357 %{_mandir}/man8/bacula.8.%{manpage_ext}
1358 %{_mandir}/man8/bconsole.8.%{manpage_ext}
1359 %{_mandir}/man8/btraceback.8.%{manpage_ext}
1360 %{_mandir}/man1/bat.1.%{manpage_ext}
1362 %{_libdir}/libbaccfg.*
1363 %{_libdir}/libbacfind.*
1364 %{_libdir}/libbacpy.*
1366 #opensuse_bs: directories not owned by any package
1370 # create the daemon group and user
1371 HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
1372 if [ -z "$HAVE_BACULA" ]; then
1373 %{groupadd} -r %{daemon_group} > /dev/null 2>&1
1374 echo "The group %{daemon_group} has been added to %{group_file}."
1375 echo "See the manual chapter \"Running Bacula\" for details."
1377 # we do not use the -g option allowing the primary group to be set to system default
1378 # this will be a unique group on redhat type systems or the group users on some systems
1379 HAVE_BACULA=`grep %{file_daemon_user} %{user_file} 2>/dev/null`
1380 if [ -z "$HAVE_BACULA" ]; then
1381 %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{file_daemon_user} > /dev/null 2>&1
1382 echo "The user %{file_daemon_user} has been added to %{user_file}."
1383 echo "See the manual chapter \"Running Bacula\" for details."
1385 # now we add the supplementary group, this is ok to call even if the user already exists
1386 # we only do this if the user is NOT root
1387 IS_ROOT=%{file_daemon_user}
1388 if [ "$IS_ROOT" != "root" ]; then
1389 %{usermod} -G %{daemon_group} %{file_daemon_user}
1394 if [ "$1" -ge 1 ] ; then
1395 /sbin/chkconfig --add bacula-fd
1398 if [ -d %{sysconf_dir} ]; then
1400 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
1401 pass=`openssl rand -base64 33`
1402 for file in *.conf; do
1403 sed "s@${string}@${pass}@g" $file > $file.new
1404 cp -f $file.new $file; rm -f $file.new
1407 # put actual hostname in conf file
1409 string="XXX_HOSTNAME_XXX"
1410 for file in *.conf; do
1411 sed "s@${string}@${host}@g" $file >$file.new
1412 cp -f $file.new $file; rm -f $file.new
1421 /sbin/chkconfig --del bacula-fd
1427 %if ! %{client_only}
1429 %defattr(-,root,%{daemon_group})
1430 %{script_dir}/updatedb/*
1431 #oensuse_bs: directories not owned by any package
1432 %{script_dir}/updatedb
1435 # create the daemon group
1436 HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
1437 if [ -z "$HAVE_BACULA" ]; then
1438 %{groupadd} -r %{daemon_group} > /dev/null 2>&1
1439 echo "The group %{daemon_group} has been added to %{group_file}."
1440 echo "See the manual chapter \"Running Bacula\" for details."
1444 echo "The database update scripts were installed to %{script_dir}/updatedb"
1448 * Mon Aug 10 2009 Philipp Storz <philipp.storz@dass-it.de>
1449 - changes to work with opensuse build service
1450 * Sat Jun 20 2009 D. Scott Barninger <barninger@fairfieldcomputers.com>
1451 - Fix bat install which is now handled by make and uses shared libs
1452 * Sat May 16 2009 D. Scott Barninger <barninger@fairfieldcomputers.com>
1453 - fix libxml dependency for rh7 per Pasi Kärkkäinen <pasik@iki.fi>
1454 * Mon May 04 2009 D. Scott Barninger <barninger@fairfieldcomputers.com>
1455 - Fix post ldconfig problem in client only build
1456 * Sun May 03 2009 D. Scott Barninger <barninger@fairfieldcomputers.com>
1457 - remove more files installed by client-only build not needed by client package
1458 - remove libbacsql files from client package
1459 * Sat May 02 2009 D. Scott Barninger <barninger@fairfieldcomputers.com>
1461 - update for new docs configuration
1462 * Sat Apr 25 2009 D. Scott Barninger <barninger@fairfieldcomputers.com>
1463 - add switch to pass Distribution tag
1464 * Sun Apr 5 2009 D. Scott Barninger <barninger@fairfieldcomputers.com>
1466 - database update version 10 to 11
1467 - make now installs docs so we rm from buildroot
1468 - add shared libs in %_libdir and other misc new files
1469 * Wed Dec 31 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
1471 * Sat Nov 08 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
1472 - set paths for QT using pkgconfig
1473 * Sat Oct 11 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
1474 - release 2.4.3 update depkgs to 11Sep08 remove file nmshack from mtx package
1475 * Sun Sep 07 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
1476 - adjust /opt/bacula install
1477 - add build switch to supress rescue package
1478 * Sun Aug 24 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
1479 - add support for install to /opt/bacula
1480 * Sun Aug 17 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
1481 - remove libtermcap dependancy for FC9
1482 * Mon Aug 04 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
1483 - fix bat dependencies
1484 * Sat Jun 28 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
1486 * Sat May 24 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
1488 * Sun Mar 30 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
1489 - FHS compatibility changes
1490 * Sat Feb 16 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
1491 - remove fix for false buffer overflow detection with glibc >= 2.7
1492 * Sat Feb 09 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
1493 - fix for false buffer overflow detection with glibc >= 2.7