From: Kern Sibbald Date: Mon, 8 Feb 2010 16:53:12 +0000 (+0100) Subject: Reorganize spec files X-Git-Tag: Release-5.0.1~116 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=b8d9d47e9ad8d9c7474a445b37b583be2794bb8a;p=bacula%2Fbacula Reorganize spec files --- diff --git a/bacula/platforms/mandrake/bacula.spec.in b/bacula/platforms/mandrake/bacula.spec.in deleted file mode 100644 index 7936fb978d..0000000000 --- a/bacula/platforms/mandrake/bacula.spec.in +++ /dev/null @@ -1,2955 +0,0 @@ -# Bacula RPM spec file -# Copyright (C) 2000-2008 Kern Sibbald - -# Platform Build Configuration - -# basic defines for every build -%define _version @VERSION@ -%define _release 1 -%define depkgs_version 18Feb09 -%define _rescuever @VERSION@ -%define docs_version @VERSION@ - -# any patches for this release -# be sure to check the setup section for patch macros - -#-------------------------------------------------------------------------- -# it should not be necessary to change anything below here for a release -# except for patch macros in the setup section -#-------------------------------------------------------------------------- - -%define single_dir 0 -%{?single_dir_install:%define single_dir 1} -%if %{single_dir} -%define _prefix /opt/bacula -%else -%define _prefix /usr -%endif - -# third party packagers -%define _packager D. Scott Barninger -%{?contrib_packager:%define _packager %{contrib_packager}} - -Summary: Bacula - The Network Backup Solution -Name: bacula -Version: %{_version} -Release: %{_release} -Group: System Environment/Daemons -License: GPL v2 -Source0: http://www.prdownloads.sourceforge.net/bacula/%{name}-%{version}.tar.gz -Source1: http://www.prdownloads.sourceforge.net/bacula/depkgs-%{depkgs_version}.tar.gz -Source2: Release_Notes-%{version}-%{release}.tar.gz -Source3: http://www.prdownloads.sourceforge.net/bacula/%{name}-docs-%{docs_version}.tar.gz -Source4: http://www.prdownloads.sourceforge.net/bacula/%{name}-rescue-%{_rescuever}.tar.gz -Source5: bacula-2.2.7-postgresql.patch -BuildRoot: %{_tmppath}/%{name}-root -URL: http://www.bacula.org/ -Vendor: The Bacula Team -Packager: %{_packager} -Prefix: %{_prefix} - -# define the basic package description -%define blurb Bacula - It comes by night and sucks the vital essence from your computers. -%define blurb2 Bacula is a set of computer programs that permit you (or the system -%define blurb3 administrator) to manage backup, recovery, and verification of computer -%define blurb4 data across a network of computers of different kinds. In technical terms, -%define blurb5 it is a network client/server based backup program. Bacula is relatively -%define blurb6 easy to use and efficient, while offering many advanced storage management -%define blurb7 features that make it easy to find and recover lost or damaged files. -%define blurb8 Bacula source code has been released under the GPL version 2 license. - -# source directory locations -%define _docsrc ../%{name}-docs-%{docs_version} -%define _rescuesrc ../%{name}-rescue-%{_rescuever} -%define depkgs ../depkgs - -# directory locations -%if %{single_dir} -%define _sbindir /opt/bacula -%define _subsysdir /opt/bacula/working -%define sqlite_bindir /opt/bacula/sqlite -%define _mandir /usr/share/man -%define sysconf_dir /opt/bacula -%define script_dir /opt/bacula/scripts -%define working_dir /opt/bacula/working -%define pid_dir /opt/bacula/working -%else -%define _sbindir %_prefix/sbin -%define _subsysdir /var/lock/subsys -%define sqlite_bindir %_libdir/bacula/sqlite -%define _mandir %_prefix/share/man -%define sysconf_dir /etc/bacula -%define script_dir %_libdir/bacula -%define working_dir /var/lib/bacula -%define pid_dir /var/run -%endif - -# NOTE these defines are used in some rather complex useradd and groupadd -# commands. If you change them examine the post scripts for consequences. -%define director_daemon_user bacula -%define storage_daemon_user bacula -%define file_daemon_user root -%define daemon_group bacula -# group that has write access to tape devices, usually disk on Linux -%define storage_daemon_group disk -%define user_file /etc/passwd -%define group_file /etc/group - -# program locations -%define useradd /usr/sbin/useradd -%define groupadd /usr/sbin/groupadd -%define usermod /usr/sbin/usermod - -# platform defines - set one below or define the build_xxx on the command line -# RedHat builds -%define rh7 0 -%{?build_rh7:%define rh7 1} -%define rh8 0 -%{?build_rh8:%define rh8 1} -%define rh9 0 -%{?build_rh9:%define rh9 1} -# Fedora Core build -%define fc1 0 -%{?build_fc1:%define fc1 1} -%define fc3 0 -%{?build_fc3:%define fc3 1} -%define fc4 0 -%{?build_fc4:%define fc4 1} -%define fc5 0 -%{?build_fc5:%define fc5 1} -%define fc6 0 -%{?build_fc6:%define fc6 1} -%define fc7 0 -%{?build_fc7:%define fc7 1} -%define fc8 0 -%{?build_fc8:%define fc8 1} -%define fc9 0 -%{?build_fc9:%define fc9 1} -# Whitebox Enterprise build -%define wb3 0 -%{?build_wb3:%define wb3 1} -# RedHat Enterprise builds -%define rhel3 0 -%{?build_rhel3:%define rhel3 1} -%{?build_rhel3:%define wb3 1} -%define rhel4 0 -%{?build_rhel4:%define rhel4 1} -%{?build_rhel4:%define fc3 1} -%define rhel5 0 -%{?build_rhel5:%define rhel5 1} -%{?build_rhel5:%define fc6 1} -# CentOS build -%define centos3 0 -%{?build_centos3:%define centos3 1} -%{?build_centos3:%define wb3 1} -%define centos4 0 -%{?build_centos4:%define centos4 1} -%{?build_centos4:%define fc3 1} -%define centos5 0 -%{?build_centos5:%define centos5 1} -%{?build_centos5:%define fc6 1} -# SL build -%define sl3 0 -%{?build_sl3:%define sl3 1} -%{?build_sl3:%define wb3 1} -%define sl4 0 -%{?build_sl4:%define sl4 1} -%{?build_sl4:%define fc3 1} -%define sl5 0 -%{?build_sl5:%define sl5 1} -%{?build_sl5:%define fc6 1} -# SuSE build -%define su9 0 -%{?build_su9:%define su9 1} -%define su10 0 -%{?build_su10:%define su10 1} -%define su102 0 -%{?build_su102:%define su102 1} -%define su103 0 -%{?build_su103:%define su103 1} -%define su110 0 -%{?build_su110:%define su110 1} -%define su111 0 -%{?build_su111:%define su111 1} -# Mandrake builds -%define mdk 0 -%{?build_mdk:%define mdk 1} -%define mdv 0 -%{?build_mdv:%define mdv 1} -%{?build_mdv:%define mdk 1} - -# client only build -%define client_only 0 -%{?build_client_only:%define client_only 1} - -# test for a platform definition -%if !%{rh7} && !%{rh8} && !%{rh9} && !%{fc1} && !%{fc3} && !%{fc4} && !%{fc5} && !%{fc6} && !%{fc7} && !%{fc8} && !%{fc9} && !%{wb3} && !%{su9} && !%{su10} && !%{su102} && !%{su103} && !%{su110} && !%{su111} && !%{mdk} -%{error: You must specify a platform. Please examine the spec file.} -exit 1 -%endif - -# database defines -# set for database support desired or define the build_xxx on the command line -%define mysql 0 -%{?build_mysql:%define mysql 1} -# if using mysql 4.x define this and mysql above -# currently: Mandrake 10.1, SuSE 9.x & 10.0, RHEL4 and Fedora Core 4 -%define mysql4 0 -%{?build_mysql4:%define mysql4 1} -%{?build_mysql4:%define mysql 1} -# if using mysql 5.x define this and mysql above -# currently: SuSE 10.1 and Fedora Core 5 -%define mysql5 0 -%{?build_mysql5:%define mysql5 1} -%{?build_mysql5:%define mysql 1} -%define sqlite 0 -%{?build_sqlite:%define sqlite 1} -%define postgresql 0 -%{?build_postgresql:%define postgresql 1} - -# test for a database definition -%if ! %{mysql} && ! %{sqlite} && ! %{postgresql} && ! %{client_only} -%{error: You must specify database support. Please examine the spec file.} -exit 1 -%endif - -%if %{mysql} -%define db_backend mysql -%endif -%if %{sqlite} -%define db_backend sqlite3 -%endif -%if %{postgresql} -%define db_backend postgresql -%endif - -# 64 bit support -%define x86_64 0 -%{?build_x86_64:%define x86_64 1} - -# check what distribution we are -%if %{rh7} || %{rh8} || %{rh9} || %{rhel3} || %{rhel4} || %{rhel5} -%define _dist %(grep Red /etc/redhat-release) -%endif -%if %{fc1} || %{fc4} || %{fc5} || %{fc7} || %{fc8} || %{fc9} -%define _dist %(grep Fedora /etc/redhat-release) -%endif -%if %{centos5} || %{centos4} || %{centos3} -%define _dist %(grep CentOS /etc/redhat-release) -%endif -%if %{sl5} ||%{sl4} || %{sl3} -%define _dist %(grep 'Scientific Linux' /etc/redhat-release) -%endif -%if %{fc3} && ! %{rhel4} && ! %{centos4} && ! %{sl4} -%define _dist %(grep Fedora /etc/redhat-release) -%endif -%if %{fc6} && ! %{rhel5} && ! %{centos5} && ! %{sl5} -%define _dist %(grep Fedora /etc/redhat-release) -%endif -%if %{wb3} && ! %{rhel3} && ! %{centos3} && ! %{sl3} -%define _dist %(grep White /etc/whitebox-release) -%endif -%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111} -%define _dist %(grep -i SuSE /etc/SuSE-release) -%endif -%if %{mdk} -%define _dist %(grep Mand /etc/mandrake-release) -%endif -%{?DISTNAME:%define _dist %{DISTNAME}} -Distribution: %{_dist} - -# Should we build gconsole, possible only if gtk= >= 2.4 available. -# leaving all the BuildRequires and Requires in place below for now. -# su10, fc3 and fc4 now nobuild, tray monitor fails to build as of 2.2.1 -# release as it needs 2.10 - -%define gconsole 1 -%if %{rh7} || %{rh8} || %{rh9} || %{wb3} || %{fc1} || %{fc3} || %{fc4} || %{su9} || %{su10} -%define gconsole 0 -%endif -%if %{mdk} && ! %{mdv} -%define gconsole 0 -%endif - -# specifically disallow gconsole if desired -%{?nobuild_gconsole:%define gconsole 0} - -# specifically disallow rescue files -%define rescue 0 -%{?build_rescue:%define rescue 1} - -# Should we build wxconsole, only wxWidgets >=2.6 is supported -# SuSE 10 and FC4 and newer -%define wxconsole 0 -%{?build_wxconsole:%define wxconsole 1} - -# Should we build bat -# requires >= Qt-4.2 -%define bat 0 -%{?build_bat:%define bat 1} - -# should we turn on python support -%define python 0 -%{?build_python:%define python 1} - -# specifically disallow build of mtx package if desired -%define mtx 1 -%{?nobuild_mtx:%define mtx 0} - -# do we need to patch for old postgresql version? -%define old_pgsql 0 -%{?build_old_pgsql:%define old_pgsql 1} - -# Mandriva somehow forces the manpage file extension to bz2 rather than gz -%if %{mdk} -%define manpage_ext bz2 -%else -%define manpage_ext gz -%endif - -# for client only build -%if %{client_only} -%define mysql 0 -%define mysql4 0 -%define mysql5 0 -%define postgresql 0 -%define sqlite 0 -%define gconsole 0 -%define wxconsole 0 -%endif - -%{expand: %%define gccver %(rpm -q --queryformat %%{version} gcc)} -%{expand: %%define gccrel %(rpm -q --queryformat %%{release} gcc)} - -BuildRequires: gcc, gcc-c++, make, autoconf -BuildRequires: ncurses-devel, perl -BuildRequires: libstdc++-devel = %{gccver}-%{gccrel}, zlib-devel -BuildRequires: openssl-devel -%if ! %{rh7} -BuildRequires: libxml2-devel -%endif -%if %{python} -BuildRequires: python, python-devel -%{expand: %%define pyver %(python -c 'import sys;print(sys.version[0:3])')} -%endif -%if %{gconsole} -BuildRequires: pkgconfig, pango-devel, atk-devel -%endif -%if %{bat} -BuildRequires: pkgconfig -%endif - -# Rh qt4 packages don't have a provide for, guess what, qt! -# still broken in fc8, ok in fc9 -# so fix for broken rh -%define broken_rh 0 -%if %{rhel5} || %{centos5} || %{sl5} || %{fc5} || %{fc6} || %{fc7} || %{fc8} -%define broken_rh 1 -%endif -%if %{bat} && ! %{broken_rh} -BuildRequires: qt-devel >= 4.2 -%endif -%if %{bat} && %{broken_rh} -BuildRequires: qt4-devel >= 4.2 -%endif - -%if %{rh7} -BuildRequires: libtermcap-devel -BuildRequires: glibc-devel >= 2.2 -BuildRequires: libxml-devel -%endif -%if %{su9} -BuildRequires: termcap -BuildRequires: glibc-devel >= 2.3 -%endif -%if %{su9} && %{gconsole} -BuildRequires: libgnome >= 2.0 -BuildRequires: gtk2-devel >= 2.0 -BuildRequires: libgnomeui-devel >= 2.0 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.0 -BuildRequires: libbonobo-devel >= 2.0 -BuildRequires: libbonoboui-devel >= 2.0 -BuildRequires: bonobo-activation-devel -BuildRequires: gconf2-devel -BuildRequires: linc-devel -BuildRequires: freetype2-devel -%endif -%if %{su10} -BuildRequires: termcap -BuildRequires: glibc-devel >= 2.3 -%endif -%if %{su10} && %{gconsole} -BuildRequires: libgnome >= 2.12 -BuildRequires: gtk2-devel >= 2.8 -BuildRequires: libgnomeui-devel >= 2.12 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.3 -BuildRequires: libbonobo-devel >= 2.10 -BuildRequires: libbonoboui-devel >= 2.10 -BuildRequires: bonobo-activation-devel -BuildRequires: gconf2-devel -BuildRequires: freetype2-devel -BuildRequires: cairo-devel -BuildRequires: fontconfig-devel >= 2.3 -BuildRequires: gnome-vfs2-devel >= 2.12 -BuildRequires: libpng-devel -%endif -%if %{su102} -BuildRequires: termcap -BuildRequires: glibc-devel >= 2.5 -%endif -%if %{su102} && %{gconsole} -BuildRequires: libgnome >= 2.16 -BuildRequires: gtk2-devel >= 2.10 -BuildRequires: libgnomeui-devel >= 2.16 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.3 -BuildRequires: libbonobo-devel >= 2.16 -BuildRequires: libbonoboui-devel >= 2.16 -BuildRequires: bonobo-activation-devel -BuildRequires: gconf2-devel -BuildRequires: freetype2-devel -BuildRequires: cairo-devel -BuildRequires: fontconfig-devel >= 2.4 -BuildRequires: gnome-vfs2-devel >= 2.16 -BuildRequires: libpng-devel -%endif -%if %{su103} -BuildRequires: termcap -BuildRequires: glibc-devel >= 2.6 -%endif -%if %{su103} && %{gconsole} -BuildRequires: libgnome >= 2.20 -BuildRequires: gtk2-devel >= 2.12 -BuildRequires: libgnomeui-devel >= 2.20 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.3 -BuildRequires: libbonobo-devel >= 2.20 -BuildRequires: libbonoboui-devel >= 2.20 -BuildRequires: bonobo-activation-devel -BuildRequires: gconf2-devel -BuildRequires: freetype2-devel -BuildRequires: cairo-devel -BuildRequires: fontconfig-devel >= 2.4 -BuildRequires: gnome-vfs2-devel >= 2.20 -BuildRequires: libpng-devel -%endif -%if %{su110} -BuildRequires: termcap -BuildRequires: glibc-devel >= 2.8 -%endif -%if %{su110} && %{gconsole} -BuildRequires: libgnome >= 2.22 -BuildRequires: gtk2-devel >= 2.12 -BuildRequires: libgnomeui-devel >= 2.22 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.3 -BuildRequires: libbonobo-devel >= 2.22 -BuildRequires: libbonoboui-devel >= 2.22 -BuildRequires: bonobo-activation-devel -BuildRequires: gconf2-devel -BuildRequires: freetype2-devel -BuildRequires: cairo-devel -BuildRequires: fontconfig-devel >= 2.4 -BuildRequires: gnome-vfs2-devel >= 2.22 -BuildRequires: libpng-devel -%endif -%if %{su111} -BuildRequires: termcap -BuildRequires: glibc-devel >= 2.9 -%endif -%if %{su111} && %{gconsole} -BuildRequires: libgnome >= 2.24 -BuildRequires: gtk2-devel >= 2.14 -BuildRequires: libgnomeui-devel >= 2.24 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.3 -BuildRequires: libbonobo-devel >= 2.24 -BuildRequires: libbonoboui-devel >= 2.24 -BuildRequires: bonobo-activation-devel -BuildRequires: gconf2-devel -BuildRequires: freetype2-devel -BuildRequires: cairo-devel -BuildRequires: fontconfig-devel >= 2.6 -BuildRequires: gnome-vfs2-devel >= 2.24 -BuildRequires: libpng-devel -%endif -%if %{mdk} -BuildRequires: libtermcap-devel -BuildRequires: libstdc++-static-devel -BuildRequires: glibc-static-devel -BuildRequires: glibc-devel >= 2.3 -%endif -%if %{mdk} && !%{mdv} && %{gconsole} -BuildRequires: gtk2-devel >= 2.0 -BuildRequires: libgnomeui2-devel >= 2.0 -BuildRequires: libORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.0 -BuildRequires: libbonobo2_0-devel -BuildRequires: libbonoboui2_0-devel -BuildRequires: libbonobo-activation-devel -BuildRequires: libGConf2-devel -BuildRequires: freetype2-devel -%endif -%if %{mdv} && %{gconsole} -BuildRequires: gtk2-devel >= 2.8 -BuildRequires: libgnomeui2-devel >= 2.10 -BuildRequires: libORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.3 -BuildRequires: libbonobo2_0-devel -BuildRequires: libbonoboui2_0-devel -BuildRequires: libbonobo-activation-devel -BuildRequires: libGConf2-devel -BuildRequires: freetype2-devel -%endif -%if %{fc3} -BuildRequires: libtermcap-devel -BuildRequires: glibc-devel >= 2.3 -%endif -%if %{fc3} && %{gconsole} -BuildRequires: gtk2-devel >= 2.4 -BuildRequires: libgnomeui-devel >= 2.8 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.3 -BuildRequires: libbonobo-devel >= 2.8 -BuildRequires: libbonoboui-devel >= 2.8 -BuildRequires: bonobo-activation-devel -BuildRequires: GConf2-devel -BuildRequires: freetype-devel -%endif -%if %{fc4} -BuildRequires: libtermcap-devel -BuildRequires: glibc-devel >= 2.3 -%endif -%if %{fc4} && %{gconsole} -BuildRequires: gtk2-devel >= 2.6 -BuildRequires: libgnomeui-devel >= 2.10 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.3 -BuildRequires: libbonobo-devel >= 2.8 -BuildRequires: libbonoboui-devel >= 2.8 -BuildRequires: bonobo-activation-devel -BuildRequires: GConf2-devel -BuildRequires: freetype-devel -%endif -%if %{fc5} -BuildRequires: libtermcap-devel -BuildRequires: glibc-devel >= 2.4 -%endif -%if %{fc5} && %{gconsole} -BuildRequires: gtk2-devel >= 2.8 -BuildRequires: libgnomeui-devel >= 2.14 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.3 -BuildRequires: libbonobo-devel >= 2.14 -BuildRequires: libbonoboui-devel >= 2.14 -BuildRequires: GConf2-devel -BuildRequires: freetype-devel -%endif -%if %{fc6} -BuildRequires: libtermcap-devel -BuildRequires: glibc-devel >= 2.5 -%endif -%if %{fc6} && %{gconsole} -BuildRequires: gtk2-devel >= 2.10 -BuildRequires: libgnomeui-devel >= 2.16 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.3 -BuildRequires: libbonobo-devel >= 2.16 -BuildRequires: libbonoboui-devel >= 2.16 -BuildRequires: GConf2-devel -BuildRequires: freetype-devel -%endif -%if %{fc7} -BuildRequires: libtermcap-devel -BuildRequires: glibc-devel >= 2.5 -%endif -%if %{fc7} && %{gconsole} -BuildRequires: gtk2-devel >= 2.10 -BuildRequires: libgnomeui-devel >= 2.18 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.3 -BuildRequires: libbonobo-devel >= 2.18 -BuildRequires: libbonoboui-devel >= 2.18 -BuildRequires: GConf2-devel -BuildRequires: freetype-devel -%endif -%if %{fc8} -BuildRequires: libtermcap-devel -BuildRequires: glibc-devel >= 2.7 -%endif -%if %{fc8} && %{gconsole} -BuildRequires: gtk2-devel >= 2.12 -BuildRequires: libgnomeui-devel >= 2.20 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.3 -BuildRequires: libbonobo-devel >= 2.20 -BuildRequires: libbonoboui-devel >= 2.20 -BuildRequires: GConf2-devel -BuildRequires: freetype-devel -%endif -%if %{fc9} -BuildRequires: glibc-devel >= 2.8 -BuildRequires: zlib-static -%endif -%if %{fc9} && %{gconsole} -BuildRequires: gtk2-devel >= 2.12 -BuildRequires: libgnomeui-devel >= 2.22 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.3 -BuildRequires: libbonobo-devel >= 2.22 -BuildRequires: libbonoboui-devel >= 2.22 -BuildRequires: GConf2-devel -BuildRequires: freetype-devel -%endif -%if !%{rh7} && !%{su9} && !%{su10} && !%{su102} && !%{su103} && !%{su110} && !%{su111} && !%{mdk} && !%{fc3} && !%{fc4} && !%{fc5} && !%{fc6} && !%{fc7} && !%{fc8} && !%{fc9} -BuildRequires: libtermcap-devel -BuildRequires: glibc-devel >= 2.3 -%endif -%if !%{rh7} && !%{su9} && !%{su10} && !%{su102} && !%{su103} && !%{su110} && !%{su111} && !%{mdk} && !%{fc3} && !%{fc4} && !%{fc5} && !%{fc6} && !%{fc7} && !%{fc8} && !%{fc9} && %{gconsole} -BuildRequires: gtk2-devel >= 2.0 -BuildRequires: libgnomeui-devel >= 2.0 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.0 -BuildRequires: libbonobo-devel >= 2.0 -BuildRequires: libbonoboui-devel >= 2.0 -BuildRequires: bonobo-activation-devel -BuildRequires: GConf2-devel -BuildRequires: linc-devel -BuildRequires: freetype-devel -%endif - -%if %{mysql} && ! %{mysql4} && ! %{mysql5} -BuildRequires: mysql-devel >= 3.23 -%endif - -%if %{mysql} && %{mysql4} -BuildRequires: mysql-devel >= 4.0 -%endif - -%if %{mysql} && %{mysql5} -BuildRequires: mysql-devel >= 5.0 -%endif - -%if %{postgresql} && %{wb3} -BuildRequires: rh-postgresql-devel >= 7 -%endif - -%if %{postgresql} && ! %{wb3} -BuildRequires: postgresql-devel >= 7 -%endif - -%if %{wxconsole} -BuildRequires: wxGTK-devel >= 2.6 -%endif - -%description -%{blurb} - -%{blurb2} -%{blurb3} -%{blurb4} -%{blurb5} -%{blurb6} -%{blurb7} -%{blurb8} - -%if %{mysql} -%package mysql -%endif -%if %{sqlite} -%package sqlite -%endif -%if %{postgresql} -%package postgresql -%endif - -Summary: Bacula - The Network Backup Solution -Group: System Environment/Daemons -Provides: bacula-dir, bacula-sd, bacula-fd, bacula-server -Conflicts: bacula-client -Obsoletes: bacula-rescue - -%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111} -Conflicts: bacula -%endif - -Requires: ncurses, libstdc++, zlib, openssl, mtx - -%if %{rh7} -Requires: glibc >= 2.2 -Requires: libtermcap -%endif -%if %{su9} || %{su10} -Requires: glibc >= 2.3 -Requires: termcap -%endif -%if %{su102} -Requires: glibc >= 2.5 -Requires: termcap -%endif -%if %{su103} -Requires: glibc >= 2.6 -Requires: termcap -%endif -%if %{su110} -Requires: glibc >= 2.8 -Requires: termcap -%endif -%if %{su111} -Requires: glibc >= 2.9 -Requires: termcap -%endif -%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} && ! %{fc5} && ! %{fc6} && ! %{fc7} && ! %{fc8} && ! %{fc9} -Requires: glibc >= 2.3 -Requires: libtermcap -%endif -%if %{fc5} -Requires: glibc >= 2.4 -Requires: libtermcap -%endif -%if %{fc6} || %{fc7} -Requires: glibc >= 2.5 -Requires: libtermcap -%endif -%if %{fc8} -Requires: glibc >= 2.7 -Requires: libtermcap -%endif -%if %{fc9} -Requires: glibc >= 2.8 -%endif - -%if %{mysql} && ! %{su9} && ! %{mdk} && ! %{mysql4} && ! %{mysql5} -Requires: mysql >= 3.23 -Requires: mysql-server >= 3.23 -%endif -%if %{mysql} && ! %{su9} && ! %{su10} && ! %{mdk} && %{mysql4} -Requires: mysql >= 4.0 -Requires: mysql-server >= 4.0 -%endif -%if %{mysql} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} && ! %{mdk} && %{mysql5} -Requires: mysql >= 5.0 -Requires: mysql-server >= 5.0 -%endif - -%if %{mysql} && %{su9} && ! %{mysql4} -Requires: mysql >= 3.23 -Requires: mysql-client >= 3.23 -%endif -%if %{mysql} && %{su9} && %{mysql4} -Requires: mysql >= 4.0 -Requires: mysql-client >= 4.0 -%endif -%if %{mysql} && %{su10} && %{mysql4} -Requires: mysql >= 4.0 -Requires: mysql-client >= 4.0 -%endif -%if %{mysql} && %{su10} && %{mysql5} -Requires: mysql >= 5.0 -Requires: mysql-client >= 5.0 -%endif -%if %{mysql} && %{su102} && %{mysql5} -Requires: mysql >= 5.0 -Requires: mysql-client >= 5.0 -%endif -%if %{mysql} && %{su103} && %{mysql5} -Requires: mysql >= 5.0 -Requires: mysql-client >= 5.0 -%endif -%if %{mysql} && %{su110} && %{mysql5} -Requires: mysql >= 5.0 -Requires: mysql-client >= 5.0 -%endif -%if %{mysql} && %{su111} && %{mysql5} -Requires: mysql >= 5.0 -Requires: mysql-client >= 5.0 -%endif - -%if %{mysql} && %{mdk} && ! %{mysql4} -Requires: mysql >= 3.23 -Requires: mysql-client >= 3.23 -%endif -%if %{mysql} && %{mdk} && %{mysql4} -Requires: mysql >= 4.0 -Requires: mysql-client >= 4.0 -%endif - -%if %{postgresql} && %{wb3} -Requires: rh-postgresql >= 7 -Requires: rh-postgresql-server >= 7 -%endif -%if %{postgresql} && ! %{wb3} -Requires: postgresql >= 7 -Requires: postgresql-server >= 7 -%endif - -%if %{mysql} -%description mysql -%endif -%if %{sqlite} -%description sqlite -%endif -%if %{postgresql} -%description postgresql -%endif - -%if %{python} -Requires: python >= %{pyver} -%endif - -%{blurb} - -%{blurb2} -%{blurb3} -%{blurb4} -%{blurb5} -%{blurb6} -%{blurb7} -%{blurb8} - -%if %{mysql} -This build requires MySQL to be installed separately as the catalog database. -%endif -%if %{postgresql} -This build requires PostgreSQL to be installed separately as the catalog database. -%endif -%if %{sqlite} -This build incorporates sqlite3 as the catalog database, statically compiled. -%endif -%if %{python} -This build includes python scripting support. -%endif - -%if ! %{client_only} && %{mtx} -%package mtx -Summary: Bacula - The Network Backup Solution -Group: System Environment/Daemons -Provides: mtx - -%description mtx -This is Bacula's version of mtx tape utilities for Linux distributions that -do not provide their own mtx package -%endif - -%package client -Summary: Bacula - The Network Backup Solution -Group: System Environment/Daemons -Provides: bacula-fd -Conflicts: bacula-mysql -Conflicts: bacula-sqlite -Conflicts: bacula-postgresql -Obsoletes: bacula-rescue - -%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111} -Provides: bacula -%endif - -Requires: libstdc++, zlib, openssl - -%if %{rh7} -Requires: glibc >= 2.2 -Requires: libtermcap -%endif -%if %{su9} || %{su10} -Requires: glibc >= 2.3 -Requires: termcap -%endif -%if %{su102} -Requires: glibc >= 2.5 -Requires: termcap -%endif -%if %{su103} -Requires: glibc >= 2.6 -Requires: termcap -%endif -%if %{su110} -Requires: glibc >= 2.8 -Requires: termcap -%endif -%if %{su111} -Requires: glibc >= 2.9 -Requires: termcap -%endif -%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} && ! %{fc5} && ! %{fc6} && ! %{fc7} && ! %{fc8} && ! %{fc9} -Requires: glibc >= 2.3 -Requires: libtermcap -%endif -%if %{fc5} -Requires: glibc >= 2.4 -Requires: libtermcap -%endif -%if %{fc6} || %{fc7} -Requires: glibc >= 2.5 -Requires: libtermcap -%endif -%if %{fc8} -Requires: glibc >= 2.7 -Requires: libtermcap -%endif -%if %{fc9} -Requires: glibc >= 2.8 -%endif - -%if %{python} -Requires: python >= %{pyver} -%endif - -%description client -%{blurb} - -%{blurb2} -%{blurb3} -%{blurb4} -%{blurb5} -%{blurb6} -%{blurb7} -%{blurb8} - -This is the File daemon (Client) only package. It includes the command line -console program. -%if %{python} -This build includes python scripting support. -%endif - -%if ! %{client_only} -%package updatedb - -Summary: Bacula - The Network Backup Solution -Group: System Environment/Daemons - -%description updatedb -%{blurb} - -%{blurb2} -%{blurb3} -%{blurb4} -%{blurb5} -%{blurb6} -%{blurb7} -%{blurb8} - -This package installs scripts for updating older versions of the bacula -database. -%endif - -%if %{gconsole} -%package gconsole -Summary: Bacula - The Network Backup Solution -Group: System Environment/Daemons -Requires: atk, libstdc++, zlib, pango, libxml2, bacula-fd, openssl -%endif - -%if %{gconsole} && %{su9} -Requires: gtk2 >= 2.0 -Requires: libgnome >= 2.0 -Requires: libgnomeui >= 2.0 -Requires: glibc >= 2.3 -Requires: ORBit2 -Requires: libart_lgpl >= 2.0 -Requires: libbonobo >= 2.0 -Requires: libbonoboui >= 2.0 -Requires: bonobo-activation -Requires: gconf2 -Requires: linc -Requires: freetype2 -%endif -%if %{gconsole} && %{su10} -Requires: gtk2 >= 2.8 -Requires: libgnome >= 2.12 -Requires: libgnomeui >= 2.12 -Requires: glibc >= 2.3 -Requires: ORBit2 -Requires: libart_lgpl >= 2.3 -Requires: libbonobo >= 2.10 -Requires: libbonoboui >= 2.10 -Requires: bonobo-activation -Requires: gconf2 -Requires: freetype2 -Requires: cairo -Requires: fontconfig >= 2.3 -Requires: gnome-vfs2 >= 2.12 -Requires: libpng -%endif -%if %{gconsole} && %{su102} -Requires: gtk2 >= 2.10 -Requires: libgnome >= 2.16 -Requires: libgnomeui >= 2.16 -Requires: glibc >= 2.5 -Requires: ORBit2 -Requires: libart_lgpl >= 2.3 -Requires: libbonobo >= 2.16 -Requires: libbonoboui >= 2.16 -Requires: bonobo-activation -Requires: gconf2 -Requires: freetype2 -Requires: cairo -Requires: fontconfig >= 2.4 -Requires: gnome-vfs2 >= 2.16 -Requires: libpng -%endif -%if %{gconsole} && %{su103} -Requires: gtk2 >= 2.12 -Requires: libgnome >= 2.20 -Requires: libgnomeui >= 2.20 -Requires: glibc >= 2.6 -Requires: ORBit2 -Requires: libart_lgpl >= 2.3 -Requires: libbonobo >= 2.20 -Requires: libbonoboui >= 2.20 -Requires: bonobo-activation -Requires: gconf2 -Requires: freetype2 -Requires: cairo -Requires: fontconfig >= 2.4 -Requires: gnome-vfs2 >= 2.20 -Requires: libpng -%endif -%if %{gconsole} && %{su110} -Requires: gtk2 >= 2.12 -Requires: libgnome >= 2.22 -Requires: libgnomeui >= 2.22 -Requires: glibc >= 2.8 -Requires: ORBit2 -Requires: libart_lgpl >= 2.3 -Requires: libbonobo >= 2.22 -Requires: libbonoboui >= 2.22 -Requires: bonobo-activation -Requires: gconf2 -Requires: freetype2 -Requires: cairo -Requires: fontconfig >= 2.4 -Requires: gnome-vfs2 >= 2.22 -Requires: libpng -%endif -%if %{gconsole} && %{su111} -Requires: gtk2 >= 2.14 -Requires: libgnome >= 2.24 -Requires: libgnomeui >= 2.24 -Requires: glibc >= 2.9 -Requires: ORBit2 -Requires: libart_lgpl >= 2.3 -Requires: libbonobo >= 2.24 -Requires: libbonoboui >= 2.24 -Requires: bonobo-activation -Requires: gconf2 -Requires: freetype2 -Requires: cairo -Requires: fontconfig >= 2.6 -Requires: gnome-vfs2 >= 2.24 -Requires: libpng -%endif -%if %{gconsole} && %{mdk} && !%{mdv} -Requires: gtk2 >= 2.0 -Requires: libgnomeui2 -Requires: glibc >= 2.3 -Requires: ORBit2 -Requires: libart_lgpl >= 2.0 -Requires: libbonobo >= 2.0 -Requires: libbonoboui >= 2.0 -Requires: GConf2 -Requires: freetype2 -%endif -%if %{gconsole} && %{mdv} -Requires: gtk2 >= 2.8 -Requires: libgnomeui2 -Requires: glibc >= 2.3 -Requires: ORBit2 -Requires: libart_lgpl >= 2.3 -Requires: libbonobo >= 2.10 -Requires: libbonoboui >= 2.10 -Requires: GConf2 -Requires: freetype2 -%endif -%if %{gconsole} && %{fc3} -Requires: gtk2 >= 2.4 -Requires: libgnomeui >= 2.8 -Requires: glibc >= 2.3 -Requires: ORBit2 -Requires: libart_lgpl >= 2.3 -Requires: libbonobo >= 2.8 -Requires: libbonoboui >= 2.8 -Requires: bonobo-activation -Requires: GConf2 -Requires: freetype -%endif -%if %{gconsole} && %{fc4} -Requires: gtk2 >= 2.6 -Requires: libgnomeui >= 2.10 -Requires: glibc >= 2.3 -Requires: ORBit2 -Requires: libart_lgpl >= 2.3 -Requires: libbonobo >= 2.8 -Requires: libbonoboui >= 2.8 -Requires: bonobo-activation -Requires: GConf2 -Requires: freetype -%endif -%if %{gconsole} && %{fc5} -Requires: gtk2 >= 2.8 -Requires: libgnomeui >= 2.14 -Requires: glibc >= 2.4 -Requires: ORBit2 -Requires: libart_lgpl >= 2.3 -Requires: libbonobo >= 2.14 -Requires: libbonoboui >= 2.14 -Requires: GConf2 -Requires: freetype -%endif -%if %{gconsole} && %{fc6} -Requires: gtk2 >= 2.10 -Requires: libgnomeui >= 2.16 -Requires: glibc >= 2.5 -Requires: ORBit2 -Requires: libart_lgpl >= 2.3 -Requires: libbonobo >= 2.16 -Requires: libbonoboui >= 2.16 -Requires: GConf2 -Requires: freetype -%endif -%if %{gconsole} && %{fc7} -Requires: gtk2 >= 2.10 -Requires: libgnomeui >= 2.18 -Requires: glibc >= 2.5 -Requires: ORBit2 -Requires: libart_lgpl >= 2.3 -Requires: libbonobo >= 2.18 -Requires: libbonoboui >= 2.18 -Requires: GConf2 -Requires: freetype -%endif -%if %{gconsole} && %{fc8} -Requires: gtk2 >= 2.12 -Requires: libgnomeui >= 2.20 -Requires: glibc >= 2.7 -Requires: ORBit2 -Requires: libart_lgpl >= 2.3 -Requires: libbonobo >= 2.20 -Requires: libbonoboui >= 2.20 -Requires: GConf2 -Requires: freetype -%endif -%if %{gconsole} && %{fc9} -Requires: gtk2 >= 2.12 -Requires: libgnomeui >= 2.22 -Requires: glibc >= 2.8 -Requires: ORBit2 -Requires: libart_lgpl >= 2.3 -Requires: libbonobo >= 2.22 -Requires: libbonoboui >= 2.22 -Requires: GConf2 -Requires: freetype -%endif -%if %{gconsole} && !%{su9} && !%{su10} && !%{su102} && !%{su103} && !%{su110} && !%{su111} && !%{mdk} && !%{fc3} && !%{fc4} && !%{fc5} && !%{fc6} && !%{fc7} && !%{fc8} && !%{fc9} -Requires: gtk2 >= 2.0 -Requires: libgnomeui >= 2.0 -Requires: glibc >= 2.3 -Requires: ORBit2 -Requires: libart_lgpl >= 2.0 -Requires: libbonobo >= 2.0 -Requires: libbonoboui >= 2.0 -Requires: bonobo-activation -Requires: GConf2 -Requires: linc -Requires: freetype -%endif -%if %{gconsole} && %{su9} -Requires: xsu -%endif -%if %{gconsole} && %{su10} -Requires: xsu -%endif -%if %{gconsole} && %{su102} -Requires: xsu -%endif -%if %{gconsole} && %{su103} -Requires: xsu -%endif -%if %{gconsole} && %{su110} -Requires: xsu -%endif -%if %{gconsole} && %{su111} -Requires: xsu -%endif -%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} -Requires: usermode -%endif - -%if %{gconsole} -%description gconsole -%{blurb} - -%{blurb2} -%{blurb3} -%{blurb4} -%{blurb5} -%{blurb6} -%{blurb7} -%{blurb8} - -This is the Gnome Console package. It is an add-on to the client or -server packages. -%endif - -%if %{wxconsole} -%package wxconsole -Summary: Bacula - The Network Backup Solution -Group: System Environment/Daemons -Requires: wxGTK >= 2.6, libstdc++, openssl -%endif - -%if %{wxconsole} && %{su10} -Requires: gtk2 >= 2.8 -%endif - -%if %{wxconsole} && %{su102} -Requires: gtk2 >= 2.10 -%endif - -%if %{wxconsole} && %{su103} -Requires: gtk2 >= 2.12 -%endif - -%if %{wxconsole} && %{su110} -Requires: gtk2 >= 2.12 -%endif - -%if %{wxconsole} && %{su111} -Requires: gtk2 >= 2.14 -%endif - -%if %{wxconsole} && %{fc3} -Requires: gtk2 >= 2.4 -%endif - -%if %{wxconsole} && %{fc4} -Requires: gtk2 >= 2.6 -%endif - -%if %{wxconsole} && %{fc5} -Requires: gtk2 >= 2.8 -%endif - -%if %{wxconsole} && %{fc6} -Requires: gtk2 >= 2.10 -%endif - -%if %{wxconsole} && %{fc7} -Requires: gtk2 >= 2.10 -%endif - -%if %{wxconsole} && %{fc8} -Requires: gtk2 >= 2.12 -%endif - -%if %{wxconsole} && %{fc9} -Requires: gtk2 >= 2.12 -%endif - -%if %{wxconsole} -%description wxconsole -%{blurb} - -%{blurb2} -%{blurb3} -%{blurb4} -%{blurb5} -%{blurb6} -%{blurb7} -%{blurb8} - -This is the WXWindows Console package. It is an add-on to the client or -server packages. -%endif - -%if %{bat} -%package bat -Summary: Bacula - The Network Backup Solution -Group: System Environment/Daemons -%endif - -%if %{bat} && %{su10} -Requires: openssl -Requires: glibc >= 2.4 -Requires: fontconfig -Requires: freetype2 -Requires: libgcc -Requires: libpng -Requires: qt >= 4.2 -Requires: libstdc++ -Requires: zlib -%endif - -%if %{bat} && %{su102} -Requires: openssl -Requires: glibc >= 2.5 -Requires: fontconfig -Requires: freetype2 -Requires: libgcc -Requires: libpng -Requires: qt >= 4.2 -Requires: libstdc++ -Requires: zlib -%endif - -%if %{bat} && %{su103} -Requires: openssl -Requires: glibc >= 2.6 -Requires: fontconfig -Requires: freetype2 -Requires: libgcc -Requires: libpng -Requires: qt >= 4.2 -Requires: libstdc++ -Requires: zlib -%endif - -%if %{bat} && %{su110} -Requires: openssl -Requires: glibc >= 2.8 -Requires: fontconfig -Requires: freetype2 -Requires: libgcc -Requires: libpng -Requires: qt >= 4.2 -Requires: libstdc++ -Requires: zlib -%endif - -%if %{bat} && %{su111} -Requires: openssl -Requires: glibc >= 2.9 -Requires: fontconfig -Requires: freetype2 -Requires: libgcc -Requires: libpng -Requires: qt >= 4.2 -Requires: libstdc++ -Requires: zlib -%endif - -%if %{bat} && %{fc5} -Requires: openssl -Requires: glibc >= 2.4 -Requires: fontconfig -Requires: freetype -Requires: libgcc -Requires: libpng -Requires: qt4 >= 4.2 -Requires: libstdc++ -Requires: zlib -%endif - -%if %{bat} && %{fc6} -Requires: openssl -Requires: glibc >= 2.5 -Requires: fontconfig -Requires: freetype -Requires: libgcc -Requires: libpng -Requires: qt4 >= 4.2 -Requires: libstdc++ -Requires: zlib -%endif - -%if %{bat} && %{fc7} -Requires: openssl -Requires: glibc >= 2.5 -Requires: fontconfig -Requires: freetype -Requires: libgcc -Requires: libpng -Requires: qt4 >= 4.2 -Requires: libstdc++ -Requires: zlib -%endif - -%if %{bat} && %{fc8} -Requires: openssl -Requires: glibc >= 2.7 -Requires: fontconfig -Requires: freetype -Requires: libgcc -Requires: libpng -Requires: qt4 >= 4.2 -Requires: libstdc++ -Requires: zlib -%endif - -%if %{bat} && %{fc9} -Requires: openssl -Requires: glibc >= 2.8 -Requires: fontconfig -Requires: freetype -Requires: libgcc -Requires: libpng -Requires: qt4 >= 4.3 -Requires: libstdc++ -Requires: zlib -%endif - -%if %{bat} -%description bat -%{blurb} - -%{blurb2} -%{blurb3} -%{blurb4} -%{blurb5} -%{blurb6} -%{blurb7} -%{blurb8} - -This is the Bacula Administration Tool package. It is an add-on to -the client or server packages. -%endif - -# SuSE turns off stripping of binaries by default. In order to get -# stripped packages we must generate debug package. RedHat and Mandriva -# turn debug packages on by default but strip binaries regardless. -%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111} -%debug_package -%endif - -%prep - -%setup -%setup -T -D -b 1 -%setup -T -D -b 2 -%setup -T -D -b 3 -%setup -T -D -b 4 - -%build - -%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111} -export LDFLAGS="${LDFLAGS} -L/usr/lib/termcap" -%endif - -%if %{bat} -export QTDIR=$(pkg-config --variable=prefix QtCore) -export QTINC=$(pkg-config --variable=includedir QtCore) -export QTLIB=$(pkg-config --variable=libdir QtCore) -export PATH=${QTDIR}/bin/:${PATH} -%endif - -cwd=${PWD} -cd %{depkgs} -%if %{sqlite} -make sqlite3 -%endif -%if ! %{client_only} && %{mtx} -make mtx -%endif -%if %{bat} -make qwt -%endif -cd ${cwd} - -%if %{wb3} || %{old_pgsql} -patch -p3 src/cats/postgresql.c < %SOURCE5 -%endif - -# patches for the bundled sqlite scripts - -# patch the make_sqlite_tables script for installation bindir -#patch src/cats/make_sqlite_tables.in src/cats/make_sqlite_tables.in.patch -patch src/cats/make_sqlite3_tables.in src/cats/make_sqlite3_tables.in.patch - -# patch the create_sqlite_database script for installation bindir -#patch src/cats/create_sqlite_database.in src/cats/create_sqlite_database.in.patch -patch src/cats/create_sqlite3_database.in src/cats/create_sqlite3_database.in.patch - -# patch the make_catalog_backup script for installation bindir -patch src/cats/make_catalog_backup.in src/cats/make_catalog_backup.in.patch - -# patch the update_sqlite_tables script for installation bindir -#patch src/cats/update_sqlite_tables.in src/cats/update_sqlite_tables.in.patch -patch src/cats/update_sqlite3_tables.in src/cats/update_sqlite3_tables.in.patch - -# patch the bacula-dir init script to remove sqlite service -%if %{sqlite} && %{su9} -patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch -%endif -%if %{sqlite} && %{su10} -patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch -%endif -%if %{sqlite} && %{su102} -patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch -%endif -%if %{sqlite} && %{su103} -patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch -%endif -%if %{sqlite} && %{su110} -patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch -%endif -%if %{sqlite} && %{su111} -patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch -%endif - -# 64 bit lib location hacks -# as of 1.39.18 it should not be necessary to enable x86_64 as configure is -# reported to be fixed to properly detect lib locations. -%if %{x86_64} -export LDFLAGS="${LDFLAGS} -L/usr/lib64" -%endif -%if %{mysql} && %{x86_64} -export LDFLAGS="${LDFLAGS} -L/usr/lib64/mysql" -%endif -%if %{python} && %{x86_64} -export LDFLAGS="${LDFLAGS} -L/usr/lib64/python%{pyver}" -%endif - -# Red Hat's 64 bit installation of QT4 appears to be broken so: -%define qt_path 0 -%if %{rhel5} || %{centos5} || %{sl5} -%define qt_path 1 -%endif -%if %{bat} && %{qt_path} && %{x86_64} -export PATH=/usr/lib64/qt4/bin/:$PATH -export QTDIR=/usr/lib64/qt4/ -export QTINC=/usr/lib64/qt4/include/ -export QTLIB=/usr/lib64/qt4/ -%endif - -%if %{rescue} -%configure \ - --prefix=%{_prefix} \ - --sbindir=%{_sbindir} \ - --sysconfdir=%{sysconf_dir} \ - --with-scriptdir=%{script_dir} \ - --with-working-dir=%{working_dir} \ - --with-pid-dir=%{pid_dir} \ - --enable-smartalloc \ - --enable-client-only \ - %if %{mdk} - --disable-nls \ - %endif - --enable-static-fd - -make -%endif - -%configure \ - --prefix=%{_prefix} \ - --sbindir=%{_sbindir} \ - --sysconfdir=%{sysconf_dir} \ - --with-scriptdir=%{script_dir} \ - --with-working-dir=%{working_dir} \ - --with-pid-dir=%{pid_dir} \ - --enable-smartalloc \ -%if %{gconsole} - --enable-gnome \ -%endif -%if %{gconsole} && ! %{rh8} - --enable-tray-monitor \ -%endif -%if %{mysql} - --with-mysql \ -%endif -%if %{sqlite} - --with-sqlite3=${cwd}/%{depkgs}/sqlite3 \ -%endif -%if %{postgresql} - --with-postgresql \ -%endif -%if %{wxconsole} - --enable-bwx-console \ -%endif -%if %{bat} - --enable-bat \ - --with-qwt=${cwd}/%{depkgs}/qwt \ -%endif -%if %{python} - --with-python \ -%endif -%if %{client_only} - --enable-client-only \ -%endif -%if %{rh7} || %{rh8} || %{rh9} || %{fc1} || %{fc3} || %{wb3} - --disable-batch-insert \ -%endif - --mandir=%{_mandir} \ - --with-plugindir=%{script_dir} \ - --with-subsys-dir=%{_subsysdir} \ - --with-dir-user=%{director_daemon_user} \ - --with-dir-group=%{daemon_group} \ - --with-sd-user=%{storage_daemon_user} \ - --with-sd-group=%{storage_daemon_group} \ - --with-fd-user=%{file_daemon_user} \ - --with-fd-group=%{daemon_group} \ - --with-dir-password="XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX" \ - --with-fd-password="XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX" \ - --with-sd-password="XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX" \ - --with-mon-dir-password="XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX" \ - --with-mon-fd-password="XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX" \ - --with-mon-sd-password="XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX" \ - --with-openssl - -make - -%install - -cwd=${PWD} -[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT" -mkdir -p $RPM_BUILD_ROOT/etc/init.d -mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d -mkdir -p $RPM_BUILD_ROOT/etc/log.d/conf/logfiles -mkdir -p $RPM_BUILD_ROOT/etc/log.d/conf/services -mkdir -p $RPM_BUILD_ROOT/etc/log.d/scripts/services -mkdir -p $RPM_BUILD_ROOT%{script_dir}/updatedb - -%if %{gconsole} || %{wxconsole} || %{bat} -mkdir -p $RPM_BUILD_ROOT/usr/share/applications -mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps -%endif - -%if %{gconsole} || %{wxconsole} || %{bat} -%define usermode_iftrick 1 -%else -%define usermode_iftrick 0 -%endif - -%if %{usermode_iftrick} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} -mkdir -p $RPM_BUILD_ROOT/etc/pam.d -mkdir -p $RPM_BUILD_ROOT/etc/security/console.apps -mkdir -p $RPM_BUILD_ROOT/usr/bin -%endif - -%if %{sqlite} -mkdir -p $RPM_BUILD_ROOT%{sqlite_bindir} -%endif - -make DESTDIR=$RPM_BUILD_ROOT install - -%if ! %{client_only} && %{mtx} -cd %{depkgs} -make \ - prefix=$RPM_BUILD_ROOT%{_prefix} \ - sbindir=$RPM_BUILD_ROOT%{_sbindir} \ - sysconfdir=$RPM_BUILD_ROOT%{sysconf_dir} \ - scriptdir=$RPM_BUILD_ROOT%{script_dir} \ - working_dir=$RPM_BUILD_ROOT%{working_dir} \ - piddir=$RPM_BUILD_ROOT%{pid_dir} \ - mandir=$RPM_BUILD_ROOT%{_mandir} \ - mtx-install -cd ${cwd} -%endif - -# make install in manpages installs _everything_ shotgun style -# so now delete what we will not be packaging -%if ! %{wxconsole} -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-bwxconsole.1.%{manpage_ext} -%endif -%if ! %{bat} -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bat.1.%{manpage_ext} -%endif -%if ! %{gconsole} -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-bgnome-console.1.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-tray-monitor.1.%{manpage_ext} -%endif -%if %{client_only} -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bsmtp.1.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bacula-dir.8.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bacula-sd.8.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bcopy.8.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bextract.8.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bls.8.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bscan.8.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man8/btape.8.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man8/dbcheck.8.%{manpage_ext} -%endif - -# fixme - make installs the mysql scripts for sqlite build -%if %{sqlite} -rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql -rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql -rm -f $RPM_BUILD_ROOT%{script_dir}/grant_mysql_privileges -%endif - -# fixme - make installs the mysql scripts for postgresql build -%if %{postgresql} -rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql -rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql -%endif - -# fixme - make installs gconsole script for build without gconsole -%if ! %{gconsole} -rm -f $RPM_BUILD_ROOT%{script_dir}/gconsole -%endif - -rm -f $RPM_BUILD_ROOT%{_sbindir}/static-bacula-fd - -# install the init scripts -%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111} -cp -p platforms/suse/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir -cp -p platforms/suse/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd -cp -p platforms/suse/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd -%endif -%if %{mdk} -cp -p platforms/mandrake/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir -cp -p platforms/mandrake/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd -cp -p platforms/mandrake/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd -%endif -%if ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} && ! %{mdk} -cp -p platforms/redhat/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir -cp -p platforms/redhat/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd -cp -p platforms/redhat/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd -%endif -chmod 0754 $RPM_BUILD_ROOT/etc/init.d/* -%if %{client_only} -rm -f $RPM_BUILD_ROOT/etc/init.d/bacula-dir -rm -f $RPM_BUILD_ROOT/etc/init.d/bacula-sd -%endif - -# install the menu stuff -%if %{gconsole} && %{su9} -cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png -cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop -cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm -cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop -%endif -%if %{gconsole} && %{su10} -cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png -cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop -cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm -cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop -%endif -%if %{gconsole} && %{su102} -cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png -cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop -cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm -cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop -%endif -%if %{gconsole} && %{su103} -cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png -cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop -cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm -cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop -%endif -%if %{gconsole} && %{su110} -cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png -cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop -cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm -cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop -%endif -%if %{gconsole} && %{su111} -cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png -cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop -cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm -cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop -%endif -%if %{wxconsole} && %{su10} -cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm -cp -p scripts/wxconsole.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop -%endif -%if %{wxconsole} && %{su102} -cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm -cp -p scripts/wxconsole.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop -%endif -%if %{wxconsole} && %{su103} -cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm -cp -p scripts/wxconsole.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop -%endif -%if %{wxconsole} && %{su110} -cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm -cp -p scripts/wxconsole.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop -%endif -%if %{wxconsole} && %{su111} -cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm -cp -p scripts/wxconsole.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop -%endif -%if %{bat} && %{su102} -cp -p src/qt-console/images/bat_icon.png $RPM_BUILD_ROOT/usr/share/pixmaps/bat_icon.png -cp -p scripts/bat.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/bat.desktop -%endif -%if %{bat} && %{su103} -cp -p src/qt-console/images/bat_icon.png $RPM_BUILD_ROOT/usr/share/pixmaps/bat_icon.png -cp -p scripts/bat.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/bat.desktop -%endif -%if %{bat} && %{su110} -cp -p src/qt-console/images/bat_icon.png $RPM_BUILD_ROOT/usr/share/pixmaps/bat_icon.png -cp -p scripts/bat.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/bat.desktop -%endif -%if %{bat} && %{su111} -cp -p src/qt-console/images/bat_icon.png $RPM_BUILD_ROOT/usr/share/pixmaps/bat_icon.png -cp -p scripts/bat.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/bat.desktop -%endif -%if %{rh8} || %{rh9} || %{wb3} || %{fc1} || %{fc3} || %{fc4} || %{fc5} || %{fc6} || %{fc7} || %{fc8} || %{fc9} || %{mdk} -%define iftrick 1 -%else -%define iftrick 0 -%endif -%if %{gconsole} && %{iftrick} -cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png -cp -p scripts/bacula.desktop.gnome2.consolehelper $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop -cp -p scripts/bgnome-console.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/bgnome-console -cp -p scripts/bgnome-console.pamd $RPM_BUILD_ROOT/etc/pam.d/bgnome-console -ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/bgnome-console -%endif -%if %{gconsole} && ! %{rh8} -cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm -cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop -%endif -%if %{wxconsole} && %{iftrick} -cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm -cp -p scripts/wxconsole.desktop.consolehelper $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop -cp -p scripts/wxconsole.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/bwx-console -cp -p scripts/wxconsole.pamd $RPM_BUILD_ROOT/etc/pam.d/bwx-console -ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/bwx-console -%endif -%if %{bat} && %{iftrick} -cp -p src/qt-console/images/bat_icon.png $RPM_BUILD_ROOT/usr/share/pixmaps/bat_icon.png -cp -p scripts/bat.desktop.consolehelper $RPM_BUILD_ROOT/usr/share/applications/bat.desktop -cp -p scripts/bat.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/bat -cp -p scripts/bat.pamd $RPM_BUILD_ROOT/etc/pam.d/bat -ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/bat -%endif - -# install sqlite -%if %{sqlite} -cp -p %{depkgs}/sqlite3/sqlite3 $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite3 -cp -p %{depkgs}/sqlite3/sqlite3.h $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite3.h -cp -p %{depkgs}/sqlite3/libsqlite3.a $RPM_BUILD_ROOT%{sqlite_bindir}/libsqlite3.a -%endif - -# install the logrotate file -cp -p scripts/logrotate $RPM_BUILD_ROOT/etc/logrotate.d/bacula - -# install the updatedb scripts -cp -p updatedb/* $RPM_BUILD_ROOT%{script_dir}/updatedb/ - -# install the logwatch scripts -%if ! %{client_only} -cp -p scripts/logwatch/bacula $RPM_BUILD_ROOT/etc/log.d/scripts/services/bacula -cp -p scripts/logwatch/logfile.bacula.conf $RPM_BUILD_ROOT/etc/log.d/conf/logfiles/bacula.conf -cp -p scripts/logwatch/services.bacula.conf $RPM_BUILD_ROOT/etc/log.d/conf/services/bacula.conf -chmod 755 $RPM_BUILD_ROOT/etc/log.d/scripts/services/bacula -chmod 644 $RPM_BUILD_ROOT/etc/log.d/conf/logfiles/bacula.conf -chmod 644 $RPM_BUILD_ROOT/etc/log.d/conf/services/bacula.conf -%endif - -# install the rescue files -%if %{rescue} -mkdir $RPM_BUILD_ROOT%{script_dir}/rescue -mkdir $RPM_BUILD_ROOT%{script_dir}/rescue/freebsd -mkdir $RPM_BUILD_ROOT%{script_dir}/rescue/solaris -cp -p %{_rescuesrc}/Makefile* $RPM_BUILD_ROOT%{script_dir}/rescue/ -cp -p %{_rescuesrc}/freebsd/Makefile* $RPM_BUILD_ROOT%{script_dir}/rescue/freebsd/ -cp -p %{_rescuesrc}/solaris/Makefile* $RPM_BUILD_ROOT%{script_dir}/rescue/solaris/ -cp -p %{_rescuesrc}/README $RPM_BUILD_ROOT%{script_dir}/rescue/ -cp -p %{_rescuesrc}/configure $RPM_BUILD_ROOT%{script_dir}/rescue/ -cp -p %{_rescuesrc}/version.h $RPM_BUILD_ROOT%{script_dir}/rescue/ -cp -pr %{_rescuesrc}/linux $RPM_BUILD_ROOT%{script_dir}/rescue/ -cp -pr %{_rescuesrc}/autoconf $RPM_BUILD_ROOT%{script_dir}/rescue/ -cp -pr %{_rescuesrc}/knoppix $RPM_BUILD_ROOT%{script_dir}/rescue/ -touch $RPM_BUILD_ROOT%{script_dir}/rescue/linux/cdrom/rpm_release -cp -p src/filed/static-bacula-fd $RPM_BUILD_ROOT%{script_dir}/rescue/linux/cdrom/bacula/bin/bacula-fd -rm -f src/filed/static-bacula-fd -%endif - -# remove the docs installed by make -%if ! %{single_dir} -rm -rf $RPM_BUILD_ROOT/usr/share/doc -%endif - -# install docs for single dir installation -%if %{single_dir} -mkdir $RPM_BUILD_ROOT%{_prefix}/doc -cp COPYING $RPM_BUILD_ROOT%{_prefix}/doc/ -cp ChangeLog $RPM_BUILD_ROOT%{_prefix}/doc/ -cp ReleaseNotes $RPM_BUILD_ROOT%{_prefix}/doc/ -cp VERIFYING $RPM_BUILD_ROOT%{_prefix}/doc/ -cp LICENSE $RPM_BUILD_ROOT%{_prefix}/doc/ -cp kernstodo $RPM_BUILD_ROOT%{_prefix}/doc/ -cp -r %{_docsrc}/manuals/en/catalog/catalog $RPM_BUILD_ROOT%{_prefix}/doc/ -cp %{_docsrc}/manuals/en/catalog/catalog.pdf $RPM_BUILD_ROOT%{_prefix}/doc/ -cp -r %{_docsrc}/manuals/en/concepts/concepts $RPM_BUILD_ROOT%{_prefix}/doc/ -cp %{_docsrc}/manuals/en/concepts/concepts.pdf $RPM_BUILD_ROOT%{_prefix}/doc/ -cp -r %{_docsrc}/manuals/en/console/console $RPM_BUILD_ROOT%{_prefix}/doc/ -cp %{_docsrc}/manuals/en/console/console.pdf $RPM_BUILD_ROOT%{_prefix}/doc/ -cp -r %{_docsrc}/manuals/en/developers/developers $RPM_BUILD_ROOT%{_prefix}/doc/ -cp %{_docsrc}/manuals/en/developers/developers.pdf $RPM_BUILD_ROOT%{_prefix}/doc/ -cp -r %{_docsrc}/manuals/en/install/install $RPM_BUILD_ROOT%{_prefix}/doc/ -cp %{_docsrc}/manuals/en/install/install.pdf $RPM_BUILD_ROOT%{_prefix}/doc/ -cp -r %{_docsrc}/manuals/en/problems/problems $RPM_BUILD_ROOT%{_prefix}/doc/ -cp %{_docsrc}/manuals/en/problems/problems.pdf $RPM_BUILD_ROOT%{_prefix}/doc/ -cp -r %{_docsrc}/manuals/en/utility/utility $RPM_BUILD_ROOT%{_prefix}/doc/ -cp %{_docsrc}/manuals/en/utility/utility.pdf $RPM_BUILD_ROOT%{_prefix}/doc/ -cp ../Release_Notes-%{version}-%{release}.txt $RPM_BUILD_ROOT%{_prefix}/doc/ -%endif - -# now clean up permissions that are left broken by the install -chmod o-rwx $RPM_BUILD_ROOT%{working_dir} -%if %{gconsole} && ! %{rh8} -chmod 755 $RPM_BUILD_ROOT%{_sbindir}/bacula-tray-monitor -chmod 644 $RPM_BUILD_ROOT%{sysconf_dir}/tray-monitor.conf -%endif - -# fix me - building enable-client-only installs files not included in bacula-client package -%if %{client_only} -rm -f $RPM_BUILD_ROOT%{script_dir}/bacula -rm -f $RPM_BUILD_ROOT%{script_dir}/bacula-ctl-dir -rm -f $RPM_BUILD_ROOT%{script_dir}/bacula-ctl-sd -rm -f $RPM_BUILD_ROOT%{script_dir}/disk-changer -rm -f $RPM_BUILD_ROOT%{script_dir}/dvd-handler -rm -f $RPM_BUILD_ROOT%{script_dir}/mtx-changer -rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql -rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql -rm -rf $RPM_BUILD_ROOT%{script_dir}/updatedb -rm -f $RPM_BUILD_ROOT%{script_dir}/bconsole -rm -f $RPM_BUILD_ROOT%{script_dir}/bpipe-fd.so -rm -f $RPM_BUILD_ROOT%{script_dir}/mtx-changer.conf -rm -f $RPM_BUILD_ROOT%{_sbindir}/bacula -%endif - -%clean -[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT" -rm -rf $RPM_BUILD_DIR/%{name}-docs-%{docs_version} -rm -rf $RPM_BUILD_DIR/%{name}-rescue-%{_rescuever} -rm -rf $RPM_BUILD_DIR/depkgs -rm -f $RPM_BUILD_DIR/Release_Notes-%{version}-%{release}.txt - -%if %{mysql} -# MySQL specific files -%files mysql -%defattr(-, root, root) -%attr(-, root, %{daemon_group}) %{script_dir}/create_mysql_database -%attr(-, root, %{daemon_group}) %{script_dir}/drop_mysql_database -%attr(-, root, %{daemon_group}) %{script_dir}/make_mysql_tables -%attr(-, root, %{daemon_group}) %{script_dir}/drop_mysql_tables -%attr(-, root, %{daemon_group}) %{script_dir}/update_mysql_tables -%attr(-, root, %{daemon_group}) %{script_dir}/grant_mysql_privileges -%attr(-, root, %{daemon_group}) %{script_dir}/startmysql -%attr(-, root, %{daemon_group}) %{script_dir}/stopmysql -%endif - -%if %{sqlite} -%files sqlite -%defattr(-,root,root) -%attr(-, root, %{daemon_group}) %{script_dir}/create_sqlite3_database -%attr(-, root, %{daemon_group}) %{script_dir}/drop_sqlite3_database -%attr(-, root, %{daemon_group}) %{script_dir}/grant_sqlite3_privileges -%attr(-, root, %{daemon_group}) %{script_dir}/make_sqlite3_tables -%attr(-, root, %{daemon_group}) %{script_dir}/drop_sqlite3_tables -%attr(-, root, %{daemon_group}) %{script_dir}/update_sqlite3_tables -%{sqlite_bindir}/libsqlite3.a -%{sqlite_bindir}/sqlite3.h -%{sqlite_bindir}/sqlite3 -%endif - -%if %{postgresql} -%files postgresql -%defattr(-,root,root) -%attr(-, root, %{daemon_group}) %{script_dir}/create_postgresql_database -%attr(-, root, %{daemon_group}) %{script_dir}/drop_postgresql_database -%attr(-, root, %{daemon_group}) %{script_dir}/make_postgresql_tables -%attr(-, root, %{daemon_group}) %{script_dir}/drop_postgresql_tables -%attr(-, root, %{daemon_group}) %{script_dir}/update_postgresql_tables -%attr(-, root, %{daemon_group}) %{script_dir}/grant_postgresql_privileges -%endif - -# The rest is DB backend independent -%if ! %{client_only} -%attr(-, root, %{daemon_group}) %dir %{script_dir} -%attr(-, root, %{daemon_group}) %{script_dir}/bacula -%attr(-, root, %{daemon_group}) %{script_dir}/bconsole -%attr(-, root, %{daemon_group}) %{script_dir}/create_bacula_database -%attr(-, root, %{daemon_group}) %{script_dir}/drop_bacula_database -%attr(-, root, %{daemon_group}) %{script_dir}/grant_bacula_privileges -%attr(-, root, %{daemon_group}) %{script_dir}/make_bacula_tables -%attr(-, root, %{daemon_group}) %{script_dir}/drop_bacula_tables -%attr(-, root, %{daemon_group}) %{script_dir}/update_bacula_tables -%attr(-, root, %{daemon_group}) %{script_dir}/make_catalog_backup -%attr(-, root, %{daemon_group}) %{script_dir}/delete_catalog_backup -%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.dbx -%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.gdb -%attr(-, root, %{daemon_group}) %{script_dir}/disk-changer -%attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-dir -%attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-fd -%attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-sd -%attr(-, root, %{daemon_group}) %{script_dir}/bpipe-fd.so -%attr(-, root, %{daemon_group}) /etc/init.d/bacula-dir -%attr(-, root, %{daemon_group}) /etc/init.d/bacula-fd -%attr(-, root, %{storage_daemon_group}) %{script_dir}/dvd-handler -%attr(-, root, %{storage_daemon_group}) /etc/init.d/bacula-sd -%attr(-, root, %{storage_daemon_group}) %{script_dir}/mtx-changer -%attr(-, root, %{storage_daemon_group}) %{script_dir}/mtx-changer.conf - -/etc/logrotate.d/bacula -/etc/log.d/scripts/services/bacula -%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-dir.conf -%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-fd.conf -%attr(-, root, %{storage_daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-sd.conf -%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bconsole.conf -%attr(-, root, %{daemon_group}) %config(noreplace) /etc/log.d/conf/logfiles/bacula.conf -%attr(-, root, %{daemon_group}) %config(noreplace) /etc/log.d/conf/services/bacula.conf -%attr(-, root, %{daemon_group}) %config(noreplace) %{script_dir}/query.sql - -%attr(-, %{storage_daemon_user}, %{daemon_group}) %dir %{working_dir} - -%{_sbindir}/bacula-dir -%{_sbindir}/bacula-fd -%{_sbindir}/bacula-sd -%{_sbindir}/bacula -%{_sbindir}/bcopy -%{_sbindir}/bextract -%{_sbindir}/bls -%{_sbindir}/bscan -%{_sbindir}/btape -%{_sbindir}/btraceback -%{_sbindir}/bconsole -%{_sbindir}/dbcheck -%{_sbindir}/bsmtp -%{_sbindir}/bregex -%{_sbindir}/bwild -%{_mandir}/man8/bacula-fd.8.%{manpage_ext} -%{_mandir}/man8/bacula-dir.8.%{manpage_ext} -%{_mandir}/man8/bacula-sd.8.%{manpage_ext} -%{_mandir}/man8/bacula.8.%{manpage_ext} -%{_mandir}/man8/bconsole.8.%{manpage_ext} -%{_mandir}/man8/bcopy.8.%{manpage_ext} -%{_mandir}/man8/bextract.8.%{manpage_ext} -%{_mandir}/man8/bls.8.%{manpage_ext} -%{_mandir}/man8/bscan.8.%{manpage_ext} -%{_mandir}/man8/btape.8.%{manpage_ext} -%{_mandir}/man8/btraceback.8.%{manpage_ext} -%{_mandir}/man8/dbcheck.8.%{manpage_ext} -%{_mandir}/man1/bsmtp.1.%{manpage_ext} -%{_libdir}/libbac* -%endif - -%if ! %{client_only} && %{rescue} -%attr(-, root, %{daemon_group}) %{script_dir}/rescue -%endif - -%if ! %{client_only} && ! %{single_dir} -%doc COPYING ChangeLog ReleaseNotes LICENSE VERIFYING kernstodo ../Release_Notes-%{version}-%{release}.txt -%doc %{_docsrc}/manuals/en/catalog/catalog %{_docsrc}/manuals/en/catalog/catalog.pdf -%doc %{_docsrc}/manuals/en/concepts/concepts %{_docsrc}/manuals/en/concepts/concepts.pdf -%doc %{_docsrc}/manuals/en/console/console %{_docsrc}/manuals/en/console/console.pdf -%doc %{_docsrc}/manuals/en/developers/developers %{_docsrc}/manuals/en/developers/developers.pdf -%doc %{_docsrc}/manuals/en/install/install %{_docsrc}/manuals/en/install/install.pdf -%doc %{_docsrc}/manuals/en/problems/problems %{_docsrc}/manuals/en/problems/problems.pdf -%doc %{_docsrc}/manuals/en/utility/utility %{_docsrc}/manuals/en/utility/utility.pdf -%endif - -%if ! %{client_only} && %{single_dir} -%{_prefix}/doc -%endif - -%if %{mysql} -%pre mysql -# test for bacula database older than version 10 -# note: this ASSUMES no password has been set for bacula database -DB_VER=`mysql 2>/dev/null bacula -e 'select * from Version;'|tail -n 1` -%endif - -%if %{sqlite} -%pre sqlite -# are we upgrading from sqlite to sqlite3? -if [ -s %{working_dir}/bacula.db ] && [ -s %{sqlite_bindir}/sqlite ];then - echo "This version of bacula-sqlite involves an upgrade to sqlite3." - echo "Your catalog database file is not compatible with sqlite3, thus" - echo "you will need to dump the data, delete the old file, and re-run" - echo "this rpm upgrade." - echo "" - echo "Backing up your current database..." - echo ".dump" | %{sqlite_bindir}/sqlite %{working_dir}/bacula.db > %{working_dir}/bacula_backup.sql - mv %{working_dir}/bacula.db %{working_dir}/bacula.db.old - echo "Your catalog data has been saved in %{working_dir}/bacula_backup.sql and your" - echo "catalog file has been renamed %{working_dir}/bacula.db.old." - echo "" - echo "Please re-run this rpm package upgrade." - echo "After the upgrade is complete, restore your catalog" - echo "with the following commands:" - echo "%{script_dir}/drop_sqlite3_tables" - echo "cd %{working_dir}" - echo "%{sqlite_bindir}/sqlite3 $* bacula.db < bacula_backup.sql" - echo "chown bacula.bacula bacula.db" - exit 1 -fi -# test for bacula database older than version 10 and sqlite3 -if [ -s %{working_dir}/bacula.db ] && [ -s %{sqlite_bindir}/sqlite3 ];then - DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite3 2>/dev/null %{working_dir}/bacula.db | tail -n 1` -%endif - -%if %{postgresql} -%pre postgresql -DB_VER=`echo 'select * from Version;' | psql bacula 2>/dev/null | tail -3 | head -1` -%endif - -%if ! %{client_only} -if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "10" ]; then - echo "This bacula upgrade will update a bacula database from version 10 to 11." - echo "You appear to be running database version $DB_VER. You must first update" - echo "your database to version 10 and then install this upgrade. The alternative" - echo "is to use %{script_dir}/drop_%{db_backend}_tables to delete all your your current" - echo "catalog information, then do the upgrade. Information on updating a" - echo "database older than version 10 can be found in the release notes." - exit 1 -fi -%endif - -%if %{sqlite} -fi -%endif - -%if ! %{client_only} -# check for and copy %{sysconf_dir}/console.conf to bconsole.conf -if [ -s %{sysconf_dir}/console.conf ];then - cp -p %{sysconf_dir}/console.conf %{sysconf_dir}/bconsole.conf -fi - -# create the daemon users and groups -# first create the groups if they don't exist -HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{groupadd} -r %{daemon_group} > /dev/null 2>&1 - echo "The group %{daemon_group} has been added to %{group_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi -HAVE_BACULA=`grep %{storage_daemon_group} %{group_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{groupadd} -r %{storage_daemon_group} > /dev/null 2>&1 - echo "The group %{storage_daemon_group} has been added to %{group_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi -# now create the users if they do not exist -# we do not use the -g option allowing the primary group to be set to system default -# this will be a unique group on redhat type systems or the group users on some systems -HAVE_BACULA=`grep %{storage_daemon_user} %{user_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{useradd} -r -c "Bacula" -d %{working_dir} -g %{storage_daemon_group} -M -s /sbin/nologin %{storage_daemon_user} > /dev/null 2>&1 - echo "The user %{storage_daemon_user} has been added to %{user_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi -HAVE_BACULA=`grep %{director_daemon_user} %{user_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{director_daemon_user} > /dev/null 2>&1 - echo "The user %{director_daemon_user} has been added to %{user_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi -HAVE_BACULA=`grep %{file_daemon_user} %{user_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{file_daemon_user} > /dev/null 2>&1 - echo "The user %{file_daemon_user} has been added to %{user_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi -# now we add the supplementary groups, this is ok to call even if the users already exist -# we only do this if the user is NOT root -IS_ROOT=%{director_daemon_user} -if [ "$IS_ROOT" != "root" ]; then -%{usermod} -G %{daemon_group} %{director_daemon_user} -fi -IS_ROOT=%{storage_daemon_user} -if [ "$IS_ROOT" != "root" ]; then -%{usermod} -G %{daemon_group},%{storage_daemon_group} %{storage_daemon_user} -fi -IS_ROOT=%{file_daemon_user} -if [ "$IS_ROOT" != "root" ]; then -%{usermod} -G %{daemon_group} %{file_daemon_user} -fi -%endif - -%if %{mysql} -%post mysql -%endif -%if %{sqlite} -%post sqlite -%endif -%if %{postgresql} -%post postgresql -%endif - -%if ! %{client_only} -# add our links -if [ "$1" -ge 1 ] ; then -/sbin/chkconfig --add bacula-dir -/sbin/chkconfig --add bacula-fd -/sbin/chkconfig --add bacula-sd -fi -%endif - -%if %{mysql} -# test for an existing database -# note: this ASSUMES no password has been set for bacula database -DB_VER=`mysql 2>/dev/null bacula -e 'select * from Version;'|tail -n 1` - -# grant privileges and create tables if they do not exist -if [ -z "$DB_VER" ]; then - echo "Hmm, doesn't look like you have an existing database." - echo "Granting privileges for MySQL user bacula..." - %{script_dir}/grant_mysql_privileges - echo "Creating MySQL bacula database..." - %{script_dir}/create_mysql_database - echo "Creating bacula tables..." - %{script_dir}/make_mysql_tables - -# check to see if we need to upgrade a 2.x database -elif [ "$DB_VER" -lt "11" ]; then - echo "This release requires an upgrade to your bacula database." - echo "Backing up your current database..." - mysqldump -f --opt bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2 - echo "Upgrading bacula database ..." - %{script_dir}/update_mysql_tables - echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2" - -fi -%endif - -%if %{sqlite} -# test for an existing database -if [ -s %{working_dir}/bacula.db ]; then - DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite3 2>/dev/null %{working_dir}/bacula.db | tail -n 1` - # check to see if we need to upgrade a 2.x database - if [ "$DB_VER" -lt "11" ] && [ "$DB_VER" -ge "10" ]; then - echo "This release requires an upgrade to your bacula database." - echo "Backing up your current database..." - echo ".dump" | %{sqlite_bindir}/sqlite3 %{working_dir}/bacula.db | bzip2 > %{working_dir}/bacula_backup.sql.bz2 - echo "Upgrading bacula database ..." - %{script_dir}/update_sqlite3_tables - echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2" - fi -else - # create the database and tables - echo "Hmm, doesn't look like you have an existing database." - echo "Creating SQLite database..." - %{script_dir}/create_sqlite3_database - echo "Creating the SQLite tables..." - %{script_dir}/make_sqlite3_tables - chown %{director_daemon_user}.%{daemon_group} %{working_dir}/bacula.db -fi -%endif - -%if %{postgresql} -# test for an existing database -# note: this ASSUMES no password has been set for bacula database -DB_VER=`echo 'select * from Version;' | psql bacula 2>/dev/null | tail -3 | head -1` - -# grant privileges and create tables if they do not exist -if [ -z "$DB_VER" ]; then - echo "Hmm, doesn't look like you have an existing database." - echo "Creating PostgreSQL bacula database..." - %{script_dir}/create_postgresql_database - echo "Creating bacula tables..." - %{script_dir}/make_postgresql_tables - echo "Granting privileges for PostgreSQL user bacula..." - %{script_dir}/grant_postgresql_privileges - -# check to see if we need to upgrade a 2.x database -elif [ "$DB_VER" -lt "11" ]; then - echo "This release requires an upgrade to your bacula database." - echo "Backing up your current database..." - pg_dump bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2 - echo "Upgrading bacula database ..." - %{script_dir}/update_postgresql_tables - echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2" - -fi -%endif - -%if ! %{client_only} -# generate passwords if needed -if [ -d %{sysconf_dir} ]; then - cd %{sysconf_dir} - for file in *.conf; do - 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 - need_password=`grep $string $file 2>/dev/null` - if [ -n "$need_password" ]; then - pass=`openssl rand -base64 33` - sed "s-$string-$pass-g" $file > $file.new - cp -f $file.new $file; rm -f $file.new - fi - done - done -fi -/sbin/ldconfig -%endif - -%if %{mysql} -%preun mysql -%endif -%if %{sqlite} -%preun sqlite -%endif -%if %{postgresql} -%preun postgresql -%endif - -%if ! %{client_only} -# delete our links -if [ $1 = 0 ]; then -/sbin/chkconfig --del bacula-dir -/sbin/chkconfig --del bacula-fd -/sbin/chkconfig --del bacula-sd -fi -%endif - -%if %{mysql} -%postun mysql -/sbin/ldconfig -%endif -%if %{sqlite} -%postun sqlite -/sbin/ldconfig -%endif -%if %{postgresql} -%postun postgresql -/sbin/ldconfig -%endif - - -%if ! %{client_only} && %{mtx} -%files mtx -%defattr(-,root,root) -%attr(-, root, %{storage_daemon_group}) %{_sbindir}/loaderinfo -%attr(-, root, %{storage_daemon_group}) %{_sbindir}/mtx -%attr(-, root, %{storage_daemon_group}) %{_sbindir}/scsitape -%attr(-, root, %{storage_daemon_group}) %{_sbindir}/tapeinfo -%attr(-, root, %{storage_daemon_group}) %{_sbindir}/scsieject -%{_mandir}/man1/loaderinfo.1.%{manpage_ext} -%{_mandir}/man1/mtx.1.%{manpage_ext} -%{_mandir}/man1/scsitape.1.%{manpage_ext} -%{_mandir}/man1/tapeinfo.1.%{manpage_ext} -%{_mandir}/man1/scsieject.1.%{manpage_ext} -%endif - -%files client -%defattr(-,root,root) -%attr(-, root, %{daemon_group}) %dir %{script_dir} -%{script_dir}/bacula-ctl-fd -/etc/init.d/bacula-fd -%if %{rescue} -%attr(-, root, %{daemon_group}) %{script_dir}/rescue -%endif - -%if ! %{single_dir} -%doc COPYING ChangeLog ReleaseNotes LICENSE VERIFYING kernstodo ../Release_Notes-%{version}-%{release}.txt -%doc %{_docsrc}/manuals/en/catalog/catalog %{_docsrc}/manuals/en/catalog/catalog.pdf -%doc %{_docsrc}/manuals/en/concepts/concepts %{_docsrc}/manuals/en/concepts/concepts.pdf -%doc %{_docsrc}/manuals/en/console/console %{_docsrc}/manuals/en/console/console.pdf -%doc %{_docsrc}/manuals/en/developers/developers %{_docsrc}/manuals/en/developers/developers.pdf -%doc %{_docsrc}/manuals/en/install/install %{_docsrc}/manuals/en/install/install.pdf -%doc %{_docsrc}/manuals/en/problems/problems %{_docsrc}/manuals/en/problems/problems.pdf -%doc %{_docsrc}/manuals/en/utility/utility %{_docsrc}/manuals/en/utility/utility.pdf -%else -%{_prefix}/doc -%endif - -/etc/logrotate.d/bacula - -%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-fd.conf -%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bconsole.conf - -%attr(-, root, %{daemon_group}) %dir %{working_dir} - -%{_sbindir}/bacula-fd -%{_sbindir}/btraceback -%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.gdb -%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.dbx -%{_sbindir}/bconsole -%{_mandir}/man8/bacula-fd.8.%{manpage_ext} -%{_mandir}/man8/bacula.8.%{manpage_ext} -%{_mandir}/man8/bconsole.8.%{manpage_ext} -%{_mandir}/man8/btraceback.8.%{manpage_ext} -%{_libdir}/libbac.* -%{_libdir}/libbaccfg.* -%{_libdir}/libbacfind.* -%{_libdir}/libbacpy.* - - -%pre client -# create the daemon group and user -HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{groupadd} -r %{daemon_group} > /dev/null 2>&1 - echo "The group %{daemon_group} has been added to %{group_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi -# we do not use the -g option allowing the primary group to be set to system default -# this will be a unique group on redhat type systems or the group users on some systems -HAVE_BACULA=`grep %{file_daemon_user} %{user_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{file_daemon_user} > /dev/null 2>&1 - echo "The user %{file_daemon_user} has been added to %{user_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi -# now we add the supplementary group, this is ok to call even if the user already exists -# we only do this if the user is NOT root -IS_ROOT=%{file_daemon_user} -if [ "$IS_ROOT" != "root" ]; then -%{usermod} -G %{daemon_group} %{file_daemon_user} -fi - -%post client -# add our link -if [ "$1" -ge 1 ] ; then -/sbin/chkconfig --add bacula-fd -fi - -# generate passwords if needed -if [ -d %{sysconf_dir} ]; then - cd %{sysconf_dir} - for file in *.conf; do - 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 - need_password=`grep $string $file 2>/dev/null` - if [ -n "$need_password" ]; then - pass=`openssl rand -base64 33` - sed "s-$string-$pass-g" $file > $file.new - cp -f $file.new $file; rm -f $file.new - fi - done - done -fi - -/sbin/ldconfig - -%preun client -# delete our link -if [ $1 = 0 ]; then -/sbin/chkconfig --del bacula-fd -fi - -%postun client -/sbin/ldconfig - -%if ! %{client_only} -%files updatedb -%defattr(-,root,%{daemon_group}) -%{script_dir}/updatedb/* - -%pre updatedb -# create the daemon group -HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{groupadd} -r %{daemon_group} > /dev/null 2>&1 - echo "The group %{daemon_group} has been added to %{group_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi - -%post updatedb -echo "The database update scripts were installed to %{script_dir}/updatedb" -%endif - -%if %{gconsole} -%files gconsole -%defattr(-,root,root) -%{_sbindir}/bgnome-console -%attr(-, root, %{daemon_group}) %dir %{script_dir} -%attr(-, root, %{daemon_group}) %{script_dir}/gconsole -%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bgnome-console.conf -/usr/share/pixmaps/bacula.png -/usr/share/applications/bacula.desktop -%{_mandir}/man1/bacula-bgnome-console.1.%{manpage_ext} -%endif - -%if %{gconsole} && ! %{rh8} -%{_sbindir}/bacula-tray-monitor -%config(noreplace) %{sysconf_dir}/tray-monitor.conf -/usr/share/pixmaps/bacula-tray-monitor.xpm -/usr/share/applications/bacula-tray-monitor.desktop -%{_mandir}/man1/bacula-tray-monitor.1.%{manpage_ext} -%endif - -%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} -# add the console helper files -%config(noreplace,missingok) /etc/pam.d/bgnome-console -%config(noreplace,missingok) /etc/security/console.apps/bgnome-console -/usr/bin/bgnome-console -%endif - -%if %{gconsole} -%pre gconsole -# create the daemon group -HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{groupadd} -r %{daemon_group} > /dev/null 2>&1 - echo "The group %{daemon_group} has been added to %{group_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi - -%post gconsole -# generate passwords if needed -if [ -d %{sysconf_dir} ]; then - cd %{sysconf_dir} - for file in *.conf; do - 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 - need_password=`grep $string $file 2>/dev/null` - if [ -n "$need_password" ]; then - pass=`openssl rand -base64 33` - sed "s-$string-$pass-g" $file > $file.new - cp -f $file.new $file; rm -f $file.new - fi - done - done -fi -%endif - -%if %{wxconsole} -%files wxconsole -%defattr(-,root,root) -%{_sbindir}/bwx-console -%attr(-, root, %{daemon_group}) %dir %{sysconf_dir} -%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bwx-console.conf -/usr/share/pixmaps/wxwin16x16.xpm -/usr/share/applications/wxconsole.desktop -%{_mandir}/man1/bacula-bwxconsole.1.%{manpage_ext} -%endif - -%if %{wxconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} -# add the console helper files -%config(noreplace,missingok) /etc/pam.d/bwx-console -%config(noreplace,missingok) /etc/security/console.apps/bwx-console -/usr/bin/bwx-console -%endif - -%if %{wxconsole} -%pre wxconsole -# create the daemon group -HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{groupadd} -r %{daemon_group} > /dev/null 2>&1 - echo "The group %{daemon_group} has been added to %{group_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi - -%post wxconsole -# generate passwords if needed -if [ -d %{sysconf_dir} ]; then - cd %{sysconf_dir} - for file in *.conf; do - 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 - need_password=`grep $string $file 2>/dev/null` - if [ -n "$need_password" ]; then - pass=`openssl rand -base64 33` - sed "s-$string-$pass-g" $file > $file.new - cp -f $file.new $file; rm -f $file.new - fi - done - done -fi -%endif - -%if %{bat} -%files bat -%defattr(-,root,root) -%{_sbindir}/bat -%attr(-, root, %{daemon_group}) %dir %{sysconf_dir} -%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bat.conf -/usr/share/pixmaps/bat_icon.png -/usr/share/applications/bat.desktop -%{_mandir}/man1/bat.1.%{manpage_ext} -%endif - -%if %{bat} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} -# add the console helper files -%config(noreplace,missingok) /etc/pam.d/bat -%config(noreplace,missingok) /etc/security/console.apps/bat -/usr/bin/bat -%endif - -%if %{bat} -%pre bat -# create the daemon group -HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{groupadd} -r %{daemon_group} > /dev/null 2>&1 - echo "The group %{daemon_group} has been added to %{group_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi - -%post bat -# generate passwords if needed -if [ -d %{sysconf_dir} ]; then - cd %{sysconf_dir} - for file in *.conf; do - 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 - need_password=`grep $string $file 2>/dev/null` - if [ -n "$need_password" ]; then - pass=`openssl rand -base64 33` - sed "s-$string-$pass-g" $file > $file.new - cp -f $file.new $file; rm -f $file.new - fi - done - done -fi -%endif - -%changelog -* Sat Jun 20 2009 D. Scott Barninger -- Fix bat install which is now handled by make and uses shared libs -* Sat May 16 2009 D. Scott Barninger -- fix libxml dependency for rh7 per Pasi Kärkkäinen -* Mon May 04 2009 D. Scott Barninger -- Fix post ldconfig problem in client only build -* Sun May 03 2009 D. Scott Barninger -- remove more files installed by client-only build not needed by client package -- remove libbacsql files from client package -* Sat May 02 2009 D. Scott Barninger -- 3.0.1 -- update for new docs configuration -* Sat Apr 25 2009 D. Scott Barninger -- add switch to pass Distribution tag -* Sun Apr 5 2009 D. Scott Barninger -- 3.0.0 release -- database update version 10 to 11 -- make now installs docs so we rm from buildroot -- add shared libs in %_libdir and other misc new files -* Wed Dec 31 2008 D. Scott Barninger -- add su111 target -* Sat Nov 08 2008 D. Scott Barninger -- set paths for QT using pkgconfig -* Sat Oct 11 2008 D. Scott Barninger -- release 2.4.3 update depkgs to 11Sep08 remove file nmshack from mtx package -* Sun Sep 07 2008 D. Scott Barninger -- adjust /opt/bacula install -- add build switch to supress rescue package -* Sun Aug 24 2008 D. Scott Barninger -- add support for install to /opt/bacula -* Sun Aug 17 2008 D. Scott Barninger -- remove libtermcap dependancy for FC9 -* Mon Aug 04 2008 D. Scott Barninger -- fix bat dependencies -* Sat Jun 28 2008 D. Scott Barninger -- add su110 target -* Sat May 24 2008 D. Scott Barninger -- add fc9 target -* Sun Mar 30 2008 D. Scott Barninger -- FHS compatibility changes -* Sat Feb 16 2008 D. Scott Barninger -- remove fix for false buffer overflow detection with glibc >= 2.7 -* Sat Feb 09 2008 D. Scott Barninger -- fix for false buffer overflow detection with glibc >= 2.7 -* Sun Jan 27 2008 D. Scott Barninger -- 2.2.8 release -- add debug package for SuSE -* Sat Jan 12 2008 D. Scott Barninger -- 2.2.8 beta release -- fix bug 1037 -- add fc8 target -* Sun Dec 30 2007 D. Scott Barninger -- fix typo on su103 client package requirements -* Fri Dec 28 2007 D. Scott Barninger -- add nobuild_mtx switch -- add patch for postgresql.c for old postgresql versions -* Sat Nov 17 2007 D. Scott Barninger -- switch to sqlite3 -* Sun Nov 11 2007 D. Scott Barninger -- add new files required by rescue makefile -* Sat Nov 10 2007 D. Scott Barninger -- add su103 build target -* Sun Nov 04 2007 D. Scott Barninger -- fix dist defines for rhel5 and clones -- fix rhel broken 64 bit QT4 paths -- rh qt4 packages don't provide qt so fix that too -* Mon Oct 29 2007 D. Scott Barninger -- correct ownership when creating sqlite db file in post script -* Sun Sep 16 2007 D. Scott Barninger -- fix disable-batch-insert -* Fri Sep 14 2007 D. Scott Barninger -- 2.2.4 release -- turn off gconsole build for fc3, tray monitor fails to build -- add new files for mtx package (09Sep07 depkgs update) -* Sat Sep 08 2007 D. Scott Barninger -- add --disable-batch-insert for older platforms -- add build targets for rhel5 and clones -* Mon Sep 03 2007 D. Scott Barninger -- 2.2.1 release -- turn off gconsole build for su10 & fc4, tray monitor fails to build -* Sat Jul 14 2007 D. Scott Barninger -- 2.1.26 add make of qwt in depkgs for bat -* Sat Jun 02 2007 D. Scott Barninger -- upgrade Qt requirement for bat to 4.2 -* Sun May 06 2007 D. Scott Barninger -- add fc7 build target -* Sun Apr 29 2007 D. Scott Barninger -- 2.1.8 -- gnome-console now bgnome-console -- wxconsole now bwx-console -- add build option for bat -* Sat Apr 08 2007 D. Scott Barninger -- merge Otto Mueller's patch but keep script dir set to /etc/bacula -- add build tag for Scientific Linux per Jon Peatfield -* Tue Mar 27 2007 Otto Mueller -- adjust directory locations for FHS-compatibility - sysconf_dir (/etc/bacula), script_dir (/usr/lib/bacula), - working_dir (/var/lib/bacula) and pid_dir (/var/run) -* Mon Feb 26 2007 D. Scott Barninger -- add SuSE 10.2 target -* Sat Jan 20 2007 D. Scott Barninger -- correct bug 752 -- set query.sql as config file -- correct bug 754 -* Sun Jan 14 2007 D. Scott Barninger -- 2.0.1 release -- change determination of gcc version per patch from Marc Hennes -- move BuildRequire for atk-devel to gnome only builds -- add fc6 build tag -* Sat Jan 06 2007 D. Scott Barninger -- 2.0.0 release -* Sun Oct 15 2006 D. Scott Barninger -- 1.39.26 remove create_sqlite_database.in.patch -* Sun Sep 24 2006 D. Scott Barninger -- change ownership of working_dir on server packages to bacula.bacula so that -- bacula-sd can create bootstrap files -* Sat Sep 02 2006 D. Scott Barninger -- 1.39.22 remove separate cd and make of manpages the main Makefile does it now -* Sun Aug 06 2006 D. Scott Barninger -- fix manpages file extension for mdk -* Sat Aug 05 2006 D. Scott Barninger -- bug 648 re-enable and update sqlite patches -- 1.39.18 changes -- updatedb 9 to 10 -- install man pages -- lock out gconsole build for gtk+ < 2.4 -* Mon Jul 17 2006 D. Scott Barninger -- move pango-devel BuildRequires into gconsole only build -* Sat Jul 15 2006 D. Scott Barninger -- add provides and conflicts for standard suse packages -- add third party packager tag support -- add build_client_only tag -- remove bsmtp from client package -- add bacula-ctl-fd to client package -* Thu Jul 13 2006 D. Scott Barninger -- fix directory creation when wxconsole and not gconsole -* Tue Jul 04 2006 D. Scott Barninger -- add check to buildrequires to make sure libstdc++ version matches gcc -* Mon Jul 03 2006 D. Scott Barninger -- add python build support -- fix LDFLAGS declarations -* Sun Jul 02 2006 D. Scott Barninger -- add requires for standard compiler toolchain -- move version and release tags up -- move patches up -- add docs_version tag -* Sat Jul 01 2006 D. Scott Barninger -- update rescuever to 1.8.6 -* Sun Jun 25 2006 D. Scott Barninger -- update depkgs to 25Jun06 -- add mysql5 build tag -* Mon Jun 12 2006 D. Scott Barninger -- 1.38.10 bump rescue version -* Sun Jun 03 2006 D. Scott Barninger -- fix usermod statements -- add fc5 target -* Thu Apr 27 2006 D. Scott Barninger -- add -g param back to useradd statements Bug 605 -* Mon Apr 17 2006 D. Scott Barninger -- redundant code cleanup -* Sun Apr 16 2006 D. Scott Barninger -- add wxconsole package -* Fri Apr 14 2006 D. Scott Barninger -- 1.38.8 release -- dependency update for Mandriva -* Sun Apr 08 2006 D. Scott Barninger -- 1.38.7 release -- remove -n option from useradd scripts -* Sun Apr 02 2006 D. Scott Barninger -- 1.38.6 release -- fix problem specifying more than one primary group for user bacula -- add build switch to not build gconsole regardless of platform -* Sun Jan 29 2006 D. Scott Barninger -- add centos3 build tag -- fix link error of static-fd on Mandrake with --disable-nls -* Fri Jan 27 2006 D. Scott Barninger -- add fc4 dependencies -* Mon Jan 23 2006 D. Scott Barninger -- add SuSE 10.0 build -- remove specific permission in attrib macros -* Sat Jan 21 2006 D. Scott Barninger -- 1.38.5 release -- fix usermode required on suse, suse doesn't have usermode (xsu instead) -- refix compat for _dist on SLES9 which seems to have been removed -- added note regarding Aleksandar's use of specific permissions in attrib macros -- need to review and add specific fc4 build currently using fc3 Requires -* Wed Dec 14 2005 Aleksandar Milivojevic -- 1.38.2 release -- Reorganize files and pre/post sections to remove repetitions -- Always build separate mtx package -- Fix file ownerships for /etc/bacula and Bacula's working dir -* Wed Nov 23 2005 Aleksandar Milivojevic -- Disable GNOME on RH7 -* Fri Nov 18 2005 Aleksandar Milivojevic -- Red Hat and look alikes have mtx RPM, do not build/package our version -* Sun Nov 13 2005 D. Scott Barninger -- minor edit to _dist for SLES9 compatibility -* Sat Nov 05 2005 D. Scott Barninger -- 1.38.0 release -- kern changed location of pdf files and html manual in docs package -* Sun Oct 30 2005 D. Scott Barninger -- 1.38.0 release -- add docs (from prebuilt tarball) and rescue packages back in -- remove dvd-freespace and dvd-writepart files, add dvd-handler -- remove 3 of 4 sqlite script patches as not needed -* Sun Jul 24 2005 D. Scott Barninger -- changes for 1.38 -- remove docs and rescue sections (remove static fd) -- add dvd-freespace and dvd-writepart files -- update depkgs to 22Jun05 -- change database update to 8 to 9 -* Sun Jul 24 2005 D. Scott Barninger -- minor cleanups before 1.38 changes -- add popt and popt-devel build dependencies -- add tetex and tetex-dvips dependencies for doc build -- replace deprecated Copyright tag with License -* Sat May 07 2005 D. Scott Barninger -- move sqlite installation bindir to /usr/lib/bacula/sqlite and remove -- conflict with sqlite packages. remove readline dependency. -* Sun Apr 17 2005 D. Scott Barninger -- release 1.36.3 update docs -* Tue Apr 05 2005 D. Scott Barninger -- add centos4 build tag -- add x86_64 build tag -* Sun Apr 03 2005 D. Scott Barninger -- add rhel4 build tag -- clean up for mysql4 which is now mdk-10.1, suse-9.2 and rhel4 -* Sun Mar 06 2005 D. Scott Barninger -- add rhel3 build tag -* Tue Mar 01 2005 D. Scott Barninger -- fix tray-monitor.conf for noreplace -* Mon Feb 28 2005 D. Scott Barninger -- fix distribution check for Fedora and Whitebox -* Sun Feb 06 2005 D. Scott Barninger -- add logwatch script -- add dvd scripts -* Sat Jan 15 2005 D. Scott Barninger -- add build for Fedora Core 3 (linc now included in ORDit2) -- add mysql4 define for Mandrake 10.1 -* Fri Jan 14 2005 D. Scott Barninger -- fix {group_file} variable in post scripts -* Thu Dec 30 2004 D. Scott Barninger -- add distribution checking and custom Distribution tag -* Thu Dec 09 2004 D. Scott Barninger -- ASSIGNMENT OF COPYRIGHT -- FOR VALUE RECEIVED, D. Scott Barninger hereby sells, transfers and -- assigns unto Kern Sibbald, his successors, assigns and personal representatives, -- all right, title and interest in and to the copyright in this software RPM -- spec file. D. Scott Barninger warrants good title to said copyright, that it is -- free of all liens, encumbrances or any known claims against said copyright. -* Sat Dec 04 2004 D. Scott Barninger -- bug 183 fixes -- thanks to Daniel Widyono -- update description for rescue package to describe cdrom creation -* Thu Nov 18 2004 D. Scott Barninger -- update depkgs to 29Oct04 -* Fri Nov 12 2004 D. Scott Barninger -- add cdrom rescue to bacula-rescue package -* Sun Oct 31 2004 D. Scott Barninger -- misc fixes from 1.36.0 suse feedback -- fix situation where sqlite database exists but sqlite has been removed. -* Fri Oct 22 2004 D. Scott Barninger -- remove tray-monitor from RH8 build -- fix permissions on tray-monitor files -* Wed Oct 13 2004 D. Scott Barninger -- add Mandrake support and tray-monitor, misc changes for 1.35.8/1.36.0, -- change database update to 7 to 8 upgrade, -- revert depkgs to 08Mar04 as there seems to be a bug in the sqlite -- build in 30Jul04, add freetype dependancy to gnome package. -* Sun Sep 12 2004 D. Scott Barninger -- add documentation to console for groupadd -* Sat Sep 04 2004 D. Scott Barninger -- add support for running daemons as root.bacula -- correct for change in location of floppy rescue files in 1.35.2 -- removed /etc/bacula/fd script from all packages as it has disappeared from 1.35.2 -- updated depgkgs to 30Jul04 -* Thu Jun 24 2004 D. Scott Barninger -- really, really fix symlink creation for gconsole -* Thu Jun 17 2004 D. Scott Barninger -- fix symlink creation in gconsole post install -* Sat Jun 12 2004 D. Scott Barninger -- fixed error in gconsole post script -* Fri Apr 30 2004 D. Scott Barninger -- add check for gconsole symlink before trying to create it -* Sun Apr 11 2004 D. Scott Barninger -- fix some minor permissions issues on doc files that CVS won't let us fix -* Sun Apr 04 2004 D. Scott Barninger -- add pkgconfig to BuildRequires -- clean up gnome1/2 menu entries for appropriate packages -* Fri Apr 02 2004 D. Scott Barninger -- tightened up doc distribution -* Tue Mar 30 2004 D. Scott Barninger -- added usermode (Redhat) and xsu (SuSE) support for gnome-console; -- rpm's horrible bug that prevents nested conditional macros prevents me -- from implementing these 2 separate approaches within the conditionals which -- create the separate server packages. -- the solution adopted is to remove the gnome-console files from the server packages -- so bacula-gconsole is now an add on for both client and server packages. -- this also now allows the server packages to be install on machines without -- an X-server and we can still maintain a single spec file. -- added tests to make sure we have defined platform and database macros. -* Sat Mar 13 2004 D. Scott Barninger -- corrected mysql prerequisites for suse -* Mon Mar 1 2004 D. Scott Barninger -- replaced all cp commands with cp -p -- removed addition of a+x permissions on gnome-console -- corrected permissions on init scripts -* Sat Feb 28 2004 D. Scott Barninger -- corrected creation of sqlite_bindir in install from !mysql to sqlite -- -- various cleanup patches from Michael K. Johnson: -- corrected post install routines for nicer chkconfig -- removed chmod changes in post routines and moved to install section -- removed interactive nature of post routine for rescue package -- added description of building rescue disks to the description of rescue package -- added clean of build root to beginning of install -- removed specifying attr in all file lists -* Fri Feb 20 2004 D. Scott Barninger -- added bconsole to client package -- added gconsole package as add-on to client -- removed spurious dependancies on updatedb package (!cut/paste) -* Thu Feb 19 2004 D. Scott Barninger -- added updatedb package -* Thu Feb 12 2004 D. Scott Barninger -- added postgresql package -* Wed Feb 11 2004 D. Scott Barninger -- corrected the if else logic in the dependancy sections -- changes for 1.34 release -- /etc/bacula/console is now /etc/bacula/bconsole -- /etc/bacula/console.conf is now /etc/bacula/bconsole.conf -- /usr/sbin/btraceback.gdb is now /etc/bacula/btraceback.gdb -- /usr/sbin/smtp is now /usr/sbin/bsmtp -- added new /etc/bacula/drop_mysql_database -- added new /etc/bacula/drop_sqlite_database -- added new /etc/bacula/grant_sqlite_privileges -- added new generic bacula database scripts in /etc/bacula -- added pre-install sections to check for database versions older than 6 -- added check for /etc/bacula/console.conf and copy to bconsole.conf -* Sun Feb 08 2004 D. Scott Barninger -- added /etc/bacula/update_sqlite_tables and /etc/bacula/update_mysql_tables for 1.34 release -- added testing for existing databases before executing any of the database creation scripts -- added defines working_dir and sqlite_bindir in place of hard coded paths -* Sat Jan 31 2004 D. Scott Barninger -- added build configuration for SuSE. -- Thanks to Matt Vollmar for his input -* Sat Jan 24 2004 D. Scott Barninger -- added patch for create_sqlite_database to fix the installed bindir -- added execute of create_sqlite_database to post of sqlite package -* Sat Jan 10 2004 D. Scott Barninger -- added virtual package Provides bacula-dir, bacula-sd, bacula-fd -- added bacula-fd as Requires for rescue package -- added build tag for Fedora Core 1 -- cleaned up dependancies for all builds -* Thu Jan 1 2004 D. Scott Barninger -- removed rh_version from package names -- added platform build configuration section to beginning of file -* Tue Nov 25 2003 D. Scott Barninger -- removed make_static_bacula script from rescue package install -* Sun Nov 23 2003 D. Scott Barninger -- Added define at top of file for depkgs version -- Added rescue sub-package -- Moved requires statements into proper sub-package locations -* Mon Oct 27 2003 D. Scott Barninger -- Corrected Requires for Gnome 1.4/2.0 builds -* Fri Oct 24 2003 D. Scott Barninger -- Added separate source declaration for depkgs -- added patch for make_catalog_backup script -* Mon May 11 2003 D. Scott Barninger -- Misc changes to mysql/sqlite build and rh7/8 menu differences -- Added rh_version to sub-package names -- Added installed but missing file /etc/bacula/gconsole -- rm'd /etc/bacula/grant_mysql_privileges on sqlite builds -* Thu May 08 2003 Kern Sibbald -- Update spec for version 1.31 and combine client -* Sun Mar 30 2003 D. Scott Barninger -- Initial spec file diff --git a/bacula/platforms/redhat/bacula-bat.spec b/bacula/platforms/redhat/bacula-bat.spec deleted file mode 100644 index a407fa55ef..0000000000 --- a/bacula/platforms/redhat/bacula-bat.spec +++ /dev/null @@ -1,267 +0,0 @@ -# Bacula RPM spec file -# -# Copyright (C) 2000-2009 Free Software Foundation Europe e.V. - -# Platform Build Configuration - -# basic defines for every build -%define _release 1 -%define _version 5.0.0 -%define depkgs_qt_version 28Jul09 -%define _packager D. Scott Barninger - -%define manpage_ext gz - -%define single_dir 0 -%{?single_dir_install:%define single_dir 1} - -# Installation Directory locations -%if %{single_dir} -%define _prefix /opt/bacula -%define _sbindir /opt/bacula/bin -%define _bindir /opt/bacula/bin -%define _subsysdir /opt/bacula/working -%define sqlite_bindir /opt/bacula/sqlite -%define _mandir /usr/share/man -%define sysconf_dir /opt/bacula/etc -%define script_dir /opt/bacula/scripts -%define working_dir /opt/bacula/working -%define pid_dir /opt/bacula/working -%define plugin_dir /opt/bacula/plugins -%define lib_dir /opt/bacula/lib -%else -%define _prefix /usr -%define _sbindir %_prefix/sbin -%define _bindir %_prefix/bin -%define _subsysdir /var/lock/subsys -%define sqlite_bindir %_libdir/bacula/sqlite -%define _mandir %_prefix/share/man -%define sysconf_dir /etc/bacula -%define script_dir %_libdir/bacula -%define working_dir /var/lib/bacula -%define pid_dir /var/run -%define plugin_dir %_libdir/bacula/plugins -%define lib_dir %_libdir/bacula/lib -%endif - -# Daemon user:group Don't change them unless you know what you are doing -%define director_daemon_user bacula -%define daemon_group bacula - -#-------------------------------------------------------------------------- -# it should not be necessary to change anything below here for a release -# except for patch macros in the setup section -#-------------------------------------------------------------------------- - -%{?contrib_packager:%define _packager %{contrib_packager}} - -# determine what platform we are building on -%define fedora 0 -%define suse 0 -%define mdk 0 - -%if %{_vendor} == redhat - %define fedora 1 - %define _dist %(cat /etc/redhat-release) -%endif -%if %{_vendor} == suse - %define suse 1 - %define _dist %(grep -i SuSE /etc/SuSE-release) -%endif -%if %{_vendor} == Mandriva - %define mdk 1 - %define _dist %(grep Mand /etc/mandrake-release) -%endif -%if ! %{fedora} && ! %{suse} && ! %{mdk} -%{error: Unknown platform. Please examine the spec file.} -exit 1 -%endif - -Summary: Bacula - The Network Backup Solution -Name: bacula-bat -Version: %{_version} -Release: %{_release} -Group: System Environment/Daemons -License: GPL v2 -BuildRoot: %{_tmppath}/%{name}-root -URL: http://www.bacula.org/ -Vendor: The Bacula Team -Packager: %{_packager} -Prefix: %{_prefix} -Distribution: %{_dist} - -Source0: http://www.prdownloads.sourceforge.net/bacula/bacula-%{version}.tar.gz -Source1: http://www.prdownloads.sourceforge.net/bacula/depkgs-qt-%{depkgs_qt_version}.tar.gz - - -# Source directory locations -%define depkgs_qt ../depkgs-qt - -# define the basic package description -%define blurb Bacula - It comes by night and sucks the vital essence from your computers. -%define blurb2 Bacula is a set of computer programs that permit you (or the system -%define blurb3 administrator) to manage backup, recovery, and verification of computer -%define blurb4 data across a network of computers of different kinds. In technical terms, -%define blurb5 it is a network client/server based backup program. Bacula is relatively -%define blurb6 easy to use and efficient, while offering many advanced storage management -%define blurb7 features that make it easy to find and recover lost or damaged files. -%define blurb8 Bacula source code has been released under the GPL version 2 license. - -Summary: Bacula - The Network Backup Solution -Group: System Environment/Daemons - -%description -%{blurb} - -%{blurb2} -%{blurb3} -%{blurb4} -%{blurb5} -%{blurb6} -%{blurb7} -%{blurb8} - -This is the Bacula Administration Tool (bat) graphical user interface package. -It is an add-on to the client or server packages. - -%prep -%setup -T -n bacula-%{_version} -b 0 -%setup -T -D -n bacula-%{_version} -b 1 - -%build - - -cwd=${PWD} -#export QTDIR=$(pkg-config --variable=prefix QtCore) -#export QTINC=$(pkg-config --variable=includedir QtCore) -#export QTLIB=$(pkg-config --variable=libdir QtCore) -#export PATH=${QTDIR}/bin/:${PATH} -cd %{depkgs_qt} -make qt4 </dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{groupadd} -r %{daemon_group} > /dev/null 2>&1 - echo "The group %{daemon_group} has been added to %{group_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi - - -%post -if [ -d %{sysconf_dir} ]; then - cd %{sysconf_dir} - 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 - pass=`openssl rand -base64 33` - for file in *.conf; do - need_password=`grep ${string} $file 2>/dev/null` - if [ -n "$need_password" ]; then - sed "s@${string}@${pass}@g" $file > $file.new - cp -f $file.new $file; rm -f $file.new - fi - done - done -# put actual hostname in conf file - host=`hostname` - string="XXX_HOSTNAME_XXX" - for file in *.conf; do - need_host=`grep ${string} $file 2>/dev/null` - if [ -n "$need_host" ]; then - sed "s@${string}@${host}@g" $file >$file.new - cp -f $file.new $file; rm -f $file.new - fi - done -fi -/sbin/ldconfig - -%clean -[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT" -rm -rf $RPM_BUILD_DIR/depkgs-qt - -%changelog -* Sat Jan 30 2010 D. Scott Barninger -- fix consolehelper/xsu for suse packages -* Sat Aug 1 2009 Kern Sibbald -- Split bat into separate bacula-bat.spec diff --git a/bacula/platforms/redhat/bacula-docs.spec b/bacula/platforms/redhat/bacula-docs.spec deleted file mode 100644 index 6cdee044a7..0000000000 --- a/bacula/platforms/redhat/bacula-docs.spec +++ /dev/null @@ -1,89 +0,0 @@ -# Bacula RPM spec file -# -# Copyright (C) 2000-2009 Free Software Foundation Europe e.V. - -# Platform Build Configuration - -# basic defines for every build -%define _release 1 -%define _version 5.0.0 -%define _packager D. Scott Barninger - -%define _prefix /usr -%define _sbindir %_prefix/sbin -%define _mandir %_prefix/share/man - - -#-------------------------------------------------------------------------- -# it should not be necessary to change anything below here for a release -# except for patch macros in the setup section -#-------------------------------------------------------------------------- - -%{?contrib_packager:%define _packager %{contrib_packager}} - -Summary: Bacula - The Network Backup Solution -Name: bacula-docs -Version: %{_version} -Release: %{_release} -Group: System Environment/Daemons -License: GPL v2 -BuildRoot: %{_tmppath}/%{name}-root -URL: http://www.bacula.org/ -Vendor: The Bacula Team -Packager: %{_packager} -BuildArchitectures: noarch -Prefix: %{_prefix} -Distribution: Bacula Documentation - -Source: %{name}-%{_version}.tar.bz2 - -# Source directory locations -%define _docsrc . - -# define the basic package description -%define blurb Bacula - It comes by night and sucks the vital essence from your computers. -%define blurb2 Bacula is a set of computer programs that permit you (or the system -%define blurb3 administrator) to manage backup, recovery, and verification of computer -%define blurb4 data across a network of computers of different kinds. In technical terms, -%define blurb5 it is a network client/server based backup program. Bacula is relatively -%define blurb6 easy to use and efficient, while offering many advanced storage management -%define blurb7 features that make it easy to find and recover lost or damaged files. -%define blurb8 Bacula source code has been released under the GPL version 2 license. - -Summary: Bacula - The Network Backup Solution -Group: System Environment/Daemons - -%description -%{blurb} - -%{blurb2} -%{blurb3} -%{blurb4} -%{blurb5} -%{blurb6} -%{blurb7} -%{blurb8} - -This package installs the Bacula pdf and html documentation. - -%prep -%setup - - -%clean -[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT" -rm -rf $RPM_BUILD_DIR/%{name}-%{_version} - -%files -%doc %{_docsrc}/manuals/en/console/console %{_docsrc}/manuals/en/console/console.pdf -%doc %{_docsrc}/manuals/en/developers/developers %{_docsrc}/manuals/en/developers/developers.pdf -%doc %{_docsrc}/manuals/en/main/main %{_docsrc}/manuals/en/main/main.pdf -%doc %{_docsrc}/manuals/en/misc/misc %{_docsrc}/manuals/en/misc/misc.pdf -%doc %{_docsrc}/manuals/en/problems/problems %{_docsrc}/manuals/en/problems/problems.pdf -%doc %{_docsrc}/manuals/en/utility/utility %{_docsrc}/manuals/en/utility/utility.pdf - -%changelog -* Sat Jan 30 2010 D. Scott Barninger -- change source file to bz2, update for new doc structure -* Sat Aug 1 2009 Kern Sibbald -- Split docs into separate bacula-docs.spec diff --git a/bacula/platforms/redhat/bacula-mtx.spec b/bacula/platforms/redhat/bacula-mtx.spec deleted file mode 100644 index 5376d0f159..0000000000 --- a/bacula/platforms/redhat/bacula-mtx.spec +++ /dev/null @@ -1,119 +0,0 @@ -# Bacula RPM spec file -# -# Copyright (C) 2000-2009 Free Software Foundation Europe e.V. - -# Platform Build Configuration - -# basic defines for every build -%define _release 1 -%define _version 5.0.0 -%define depkgs_version 18Feb09 -%define _packager D. Scott Barninger - -%define manpage_ext gz - -%define single_dir 0 -%{?single_dir_install:%define single_dir 1} - -# Installation Directory locations -%define _prefix /usr -%define _sbindir %_prefix/sbin -%define _bindir %_prefix/bin -%define _subsysdir /var/lock/subsys -%define sqlite_bindir %_libdir/bacula/sqlite -%define _mandir %_prefix/share/man -%define sysconf_dir /etc/bacula -%define script_dir %_libdir/bacula -%define working_dir /var/lib/bacula -%define pid_dir /var/run -%define plugin_dir %_libdir/bacula/plugins -%define lib_dir %_libdir/bacula/lib - -#-------------------------------------------------------------------------- -# it should not be necessary to change anything below here for a release -# except for patch macros in the setup section -#-------------------------------------------------------------------------- - -%{?contrib_packager:%define _packager %{contrib_packager}} - -Summary: Bacula - The Network Backup Solution -Name: bacula-mtx -Version: %{_version} -Release: %{_release} -Group: System Environment/Daemons -License: GPL v2 -BuildRoot: %{_tmppath}/%{name}-root -URL: http://www.bacula.org/ -Vendor: The Bacula Team -Packager: %{_packager} -Prefix: %{_prefix} -Distribution: Bacula Bat - -Source: http://www.prdownloads.sourceforge.net/bacula/depkgs-%{depkgs_version}.tar.gz - -# define the basic package description -%define blurb Bacula - It comes by night and sucks the vital essence from your computers. -%define blurb2 Bacula is a set of computer programs that permit you (or the system -%define blurb3 administrator) to manage backup, recovery, and verification of computer -%define blurb4 data across a network of computers of different kinds. In technical terms, -%define blurb5 it is a network client/server based backup program. Bacula is relatively -%define blurb6 easy to use and efficient, while offering many advanced storage management -%define blurb7 features that make it easy to find and recover lost or damaged files. -%define blurb8 Bacula source code has been released under the GPL version 2 license. - -Summary: Bacula - The Network Backup Solution -Group: System Environment/Daemons - -%description -%{blurb} - -%{blurb2} -%{blurb3} -%{blurb4} -%{blurb5} -%{blurb6} -%{blurb7} -%{blurb8} - -This is Bacula's version of mtx tape utilities for Linux distributions that -do not provide their own mtx package - -%prep -%setup -T -n depkgs -b 0 - -%build - -make mtx - -%install -make \ - prefix=$RPM_BUILD_ROOT%{_prefix} \ - sbindir=$RPM_BUILD_ROOT%{_sbindir} \ - sysconfdir=$RPM_BUILD_ROOT%{sysconf_dir} \ - scriptdir=$RPM_BUILD_ROOT%{script_dir} \ - working_dir=$RPM_BUILD_ROOT%{working_dir} \ - piddir=$RPM_BUILD_ROOT%{pid_dir} \ - mandir=$RPM_BUILD_ROOT%{_mandir} \ - mtx-install - -%files -%defattr(-,root,root) -%attr(-, root, %{storage_daemon_group}) %{_sbindir}/loaderinfo -%attr(-, root, %{storage_daemon_group}) %{_sbindir}/mtx -%attr(-, root, %{storage_daemon_group}) %{_sbindir}/scsitape -%attr(-, root, %{storage_daemon_group}) %{_sbindir}/tapeinfo -%attr(-, root, %{storage_daemon_group}) %{_sbindir}/scsieject -%{_mandir}/man1/loaderinfo.1.%{manpage_ext} -%{_mandir}/man1/mtx.1.%{manpage_ext} -%{_mandir}/man1/scsitape.1.%{manpage_ext} -%{_mandir}/man1/tapeinfo.1.%{manpage_ext} -%{_mandir}/man1/scsieject.1.%{manpage_ext} - - -%clean -[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT" -rm -rf $RPM_BUILD_DIR/depkgs - -%changelog -* Sat Aug 1 2009 Kern Sibbald -- Split mtx out into bacula-mtx.spec diff --git a/bacula/platforms/redhat/bacula.spec b/bacula/platforms/redhat/bacula.spec deleted file mode 100644 index c8d63feb44..0000000000 --- a/bacula/platforms/redhat/bacula.spec +++ /dev/null @@ -1,1512 +0,0 @@ -# Bacula RPM spec file -# -# Copyright (C) 2000-2009 Free Software Foundation Europe e.V. - -# Platform Build Configuration - -# basic defines for every build -%define _release 1 -%define _version 3.0.3 -%define _packager D. Scott Barninger -%define depkgs_version 18Dec09 - -%define single_dir 0 -%{?single_dir_install:%define single_dir 1} - -# Installation Directory locations -%if %{single_dir} -%define _prefix /opt/bacula -%define _sbindir /opt/bacula/bin -%define _bindir /opt/bacula/bin -%define _subsysdir /opt/bacula/working -%define sqlite_bindir /opt/bacula/sqlite -%define _mandir /usr/share/man -%define sysconf_dir /opt/bacula/etc -%define script_dir /opt/bacula/scripts -%define working_dir /opt/bacula/working -%define pid_dir /opt/bacula/working -%define plugin_dir /opt/bacula/plugins -%define lib_dir /opt/bacula/lib -%else -%define _prefix /usr -%define _sbindir %_prefix/sbin -%define _bindir %_prefix/bin -%define _subsysdir /var/lock/subsys -%define sqlite_bindir %_libdir/bacula/sqlite -%define _mandir %_prefix/share/man -%define sysconf_dir /etc/bacula -%define script_dir %_libdir/bacula -%define working_dir /var/lib/bacula -%define pid_dir /var/run -%define plugin_dir %_libdir/bacula/plugins -%define lib_dir %_libdir/bacula/lib -%endif - -# Daemon user:group Don't change them unless you know what you are doing -%define director_daemon_user bacula -%define storage_daemon_user bacula -%define file_daemon_user root -%define daemon_group bacula -# group that has write access to tape devices, usually disk on Linux -%define storage_daemon_group disk - -%define depkgs ../depkgs - -# probems with mandriva build: -# nothing provides libbonobo2_0-devel, nothing provides libbonoboui2_0-devel - -# set Macros by opensuse_bs, see http://en.opensuse.org/Build_Service/cross_distribution_package_how_to -#openSUSE 11.1 %if 0%{?suse_version} == 1110 -#openSUSE 11.0 %if 0%{?suse_version} == 1100 -#openSUSE 10.3 %if 0%{?suse_version} == 1030 -#openSUSE 10.2 %if 0%{?suse_version} == 1020 -#SUSE Linux 10.1 %if 0%{?suse_version} == 1010 -#SUSE Linux 10.0 %if 0%{?suse_version} == 1000 -#SUSE Linux 9.3 %if 0%{?suse_version} == 930 -#SLES 9 %if 0%{?sles_version} == 9 also set: %if 0%{?suse_version} == 910 -#SLE 10 %if 0%{?sles_version} == 10 also set: %if 0%{?suse_version} == 1010 -#SLE 11 %if 0%{?sles_version} == 11 also set: %if 0%{?suse_version} == 1110 -#CentOS 5 %if 0%{?centos_version} == 501 -#RHEL 4 %if 0%{?rhel_version} == 406 -#RHEL 5 %if 0%{?rhel_version} == 501 -#Fedora 6 with Extras %if 0%{?fedora_version} == 6 -#Fedora 7 with Extras %if 0%{?fedora_version} == 7 -#Fedora 8 with Extras %if 0%{?fedora_version} == 8 -#Fedora 9 with Extras %if 0%{?fedora_version} == 9 -#Fedora 10 with Extras %if 0%{?fedora_version} == 10 -#Mandriva 2006 %if 0%{?mandriva_version} == 2006 -#Mandriva 2007 %if 0%{?mandriva_version} == 2007 -#Mandriva 2008 %if 0%{?mandriva_version} == 2008 - - -%if 0%{?opensuse_bs} -# am I running in opensuse build service? -# TODO: seems to make problems - -# choose database backend here -# postgres, mysql, sqlite -%define build_mysql 1 - -# Build Service: Determine Distribution - -%ifarch x86_64 - %define build_x86_64 1 -%endif - - -%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version} -BuildRequires: GConf2-devel -BuildRequires: freetype-devel -BuildRequires: libtermcap-devel -BuildRequires: shadow-utils -%endif - - -%if 0%{?mandriva_version} == 2007 -%define build_mdv 1 -%define _dist "Mandriva 2007" -%endif - -%if 0%{?fedora_version} == 8 -%define build_fc8 1 -%define _dist "Fedora Core 8" -BuildRequires: redhat-release -%endif - -%if 0%{?fedora_version} == 9 -%define build_fc9 1 -%define _dist "Fedora Core 9" -BuildRequires: redhat-release -%endif - - -%if 0%{?fedora_version} == 10 -%define build_fc9 1 -%define _dist "Fedora Core 10" -BuildRequires: PolicyKit-gnome -BuildRequires: fedora-release -%endif - -%if 0%{?fedora_version} == 11 -%define build_fc9 1 -%define _dist "Fedora Core 11" -BuildRequires: PolicyKit-gnome -BuildRequires: fedora-release -%endif - -%if 0%{?rhel_version} == 501 -%define build_rhel5 1 -%define _dist "Red Hat Enterprise Linux Server release 5" -BuildRequires: redhat-release -%endif - -%if 0%{?rhel_version} == 406 -%define build_rhel4 1 -%define _dist "Red Hat Enterprise Linux Server release 4" -BuildRequires: redhat-release -%endif - - -%if 0%{?centos_version} == 501 -%define build_centos5 1 -%define _dist "CentOS 5" -BuildRequires: redhat-release -%endif - - -%if 0%{?suse_version} == 1020 -%define build_su102 1 -%define _dist "OpenSUSE 10.2" -BuildRequires: suse-release -%endif - - -%if 0%{?suse_version} == 1030 -%define build_su103 1 -%define _dist "OpenSUSE 10.3" -BuildRequires: suse-release -%endif - -%if 0%{?suse_version} == 1100 -%define build_su110 1 -%define _dist "SUSE 11" -BuildRequires: suse-release -%endif - - -%if 0%{?suse_version} == 1110 -%define build_su111 1 -%define _dist "SUSE 11" -%endif - -%if 0%{?suse_version} == 1120 -%define build_su112 1 -%define _dist "SUSE 11" -%endif - - -%if 0%{?sles_version} == 9 -%define build_su9 1 -%define _dist "SLES 9" -%endif - - -%if 0%{?sles_version} == 10 -%define build_su10 1 -%define _dist "SLE 10" -%endif - - -%if 0%{?sles_version} == 11 -%define build_su111 1 -%define _dist "SLES 11" -%endif - -%endif -# opensuse-bs? - - -# any patches for this release -# be sure to check the setup section for patch macros - -#-------------------------------------------------------------------------- -# it should not be necessary to change anything below here for a release -# except for patch macros in the setup section -#-------------------------------------------------------------------------- - -%{?contrib_packager:%define _packager %{contrib_packager}} - -Summary: Bacula - The Network Backup Solution -Name: bacula -Version: %{_version} -Release: %{_release} -Group: System Environment/Daemons -License: GPL v2 -BuildRoot: %{_tmppath}/%{name}-root -URL: http://www.bacula.org/ -Vendor: The Bacula Team -Packager: %{_packager} -Prefix: %{_prefix} - -Source0: http://www.prdownloads.sourceforge.net/bacula/%{name}-%{version}.tar.gz -# opensuse build service changes the release itself -# what happens if the release is not 1? DSB -%if 0%{?opensuse_bs} -Source1: Release_Notes-%{version}-1.tar.gz -%else -Source1: Release_Notes-%{version}-%{release}.tar.gz -%endif -Source2: bacula-2.2.7-postgresql.patch -Source3: http://www.prdownloads.sourceforge.net/bacula/depkgs-%{depkgs_version}.tar.gz - -# define the basic package description -%define blurb Bacula - It comes by night and sucks the vital essence from your computers. -%define blurb2 Bacula is a set of computer programs that permit you (or the system -%define blurb3 administrator) to manage backup, recovery, and verification of computer -%define blurb4 data across a network of computers of different kinds. In technical terms, -%define blurb5 it is a network client/server based backup program. Bacula is relatively -%define blurb6 easy to use and efficient, while offering many advanced storage management -%define blurb7 features that make it easy to find and recover lost or damaged files. -%define blurb8 Bacula source code has been released under the GPL version 2 license. - -%define user_file /etc/passwd -%define group_file /etc/group - -# program locations -%define useradd /usr/sbin/useradd -%define groupadd /usr/sbin/groupadd -%define usermod /usr/sbin/usermod - -# platform defines - set one below or define the build_xxx on the command line -# RedHat builds -%define rh7 0 -%{?build_rh7:%define rh7 1} -%define rh8 0 -%{?build_rh8:%define rh8 1} -%define rh9 0 -%{?build_rh9:%define rh9 1} -# Fedora Core build -%define fc1 0 -%{?build_fc1:%define fc1 1} -%define fc3 0 -%{?build_fc3:%define fc3 1} -%define fc4 0 -%{?build_fc4:%define fc4 1} -%define fc5 0 -%{?build_fc5:%define fc5 1} -%define fc6 0 -%{?build_fc6:%define fc6 1} -%define fc7 0 -%{?build_fc7:%define fc7 1} -%define fc8 0 -%{?build_fc8:%define fc8 1} -%define fc9 0 -%{?build_fc9:%define fc9 1} -%define fc10 0 -%{?build_fc10:%define fc10 1} -# Whitebox Enterprise build -%define wb3 0 -%{?build_wb3:%define wb3 1} -# RedHat Enterprise builds -%define rhel3 0 -%{?build_rhel3:%define rhel3 1} -%{?build_rhel3:%define wb3 1} -%define rhel4 0 -%{?build_rhel4:%define rhel4 1} -%{?build_rhel4:%define fc3 1} -%define rhel5 0 -%{?build_rhel5:%define rhel5 1} -%{?build_rhel5:%define fc6 1} -# CentOS build -%define centos3 0 -%{?build_centos3:%define centos3 1} -%{?build_centos3:%define wb3 1} -%define centos4 0 -%{?build_centos4:%define centos4 1} -%{?build_centos4:%define fc3 1} -%define centos5 0 -%{?build_centos5:%define centos5 1} -%{?build_centos5:%define fc6 1} -# SL build -%define sl3 0 -%{?build_sl3:%define sl3 1} -%{?build_sl3:%define wb3 1} -%define sl4 0 -%{?build_sl4:%define sl4 1} -%{?build_sl4:%define fc3 1} -%define sl5 0 -%{?build_sl5:%define sl5 1} -%{?build_sl5:%define fc6 1} -# SuSE build -%define su9 0 -%{?build_su9:%define su9 1} -%define su10 0 -%{?build_su10:%define su10 1} -%define su102 0 -%{?build_su102:%define su102 1} -%define su103 0 -%{?build_su103:%define su103 1} -%define su110 0 -%{?build_su110:%define su110 1} -%define su111 0 -%{?build_su111:%define su111 1} -%define su112 0 -%{?build_su112:%define su112 1} -# Mandrake builds -%define mdk 0 -%{?build_mdk:%define mdk 1} -%define mdv 0 -%{?build_mdv:%define mdv 1} -%{?build_mdv:%define mdk 1} - -# client only build -%define client_only 0 -%{?build_client_only:%define client_only 1} - -# Setup some short cuts -%define rhat 0 -%if %{rh7} || %{rh8} || %{rh9} -%define rhat 1 -%endif -%define fed 0 -%if %{fc1} || %{fc3} || %{fc4} || %{fc5} || %{fc6} || %{fc7} || %{fc8} || %{fc9} || %{fc10} -%define fed 1 -%endif -%define suse 0 -%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111} || %{su112} -%define suse 1 -%endif -%define rhel 0 -%if %{rhel3} || %{rhel4} || %{rhel5} || %{centos3} || %{centos4} || %{centos5} -%define rhel 1 -%endif -%define scil 0 -%if %{sl3} || %{sl4} || %{sl5} -%define scil 1 -%endif - - -# test for a platform definition -%if !%{rhat} && !%{rhel} && !%{fed} && !%{wb3} && !%{suse} && !%{mdk} -%{error: You must specify a platform. Please examine the spec file.} -exit 1 -%endif - -# distribution-specific directory for logwatch -%if %{wb3} || %{rh7} || %{rh8} || %{rh9} || %{fc1} || %{fc3} || %{fc4} -%define logwatch_dir /etc/log.d -%else -%define logwatch_dir /etc/logwatch -%endif - -# database defines -# set for database support desired or define the build_xxx on the command line -%define mysql 0 -%{?build_mysql:%define mysql 1} -# if using mysql 4.x define this and mysql above -# currently: Mandrake 10.1, SuSE 9.x & 10.0, RHEL4 and Fedora Core 4 -%define mysql4 0 -%{?build_mysql4:%define mysql4 1} -%{?build_mysql4:%define mysql 1} -# if using mysql 5.x define this and mysql above -# currently: SuSE 10.1 and Fedora Core 5 -%define mysql5 0 -%{?build_mysql5:%define mysql5 1} -%{?build_mysql5:%define mysql 1} -%define sqlite 0 -%{?build_sqlite:%define sqlite 1} -%define postgresql 0 -%{?build_postgresql:%define postgresql 1} - -# test for a database definition -%if ! %{mysql} && ! %{sqlite} && ! %{postgresql} && ! %{client_only} -%{error: You must specify database support. Please examine the spec file.} -exit 1 -%endif - -%if %{mysql} -%define db_backend mysql -%endif -%if %{sqlite} -%define db_backend sqlite3 -%endif -%if %{postgresql} -%define db_backend postgresql -%endif - -# 64 bit support -%define x86_64 0 -%{?build_x86_64:%define x86_64 1} - -# check what distribution we are -%if %{rhat} || %{rhel} -%define _dist %(grep Red /etc/redhat-release) -%endif -%if %{fc1} || %{fc3} || %{fc4} || %{fc5} || %{fc7} || %{fc8} || %{fc9} || %{fc10} -%define _dist %(grep Fedora /etc/redhat-release) -%endif -%if %{centos5} || %{centos4} || %{centos3} -%define _dist %(grep CentOS /etc/redhat-release) -%endif -%if %{sl5} ||%{sl4} || %{sl3} -%define _dist %(grep 'Scientific Linux' /etc/redhat-release) -%endif -%if %{wb3} && ! %{rhel3} && ! %{centos3} && ! %{sl3} -%define _dist %(grep White /etc/whitebox-release) -%endif -%if %{suse} -%define _dist %(grep -i SuSE /etc/SuSE-release) -%endif -%if %{mdk} -%define _dist %(grep Mand /etc/mandrake-release) -%endif -%{?DISTNAME:%define _dist %{DISTNAME}} - -# only set Disribution if not in opensuse build service, as it sets it itself -%if ! 0%{?opensuse_bs} -%{?DISTNAME:%define _dist %{DISTNAME}} -Distribution: %{_dist} -%endif - -%if 0%{?opensuse_bs} && %{mysql} && %{suse} -# needed in opensuse_bs, as rpm is installed during build process -BuildRequires: libmysqlclient-devel -BuildRequires: mysql-client -BuildRequires: mysql -%endif -%if 0%{?opensuse_bs} && %{suse} && %{postgresql} -BuildRequires: postgresql -BuildRequires: postgresql-server -%endif -BuildRequires: openssl - -%if 0%{?opensuse_bs} && %{suse} -BuildRequires: pwdutils -BuildRequires: sysconfig -%endif - -# should we turn on python support -%define python 0 -%{?build_python:%define python 1} - -# specifically disallow build of mtx package if desired -%define mtx 0 -%{?nobuild_mtx:%define mtx 0} - -# do we need to patch for old postgresql version? -%define old_pgsql 0 -%{?build_old_pgsql:%define old_pgsql 1} - -# Mandriva somehow forces the manpage file extension to bz2 rather than gz -%if %{mdk} -%define manpage_ext bz2 -%else -%define manpage_ext gz -%endif - -# for client only build -%if %{client_only} -%define mysql 0 -%define mysql4 0 -%define mysql5 0 -%define postgresql 0 -%define sqlite 0 -%endif - -BuildRequires: gcc, gcc-c++, make, autoconf -BuildRequires: glibc, glibc-devel -BuildRequires: ncurses-devel, perl -BuildRequires: libstdc++-devel, zlib-devel -BuildRequires: openssl-devel -BuildRequires: libacl-devel -BuildRequires: pkgconfig -%if ! %{rh7} -BuildRequires: libxml2-devel -%endif -%if %{python} -BuildRequires: python, python-devel -%{expand: %%define pyver %(python -c 'import sys;print(sys.version[0:3])')} -%endif - -%if %{rh7} -BuildRequires: libtermcap-devel -BuildRequires: libxml-devel -%endif -%if %{suse} -BuildRequires: termcap -%endif -%if %{mdk} -BuildRequires: libtermcap-devel -BuildRequires: libstdc++-static-devel -BuildRequires: glibc-static-devel -%endif -%if %{fc1} || %{fc3} || %{fc4} || %{fc5} || %{fc7} || %{fc8} -BuildRequires: libtermcap-devel -%endif -%if %{sqlite} -BuildRequires: sqlite-devel -%endif - -%if %{mysql} -BuildRequires: mysql-devel -%endif - -%if %{postgresql} && %{wb3} -BuildRequires: rh-postgresql-devel >= 7 -%endif - -%if %{postgresql} && ! %{wb3} -BuildRequires: postgresql-devel >= 7 -%endif - -%description -%{blurb} - -%{blurb2} -%{blurb3} -%{blurb4} -%{blurb5} -%{blurb6} -%{blurb7} -%{blurb8} - -%if %{mysql} -%package mysql -%endif -%if %{sqlite} -%package sqlite -%endif -%if %{postgresql} -%package postgresql -%endif - -Summary: Bacula - The Network Backup Solution -Group: System Environment/Daemons -Provides: bacula-dir, bacula-sd, bacula-fd, bacula-server -Conflicts: bacula-client - -Requires: ncurses, libstdc++, zlib, openssl -Requires: glibc - -%if %{rhel} || %{rhat} || %{fed} -Requires: libtermcap -%endif -%if %{suse} -Conflicts: bacula -Requires: termcap -%endif - -%if %{mysql} -Requires: mysql - -%if %{suse} || %{mdk} -Requires: mysql-client -%else -Requires: mysql-server -%endif -%endif - -%if %{postgresql} && %{wb3} -Requires: rh-postgresql >= 7 -Requires: rh-postgresql-server >= 7 -%endif -%if %{postgresql} && ! %{wb3} -Requires: postgresql >= 7 -Requires: postgresql-server >= 7 -%endif - -%if %{mysql} -%description mysql -%endif -%if %{sqlite} -%description sqlite -%endif -%if %{postgresql} -%description postgresql -%endif - -%if %{python} -Requires: python >= %{pyver} -%endif - -%{blurb} - -%{blurb2} -%{blurb3} -%{blurb4} -%{blurb5} -%{blurb6} -%{blurb7} -%{blurb8} - -%if %{mysql} -This build requires MySQL to be installed separately as the catalog database. -%endif -%if %{postgresql} -This build requires PostgreSQL to be installed separately as the catalog database. -%endif -%if %{sqlite} -This build incorporates sqlite3 as the catalog database, statically compiled. -%endif -%if %{python} -This build includes python scripting support. -%endif - -%package client -Summary: Bacula - The Network Backup Solution -Group: System Environment/Daemons -Provides: bacula-fd -Conflicts: bacula-mysql -Conflicts: bacula-sqlite -Conflicts: bacula-postgresql - -%if %{suse} -Provides: bacula -%endif - -Requires: libstdc++, zlib, openssl -Requires: glibc - -%if %{suse} -Requires: termcap -%else -Requires: libtermcap -%endif - -%if %{python} -Requires: python >= %{pyver} -%endif - -%description client -%{blurb} - -%{blurb2} -%{blurb3} -%{blurb4} -%{blurb5} -%{blurb6} -%{blurb7} -%{blurb8} - -This is the File daemon (Client) only package. It includes the command line -console program. -%if %{python} -This build includes python scripting support. -%endif - -%if ! %{client_only} -%package updatedb - -Summary: Bacula - The Network Backup Solution -Group: System Environment/Daemons - -%description updatedb -%{blurb} - -%{blurb2} -%{blurb3} -%{blurb4} -%{blurb5} -%{blurb6} -%{blurb7} -%{blurb8} - -This package installs scripts for updating older versions of the bacula -database. -%endif - -# Must explicitly enable debug pkg on SuSE -# but not in opensuse_bs -%if %{suse} && ! 0%{?opensuse_bs} -%debug_package -%endif - -%prep -%setup -%setup -T -D -b 1 -%setup -T -D -b 3 - -%build - -%if %{suse} -export LDFLAGS="${LDFLAGS} -L/usr/lib/termcap" -%endif - -cwd=${PWD} -%if %{sqlite} -cd %{depkgs} -make sqlite3 -cd ${cwd} -%endif - -%if %{wb3} || %{old_pgsql} -patch -p3 src/cats/postgresql.c < %SOURCE2 -%endif - -# patches for the bundled sqlite scripts - -# patch the make_sqlite_tables script for installation bindir -patch src/cats/make_sqlite3_tables.in src/cats/make_sqlite3_tables.in.patch - -# patch the create_sqlite_database script for installation bindir -patch src/cats/create_sqlite3_database.in src/cats/create_sqlite3_database.in.patch - -# patch the make_catalog_backup script for installation bindir -patch src/cats/make_catalog_backup.in src/cats/make_catalog_backup.in.patch - -# patch the update_sqlite_tables script for installation bindir -patch src/cats/update_sqlite3_tables.in src/cats/update_sqlite3_tables.in.patch - -# patch the bacula-dir init script to remove sqlite service -%if %{sqlite} && %{suse} -patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch -%endif - -# 64 bit lib location hacks -# as of 1.39.18 it should not be necessary to enable x86_64 as configure is -# reported to be fixed to properly detect lib locations. -%if %{x86_64} -export LDFLAGS="${LDFLAGS} -L/usr/lib64" -%endif -%if %{mysql} && %{x86_64} -export LDFLAGS="${LDFLAGS} -L/usr/lib64/mysql" -%endif -%if %{python} && %{x86_64} -export LDFLAGS="${LDFLAGS} -L/usr/lib64/python%{pyver}" -%endif - -# Main Bacula configuration -%configure \ - --prefix=%{_prefix} \ - --sbindir=%{_sbindir} \ - --sysconfdir=%{sysconf_dir} \ - --mandir=%{_mandir} \ - --with-scriptdir=%{script_dir} \ - --with-working-dir=%{working_dir} \ - --with-plugindir=%{script_dir} \ - --with-pid-dir=%{pid_dir} \ - --with-subsys-dir=%{_subsysdir} \ - --enable-smartalloc \ - --disable-gome \ - --disable-bwx-console \ - --disable-tray-monitor \ -%if %{mysql} - --with-mysql \ -%endif -%if %{sqlite} - --with-sqlite3=${cwd}/%{depkgs}/sqlite3 \ -%endif -%if %{postgresql} - --with-postgresql \ -%endif - --disable-bat \ - --without-qwt \ -%if %{python} - --with-python \ -%endif -%if %{client_only} - --enable-client-only \ -%endif -%if %{rh7} || %{rh8} || %{rh9} || %{fc1} || %{fc3} || %{wb3} - --disable-batch-insert \ -%endif - --with-dir-user=%{director_daemon_user} \ - --with-dir-group=%{daemon_group} \ - --with-sd-user=%{storage_daemon_user} \ - --with-sd-group=%{storage_daemon_group} \ - --with-fd-user=%{file_daemon_user} \ - --with-fd-group=%{daemon_group} \ - --with-dir-password="XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX" \ - --with-fd-password="XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX" \ - --with-sd-password="XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX" \ - --with-mon-dir-password="XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX" \ - --with-mon-fd-password="XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX" \ - --with-mon-sd-password="XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX" \ - --with-openssl - -make -j3 - -%install - -cwd=${PWD} -[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT" -mkdir -p $RPM_BUILD_ROOT/etc/init.d -mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d -mkdir -p $RPM_BUILD_ROOT%{logwatch_dir}/conf/logfiles -mkdir -p $RPM_BUILD_ROOT%{logwatch_dir}/conf/services -mkdir -p $RPM_BUILD_ROOT%{logwatch_dir}/scripts/services -mkdir -p $RPM_BUILD_ROOT%{logwatch_dir}/scripts/shared -mkdir -p $RPM_BUILD_ROOT%{script_dir}/updatedb - -mkdir -p $RPM_BUILD_ROOT/etc/pam.d -mkdir -p $RPM_BUILD_ROOT%{_sbindir} - -%if %{sqlite} -mkdir -p $RPM_BUILD_ROOT%{sqlite_bindir} -%endif - -make DESTDIR=$RPM_BUILD_ROOT install - -%if %{client_only} -# Program docs not installed on client -rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bacula-dir.8.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bacula-sd.8.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bcopy.8.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bextract.8.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bls.8.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bscan.8.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man8/btape.8.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man8/dbcheck.8.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bsmtp.1.%{manpage_ext} -%endif -# Docs for programs that are depreciated -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-bgnome-console.1.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-bwxconsole.1.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-tray-monitor.1.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{script_dir}/gconsole - -# fixme - make installs the mysql scripts for sqlite build -%if %{sqlite} -rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql -rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql -rm -f $RPM_BUILD_ROOT%{script_dir}/grant_mysql_privileges -%endif - -# fixme - make installs the mysql scripts for postgresql build -%if %{postgresql} -rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql -rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql -%endif - -# install the init scripts -%if %{suse} -cp -p platforms/suse/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir -cp -p platforms/suse/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd -cp -p platforms/suse/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd -%endif -%if %{mdk} -cp -p platforms/mandrake/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir -cp -p platforms/mandrake/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd -cp -p platforms/mandrake/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd -%endif -%if ! %{suse} && ! %{mdk} -cp -p platforms/redhat/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir -cp -p platforms/redhat/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd -cp -p platforms/redhat/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd -%endif -chmod 0754 $RPM_BUILD_ROOT/etc/init.d/* -%if %{client_only} -rm -f $RPM_BUILD_ROOT/etc/init.d/bacula-dir -rm -f $RPM_BUILD_ROOT/etc/init.d/bacula-sd -%endif - -# install sqlite -%if %{sqlite} -cp -p %{depkgs}/sqlite3/sqlite3 $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite3 -cp -p %{depkgs}/sqlite3/sqlite3.h $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite3.h -cp -p %{depkgs}/sqlite3/libsqlite3.a $RPM_BUILD_ROOT%{sqlite_bindir}/libsqlite3.a -%endif - - -# install the logrotate file -cp -p scripts/logrotate $RPM_BUILD_ROOT/etc/logrotate.d/bacula - -# install the updatedb scripts -cp -p updatedb/* $RPM_BUILD_ROOT%{script_dir}/updatedb/ - -# install the logwatch scripts -%if ! %{client_only} -cp -p scripts/logwatch/bacula $RPM_BUILD_ROOT%{logwatch_dir}/scripts/services/bacula -cp -p scripts/logwatch/applybaculadate $RPM_BUILD_ROOT%{logwatch_dir}/scripts/shared/applybaculadate -cp -p scripts/logwatch/logfile.bacula.conf $RPM_BUILD_ROOT%{logwatch_dir}/conf/logfiles/bacula.conf -cp -p scripts/logwatch/services.bacula.conf $RPM_BUILD_ROOT%{logwatch_dir}/conf/services/bacula.conf -chmod 755 $RPM_BUILD_ROOT%{logwatch_dir}/scripts/services/bacula -chmod 755 $RPM_BUILD_ROOT%{logwatch_dir}/scripts/shared/applybaculadate -chmod 644 $RPM_BUILD_ROOT%{logwatch_dir}/conf/logfiles/bacula.conf -chmod 644 $RPM_BUILD_ROOT%{logwatch_dir}/conf/services/bacula.conf -%endif - -# now clean up permissions that are left broken by the install -chmod o-rwx $RPM_BUILD_ROOT%{working_dir} - -# fix me - building enable-client-only installs files not included in bacula-client package -%if %{client_only} -rm -f $RPM_BUILD_ROOT%{script_dir}/bacula -rm -f $RPM_BUILD_ROOT%{script_dir}/bacula-ctl-dir -rm -f $RPM_BUILD_ROOT%{script_dir}/bacula-ctl-sd -rm -f $RPM_BUILD_ROOT%{script_dir}/disk-changer -rm -f $RPM_BUILD_ROOT%{script_dir}/dvd-handler -rm -f $RPM_BUILD_ROOT%{script_dir}/mtx-changer -rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql -rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql -rm -rf $RPM_BUILD_ROOT%{script_dir}/updatedb -rm -f $RPM_BUILD_ROOT%{script_dir}/bconsole -rm -f $RPM_BUILD_ROOT%{script_dir}/bpipe-fd.so -rm -f $RPM_BUILD_ROOT%{script_dir}/mtx-changer.conf -rm -f $RPM_BUILD_ROOT%{_sbindir}/bacula -%endif - -%clean -[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT" -%if 0%{?opensuse_bs} -rm -f $RPM_BUILD_DIR/Release_Notes-%{version}-1.txt -%else -rm -f $RPM_BUILD_DIR/Release_Notes-%{version}-%{release}.txt -%endif - - -%if %{mysql} -# MySQL specific files -%files mysql -%defattr(-, root, root) -%attr(-, root, %{daemon_group}) %{script_dir}/create_mysql_database -%attr(-, root, %{daemon_group}) %{script_dir}/drop_mysql_database -%attr(-, root, %{daemon_group}) %{script_dir}/make_mysql_tables -%attr(-, root, %{daemon_group}) %{script_dir}/drop_mysql_tables -%attr(-, root, %{daemon_group}) %{script_dir}/update_mysql_tables -%attr(-, root, %{daemon_group}) %{script_dir}/grant_mysql_privileges -%attr(-, root, %{daemon_group}) %{script_dir}/startmysql -%attr(-, root, %{daemon_group}) %{script_dir}/stopmysql -%endif - -%if %{sqlite} -%files sqlite -%defattr(-,root,root) -%attr(-, root, %{daemon_group}) %{script_dir}/create_sqlite3_database -%attr(-, root, %{daemon_group}) %{script_dir}/drop_sqlite3_database -%attr(-, root, %{daemon_group}) %{script_dir}/grant_sqlite3_privileges -%attr(-, root, %{daemon_group}) %{script_dir}/make_sqlite3_tables -%attr(-, root, %{daemon_group}) %{script_dir}/drop_sqlite3_tables -%attr(-, root, %{daemon_group}) %{script_dir}/update_sqlite3_tables -%{sqlite_bindir}/libsqlite3.a -%{sqlite_bindir}/sqlite3.h -%{sqlite_bindir}/sqlite3 -%endif - - - -%if %{postgresql} -%files postgresql -%defattr(-,root,root) -%attr(-, root, %{daemon_group}) %{script_dir}/create_postgresql_database -%attr(-, root, %{daemon_group}) %{script_dir}/drop_postgresql_database -%attr(-, root, %{daemon_group}) %{script_dir}/make_postgresql_tables -%attr(-, root, %{daemon_group}) %{script_dir}/drop_postgresql_tables -%attr(-, root, %{daemon_group}) %{script_dir}/update_postgresql_tables -%attr(-, root, %{daemon_group}) %{script_dir}/grant_postgresql_privileges -# The rest is DB backend independent -%endif -# opensuse_bs: directories not owned by any package -%dir %attr(-, root, %{daemon_group}) %{sysconf_dir} - -%if ! %{client_only} -%attr(-, root, %{daemon_group}) %dir %{script_dir} -%attr(-, root, %{daemon_group}) %{script_dir}/bacula -%attr(-, root, %{daemon_group}) %{script_dir}/bacula_config -%attr(-, root, %{daemon_group}) %{script_dir}/bconsole -%attr(-, root, %{daemon_group}) %{script_dir}/create_bacula_database -%attr(-, root, %{daemon_group}) %{script_dir}/drop_bacula_database -%attr(-, root, %{daemon_group}) %{script_dir}/grant_bacula_privileges -%attr(-, root, %{daemon_group}) %{script_dir}/make_bacula_tables -%attr(-, root, %{daemon_group}) %{script_dir}/drop_bacula_tables -%attr(-, root, %{daemon_group}) %{script_dir}/update_bacula_tables -%attr(-, root, %{daemon_group}) %{script_dir}/make_catalog_backup -%attr(-, root, %{daemon_group}) %{script_dir}/make_catalog_backup.pl -%attr(-, root, %{daemon_group}) %{script_dir}/delete_catalog_backup -%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.dbx -%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.gdb -%attr(-, root, %{daemon_group}) %{script_dir}/disk-changer -%attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-dir -%attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-fd -%attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-sd -%attr(-, root, %{daemon_group}) %{script_dir}/bpipe-fd.so -%attr(-, root, %{daemon_group}) /etc/init.d/bacula-dir -%attr(-, root, %{daemon_group}) /etc/init.d/bacula-fd -%attr(-, root, %{daemon_group}) %{_sbindir}/dbcheck -%attr(-, root, %{storage_daemon_group}) %{script_dir}/dvd-handler -%attr(-, root, %{storage_daemon_group}) /etc/init.d/bacula-sd -%attr(-, root, %{storage_daemon_group}) %{script_dir}/mtx-changer -%attr(-, root, %{storage_daemon_group}) %{script_dir}/mtx-changer.conf - -/etc/logrotate.d/bacula -%{logwatch_dir}/scripts/services/bacula -%{logwatch_dir}/scripts/shared/applybaculadate -%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-dir.conf -%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-fd.conf -%attr(-, root, %{storage_daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-sd.conf -%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bconsole.conf -%attr(-, root, %{daemon_group}) %config(noreplace) %{logwatch_dir}/conf/logfiles/bacula.conf -%attr(-, root, %{daemon_group}) %config(noreplace) %{logwatch_dir}/conf/services/bacula.conf -%attr(-, root, %{daemon_group}) %config(noreplace) %{script_dir}/query.sql - -%attr(-, %{storage_daemon_user}, %{daemon_group}) %dir %{working_dir} - -%{_sbindir}/bacula-dir -%{_sbindir}/bacula-fd -%{_sbindir}/bacula-sd -%{_sbindir}/bacula -%{_sbindir}/bcopy -%{_sbindir}/bextract -%{_sbindir}/bls -%{_sbindir}/bscan -%{_sbindir}/btape -%{_sbindir}/btraceback -%{_sbindir}/bconsole -%{_sbindir}/bsmtp -%{_sbindir}/bregex -%{_sbindir}/bwild -%{_mandir}/man8/bacula-fd.8.%{manpage_ext} -%{_mandir}/man8/bacula-dir.8.%{manpage_ext} -%{_mandir}/man8/bacula-sd.8.%{manpage_ext} -%{_mandir}/man8/bacula.8.%{manpage_ext} -%{_mandir}/man8/bconsole.8.%{manpage_ext} -%{_mandir}/man8/bcopy.8.%{manpage_ext} -%{_mandir}/man8/bextract.8.%{manpage_ext} -%{_mandir}/man8/bls.8.%{manpage_ext} -%{_mandir}/man8/bscan.8.%{manpage_ext} -%{_mandir}/man8/btape.8.%{manpage_ext} -%{_mandir}/man8/btraceback.8.%{manpage_ext} -%{_mandir}/man8/dbcheck.8.%{manpage_ext} -%{_mandir}/man1/bsmtp.1.%{manpage_ext} -%{_mandir}/man1/bat.1.%{manpage_ext} -%{_libdir}/libbac* -%_prefix/share/doc/* - -# opensuse build service changes the release itself -%if 0%{?opensuse_bs} -%doc ../Release_Notes-%{version}-1.txt -%else -%doc ../Release_Notes-%{version}-%{release}.txt -%endif -%endif - -%if %{mysql} -%pre mysql -# test for bacula database older than version 12 -# note: this ASSUMES no password has been set for bacula database -DB_VER=`mysql 2>/dev/null bacula -e 'select * from Version;'|tail -n 1` -%endif - -%if %{sqlite} -%pre sqlite -# are we upgrading from sqlite to sqlite3? -if [ -s %{working_dir}/bacula.db ] && [ -s %{sqlite_bindir}/sqlite ];then - echo "This version of bacula-sqlite involves an upgrade to sqlite3." - echo "Your catalog database file is not compatible with sqlite3, thus" - echo "you will need to dump the data, delete the old file, and re-run" - echo "this rpm upgrade." - echo "" - echo "Backing up your current database..." - echo ".dump" | %{sqlite_bindir}/sqlite %{working_dir}/bacula.db > %{working_dir}/bacula_backup.sql - mv %{working_dir}/bacula.db %{working_dir}/bacula.db.old - echo "Your catalog data has been saved in %{working_dir}/bacula_backup.sql and your" - echo "catalog file has been renamed %{working_dir}/bacula.db.old." - echo "" - echo "Please re-run this rpm package upgrade." - echo "After the upgrade is complete, restore your catalog" - echo "with the following commands:" - echo "%{script_dir}/drop_sqlite3_tables" - echo "cd %{working_dir}" - echo "%{sqlite_bindir}/sqlite3 $* bacula.db < bacula_backup.sql" - echo "chown bacula.bacula bacula.db" - exit 1 -fi -# test for bacula database older than version 11 and sqlite3 -if [ -s %{working_dir}/bacula.db ] && [ -s %{sqlite_bindir}/sqlite3 ];then - DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite3 2>/dev/null %{working_dir}/bacula.db | tail -n 1` -%endif - -%if %{postgresql} -%pre postgresql -DB_VER=`echo 'select * from Version;' | psql bacula 2>/dev/null | tail -3 | head -1` -%endif - -%if ! %{client_only} -if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "11" ]; then - echo "This bacula upgrade will update a bacula database from version 11 to 12." - echo "You appear to be running database version $DB_VER. You must first update" - echo "your database to version 11 and then install this upgrade. The alternative" - echo "is to use %{script_dir}/drop_%{db_backend}_tables to delete all your your current" - echo "catalog information, then do the upgrade. Information on updating a" - echo "database older than version 11 can be found in the release notes." - exit 1 -fi -%endif - -%if %{sqlite} -fi -%endif - -%if ! %{client_only} -# check for and copy %{sysconf_dir}/console.conf to bconsole.conf -if [ -s %{sysconf_dir}/console.conf ];then - cp -p %{sysconf_dir}/console.conf %{sysconf_dir}/bconsole.conf -fi - -# create the daemon users and groups -# first create the groups if they don't exist -HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{groupadd} -r %{daemon_group} > /dev/null 2>&1 - echo "The group %{daemon_group} has been added to %{group_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi -HAVE_BACULA=`grep %{storage_daemon_group} %{group_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{groupadd} -r %{storage_daemon_group} > /dev/null 2>&1 - echo "The group %{storage_daemon_group} has been added to %{group_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi -# now create the users if they do not exist -# we do not use the -g option allowing the primary group to be set to system default -# this will be a unique group on redhat type systems or the group users on some systems -HAVE_BACULA=`grep %{storage_daemon_user} %{user_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{useradd} -r -c "Bacula" -d %{working_dir} -g %{storage_daemon_group} -M -s /sbin/nologin %{storage_daemon_user} > /dev/null 2>&1 - echo "The user %{storage_daemon_user} has been added to %{user_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi -HAVE_BACULA=`grep %{director_daemon_user} %{user_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{director_daemon_user} > /dev/null 2>&1 - echo "The user %{director_daemon_user} has been added to %{user_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi -HAVE_BACULA=`grep %{file_daemon_user} %{user_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{file_daemon_user} > /dev/null 2>&1 - echo "The user %{file_daemon_user} has been added to %{user_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi -# now we add the supplementary groups, this is ok to call even if the users already exist -# we only do this if the user is NOT root -IS_ROOT=%{director_daemon_user} -if [ "$IS_ROOT" != "root" ]; then -%{usermod} -G %{daemon_group} %{director_daemon_user} -fi -IS_ROOT=%{storage_daemon_user} -if [ "$IS_ROOT" != "root" ]; then -%{usermod} -G %{daemon_group},%{storage_daemon_group} %{storage_daemon_user} -fi -IS_ROOT=%{file_daemon_user} -if [ "$IS_ROOT" != "root" ]; then -%{usermod} -G %{daemon_group} %{file_daemon_user} -fi -%endif - -%if %{mysql} -%post mysql -%endif -%if %{sqlite} -%post sqlite -%endif -%if %{postgresql} -%post postgresql -%endif -%if ! %{client_only} -# add our links -if [ "$1" -ge 1 ] ; then -%if %{suse} && %{mysql} - /sbin/chkconfig --add mysql -%endif -%if %{suse} && %{postgresql} - /sbin/chkconfig --add postgresql -%endif - /sbin/chkconfig --add bacula-dir - /sbin/chkconfig --add bacula-fd - /sbin/chkconfig --add bacula-sd -fi -%endif - -%if %{mysql} - -#check, if mysql can be called successfully at all -if mysql 2>/dev/null bacula -e 'select * from Version;' ; then - -# test for an existing database -# note: this ASSUMES no password has been set for bacula database -DB_VER=`mysql 2>/dev/null bacula -e 'select * from Version;'|tail -n 1` - -# grant privileges and create tables if they do not exist -if [ -z "$DB_VER" ]; then - echo "Hmm, it doesn't look like you have an existing database." - echo "Granting privileges for MySQL user bacula..." - %{script_dir}/grant_mysql_privileges - echo "Creating MySQL bacula database..." - %{script_dir}/create_mysql_database - echo "Creating bacula tables..." - %{script_dir}/make_mysql_tables - -# check to see if we need to upgrade a 3.x database -elif [ "$DB_VER" -lt "12" ]; then - echo "This release requires an upgrade to your bacula database." - echo "Backing up your current database..." - mysqldump -f --opt bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2 - echo "Upgrading bacula database ..." - %{script_dir}/update_mysql_tables - echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2" - -fi -fi -%endif - -%if %{sqlite} -# test for an existing database -if [ -s %{working_dir}/bacula.db ]; then - DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite3 2>/dev/null %{working_dir}/bacula.db | tail -n 1` - # check to see if we need to upgrade a 3.x database - if [ "$DB_VER" -lt "12" ] && [ "$DB_VER" -ge "11" ]; then - echo "This release requires an upgrade to your bacula database." - echo "Backing up your current database..." - echo ".dump" | %{sqlite_bindir}/sqlite3 %{working_dir}/bacula.db | bzip2 > %{working_dir}/bacula_backup.sql.bz2 - echo "Upgrading bacula database ..." - %{script_dir}/update_sqlite3_tables - echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2" - fi -else - # create the database and tables - echo "Hmm, doesn't look like you have an existing database." - echo "Creating SQLite database..." - %{script_dir}/create_sqlite3_database - chown %{director_daemon_user}.%{daemon_group} %{working_dir}/bacula.db - echo "Creating the SQLite tables..." - %{script_dir}/make_sqlite3_tables -fi -%endif - -%if %{postgresql} -# check if psql can be called successfully at all -if echo 'select * from Version;' | psql bacula 2>/dev/null; then - -# test for an existing database -# note: this ASSUMES no password has been set for bacula database -DB_VER=`echo 'select * from Version;' | psql bacula 2>/dev/null | tail -3 | head -1` - -# grant privileges and create tables if they do not exist -if [ -z "$DB_VER" ]; then - echo "Hmm, doesn't look like you have an existing database." - echo "Creating PostgreSQL bacula database..." - %{script_dir}/create_postgresql_database - echo "Creating bacula tables..." - %{script_dir}/make_postgresql_tables - echo "Granting privileges for PostgreSQL user bacula..." - %{script_dir}/grant_postgresql_privileges - -# check to see if we need to upgrade a 3.x database -elif [ "$DB_VER" -lt "12" ]; then - echo "This release requires an upgrade to your bacula database." - echo "Backing up your current database..." - pg_dump bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2 - echo "Upgrading bacula database ..." - %{script_dir}/update_postgresql_tables - echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2" - -fi -fi -%endif - -%if ! %{client_only} -if [ -d %{sysconf_dir} ]; then - cd %{sysconf_dir} - 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 - pass=`openssl rand -base64 33` - for file in *.conf; do - sed "s@${string}@${pass}@g" $file > $file.new - cp -f $file.new $file; rm -f $file.new - done - done -# put actual hostname in conf file - host=`hostname` - string="XXX_HOSTNAME_XXX" - for file in *.conf; do - sed "s@${string}@${host}@g" $file >$file.new - cp -f $file.new $file; rm -f $file.new - done -fi -%endif -/sbin/ldconfig -exit 0 # always exit successfull, as otherwise opensuse build service complains - -%if %{mysql} -%preun mysql -%endif -%if %{sqlite} -%preun sqlite -%endif -%if %{postgresql} -%preun postgresql -%endif - -%if ! %{client_only} -# delete our links -if [ $1 = 0 ]; then - /sbin/chkconfig --del bacula-dir - /sbin/chkconfig --del bacula-fd - /sbin/chkconfig --del bacula-sd -fi -/sbin/ldconfig -%endif - -# added: run ldconfig in postun -%if %{mysql} -%postun mysql -%endif -%if %{sqlite} -%postun sqlite -%endif -%if %{postgresql} -%postun postgresql -%endif -/sbin/ldconfig - -%files client -%defattr(-,root,root) -%attr(-, root, %{daemon_group}) %dir %{script_dir} -%{script_dir}/bacula-ctl-fd -/etc/init.d/bacula-fd - -/etc/logrotate.d/bacula - -%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-fd.conf -%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bconsole.conf -%attr(-, root, %{daemon_group}) %dir %{working_dir} - -%{_sbindir}/bacula-fd -%{_sbindir}/btraceback -%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.gdb -%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.dbx -%{_sbindir}/bconsole -%{_mandir}/man8/bacula-fd.8.%{manpage_ext} -%{_mandir}/man8/bacula.8.%{manpage_ext} -%{_mandir}/man8/bconsole.8.%{manpage_ext} -%{_mandir}/man8/btraceback.8.%{manpage_ext} -%{_mandir}/man1/bat.1.%{manpage_ext} -%{_libdir}/libbac.* -%{_libdir}/libbaccfg.* -%{_libdir}/libbacfind.* -%{_libdir}/libbacpy.* -%_prefix/share/doc/* - -#opensuse_bs: directories not owned by any package -%dir %attr(-, root, %{daemon_group}) %{sysconf_dir} - -%pre client -# create the daemon group and user -HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{groupadd} -r %{daemon_group} > /dev/null 2>&1 - echo "The group %{daemon_group} has been added to %{group_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi -# we do not use the -g option allowing the primary group to be set to system default -# this will be a unique group on redhat type systems or the group users on some systems -HAVE_BACULA=`grep %{file_daemon_user} %{user_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{file_daemon_user} > /dev/null 2>&1 - echo "The user %{file_daemon_user} has been added to %{user_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi -# now we add the supplementary group, this is ok to call even if the user already exists -# we only do this if the user is NOT root -IS_ROOT=%{file_daemon_user} -if [ "$IS_ROOT" != "root" ]; then -%{usermod} -G %{daemon_group} %{file_daemon_user} -fi - -%post client -# add our link -if [ "$1" -ge 1 ] ; then - /sbin/chkconfig --add bacula-fd -fi - -if [ -d %{sysconf_dir} ]; then - cd %{sysconf_dir} - 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 - pass=`openssl rand -base64 33` - for file in *.conf; do - sed "s@${string}@${pass}@g" $file > $file.new - cp -f $file.new $file; rm -f $file.new - done - done -# put actual hostname in conf file - host=`hostname` - string="XXX_HOSTNAME_XXX" - for file in *.conf; do - sed "s@${string}@${host}@g" $file >$file.new - cp -f $file.new $file; rm -f $file.new - done -fi - -/sbin/ldconfig -exit 0 -%preun client -# delete our link -if [ $1 = 0 ]; then - /sbin/chkconfig --del bacula-fd -fi - -%postun client -/sbin/ldconfig - -%if ! %{client_only} -%files updatedb -%defattr(-,root,%{daemon_group}) -%{script_dir}/updatedb/* -#oensuse_bs: directories not owned by any package -#%{script_dir}/updatedb - -%pre updatedb -# create the daemon group -HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{groupadd} -r %{daemon_group} > /dev/null 2>&1 - echo "The group %{daemon_group} has been added to %{group_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi - -%post updatedb -echo "The database update scripts were installed to %{script_dir}/updatedb" -%endif - -%changelog -* Sun Feb 07 2010 D. Scott Barninger -- fix mysql database upgrade -* Fri Feb 05 2010 D. Scott Barninger -- fix permissions of dbcheck -- misc. cleanup -* Sat Jan 30 2010 D. Scott Barninger -- 5.0.0 -- add su112 and fc10 builds, remove doc package declaration. -- fix source path for logwatch files. -- restore static bundled build of sqlite (who took that out?) and remove use -- of system sqlite. we don't support use of sqlite2. -- upgrade database from version 11 to 12. -* Mon Aug 10 2009 Philipp Storz -- changes to work with opensuse build service -* Sat Aug 1 2009 Kern Sibbald -- Split docs into separate bacula-docs.spec, bacula-bat.spec and bacula-mtx.spec -- removed build of rescue, gnome console and wxconsole -* Sat Jun 20 2009 D. Scott Barninger -- Fix bat install which is now handled by make and uses shared libs -* Sat May 16 2009 D. Scott Barninger -- fix libxml dependency for rh7 per Pasi Kärkkäinen -* Mon May 04 2009 D. Scott Barninger -- Fix post ldconfig problem in client only build -* Sun May 03 2009 D. Scott Barninger -- remove more files installed by client-only build not needed by client package -- remove libbacsql files from client package -* Sat May 02 2009 D. Scott Barninger -- 3.0.1 -- update for new docs configuration -* Sat Apr 25 2009 D. Scott Barninger -- add switch to pass Distribution tag -* Sun Apr 5 2009 D. Scott Barninger -- 3.0.0 release -- database update version 10 to 11 -- make now installs docs so we rm from buildroot -- add shared libs in %_libdir and other misc new files -* Wed Dec 31 2008 D. Scott Barninger -- add su111 target -* Sat Nov 08 2008 D. Scott Barninger -- set paths for QT using pkgconfig -* Sat Oct 11 2008 D. Scott Barninger -- release 2.4.3 update depkgs to 11Sep08 remove file nmshack from mtx package -* Sun Sep 07 2008 D. Scott Barninger -- adjust /opt/bacula install -- add build switch to supress rescue package -* Sun Aug 24 2008 D. Scott Barninger -- add support for install to /opt/bacula -* Sun Aug 17 2008 D. Scott Barninger -- remove libtermcap dependancy for FC9 -* Mon Aug 04 2008 D. Scott Barninger -- fix bat dependencies -* Sat Jun 28 2008 D. Scott Barninger -- add su110 target -* Sat May 24 2008 D. Scott Barninger -- add fc9 target -* Sun Mar 30 2008 D. Scott Barninger -- FHS compatibility changes -* Sat Feb 16 2008 D. Scott Barninger -- remove fix for false buffer overflow detection with glibc >= 2.7 -* Sat Feb 09 2008 D. Scott Barninger -- fix for false buffer overflow detection with glibc >= 2.7 diff --git a/bacula/platforms/rpms/bacula-bat.spec b/bacula/platforms/rpms/bacula-bat.spec new file mode 100644 index 0000000000..a407fa55ef --- /dev/null +++ b/bacula/platforms/rpms/bacula-bat.spec @@ -0,0 +1,267 @@ +# Bacula RPM spec file +# +# Copyright (C) 2000-2009 Free Software Foundation Europe e.V. + +# Platform Build Configuration + +# basic defines for every build +%define _release 1 +%define _version 5.0.0 +%define depkgs_qt_version 28Jul09 +%define _packager D. Scott Barninger + +%define manpage_ext gz + +%define single_dir 0 +%{?single_dir_install:%define single_dir 1} + +# Installation Directory locations +%if %{single_dir} +%define _prefix /opt/bacula +%define _sbindir /opt/bacula/bin +%define _bindir /opt/bacula/bin +%define _subsysdir /opt/bacula/working +%define sqlite_bindir /opt/bacula/sqlite +%define _mandir /usr/share/man +%define sysconf_dir /opt/bacula/etc +%define script_dir /opt/bacula/scripts +%define working_dir /opt/bacula/working +%define pid_dir /opt/bacula/working +%define plugin_dir /opt/bacula/plugins +%define lib_dir /opt/bacula/lib +%else +%define _prefix /usr +%define _sbindir %_prefix/sbin +%define _bindir %_prefix/bin +%define _subsysdir /var/lock/subsys +%define sqlite_bindir %_libdir/bacula/sqlite +%define _mandir %_prefix/share/man +%define sysconf_dir /etc/bacula +%define script_dir %_libdir/bacula +%define working_dir /var/lib/bacula +%define pid_dir /var/run +%define plugin_dir %_libdir/bacula/plugins +%define lib_dir %_libdir/bacula/lib +%endif + +# Daemon user:group Don't change them unless you know what you are doing +%define director_daemon_user bacula +%define daemon_group bacula + +#-------------------------------------------------------------------------- +# it should not be necessary to change anything below here for a release +# except for patch macros in the setup section +#-------------------------------------------------------------------------- + +%{?contrib_packager:%define _packager %{contrib_packager}} + +# determine what platform we are building on +%define fedora 0 +%define suse 0 +%define mdk 0 + +%if %{_vendor} == redhat + %define fedora 1 + %define _dist %(cat /etc/redhat-release) +%endif +%if %{_vendor} == suse + %define suse 1 + %define _dist %(grep -i SuSE /etc/SuSE-release) +%endif +%if %{_vendor} == Mandriva + %define mdk 1 + %define _dist %(grep Mand /etc/mandrake-release) +%endif +%if ! %{fedora} && ! %{suse} && ! %{mdk} +%{error: Unknown platform. Please examine the spec file.} +exit 1 +%endif + +Summary: Bacula - The Network Backup Solution +Name: bacula-bat +Version: %{_version} +Release: %{_release} +Group: System Environment/Daemons +License: GPL v2 +BuildRoot: %{_tmppath}/%{name}-root +URL: http://www.bacula.org/ +Vendor: The Bacula Team +Packager: %{_packager} +Prefix: %{_prefix} +Distribution: %{_dist} + +Source0: http://www.prdownloads.sourceforge.net/bacula/bacula-%{version}.tar.gz +Source1: http://www.prdownloads.sourceforge.net/bacula/depkgs-qt-%{depkgs_qt_version}.tar.gz + + +# Source directory locations +%define depkgs_qt ../depkgs-qt + +# define the basic package description +%define blurb Bacula - It comes by night and sucks the vital essence from your computers. +%define blurb2 Bacula is a set of computer programs that permit you (or the system +%define blurb3 administrator) to manage backup, recovery, and verification of computer +%define blurb4 data across a network of computers of different kinds. In technical terms, +%define blurb5 it is a network client/server based backup program. Bacula is relatively +%define blurb6 easy to use and efficient, while offering many advanced storage management +%define blurb7 features that make it easy to find and recover lost or damaged files. +%define blurb8 Bacula source code has been released under the GPL version 2 license. + +Summary: Bacula - The Network Backup Solution +Group: System Environment/Daemons + +%description +%{blurb} + +%{blurb2} +%{blurb3} +%{blurb4} +%{blurb5} +%{blurb6} +%{blurb7} +%{blurb8} + +This is the Bacula Administration Tool (bat) graphical user interface package. +It is an add-on to the client or server packages. + +%prep +%setup -T -n bacula-%{_version} -b 0 +%setup -T -D -n bacula-%{_version} -b 1 + +%build + + +cwd=${PWD} +#export QTDIR=$(pkg-config --variable=prefix QtCore) +#export QTINC=$(pkg-config --variable=includedir QtCore) +#export QTLIB=$(pkg-config --variable=libdir QtCore) +#export PATH=${QTDIR}/bin/:${PATH} +cd %{depkgs_qt} +make qt4 </dev/null` +if [ -z "$HAVE_BACULA" ]; then + %{groupadd} -r %{daemon_group} > /dev/null 2>&1 + echo "The group %{daemon_group} has been added to %{group_file}." + echo "See the manual chapter \"Running Bacula\" for details." +fi + + +%post +if [ -d %{sysconf_dir} ]; then + cd %{sysconf_dir} + 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 + pass=`openssl rand -base64 33` + for file in *.conf; do + need_password=`grep ${string} $file 2>/dev/null` + if [ -n "$need_password" ]; then + sed "s@${string}@${pass}@g" $file > $file.new + cp -f $file.new $file; rm -f $file.new + fi + done + done +# put actual hostname in conf file + host=`hostname` + string="XXX_HOSTNAME_XXX" + for file in *.conf; do + need_host=`grep ${string} $file 2>/dev/null` + if [ -n "$need_host" ]; then + sed "s@${string}@${host}@g" $file >$file.new + cp -f $file.new $file; rm -f $file.new + fi + done +fi +/sbin/ldconfig + +%clean +[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT" +rm -rf $RPM_BUILD_DIR/depkgs-qt + +%changelog +* Sat Jan 30 2010 D. Scott Barninger +- fix consolehelper/xsu for suse packages +* Sat Aug 1 2009 Kern Sibbald +- Split bat into separate bacula-bat.spec diff --git a/bacula/platforms/rpms/bacula-docs.spec b/bacula/platforms/rpms/bacula-docs.spec new file mode 100644 index 0000000000..6cdee044a7 --- /dev/null +++ b/bacula/platforms/rpms/bacula-docs.spec @@ -0,0 +1,89 @@ +# Bacula RPM spec file +# +# Copyright (C) 2000-2009 Free Software Foundation Europe e.V. + +# Platform Build Configuration + +# basic defines for every build +%define _release 1 +%define _version 5.0.0 +%define _packager D. Scott Barninger + +%define _prefix /usr +%define _sbindir %_prefix/sbin +%define _mandir %_prefix/share/man + + +#-------------------------------------------------------------------------- +# it should not be necessary to change anything below here for a release +# except for patch macros in the setup section +#-------------------------------------------------------------------------- + +%{?contrib_packager:%define _packager %{contrib_packager}} + +Summary: Bacula - The Network Backup Solution +Name: bacula-docs +Version: %{_version} +Release: %{_release} +Group: System Environment/Daemons +License: GPL v2 +BuildRoot: %{_tmppath}/%{name}-root +URL: http://www.bacula.org/ +Vendor: The Bacula Team +Packager: %{_packager} +BuildArchitectures: noarch +Prefix: %{_prefix} +Distribution: Bacula Documentation + +Source: %{name}-%{_version}.tar.bz2 + +# Source directory locations +%define _docsrc . + +# define the basic package description +%define blurb Bacula - It comes by night and sucks the vital essence from your computers. +%define blurb2 Bacula is a set of computer programs that permit you (or the system +%define blurb3 administrator) to manage backup, recovery, and verification of computer +%define blurb4 data across a network of computers of different kinds. In technical terms, +%define blurb5 it is a network client/server based backup program. Bacula is relatively +%define blurb6 easy to use and efficient, while offering many advanced storage management +%define blurb7 features that make it easy to find and recover lost or damaged files. +%define blurb8 Bacula source code has been released under the GPL version 2 license. + +Summary: Bacula - The Network Backup Solution +Group: System Environment/Daemons + +%description +%{blurb} + +%{blurb2} +%{blurb3} +%{blurb4} +%{blurb5} +%{blurb6} +%{blurb7} +%{blurb8} + +This package installs the Bacula pdf and html documentation. + +%prep +%setup + + +%clean +[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT" +rm -rf $RPM_BUILD_DIR/%{name}-%{_version} + +%files +%doc %{_docsrc}/manuals/en/console/console %{_docsrc}/manuals/en/console/console.pdf +%doc %{_docsrc}/manuals/en/developers/developers %{_docsrc}/manuals/en/developers/developers.pdf +%doc %{_docsrc}/manuals/en/main/main %{_docsrc}/manuals/en/main/main.pdf +%doc %{_docsrc}/manuals/en/misc/misc %{_docsrc}/manuals/en/misc/misc.pdf +%doc %{_docsrc}/manuals/en/problems/problems %{_docsrc}/manuals/en/problems/problems.pdf +%doc %{_docsrc}/manuals/en/utility/utility %{_docsrc}/manuals/en/utility/utility.pdf + +%changelog +* Sat Jan 30 2010 D. Scott Barninger +- change source file to bz2, update for new doc structure +* Sat Aug 1 2009 Kern Sibbald +- Split docs into separate bacula-docs.spec diff --git a/bacula/platforms/rpms/bacula-mtx.spec b/bacula/platforms/rpms/bacula-mtx.spec new file mode 100644 index 0000000000..5376d0f159 --- /dev/null +++ b/bacula/platforms/rpms/bacula-mtx.spec @@ -0,0 +1,119 @@ +# Bacula RPM spec file +# +# Copyright (C) 2000-2009 Free Software Foundation Europe e.V. + +# Platform Build Configuration + +# basic defines for every build +%define _release 1 +%define _version 5.0.0 +%define depkgs_version 18Feb09 +%define _packager D. Scott Barninger + +%define manpage_ext gz + +%define single_dir 0 +%{?single_dir_install:%define single_dir 1} + +# Installation Directory locations +%define _prefix /usr +%define _sbindir %_prefix/sbin +%define _bindir %_prefix/bin +%define _subsysdir /var/lock/subsys +%define sqlite_bindir %_libdir/bacula/sqlite +%define _mandir %_prefix/share/man +%define sysconf_dir /etc/bacula +%define script_dir %_libdir/bacula +%define working_dir /var/lib/bacula +%define pid_dir /var/run +%define plugin_dir %_libdir/bacula/plugins +%define lib_dir %_libdir/bacula/lib + +#-------------------------------------------------------------------------- +# it should not be necessary to change anything below here for a release +# except for patch macros in the setup section +#-------------------------------------------------------------------------- + +%{?contrib_packager:%define _packager %{contrib_packager}} + +Summary: Bacula - The Network Backup Solution +Name: bacula-mtx +Version: %{_version} +Release: %{_release} +Group: System Environment/Daemons +License: GPL v2 +BuildRoot: %{_tmppath}/%{name}-root +URL: http://www.bacula.org/ +Vendor: The Bacula Team +Packager: %{_packager} +Prefix: %{_prefix} +Distribution: Bacula Bat + +Source: http://www.prdownloads.sourceforge.net/bacula/depkgs-%{depkgs_version}.tar.gz + +# define the basic package description +%define blurb Bacula - It comes by night and sucks the vital essence from your computers. +%define blurb2 Bacula is a set of computer programs that permit you (or the system +%define blurb3 administrator) to manage backup, recovery, and verification of computer +%define blurb4 data across a network of computers of different kinds. In technical terms, +%define blurb5 it is a network client/server based backup program. Bacula is relatively +%define blurb6 easy to use and efficient, while offering many advanced storage management +%define blurb7 features that make it easy to find and recover lost or damaged files. +%define blurb8 Bacula source code has been released under the GPL version 2 license. + +Summary: Bacula - The Network Backup Solution +Group: System Environment/Daemons + +%description +%{blurb} + +%{blurb2} +%{blurb3} +%{blurb4} +%{blurb5} +%{blurb6} +%{blurb7} +%{blurb8} + +This is Bacula's version of mtx tape utilities for Linux distributions that +do not provide their own mtx package + +%prep +%setup -T -n depkgs -b 0 + +%build + +make mtx + +%install +make \ + prefix=$RPM_BUILD_ROOT%{_prefix} \ + sbindir=$RPM_BUILD_ROOT%{_sbindir} \ + sysconfdir=$RPM_BUILD_ROOT%{sysconf_dir} \ + scriptdir=$RPM_BUILD_ROOT%{script_dir} \ + working_dir=$RPM_BUILD_ROOT%{working_dir} \ + piddir=$RPM_BUILD_ROOT%{pid_dir} \ + mandir=$RPM_BUILD_ROOT%{_mandir} \ + mtx-install + +%files +%defattr(-,root,root) +%attr(-, root, %{storage_daemon_group}) %{_sbindir}/loaderinfo +%attr(-, root, %{storage_daemon_group}) %{_sbindir}/mtx +%attr(-, root, %{storage_daemon_group}) %{_sbindir}/scsitape +%attr(-, root, %{storage_daemon_group}) %{_sbindir}/tapeinfo +%attr(-, root, %{storage_daemon_group}) %{_sbindir}/scsieject +%{_mandir}/man1/loaderinfo.1.%{manpage_ext} +%{_mandir}/man1/mtx.1.%{manpage_ext} +%{_mandir}/man1/scsitape.1.%{manpage_ext} +%{_mandir}/man1/tapeinfo.1.%{manpage_ext} +%{_mandir}/man1/scsieject.1.%{manpage_ext} + + +%clean +[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT" +rm -rf $RPM_BUILD_DIR/depkgs + +%changelog +* Sat Aug 1 2009 Kern Sibbald +- Split mtx out into bacula-mtx.spec diff --git a/bacula/platforms/rpms/bacula.spec b/bacula/platforms/rpms/bacula.spec new file mode 100644 index 0000000000..c8d63feb44 --- /dev/null +++ b/bacula/platforms/rpms/bacula.spec @@ -0,0 +1,1512 @@ +# Bacula RPM spec file +# +# Copyright (C) 2000-2009 Free Software Foundation Europe e.V. + +# Platform Build Configuration + +# basic defines for every build +%define _release 1 +%define _version 3.0.3 +%define _packager D. Scott Barninger +%define depkgs_version 18Dec09 + +%define single_dir 0 +%{?single_dir_install:%define single_dir 1} + +# Installation Directory locations +%if %{single_dir} +%define _prefix /opt/bacula +%define _sbindir /opt/bacula/bin +%define _bindir /opt/bacula/bin +%define _subsysdir /opt/bacula/working +%define sqlite_bindir /opt/bacula/sqlite +%define _mandir /usr/share/man +%define sysconf_dir /opt/bacula/etc +%define script_dir /opt/bacula/scripts +%define working_dir /opt/bacula/working +%define pid_dir /opt/bacula/working +%define plugin_dir /opt/bacula/plugins +%define lib_dir /opt/bacula/lib +%else +%define _prefix /usr +%define _sbindir %_prefix/sbin +%define _bindir %_prefix/bin +%define _subsysdir /var/lock/subsys +%define sqlite_bindir %_libdir/bacula/sqlite +%define _mandir %_prefix/share/man +%define sysconf_dir /etc/bacula +%define script_dir %_libdir/bacula +%define working_dir /var/lib/bacula +%define pid_dir /var/run +%define plugin_dir %_libdir/bacula/plugins +%define lib_dir %_libdir/bacula/lib +%endif + +# Daemon user:group Don't change them unless you know what you are doing +%define director_daemon_user bacula +%define storage_daemon_user bacula +%define file_daemon_user root +%define daemon_group bacula +# group that has write access to tape devices, usually disk on Linux +%define storage_daemon_group disk + +%define depkgs ../depkgs + +# probems with mandriva build: +# nothing provides libbonobo2_0-devel, nothing provides libbonoboui2_0-devel + +# set Macros by opensuse_bs, see http://en.opensuse.org/Build_Service/cross_distribution_package_how_to +#openSUSE 11.1 %if 0%{?suse_version} == 1110 +#openSUSE 11.0 %if 0%{?suse_version} == 1100 +#openSUSE 10.3 %if 0%{?suse_version} == 1030 +#openSUSE 10.2 %if 0%{?suse_version} == 1020 +#SUSE Linux 10.1 %if 0%{?suse_version} == 1010 +#SUSE Linux 10.0 %if 0%{?suse_version} == 1000 +#SUSE Linux 9.3 %if 0%{?suse_version} == 930 +#SLES 9 %if 0%{?sles_version} == 9 also set: %if 0%{?suse_version} == 910 +#SLE 10 %if 0%{?sles_version} == 10 also set: %if 0%{?suse_version} == 1010 +#SLE 11 %if 0%{?sles_version} == 11 also set: %if 0%{?suse_version} == 1110 +#CentOS 5 %if 0%{?centos_version} == 501 +#RHEL 4 %if 0%{?rhel_version} == 406 +#RHEL 5 %if 0%{?rhel_version} == 501 +#Fedora 6 with Extras %if 0%{?fedora_version} == 6 +#Fedora 7 with Extras %if 0%{?fedora_version} == 7 +#Fedora 8 with Extras %if 0%{?fedora_version} == 8 +#Fedora 9 with Extras %if 0%{?fedora_version} == 9 +#Fedora 10 with Extras %if 0%{?fedora_version} == 10 +#Mandriva 2006 %if 0%{?mandriva_version} == 2006 +#Mandriva 2007 %if 0%{?mandriva_version} == 2007 +#Mandriva 2008 %if 0%{?mandriva_version} == 2008 + + +%if 0%{?opensuse_bs} +# am I running in opensuse build service? +# TODO: seems to make problems + +# choose database backend here +# postgres, mysql, sqlite +%define build_mysql 1 + +# Build Service: Determine Distribution + +%ifarch x86_64 + %define build_x86_64 1 +%endif + + +%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version} +BuildRequires: GConf2-devel +BuildRequires: freetype-devel +BuildRequires: libtermcap-devel +BuildRequires: shadow-utils +%endif + + +%if 0%{?mandriva_version} == 2007 +%define build_mdv 1 +%define _dist "Mandriva 2007" +%endif + +%if 0%{?fedora_version} == 8 +%define build_fc8 1 +%define _dist "Fedora Core 8" +BuildRequires: redhat-release +%endif + +%if 0%{?fedora_version} == 9 +%define build_fc9 1 +%define _dist "Fedora Core 9" +BuildRequires: redhat-release +%endif + + +%if 0%{?fedora_version} == 10 +%define build_fc9 1 +%define _dist "Fedora Core 10" +BuildRequires: PolicyKit-gnome +BuildRequires: fedora-release +%endif + +%if 0%{?fedora_version} == 11 +%define build_fc9 1 +%define _dist "Fedora Core 11" +BuildRequires: PolicyKit-gnome +BuildRequires: fedora-release +%endif + +%if 0%{?rhel_version} == 501 +%define build_rhel5 1 +%define _dist "Red Hat Enterprise Linux Server release 5" +BuildRequires: redhat-release +%endif + +%if 0%{?rhel_version} == 406 +%define build_rhel4 1 +%define _dist "Red Hat Enterprise Linux Server release 4" +BuildRequires: redhat-release +%endif + + +%if 0%{?centos_version} == 501 +%define build_centos5 1 +%define _dist "CentOS 5" +BuildRequires: redhat-release +%endif + + +%if 0%{?suse_version} == 1020 +%define build_su102 1 +%define _dist "OpenSUSE 10.2" +BuildRequires: suse-release +%endif + + +%if 0%{?suse_version} == 1030 +%define build_su103 1 +%define _dist "OpenSUSE 10.3" +BuildRequires: suse-release +%endif + +%if 0%{?suse_version} == 1100 +%define build_su110 1 +%define _dist "SUSE 11" +BuildRequires: suse-release +%endif + + +%if 0%{?suse_version} == 1110 +%define build_su111 1 +%define _dist "SUSE 11" +%endif + +%if 0%{?suse_version} == 1120 +%define build_su112 1 +%define _dist "SUSE 11" +%endif + + +%if 0%{?sles_version} == 9 +%define build_su9 1 +%define _dist "SLES 9" +%endif + + +%if 0%{?sles_version} == 10 +%define build_su10 1 +%define _dist "SLE 10" +%endif + + +%if 0%{?sles_version} == 11 +%define build_su111 1 +%define _dist "SLES 11" +%endif + +%endif +# opensuse-bs? + + +# any patches for this release +# be sure to check the setup section for patch macros + +#-------------------------------------------------------------------------- +# it should not be necessary to change anything below here for a release +# except for patch macros in the setup section +#-------------------------------------------------------------------------- + +%{?contrib_packager:%define _packager %{contrib_packager}} + +Summary: Bacula - The Network Backup Solution +Name: bacula +Version: %{_version} +Release: %{_release} +Group: System Environment/Daemons +License: GPL v2 +BuildRoot: %{_tmppath}/%{name}-root +URL: http://www.bacula.org/ +Vendor: The Bacula Team +Packager: %{_packager} +Prefix: %{_prefix} + +Source0: http://www.prdownloads.sourceforge.net/bacula/%{name}-%{version}.tar.gz +# opensuse build service changes the release itself +# what happens if the release is not 1? DSB +%if 0%{?opensuse_bs} +Source1: Release_Notes-%{version}-1.tar.gz +%else +Source1: Release_Notes-%{version}-%{release}.tar.gz +%endif +Source2: bacula-2.2.7-postgresql.patch +Source3: http://www.prdownloads.sourceforge.net/bacula/depkgs-%{depkgs_version}.tar.gz + +# define the basic package description +%define blurb Bacula - It comes by night and sucks the vital essence from your computers. +%define blurb2 Bacula is a set of computer programs that permit you (or the system +%define blurb3 administrator) to manage backup, recovery, and verification of computer +%define blurb4 data across a network of computers of different kinds. In technical terms, +%define blurb5 it is a network client/server based backup program. Bacula is relatively +%define blurb6 easy to use and efficient, while offering many advanced storage management +%define blurb7 features that make it easy to find and recover lost or damaged files. +%define blurb8 Bacula source code has been released under the GPL version 2 license. + +%define user_file /etc/passwd +%define group_file /etc/group + +# program locations +%define useradd /usr/sbin/useradd +%define groupadd /usr/sbin/groupadd +%define usermod /usr/sbin/usermod + +# platform defines - set one below or define the build_xxx on the command line +# RedHat builds +%define rh7 0 +%{?build_rh7:%define rh7 1} +%define rh8 0 +%{?build_rh8:%define rh8 1} +%define rh9 0 +%{?build_rh9:%define rh9 1} +# Fedora Core build +%define fc1 0 +%{?build_fc1:%define fc1 1} +%define fc3 0 +%{?build_fc3:%define fc3 1} +%define fc4 0 +%{?build_fc4:%define fc4 1} +%define fc5 0 +%{?build_fc5:%define fc5 1} +%define fc6 0 +%{?build_fc6:%define fc6 1} +%define fc7 0 +%{?build_fc7:%define fc7 1} +%define fc8 0 +%{?build_fc8:%define fc8 1} +%define fc9 0 +%{?build_fc9:%define fc9 1} +%define fc10 0 +%{?build_fc10:%define fc10 1} +# Whitebox Enterprise build +%define wb3 0 +%{?build_wb3:%define wb3 1} +# RedHat Enterprise builds +%define rhel3 0 +%{?build_rhel3:%define rhel3 1} +%{?build_rhel3:%define wb3 1} +%define rhel4 0 +%{?build_rhel4:%define rhel4 1} +%{?build_rhel4:%define fc3 1} +%define rhel5 0 +%{?build_rhel5:%define rhel5 1} +%{?build_rhel5:%define fc6 1} +# CentOS build +%define centos3 0 +%{?build_centos3:%define centos3 1} +%{?build_centos3:%define wb3 1} +%define centos4 0 +%{?build_centos4:%define centos4 1} +%{?build_centos4:%define fc3 1} +%define centos5 0 +%{?build_centos5:%define centos5 1} +%{?build_centos5:%define fc6 1} +# SL build +%define sl3 0 +%{?build_sl3:%define sl3 1} +%{?build_sl3:%define wb3 1} +%define sl4 0 +%{?build_sl4:%define sl4 1} +%{?build_sl4:%define fc3 1} +%define sl5 0 +%{?build_sl5:%define sl5 1} +%{?build_sl5:%define fc6 1} +# SuSE build +%define su9 0 +%{?build_su9:%define su9 1} +%define su10 0 +%{?build_su10:%define su10 1} +%define su102 0 +%{?build_su102:%define su102 1} +%define su103 0 +%{?build_su103:%define su103 1} +%define su110 0 +%{?build_su110:%define su110 1} +%define su111 0 +%{?build_su111:%define su111 1} +%define su112 0 +%{?build_su112:%define su112 1} +# Mandrake builds +%define mdk 0 +%{?build_mdk:%define mdk 1} +%define mdv 0 +%{?build_mdv:%define mdv 1} +%{?build_mdv:%define mdk 1} + +# client only build +%define client_only 0 +%{?build_client_only:%define client_only 1} + +# Setup some short cuts +%define rhat 0 +%if %{rh7} || %{rh8} || %{rh9} +%define rhat 1 +%endif +%define fed 0 +%if %{fc1} || %{fc3} || %{fc4} || %{fc5} || %{fc6} || %{fc7} || %{fc8} || %{fc9} || %{fc10} +%define fed 1 +%endif +%define suse 0 +%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111} || %{su112} +%define suse 1 +%endif +%define rhel 0 +%if %{rhel3} || %{rhel4} || %{rhel5} || %{centos3} || %{centos4} || %{centos5} +%define rhel 1 +%endif +%define scil 0 +%if %{sl3} || %{sl4} || %{sl5} +%define scil 1 +%endif + + +# test for a platform definition +%if !%{rhat} && !%{rhel} && !%{fed} && !%{wb3} && !%{suse} && !%{mdk} +%{error: You must specify a platform. Please examine the spec file.} +exit 1 +%endif + +# distribution-specific directory for logwatch +%if %{wb3} || %{rh7} || %{rh8} || %{rh9} || %{fc1} || %{fc3} || %{fc4} +%define logwatch_dir /etc/log.d +%else +%define logwatch_dir /etc/logwatch +%endif + +# database defines +# set for database support desired or define the build_xxx on the command line +%define mysql 0 +%{?build_mysql:%define mysql 1} +# if using mysql 4.x define this and mysql above +# currently: Mandrake 10.1, SuSE 9.x & 10.0, RHEL4 and Fedora Core 4 +%define mysql4 0 +%{?build_mysql4:%define mysql4 1} +%{?build_mysql4:%define mysql 1} +# if using mysql 5.x define this and mysql above +# currently: SuSE 10.1 and Fedora Core 5 +%define mysql5 0 +%{?build_mysql5:%define mysql5 1} +%{?build_mysql5:%define mysql 1} +%define sqlite 0 +%{?build_sqlite:%define sqlite 1} +%define postgresql 0 +%{?build_postgresql:%define postgresql 1} + +# test for a database definition +%if ! %{mysql} && ! %{sqlite} && ! %{postgresql} && ! %{client_only} +%{error: You must specify database support. Please examine the spec file.} +exit 1 +%endif + +%if %{mysql} +%define db_backend mysql +%endif +%if %{sqlite} +%define db_backend sqlite3 +%endif +%if %{postgresql} +%define db_backend postgresql +%endif + +# 64 bit support +%define x86_64 0 +%{?build_x86_64:%define x86_64 1} + +# check what distribution we are +%if %{rhat} || %{rhel} +%define _dist %(grep Red /etc/redhat-release) +%endif +%if %{fc1} || %{fc3} || %{fc4} || %{fc5} || %{fc7} || %{fc8} || %{fc9} || %{fc10} +%define _dist %(grep Fedora /etc/redhat-release) +%endif +%if %{centos5} || %{centos4} || %{centos3} +%define _dist %(grep CentOS /etc/redhat-release) +%endif +%if %{sl5} ||%{sl4} || %{sl3} +%define _dist %(grep 'Scientific Linux' /etc/redhat-release) +%endif +%if %{wb3} && ! %{rhel3} && ! %{centos3} && ! %{sl3} +%define _dist %(grep White /etc/whitebox-release) +%endif +%if %{suse} +%define _dist %(grep -i SuSE /etc/SuSE-release) +%endif +%if %{mdk} +%define _dist %(grep Mand /etc/mandrake-release) +%endif +%{?DISTNAME:%define _dist %{DISTNAME}} + +# only set Disribution if not in opensuse build service, as it sets it itself +%if ! 0%{?opensuse_bs} +%{?DISTNAME:%define _dist %{DISTNAME}} +Distribution: %{_dist} +%endif + +%if 0%{?opensuse_bs} && %{mysql} && %{suse} +# needed in opensuse_bs, as rpm is installed during build process +BuildRequires: libmysqlclient-devel +BuildRequires: mysql-client +BuildRequires: mysql +%endif +%if 0%{?opensuse_bs} && %{suse} && %{postgresql} +BuildRequires: postgresql +BuildRequires: postgresql-server +%endif +BuildRequires: openssl + +%if 0%{?opensuse_bs} && %{suse} +BuildRequires: pwdutils +BuildRequires: sysconfig +%endif + +# should we turn on python support +%define python 0 +%{?build_python:%define python 1} + +# specifically disallow build of mtx package if desired +%define mtx 0 +%{?nobuild_mtx:%define mtx 0} + +# do we need to patch for old postgresql version? +%define old_pgsql 0 +%{?build_old_pgsql:%define old_pgsql 1} + +# Mandriva somehow forces the manpage file extension to bz2 rather than gz +%if %{mdk} +%define manpage_ext bz2 +%else +%define manpage_ext gz +%endif + +# for client only build +%if %{client_only} +%define mysql 0 +%define mysql4 0 +%define mysql5 0 +%define postgresql 0 +%define sqlite 0 +%endif + +BuildRequires: gcc, gcc-c++, make, autoconf +BuildRequires: glibc, glibc-devel +BuildRequires: ncurses-devel, perl +BuildRequires: libstdc++-devel, zlib-devel +BuildRequires: openssl-devel +BuildRequires: libacl-devel +BuildRequires: pkgconfig +%if ! %{rh7} +BuildRequires: libxml2-devel +%endif +%if %{python} +BuildRequires: python, python-devel +%{expand: %%define pyver %(python -c 'import sys;print(sys.version[0:3])')} +%endif + +%if %{rh7} +BuildRequires: libtermcap-devel +BuildRequires: libxml-devel +%endif +%if %{suse} +BuildRequires: termcap +%endif +%if %{mdk} +BuildRequires: libtermcap-devel +BuildRequires: libstdc++-static-devel +BuildRequires: glibc-static-devel +%endif +%if %{fc1} || %{fc3} || %{fc4} || %{fc5} || %{fc7} || %{fc8} +BuildRequires: libtermcap-devel +%endif +%if %{sqlite} +BuildRequires: sqlite-devel +%endif + +%if %{mysql} +BuildRequires: mysql-devel +%endif + +%if %{postgresql} && %{wb3} +BuildRequires: rh-postgresql-devel >= 7 +%endif + +%if %{postgresql} && ! %{wb3} +BuildRequires: postgresql-devel >= 7 +%endif + +%description +%{blurb} + +%{blurb2} +%{blurb3} +%{blurb4} +%{blurb5} +%{blurb6} +%{blurb7} +%{blurb8} + +%if %{mysql} +%package mysql +%endif +%if %{sqlite} +%package sqlite +%endif +%if %{postgresql} +%package postgresql +%endif + +Summary: Bacula - The Network Backup Solution +Group: System Environment/Daemons +Provides: bacula-dir, bacula-sd, bacula-fd, bacula-server +Conflicts: bacula-client + +Requires: ncurses, libstdc++, zlib, openssl +Requires: glibc + +%if %{rhel} || %{rhat} || %{fed} +Requires: libtermcap +%endif +%if %{suse} +Conflicts: bacula +Requires: termcap +%endif + +%if %{mysql} +Requires: mysql + +%if %{suse} || %{mdk} +Requires: mysql-client +%else +Requires: mysql-server +%endif +%endif + +%if %{postgresql} && %{wb3} +Requires: rh-postgresql >= 7 +Requires: rh-postgresql-server >= 7 +%endif +%if %{postgresql} && ! %{wb3} +Requires: postgresql >= 7 +Requires: postgresql-server >= 7 +%endif + +%if %{mysql} +%description mysql +%endif +%if %{sqlite} +%description sqlite +%endif +%if %{postgresql} +%description postgresql +%endif + +%if %{python} +Requires: python >= %{pyver} +%endif + +%{blurb} + +%{blurb2} +%{blurb3} +%{blurb4} +%{blurb5} +%{blurb6} +%{blurb7} +%{blurb8} + +%if %{mysql} +This build requires MySQL to be installed separately as the catalog database. +%endif +%if %{postgresql} +This build requires PostgreSQL to be installed separately as the catalog database. +%endif +%if %{sqlite} +This build incorporates sqlite3 as the catalog database, statically compiled. +%endif +%if %{python} +This build includes python scripting support. +%endif + +%package client +Summary: Bacula - The Network Backup Solution +Group: System Environment/Daemons +Provides: bacula-fd +Conflicts: bacula-mysql +Conflicts: bacula-sqlite +Conflicts: bacula-postgresql + +%if %{suse} +Provides: bacula +%endif + +Requires: libstdc++, zlib, openssl +Requires: glibc + +%if %{suse} +Requires: termcap +%else +Requires: libtermcap +%endif + +%if %{python} +Requires: python >= %{pyver} +%endif + +%description client +%{blurb} + +%{blurb2} +%{blurb3} +%{blurb4} +%{blurb5} +%{blurb6} +%{blurb7} +%{blurb8} + +This is the File daemon (Client) only package. It includes the command line +console program. +%if %{python} +This build includes python scripting support. +%endif + +%if ! %{client_only} +%package updatedb + +Summary: Bacula - The Network Backup Solution +Group: System Environment/Daemons + +%description updatedb +%{blurb} + +%{blurb2} +%{blurb3} +%{blurb4} +%{blurb5} +%{blurb6} +%{blurb7} +%{blurb8} + +This package installs scripts for updating older versions of the bacula +database. +%endif + +# Must explicitly enable debug pkg on SuSE +# but not in opensuse_bs +%if %{suse} && ! 0%{?opensuse_bs} +%debug_package +%endif + +%prep +%setup +%setup -T -D -b 1 +%setup -T -D -b 3 + +%build + +%if %{suse} +export LDFLAGS="${LDFLAGS} -L/usr/lib/termcap" +%endif + +cwd=${PWD} +%if %{sqlite} +cd %{depkgs} +make sqlite3 +cd ${cwd} +%endif + +%if %{wb3} || %{old_pgsql} +patch -p3 src/cats/postgresql.c < %SOURCE2 +%endif + +# patches for the bundled sqlite scripts + +# patch the make_sqlite_tables script for installation bindir +patch src/cats/make_sqlite3_tables.in src/cats/make_sqlite3_tables.in.patch + +# patch the create_sqlite_database script for installation bindir +patch src/cats/create_sqlite3_database.in src/cats/create_sqlite3_database.in.patch + +# patch the make_catalog_backup script for installation bindir +patch src/cats/make_catalog_backup.in src/cats/make_catalog_backup.in.patch + +# patch the update_sqlite_tables script for installation bindir +patch src/cats/update_sqlite3_tables.in src/cats/update_sqlite3_tables.in.patch + +# patch the bacula-dir init script to remove sqlite service +%if %{sqlite} && %{suse} +patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch +%endif + +# 64 bit lib location hacks +# as of 1.39.18 it should not be necessary to enable x86_64 as configure is +# reported to be fixed to properly detect lib locations. +%if %{x86_64} +export LDFLAGS="${LDFLAGS} -L/usr/lib64" +%endif +%if %{mysql} && %{x86_64} +export LDFLAGS="${LDFLAGS} -L/usr/lib64/mysql" +%endif +%if %{python} && %{x86_64} +export LDFLAGS="${LDFLAGS} -L/usr/lib64/python%{pyver}" +%endif + +# Main Bacula configuration +%configure \ + --prefix=%{_prefix} \ + --sbindir=%{_sbindir} \ + --sysconfdir=%{sysconf_dir} \ + --mandir=%{_mandir} \ + --with-scriptdir=%{script_dir} \ + --with-working-dir=%{working_dir} \ + --with-plugindir=%{script_dir} \ + --with-pid-dir=%{pid_dir} \ + --with-subsys-dir=%{_subsysdir} \ + --enable-smartalloc \ + --disable-gome \ + --disable-bwx-console \ + --disable-tray-monitor \ +%if %{mysql} + --with-mysql \ +%endif +%if %{sqlite} + --with-sqlite3=${cwd}/%{depkgs}/sqlite3 \ +%endif +%if %{postgresql} + --with-postgresql \ +%endif + --disable-bat \ + --without-qwt \ +%if %{python} + --with-python \ +%endif +%if %{client_only} + --enable-client-only \ +%endif +%if %{rh7} || %{rh8} || %{rh9} || %{fc1} || %{fc3} || %{wb3} + --disable-batch-insert \ +%endif + --with-dir-user=%{director_daemon_user} \ + --with-dir-group=%{daemon_group} \ + --with-sd-user=%{storage_daemon_user} \ + --with-sd-group=%{storage_daemon_group} \ + --with-fd-user=%{file_daemon_user} \ + --with-fd-group=%{daemon_group} \ + --with-dir-password="XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX" \ + --with-fd-password="XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX" \ + --with-sd-password="XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX" \ + --with-mon-dir-password="XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX" \ + --with-mon-fd-password="XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX" \ + --with-mon-sd-password="XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX" \ + --with-openssl + +make -j3 + +%install + +cwd=${PWD} +[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT" +mkdir -p $RPM_BUILD_ROOT/etc/init.d +mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d +mkdir -p $RPM_BUILD_ROOT%{logwatch_dir}/conf/logfiles +mkdir -p $RPM_BUILD_ROOT%{logwatch_dir}/conf/services +mkdir -p $RPM_BUILD_ROOT%{logwatch_dir}/scripts/services +mkdir -p $RPM_BUILD_ROOT%{logwatch_dir}/scripts/shared +mkdir -p $RPM_BUILD_ROOT%{script_dir}/updatedb + +mkdir -p $RPM_BUILD_ROOT/etc/pam.d +mkdir -p $RPM_BUILD_ROOT%{_sbindir} + +%if %{sqlite} +mkdir -p $RPM_BUILD_ROOT%{sqlite_bindir} +%endif + +make DESTDIR=$RPM_BUILD_ROOT install + +%if %{client_only} +# Program docs not installed on client +rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bacula-dir.8.%{manpage_ext} +rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bacula-sd.8.%{manpage_ext} +rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bcopy.8.%{manpage_ext} +rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bextract.8.%{manpage_ext} +rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bls.8.%{manpage_ext} +rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bscan.8.%{manpage_ext} +rm -f $RPM_BUILD_ROOT%{_mandir}/man8/btape.8.%{manpage_ext} +rm -f $RPM_BUILD_ROOT%{_mandir}/man8/dbcheck.8.%{manpage_ext} +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bsmtp.1.%{manpage_ext} +%endif +# Docs for programs that are depreciated +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-bgnome-console.1.%{manpage_ext} +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-bwxconsole.1.%{manpage_ext} +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-tray-monitor.1.%{manpage_ext} +rm -f $RPM_BUILD_ROOT%{script_dir}/gconsole + +# fixme - make installs the mysql scripts for sqlite build +%if %{sqlite} +rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql +rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql +rm -f $RPM_BUILD_ROOT%{script_dir}/grant_mysql_privileges +%endif + +# fixme - make installs the mysql scripts for postgresql build +%if %{postgresql} +rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql +rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql +%endif + +# install the init scripts +%if %{suse} +cp -p platforms/suse/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir +cp -p platforms/suse/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd +cp -p platforms/suse/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd +%endif +%if %{mdk} +cp -p platforms/mandrake/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir +cp -p platforms/mandrake/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd +cp -p platforms/mandrake/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd +%endif +%if ! %{suse} && ! %{mdk} +cp -p platforms/redhat/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir +cp -p platforms/redhat/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd +cp -p platforms/redhat/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd +%endif +chmod 0754 $RPM_BUILD_ROOT/etc/init.d/* +%if %{client_only} +rm -f $RPM_BUILD_ROOT/etc/init.d/bacula-dir +rm -f $RPM_BUILD_ROOT/etc/init.d/bacula-sd +%endif + +# install sqlite +%if %{sqlite} +cp -p %{depkgs}/sqlite3/sqlite3 $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite3 +cp -p %{depkgs}/sqlite3/sqlite3.h $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite3.h +cp -p %{depkgs}/sqlite3/libsqlite3.a $RPM_BUILD_ROOT%{sqlite_bindir}/libsqlite3.a +%endif + + +# install the logrotate file +cp -p scripts/logrotate $RPM_BUILD_ROOT/etc/logrotate.d/bacula + +# install the updatedb scripts +cp -p updatedb/* $RPM_BUILD_ROOT%{script_dir}/updatedb/ + +# install the logwatch scripts +%if ! %{client_only} +cp -p scripts/logwatch/bacula $RPM_BUILD_ROOT%{logwatch_dir}/scripts/services/bacula +cp -p scripts/logwatch/applybaculadate $RPM_BUILD_ROOT%{logwatch_dir}/scripts/shared/applybaculadate +cp -p scripts/logwatch/logfile.bacula.conf $RPM_BUILD_ROOT%{logwatch_dir}/conf/logfiles/bacula.conf +cp -p scripts/logwatch/services.bacula.conf $RPM_BUILD_ROOT%{logwatch_dir}/conf/services/bacula.conf +chmod 755 $RPM_BUILD_ROOT%{logwatch_dir}/scripts/services/bacula +chmod 755 $RPM_BUILD_ROOT%{logwatch_dir}/scripts/shared/applybaculadate +chmod 644 $RPM_BUILD_ROOT%{logwatch_dir}/conf/logfiles/bacula.conf +chmod 644 $RPM_BUILD_ROOT%{logwatch_dir}/conf/services/bacula.conf +%endif + +# now clean up permissions that are left broken by the install +chmod o-rwx $RPM_BUILD_ROOT%{working_dir} + +# fix me - building enable-client-only installs files not included in bacula-client package +%if %{client_only} +rm -f $RPM_BUILD_ROOT%{script_dir}/bacula +rm -f $RPM_BUILD_ROOT%{script_dir}/bacula-ctl-dir +rm -f $RPM_BUILD_ROOT%{script_dir}/bacula-ctl-sd +rm -f $RPM_BUILD_ROOT%{script_dir}/disk-changer +rm -f $RPM_BUILD_ROOT%{script_dir}/dvd-handler +rm -f $RPM_BUILD_ROOT%{script_dir}/mtx-changer +rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql +rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql +rm -rf $RPM_BUILD_ROOT%{script_dir}/updatedb +rm -f $RPM_BUILD_ROOT%{script_dir}/bconsole +rm -f $RPM_BUILD_ROOT%{script_dir}/bpipe-fd.so +rm -f $RPM_BUILD_ROOT%{script_dir}/mtx-changer.conf +rm -f $RPM_BUILD_ROOT%{_sbindir}/bacula +%endif + +%clean +[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT" +%if 0%{?opensuse_bs} +rm -f $RPM_BUILD_DIR/Release_Notes-%{version}-1.txt +%else +rm -f $RPM_BUILD_DIR/Release_Notes-%{version}-%{release}.txt +%endif + + +%if %{mysql} +# MySQL specific files +%files mysql +%defattr(-, root, root) +%attr(-, root, %{daemon_group}) %{script_dir}/create_mysql_database +%attr(-, root, %{daemon_group}) %{script_dir}/drop_mysql_database +%attr(-, root, %{daemon_group}) %{script_dir}/make_mysql_tables +%attr(-, root, %{daemon_group}) %{script_dir}/drop_mysql_tables +%attr(-, root, %{daemon_group}) %{script_dir}/update_mysql_tables +%attr(-, root, %{daemon_group}) %{script_dir}/grant_mysql_privileges +%attr(-, root, %{daemon_group}) %{script_dir}/startmysql +%attr(-, root, %{daemon_group}) %{script_dir}/stopmysql +%endif + +%if %{sqlite} +%files sqlite +%defattr(-,root,root) +%attr(-, root, %{daemon_group}) %{script_dir}/create_sqlite3_database +%attr(-, root, %{daemon_group}) %{script_dir}/drop_sqlite3_database +%attr(-, root, %{daemon_group}) %{script_dir}/grant_sqlite3_privileges +%attr(-, root, %{daemon_group}) %{script_dir}/make_sqlite3_tables +%attr(-, root, %{daemon_group}) %{script_dir}/drop_sqlite3_tables +%attr(-, root, %{daemon_group}) %{script_dir}/update_sqlite3_tables +%{sqlite_bindir}/libsqlite3.a +%{sqlite_bindir}/sqlite3.h +%{sqlite_bindir}/sqlite3 +%endif + + + +%if %{postgresql} +%files postgresql +%defattr(-,root,root) +%attr(-, root, %{daemon_group}) %{script_dir}/create_postgresql_database +%attr(-, root, %{daemon_group}) %{script_dir}/drop_postgresql_database +%attr(-, root, %{daemon_group}) %{script_dir}/make_postgresql_tables +%attr(-, root, %{daemon_group}) %{script_dir}/drop_postgresql_tables +%attr(-, root, %{daemon_group}) %{script_dir}/update_postgresql_tables +%attr(-, root, %{daemon_group}) %{script_dir}/grant_postgresql_privileges +# The rest is DB backend independent +%endif +# opensuse_bs: directories not owned by any package +%dir %attr(-, root, %{daemon_group}) %{sysconf_dir} + +%if ! %{client_only} +%attr(-, root, %{daemon_group}) %dir %{script_dir} +%attr(-, root, %{daemon_group}) %{script_dir}/bacula +%attr(-, root, %{daemon_group}) %{script_dir}/bacula_config +%attr(-, root, %{daemon_group}) %{script_dir}/bconsole +%attr(-, root, %{daemon_group}) %{script_dir}/create_bacula_database +%attr(-, root, %{daemon_group}) %{script_dir}/drop_bacula_database +%attr(-, root, %{daemon_group}) %{script_dir}/grant_bacula_privileges +%attr(-, root, %{daemon_group}) %{script_dir}/make_bacula_tables +%attr(-, root, %{daemon_group}) %{script_dir}/drop_bacula_tables +%attr(-, root, %{daemon_group}) %{script_dir}/update_bacula_tables +%attr(-, root, %{daemon_group}) %{script_dir}/make_catalog_backup +%attr(-, root, %{daemon_group}) %{script_dir}/make_catalog_backup.pl +%attr(-, root, %{daemon_group}) %{script_dir}/delete_catalog_backup +%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.dbx +%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.gdb +%attr(-, root, %{daemon_group}) %{script_dir}/disk-changer +%attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-dir +%attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-fd +%attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-sd +%attr(-, root, %{daemon_group}) %{script_dir}/bpipe-fd.so +%attr(-, root, %{daemon_group}) /etc/init.d/bacula-dir +%attr(-, root, %{daemon_group}) /etc/init.d/bacula-fd +%attr(-, root, %{daemon_group}) %{_sbindir}/dbcheck +%attr(-, root, %{storage_daemon_group}) %{script_dir}/dvd-handler +%attr(-, root, %{storage_daemon_group}) /etc/init.d/bacula-sd +%attr(-, root, %{storage_daemon_group}) %{script_dir}/mtx-changer +%attr(-, root, %{storage_daemon_group}) %{script_dir}/mtx-changer.conf + +/etc/logrotate.d/bacula +%{logwatch_dir}/scripts/services/bacula +%{logwatch_dir}/scripts/shared/applybaculadate +%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-dir.conf +%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-fd.conf +%attr(-, root, %{storage_daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-sd.conf +%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bconsole.conf +%attr(-, root, %{daemon_group}) %config(noreplace) %{logwatch_dir}/conf/logfiles/bacula.conf +%attr(-, root, %{daemon_group}) %config(noreplace) %{logwatch_dir}/conf/services/bacula.conf +%attr(-, root, %{daemon_group}) %config(noreplace) %{script_dir}/query.sql + +%attr(-, %{storage_daemon_user}, %{daemon_group}) %dir %{working_dir} + +%{_sbindir}/bacula-dir +%{_sbindir}/bacula-fd +%{_sbindir}/bacula-sd +%{_sbindir}/bacula +%{_sbindir}/bcopy +%{_sbindir}/bextract +%{_sbindir}/bls +%{_sbindir}/bscan +%{_sbindir}/btape +%{_sbindir}/btraceback +%{_sbindir}/bconsole +%{_sbindir}/bsmtp +%{_sbindir}/bregex +%{_sbindir}/bwild +%{_mandir}/man8/bacula-fd.8.%{manpage_ext} +%{_mandir}/man8/bacula-dir.8.%{manpage_ext} +%{_mandir}/man8/bacula-sd.8.%{manpage_ext} +%{_mandir}/man8/bacula.8.%{manpage_ext} +%{_mandir}/man8/bconsole.8.%{manpage_ext} +%{_mandir}/man8/bcopy.8.%{manpage_ext} +%{_mandir}/man8/bextract.8.%{manpage_ext} +%{_mandir}/man8/bls.8.%{manpage_ext} +%{_mandir}/man8/bscan.8.%{manpage_ext} +%{_mandir}/man8/btape.8.%{manpage_ext} +%{_mandir}/man8/btraceback.8.%{manpage_ext} +%{_mandir}/man8/dbcheck.8.%{manpage_ext} +%{_mandir}/man1/bsmtp.1.%{manpage_ext} +%{_mandir}/man1/bat.1.%{manpage_ext} +%{_libdir}/libbac* +%_prefix/share/doc/* + +# opensuse build service changes the release itself +%if 0%{?opensuse_bs} +%doc ../Release_Notes-%{version}-1.txt +%else +%doc ../Release_Notes-%{version}-%{release}.txt +%endif +%endif + +%if %{mysql} +%pre mysql +# test for bacula database older than version 12 +# note: this ASSUMES no password has been set for bacula database +DB_VER=`mysql 2>/dev/null bacula -e 'select * from Version;'|tail -n 1` +%endif + +%if %{sqlite} +%pre sqlite +# are we upgrading from sqlite to sqlite3? +if [ -s %{working_dir}/bacula.db ] && [ -s %{sqlite_bindir}/sqlite ];then + echo "This version of bacula-sqlite involves an upgrade to sqlite3." + echo "Your catalog database file is not compatible with sqlite3, thus" + echo "you will need to dump the data, delete the old file, and re-run" + echo "this rpm upgrade." + echo "" + echo "Backing up your current database..." + echo ".dump" | %{sqlite_bindir}/sqlite %{working_dir}/bacula.db > %{working_dir}/bacula_backup.sql + mv %{working_dir}/bacula.db %{working_dir}/bacula.db.old + echo "Your catalog data has been saved in %{working_dir}/bacula_backup.sql and your" + echo "catalog file has been renamed %{working_dir}/bacula.db.old." + echo "" + echo "Please re-run this rpm package upgrade." + echo "After the upgrade is complete, restore your catalog" + echo "with the following commands:" + echo "%{script_dir}/drop_sqlite3_tables" + echo "cd %{working_dir}" + echo "%{sqlite_bindir}/sqlite3 $* bacula.db < bacula_backup.sql" + echo "chown bacula.bacula bacula.db" + exit 1 +fi +# test for bacula database older than version 11 and sqlite3 +if [ -s %{working_dir}/bacula.db ] && [ -s %{sqlite_bindir}/sqlite3 ];then + DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite3 2>/dev/null %{working_dir}/bacula.db | tail -n 1` +%endif + +%if %{postgresql} +%pre postgresql +DB_VER=`echo 'select * from Version;' | psql bacula 2>/dev/null | tail -3 | head -1` +%endif + +%if ! %{client_only} +if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "11" ]; then + echo "This bacula upgrade will update a bacula database from version 11 to 12." + echo "You appear to be running database version $DB_VER. You must first update" + echo "your database to version 11 and then install this upgrade. The alternative" + echo "is to use %{script_dir}/drop_%{db_backend}_tables to delete all your your current" + echo "catalog information, then do the upgrade. Information on updating a" + echo "database older than version 11 can be found in the release notes." + exit 1 +fi +%endif + +%if %{sqlite} +fi +%endif + +%if ! %{client_only} +# check for and copy %{sysconf_dir}/console.conf to bconsole.conf +if [ -s %{sysconf_dir}/console.conf ];then + cp -p %{sysconf_dir}/console.conf %{sysconf_dir}/bconsole.conf +fi + +# create the daemon users and groups +# first create the groups if they don't exist +HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null` +if [ -z "$HAVE_BACULA" ]; then + %{groupadd} -r %{daemon_group} > /dev/null 2>&1 + echo "The group %{daemon_group} has been added to %{group_file}." + echo "See the manual chapter \"Running Bacula\" for details." +fi +HAVE_BACULA=`grep %{storage_daemon_group} %{group_file} 2>/dev/null` +if [ -z "$HAVE_BACULA" ]; then + %{groupadd} -r %{storage_daemon_group} > /dev/null 2>&1 + echo "The group %{storage_daemon_group} has been added to %{group_file}." + echo "See the manual chapter \"Running Bacula\" for details." +fi +# now create the users if they do not exist +# we do not use the -g option allowing the primary group to be set to system default +# this will be a unique group on redhat type systems or the group users on some systems +HAVE_BACULA=`grep %{storage_daemon_user} %{user_file} 2>/dev/null` +if [ -z "$HAVE_BACULA" ]; then + %{useradd} -r -c "Bacula" -d %{working_dir} -g %{storage_daemon_group} -M -s /sbin/nologin %{storage_daemon_user} > /dev/null 2>&1 + echo "The user %{storage_daemon_user} has been added to %{user_file}." + echo "See the manual chapter \"Running Bacula\" for details." +fi +HAVE_BACULA=`grep %{director_daemon_user} %{user_file} 2>/dev/null` +if [ -z "$HAVE_BACULA" ]; then + %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{director_daemon_user} > /dev/null 2>&1 + echo "The user %{director_daemon_user} has been added to %{user_file}." + echo "See the manual chapter \"Running Bacula\" for details." +fi +HAVE_BACULA=`grep %{file_daemon_user} %{user_file} 2>/dev/null` +if [ -z "$HAVE_BACULA" ]; then + %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{file_daemon_user} > /dev/null 2>&1 + echo "The user %{file_daemon_user} has been added to %{user_file}." + echo "See the manual chapter \"Running Bacula\" for details." +fi +# now we add the supplementary groups, this is ok to call even if the users already exist +# we only do this if the user is NOT root +IS_ROOT=%{director_daemon_user} +if [ "$IS_ROOT" != "root" ]; then +%{usermod} -G %{daemon_group} %{director_daemon_user} +fi +IS_ROOT=%{storage_daemon_user} +if [ "$IS_ROOT" != "root" ]; then +%{usermod} -G %{daemon_group},%{storage_daemon_group} %{storage_daemon_user} +fi +IS_ROOT=%{file_daemon_user} +if [ "$IS_ROOT" != "root" ]; then +%{usermod} -G %{daemon_group} %{file_daemon_user} +fi +%endif + +%if %{mysql} +%post mysql +%endif +%if %{sqlite} +%post sqlite +%endif +%if %{postgresql} +%post postgresql +%endif +%if ! %{client_only} +# add our links +if [ "$1" -ge 1 ] ; then +%if %{suse} && %{mysql} + /sbin/chkconfig --add mysql +%endif +%if %{suse} && %{postgresql} + /sbin/chkconfig --add postgresql +%endif + /sbin/chkconfig --add bacula-dir + /sbin/chkconfig --add bacula-fd + /sbin/chkconfig --add bacula-sd +fi +%endif + +%if %{mysql} + +#check, if mysql can be called successfully at all +if mysql 2>/dev/null bacula -e 'select * from Version;' ; then + +# test for an existing database +# note: this ASSUMES no password has been set for bacula database +DB_VER=`mysql 2>/dev/null bacula -e 'select * from Version;'|tail -n 1` + +# grant privileges and create tables if they do not exist +if [ -z "$DB_VER" ]; then + echo "Hmm, it doesn't look like you have an existing database." + echo "Granting privileges for MySQL user bacula..." + %{script_dir}/grant_mysql_privileges + echo "Creating MySQL bacula database..." + %{script_dir}/create_mysql_database + echo "Creating bacula tables..." + %{script_dir}/make_mysql_tables + +# check to see if we need to upgrade a 3.x database +elif [ "$DB_VER" -lt "12" ]; then + echo "This release requires an upgrade to your bacula database." + echo "Backing up your current database..." + mysqldump -f --opt bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2 + echo "Upgrading bacula database ..." + %{script_dir}/update_mysql_tables + echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2" + +fi +fi +%endif + +%if %{sqlite} +# test for an existing database +if [ -s %{working_dir}/bacula.db ]; then + DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite3 2>/dev/null %{working_dir}/bacula.db | tail -n 1` + # check to see if we need to upgrade a 3.x database + if [ "$DB_VER" -lt "12" ] && [ "$DB_VER" -ge "11" ]; then + echo "This release requires an upgrade to your bacula database." + echo "Backing up your current database..." + echo ".dump" | %{sqlite_bindir}/sqlite3 %{working_dir}/bacula.db | bzip2 > %{working_dir}/bacula_backup.sql.bz2 + echo "Upgrading bacula database ..." + %{script_dir}/update_sqlite3_tables + echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2" + fi +else + # create the database and tables + echo "Hmm, doesn't look like you have an existing database." + echo "Creating SQLite database..." + %{script_dir}/create_sqlite3_database + chown %{director_daemon_user}.%{daemon_group} %{working_dir}/bacula.db + echo "Creating the SQLite tables..." + %{script_dir}/make_sqlite3_tables +fi +%endif + +%if %{postgresql} +# check if psql can be called successfully at all +if echo 'select * from Version;' | psql bacula 2>/dev/null; then + +# test for an existing database +# note: this ASSUMES no password has been set for bacula database +DB_VER=`echo 'select * from Version;' | psql bacula 2>/dev/null | tail -3 | head -1` + +# grant privileges and create tables if they do not exist +if [ -z "$DB_VER" ]; then + echo "Hmm, doesn't look like you have an existing database." + echo "Creating PostgreSQL bacula database..." + %{script_dir}/create_postgresql_database + echo "Creating bacula tables..." + %{script_dir}/make_postgresql_tables + echo "Granting privileges for PostgreSQL user bacula..." + %{script_dir}/grant_postgresql_privileges + +# check to see if we need to upgrade a 3.x database +elif [ "$DB_VER" -lt "12" ]; then + echo "This release requires an upgrade to your bacula database." + echo "Backing up your current database..." + pg_dump bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2 + echo "Upgrading bacula database ..." + %{script_dir}/update_postgresql_tables + echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2" + +fi +fi +%endif + +%if ! %{client_only} +if [ -d %{sysconf_dir} ]; then + cd %{sysconf_dir} + 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 + pass=`openssl rand -base64 33` + for file in *.conf; do + sed "s@${string}@${pass}@g" $file > $file.new + cp -f $file.new $file; rm -f $file.new + done + done +# put actual hostname in conf file + host=`hostname` + string="XXX_HOSTNAME_XXX" + for file in *.conf; do + sed "s@${string}@${host}@g" $file >$file.new + cp -f $file.new $file; rm -f $file.new + done +fi +%endif +/sbin/ldconfig +exit 0 # always exit successfull, as otherwise opensuse build service complains + +%if %{mysql} +%preun mysql +%endif +%if %{sqlite} +%preun sqlite +%endif +%if %{postgresql} +%preun postgresql +%endif + +%if ! %{client_only} +# delete our links +if [ $1 = 0 ]; then + /sbin/chkconfig --del bacula-dir + /sbin/chkconfig --del bacula-fd + /sbin/chkconfig --del bacula-sd +fi +/sbin/ldconfig +%endif + +# added: run ldconfig in postun +%if %{mysql} +%postun mysql +%endif +%if %{sqlite} +%postun sqlite +%endif +%if %{postgresql} +%postun postgresql +%endif +/sbin/ldconfig + +%files client +%defattr(-,root,root) +%attr(-, root, %{daemon_group}) %dir %{script_dir} +%{script_dir}/bacula-ctl-fd +/etc/init.d/bacula-fd + +/etc/logrotate.d/bacula + +%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-fd.conf +%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bconsole.conf +%attr(-, root, %{daemon_group}) %dir %{working_dir} + +%{_sbindir}/bacula-fd +%{_sbindir}/btraceback +%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.gdb +%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.dbx +%{_sbindir}/bconsole +%{_mandir}/man8/bacula-fd.8.%{manpage_ext} +%{_mandir}/man8/bacula.8.%{manpage_ext} +%{_mandir}/man8/bconsole.8.%{manpage_ext} +%{_mandir}/man8/btraceback.8.%{manpage_ext} +%{_mandir}/man1/bat.1.%{manpage_ext} +%{_libdir}/libbac.* +%{_libdir}/libbaccfg.* +%{_libdir}/libbacfind.* +%{_libdir}/libbacpy.* +%_prefix/share/doc/* + +#opensuse_bs: directories not owned by any package +%dir %attr(-, root, %{daemon_group}) %{sysconf_dir} + +%pre client +# create the daemon group and user +HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null` +if [ -z "$HAVE_BACULA" ]; then + %{groupadd} -r %{daemon_group} > /dev/null 2>&1 + echo "The group %{daemon_group} has been added to %{group_file}." + echo "See the manual chapter \"Running Bacula\" for details." +fi +# we do not use the -g option allowing the primary group to be set to system default +# this will be a unique group on redhat type systems or the group users on some systems +HAVE_BACULA=`grep %{file_daemon_user} %{user_file} 2>/dev/null` +if [ -z "$HAVE_BACULA" ]; then + %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{file_daemon_user} > /dev/null 2>&1 + echo "The user %{file_daemon_user} has been added to %{user_file}." + echo "See the manual chapter \"Running Bacula\" for details." +fi +# now we add the supplementary group, this is ok to call even if the user already exists +# we only do this if the user is NOT root +IS_ROOT=%{file_daemon_user} +if [ "$IS_ROOT" != "root" ]; then +%{usermod} -G %{daemon_group} %{file_daemon_user} +fi + +%post client +# add our link +if [ "$1" -ge 1 ] ; then + /sbin/chkconfig --add bacula-fd +fi + +if [ -d %{sysconf_dir} ]; then + cd %{sysconf_dir} + 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 + pass=`openssl rand -base64 33` + for file in *.conf; do + sed "s@${string}@${pass}@g" $file > $file.new + cp -f $file.new $file; rm -f $file.new + done + done +# put actual hostname in conf file + host=`hostname` + string="XXX_HOSTNAME_XXX" + for file in *.conf; do + sed "s@${string}@${host}@g" $file >$file.new + cp -f $file.new $file; rm -f $file.new + done +fi + +/sbin/ldconfig +exit 0 +%preun client +# delete our link +if [ $1 = 0 ]; then + /sbin/chkconfig --del bacula-fd +fi + +%postun client +/sbin/ldconfig + +%if ! %{client_only} +%files updatedb +%defattr(-,root,%{daemon_group}) +%{script_dir}/updatedb/* +#oensuse_bs: directories not owned by any package +#%{script_dir}/updatedb + +%pre updatedb +# create the daemon group +HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null` +if [ -z "$HAVE_BACULA" ]; then + %{groupadd} -r %{daemon_group} > /dev/null 2>&1 + echo "The group %{daemon_group} has been added to %{group_file}." + echo "See the manual chapter \"Running Bacula\" for details." +fi + +%post updatedb +echo "The database update scripts were installed to %{script_dir}/updatedb" +%endif + +%changelog +* Sun Feb 07 2010 D. Scott Barninger +- fix mysql database upgrade +* Fri Feb 05 2010 D. Scott Barninger +- fix permissions of dbcheck +- misc. cleanup +* Sat Jan 30 2010 D. Scott Barninger +- 5.0.0 +- add su112 and fc10 builds, remove doc package declaration. +- fix source path for logwatch files. +- restore static bundled build of sqlite (who took that out?) and remove use +- of system sqlite. we don't support use of sqlite2. +- upgrade database from version 11 to 12. +* Mon Aug 10 2009 Philipp Storz +- changes to work with opensuse build service +* Sat Aug 1 2009 Kern Sibbald +- Split docs into separate bacula-docs.spec, bacula-bat.spec and bacula-mtx.spec +- removed build of rescue, gnome console and wxconsole +* Sat Jun 20 2009 D. Scott Barninger +- Fix bat install which is now handled by make and uses shared libs +* Sat May 16 2009 D. Scott Barninger +- fix libxml dependency for rh7 per Pasi Kärkkäinen +* Mon May 04 2009 D. Scott Barninger +- Fix post ldconfig problem in client only build +* Sun May 03 2009 D. Scott Barninger +- remove more files installed by client-only build not needed by client package +- remove libbacsql files from client package +* Sat May 02 2009 D. Scott Barninger +- 3.0.1 +- update for new docs configuration +* Sat Apr 25 2009 D. Scott Barninger +- add switch to pass Distribution tag +* Sun Apr 5 2009 D. Scott Barninger +- 3.0.0 release +- database update version 10 to 11 +- make now installs docs so we rm from buildroot +- add shared libs in %_libdir and other misc new files +* Wed Dec 31 2008 D. Scott Barninger +- add su111 target +* Sat Nov 08 2008 D. Scott Barninger +- set paths for QT using pkgconfig +* Sat Oct 11 2008 D. Scott Barninger +- release 2.4.3 update depkgs to 11Sep08 remove file nmshack from mtx package +* Sun Sep 07 2008 D. Scott Barninger +- adjust /opt/bacula install +- add build switch to supress rescue package +* Sun Aug 24 2008 D. Scott Barninger +- add support for install to /opt/bacula +* Sun Aug 17 2008 D. Scott Barninger +- remove libtermcap dependancy for FC9 +* Mon Aug 04 2008 D. Scott Barninger +- fix bat dependencies +* Sat Jun 28 2008 D. Scott Barninger +- add su110 target +* Sat May 24 2008 D. Scott Barninger +- add fc9 target +* Sun Mar 30 2008 D. Scott Barninger +- FHS compatibility changes +* Sat Feb 16 2008 D. Scott Barninger +- remove fix for false buffer overflow detection with glibc >= 2.7 +* Sat Feb 09 2008 D. Scott Barninger +- fix for false buffer overflow detection with glibc >= 2.7 diff --git a/bacula/platforms/suse/bacula.spec.in b/bacula/platforms/suse/bacula.spec.in deleted file mode 100644 index 7936fb978d..0000000000 --- a/bacula/platforms/suse/bacula.spec.in +++ /dev/null @@ -1,2955 +0,0 @@ -# Bacula RPM spec file -# Copyright (C) 2000-2008 Kern Sibbald - -# Platform Build Configuration - -# basic defines for every build -%define _version @VERSION@ -%define _release 1 -%define depkgs_version 18Feb09 -%define _rescuever @VERSION@ -%define docs_version @VERSION@ - -# any patches for this release -# be sure to check the setup section for patch macros - -#-------------------------------------------------------------------------- -# it should not be necessary to change anything below here for a release -# except for patch macros in the setup section -#-------------------------------------------------------------------------- - -%define single_dir 0 -%{?single_dir_install:%define single_dir 1} -%if %{single_dir} -%define _prefix /opt/bacula -%else -%define _prefix /usr -%endif - -# third party packagers -%define _packager D. Scott Barninger -%{?contrib_packager:%define _packager %{contrib_packager}} - -Summary: Bacula - The Network Backup Solution -Name: bacula -Version: %{_version} -Release: %{_release} -Group: System Environment/Daemons -License: GPL v2 -Source0: http://www.prdownloads.sourceforge.net/bacula/%{name}-%{version}.tar.gz -Source1: http://www.prdownloads.sourceforge.net/bacula/depkgs-%{depkgs_version}.tar.gz -Source2: Release_Notes-%{version}-%{release}.tar.gz -Source3: http://www.prdownloads.sourceforge.net/bacula/%{name}-docs-%{docs_version}.tar.gz -Source4: http://www.prdownloads.sourceforge.net/bacula/%{name}-rescue-%{_rescuever}.tar.gz -Source5: bacula-2.2.7-postgresql.patch -BuildRoot: %{_tmppath}/%{name}-root -URL: http://www.bacula.org/ -Vendor: The Bacula Team -Packager: %{_packager} -Prefix: %{_prefix} - -# define the basic package description -%define blurb Bacula - It comes by night and sucks the vital essence from your computers. -%define blurb2 Bacula is a set of computer programs that permit you (or the system -%define blurb3 administrator) to manage backup, recovery, and verification of computer -%define blurb4 data across a network of computers of different kinds. In technical terms, -%define blurb5 it is a network client/server based backup program. Bacula is relatively -%define blurb6 easy to use and efficient, while offering many advanced storage management -%define blurb7 features that make it easy to find and recover lost or damaged files. -%define blurb8 Bacula source code has been released under the GPL version 2 license. - -# source directory locations -%define _docsrc ../%{name}-docs-%{docs_version} -%define _rescuesrc ../%{name}-rescue-%{_rescuever} -%define depkgs ../depkgs - -# directory locations -%if %{single_dir} -%define _sbindir /opt/bacula -%define _subsysdir /opt/bacula/working -%define sqlite_bindir /opt/bacula/sqlite -%define _mandir /usr/share/man -%define sysconf_dir /opt/bacula -%define script_dir /opt/bacula/scripts -%define working_dir /opt/bacula/working -%define pid_dir /opt/bacula/working -%else -%define _sbindir %_prefix/sbin -%define _subsysdir /var/lock/subsys -%define sqlite_bindir %_libdir/bacula/sqlite -%define _mandir %_prefix/share/man -%define sysconf_dir /etc/bacula -%define script_dir %_libdir/bacula -%define working_dir /var/lib/bacula -%define pid_dir /var/run -%endif - -# NOTE these defines are used in some rather complex useradd and groupadd -# commands. If you change them examine the post scripts for consequences. -%define director_daemon_user bacula -%define storage_daemon_user bacula -%define file_daemon_user root -%define daemon_group bacula -# group that has write access to tape devices, usually disk on Linux -%define storage_daemon_group disk -%define user_file /etc/passwd -%define group_file /etc/group - -# program locations -%define useradd /usr/sbin/useradd -%define groupadd /usr/sbin/groupadd -%define usermod /usr/sbin/usermod - -# platform defines - set one below or define the build_xxx on the command line -# RedHat builds -%define rh7 0 -%{?build_rh7:%define rh7 1} -%define rh8 0 -%{?build_rh8:%define rh8 1} -%define rh9 0 -%{?build_rh9:%define rh9 1} -# Fedora Core build -%define fc1 0 -%{?build_fc1:%define fc1 1} -%define fc3 0 -%{?build_fc3:%define fc3 1} -%define fc4 0 -%{?build_fc4:%define fc4 1} -%define fc5 0 -%{?build_fc5:%define fc5 1} -%define fc6 0 -%{?build_fc6:%define fc6 1} -%define fc7 0 -%{?build_fc7:%define fc7 1} -%define fc8 0 -%{?build_fc8:%define fc8 1} -%define fc9 0 -%{?build_fc9:%define fc9 1} -# Whitebox Enterprise build -%define wb3 0 -%{?build_wb3:%define wb3 1} -# RedHat Enterprise builds -%define rhel3 0 -%{?build_rhel3:%define rhel3 1} -%{?build_rhel3:%define wb3 1} -%define rhel4 0 -%{?build_rhel4:%define rhel4 1} -%{?build_rhel4:%define fc3 1} -%define rhel5 0 -%{?build_rhel5:%define rhel5 1} -%{?build_rhel5:%define fc6 1} -# CentOS build -%define centos3 0 -%{?build_centos3:%define centos3 1} -%{?build_centos3:%define wb3 1} -%define centos4 0 -%{?build_centos4:%define centos4 1} -%{?build_centos4:%define fc3 1} -%define centos5 0 -%{?build_centos5:%define centos5 1} -%{?build_centos5:%define fc6 1} -# SL build -%define sl3 0 -%{?build_sl3:%define sl3 1} -%{?build_sl3:%define wb3 1} -%define sl4 0 -%{?build_sl4:%define sl4 1} -%{?build_sl4:%define fc3 1} -%define sl5 0 -%{?build_sl5:%define sl5 1} -%{?build_sl5:%define fc6 1} -# SuSE build -%define su9 0 -%{?build_su9:%define su9 1} -%define su10 0 -%{?build_su10:%define su10 1} -%define su102 0 -%{?build_su102:%define su102 1} -%define su103 0 -%{?build_su103:%define su103 1} -%define su110 0 -%{?build_su110:%define su110 1} -%define su111 0 -%{?build_su111:%define su111 1} -# Mandrake builds -%define mdk 0 -%{?build_mdk:%define mdk 1} -%define mdv 0 -%{?build_mdv:%define mdv 1} -%{?build_mdv:%define mdk 1} - -# client only build -%define client_only 0 -%{?build_client_only:%define client_only 1} - -# test for a platform definition -%if !%{rh7} && !%{rh8} && !%{rh9} && !%{fc1} && !%{fc3} && !%{fc4} && !%{fc5} && !%{fc6} && !%{fc7} && !%{fc8} && !%{fc9} && !%{wb3} && !%{su9} && !%{su10} && !%{su102} && !%{su103} && !%{su110} && !%{su111} && !%{mdk} -%{error: You must specify a platform. Please examine the spec file.} -exit 1 -%endif - -# database defines -# set for database support desired or define the build_xxx on the command line -%define mysql 0 -%{?build_mysql:%define mysql 1} -# if using mysql 4.x define this and mysql above -# currently: Mandrake 10.1, SuSE 9.x & 10.0, RHEL4 and Fedora Core 4 -%define mysql4 0 -%{?build_mysql4:%define mysql4 1} -%{?build_mysql4:%define mysql 1} -# if using mysql 5.x define this and mysql above -# currently: SuSE 10.1 and Fedora Core 5 -%define mysql5 0 -%{?build_mysql5:%define mysql5 1} -%{?build_mysql5:%define mysql 1} -%define sqlite 0 -%{?build_sqlite:%define sqlite 1} -%define postgresql 0 -%{?build_postgresql:%define postgresql 1} - -# test for a database definition -%if ! %{mysql} && ! %{sqlite} && ! %{postgresql} && ! %{client_only} -%{error: You must specify database support. Please examine the spec file.} -exit 1 -%endif - -%if %{mysql} -%define db_backend mysql -%endif -%if %{sqlite} -%define db_backend sqlite3 -%endif -%if %{postgresql} -%define db_backend postgresql -%endif - -# 64 bit support -%define x86_64 0 -%{?build_x86_64:%define x86_64 1} - -# check what distribution we are -%if %{rh7} || %{rh8} || %{rh9} || %{rhel3} || %{rhel4} || %{rhel5} -%define _dist %(grep Red /etc/redhat-release) -%endif -%if %{fc1} || %{fc4} || %{fc5} || %{fc7} || %{fc8} || %{fc9} -%define _dist %(grep Fedora /etc/redhat-release) -%endif -%if %{centos5} || %{centos4} || %{centos3} -%define _dist %(grep CentOS /etc/redhat-release) -%endif -%if %{sl5} ||%{sl4} || %{sl3} -%define _dist %(grep 'Scientific Linux' /etc/redhat-release) -%endif -%if %{fc3} && ! %{rhel4} && ! %{centos4} && ! %{sl4} -%define _dist %(grep Fedora /etc/redhat-release) -%endif -%if %{fc6} && ! %{rhel5} && ! %{centos5} && ! %{sl5} -%define _dist %(grep Fedora /etc/redhat-release) -%endif -%if %{wb3} && ! %{rhel3} && ! %{centos3} && ! %{sl3} -%define _dist %(grep White /etc/whitebox-release) -%endif -%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111} -%define _dist %(grep -i SuSE /etc/SuSE-release) -%endif -%if %{mdk} -%define _dist %(grep Mand /etc/mandrake-release) -%endif -%{?DISTNAME:%define _dist %{DISTNAME}} -Distribution: %{_dist} - -# Should we build gconsole, possible only if gtk= >= 2.4 available. -# leaving all the BuildRequires and Requires in place below for now. -# su10, fc3 and fc4 now nobuild, tray monitor fails to build as of 2.2.1 -# release as it needs 2.10 - -%define gconsole 1 -%if %{rh7} || %{rh8} || %{rh9} || %{wb3} || %{fc1} || %{fc3} || %{fc4} || %{su9} || %{su10} -%define gconsole 0 -%endif -%if %{mdk} && ! %{mdv} -%define gconsole 0 -%endif - -# specifically disallow gconsole if desired -%{?nobuild_gconsole:%define gconsole 0} - -# specifically disallow rescue files -%define rescue 0 -%{?build_rescue:%define rescue 1} - -# Should we build wxconsole, only wxWidgets >=2.6 is supported -# SuSE 10 and FC4 and newer -%define wxconsole 0 -%{?build_wxconsole:%define wxconsole 1} - -# Should we build bat -# requires >= Qt-4.2 -%define bat 0 -%{?build_bat:%define bat 1} - -# should we turn on python support -%define python 0 -%{?build_python:%define python 1} - -# specifically disallow build of mtx package if desired -%define mtx 1 -%{?nobuild_mtx:%define mtx 0} - -# do we need to patch for old postgresql version? -%define old_pgsql 0 -%{?build_old_pgsql:%define old_pgsql 1} - -# Mandriva somehow forces the manpage file extension to bz2 rather than gz -%if %{mdk} -%define manpage_ext bz2 -%else -%define manpage_ext gz -%endif - -# for client only build -%if %{client_only} -%define mysql 0 -%define mysql4 0 -%define mysql5 0 -%define postgresql 0 -%define sqlite 0 -%define gconsole 0 -%define wxconsole 0 -%endif - -%{expand: %%define gccver %(rpm -q --queryformat %%{version} gcc)} -%{expand: %%define gccrel %(rpm -q --queryformat %%{release} gcc)} - -BuildRequires: gcc, gcc-c++, make, autoconf -BuildRequires: ncurses-devel, perl -BuildRequires: libstdc++-devel = %{gccver}-%{gccrel}, zlib-devel -BuildRequires: openssl-devel -%if ! %{rh7} -BuildRequires: libxml2-devel -%endif -%if %{python} -BuildRequires: python, python-devel -%{expand: %%define pyver %(python -c 'import sys;print(sys.version[0:3])')} -%endif -%if %{gconsole} -BuildRequires: pkgconfig, pango-devel, atk-devel -%endif -%if %{bat} -BuildRequires: pkgconfig -%endif - -# Rh qt4 packages don't have a provide for, guess what, qt! -# still broken in fc8, ok in fc9 -# so fix for broken rh -%define broken_rh 0 -%if %{rhel5} || %{centos5} || %{sl5} || %{fc5} || %{fc6} || %{fc7} || %{fc8} -%define broken_rh 1 -%endif -%if %{bat} && ! %{broken_rh} -BuildRequires: qt-devel >= 4.2 -%endif -%if %{bat} && %{broken_rh} -BuildRequires: qt4-devel >= 4.2 -%endif - -%if %{rh7} -BuildRequires: libtermcap-devel -BuildRequires: glibc-devel >= 2.2 -BuildRequires: libxml-devel -%endif -%if %{su9} -BuildRequires: termcap -BuildRequires: glibc-devel >= 2.3 -%endif -%if %{su9} && %{gconsole} -BuildRequires: libgnome >= 2.0 -BuildRequires: gtk2-devel >= 2.0 -BuildRequires: libgnomeui-devel >= 2.0 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.0 -BuildRequires: libbonobo-devel >= 2.0 -BuildRequires: libbonoboui-devel >= 2.0 -BuildRequires: bonobo-activation-devel -BuildRequires: gconf2-devel -BuildRequires: linc-devel -BuildRequires: freetype2-devel -%endif -%if %{su10} -BuildRequires: termcap -BuildRequires: glibc-devel >= 2.3 -%endif -%if %{su10} && %{gconsole} -BuildRequires: libgnome >= 2.12 -BuildRequires: gtk2-devel >= 2.8 -BuildRequires: libgnomeui-devel >= 2.12 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.3 -BuildRequires: libbonobo-devel >= 2.10 -BuildRequires: libbonoboui-devel >= 2.10 -BuildRequires: bonobo-activation-devel -BuildRequires: gconf2-devel -BuildRequires: freetype2-devel -BuildRequires: cairo-devel -BuildRequires: fontconfig-devel >= 2.3 -BuildRequires: gnome-vfs2-devel >= 2.12 -BuildRequires: libpng-devel -%endif -%if %{su102} -BuildRequires: termcap -BuildRequires: glibc-devel >= 2.5 -%endif -%if %{su102} && %{gconsole} -BuildRequires: libgnome >= 2.16 -BuildRequires: gtk2-devel >= 2.10 -BuildRequires: libgnomeui-devel >= 2.16 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.3 -BuildRequires: libbonobo-devel >= 2.16 -BuildRequires: libbonoboui-devel >= 2.16 -BuildRequires: bonobo-activation-devel -BuildRequires: gconf2-devel -BuildRequires: freetype2-devel -BuildRequires: cairo-devel -BuildRequires: fontconfig-devel >= 2.4 -BuildRequires: gnome-vfs2-devel >= 2.16 -BuildRequires: libpng-devel -%endif -%if %{su103} -BuildRequires: termcap -BuildRequires: glibc-devel >= 2.6 -%endif -%if %{su103} && %{gconsole} -BuildRequires: libgnome >= 2.20 -BuildRequires: gtk2-devel >= 2.12 -BuildRequires: libgnomeui-devel >= 2.20 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.3 -BuildRequires: libbonobo-devel >= 2.20 -BuildRequires: libbonoboui-devel >= 2.20 -BuildRequires: bonobo-activation-devel -BuildRequires: gconf2-devel -BuildRequires: freetype2-devel -BuildRequires: cairo-devel -BuildRequires: fontconfig-devel >= 2.4 -BuildRequires: gnome-vfs2-devel >= 2.20 -BuildRequires: libpng-devel -%endif -%if %{su110} -BuildRequires: termcap -BuildRequires: glibc-devel >= 2.8 -%endif -%if %{su110} && %{gconsole} -BuildRequires: libgnome >= 2.22 -BuildRequires: gtk2-devel >= 2.12 -BuildRequires: libgnomeui-devel >= 2.22 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.3 -BuildRequires: libbonobo-devel >= 2.22 -BuildRequires: libbonoboui-devel >= 2.22 -BuildRequires: bonobo-activation-devel -BuildRequires: gconf2-devel -BuildRequires: freetype2-devel -BuildRequires: cairo-devel -BuildRequires: fontconfig-devel >= 2.4 -BuildRequires: gnome-vfs2-devel >= 2.22 -BuildRequires: libpng-devel -%endif -%if %{su111} -BuildRequires: termcap -BuildRequires: glibc-devel >= 2.9 -%endif -%if %{su111} && %{gconsole} -BuildRequires: libgnome >= 2.24 -BuildRequires: gtk2-devel >= 2.14 -BuildRequires: libgnomeui-devel >= 2.24 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.3 -BuildRequires: libbonobo-devel >= 2.24 -BuildRequires: libbonoboui-devel >= 2.24 -BuildRequires: bonobo-activation-devel -BuildRequires: gconf2-devel -BuildRequires: freetype2-devel -BuildRequires: cairo-devel -BuildRequires: fontconfig-devel >= 2.6 -BuildRequires: gnome-vfs2-devel >= 2.24 -BuildRequires: libpng-devel -%endif -%if %{mdk} -BuildRequires: libtermcap-devel -BuildRequires: libstdc++-static-devel -BuildRequires: glibc-static-devel -BuildRequires: glibc-devel >= 2.3 -%endif -%if %{mdk} && !%{mdv} && %{gconsole} -BuildRequires: gtk2-devel >= 2.0 -BuildRequires: libgnomeui2-devel >= 2.0 -BuildRequires: libORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.0 -BuildRequires: libbonobo2_0-devel -BuildRequires: libbonoboui2_0-devel -BuildRequires: libbonobo-activation-devel -BuildRequires: libGConf2-devel -BuildRequires: freetype2-devel -%endif -%if %{mdv} && %{gconsole} -BuildRequires: gtk2-devel >= 2.8 -BuildRequires: libgnomeui2-devel >= 2.10 -BuildRequires: libORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.3 -BuildRequires: libbonobo2_0-devel -BuildRequires: libbonoboui2_0-devel -BuildRequires: libbonobo-activation-devel -BuildRequires: libGConf2-devel -BuildRequires: freetype2-devel -%endif -%if %{fc3} -BuildRequires: libtermcap-devel -BuildRequires: glibc-devel >= 2.3 -%endif -%if %{fc3} && %{gconsole} -BuildRequires: gtk2-devel >= 2.4 -BuildRequires: libgnomeui-devel >= 2.8 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.3 -BuildRequires: libbonobo-devel >= 2.8 -BuildRequires: libbonoboui-devel >= 2.8 -BuildRequires: bonobo-activation-devel -BuildRequires: GConf2-devel -BuildRequires: freetype-devel -%endif -%if %{fc4} -BuildRequires: libtermcap-devel -BuildRequires: glibc-devel >= 2.3 -%endif -%if %{fc4} && %{gconsole} -BuildRequires: gtk2-devel >= 2.6 -BuildRequires: libgnomeui-devel >= 2.10 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.3 -BuildRequires: libbonobo-devel >= 2.8 -BuildRequires: libbonoboui-devel >= 2.8 -BuildRequires: bonobo-activation-devel -BuildRequires: GConf2-devel -BuildRequires: freetype-devel -%endif -%if %{fc5} -BuildRequires: libtermcap-devel -BuildRequires: glibc-devel >= 2.4 -%endif -%if %{fc5} && %{gconsole} -BuildRequires: gtk2-devel >= 2.8 -BuildRequires: libgnomeui-devel >= 2.14 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.3 -BuildRequires: libbonobo-devel >= 2.14 -BuildRequires: libbonoboui-devel >= 2.14 -BuildRequires: GConf2-devel -BuildRequires: freetype-devel -%endif -%if %{fc6} -BuildRequires: libtermcap-devel -BuildRequires: glibc-devel >= 2.5 -%endif -%if %{fc6} && %{gconsole} -BuildRequires: gtk2-devel >= 2.10 -BuildRequires: libgnomeui-devel >= 2.16 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.3 -BuildRequires: libbonobo-devel >= 2.16 -BuildRequires: libbonoboui-devel >= 2.16 -BuildRequires: GConf2-devel -BuildRequires: freetype-devel -%endif -%if %{fc7} -BuildRequires: libtermcap-devel -BuildRequires: glibc-devel >= 2.5 -%endif -%if %{fc7} && %{gconsole} -BuildRequires: gtk2-devel >= 2.10 -BuildRequires: libgnomeui-devel >= 2.18 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.3 -BuildRequires: libbonobo-devel >= 2.18 -BuildRequires: libbonoboui-devel >= 2.18 -BuildRequires: GConf2-devel -BuildRequires: freetype-devel -%endif -%if %{fc8} -BuildRequires: libtermcap-devel -BuildRequires: glibc-devel >= 2.7 -%endif -%if %{fc8} && %{gconsole} -BuildRequires: gtk2-devel >= 2.12 -BuildRequires: libgnomeui-devel >= 2.20 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.3 -BuildRequires: libbonobo-devel >= 2.20 -BuildRequires: libbonoboui-devel >= 2.20 -BuildRequires: GConf2-devel -BuildRequires: freetype-devel -%endif -%if %{fc9} -BuildRequires: glibc-devel >= 2.8 -BuildRequires: zlib-static -%endif -%if %{fc9} && %{gconsole} -BuildRequires: gtk2-devel >= 2.12 -BuildRequires: libgnomeui-devel >= 2.22 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.3 -BuildRequires: libbonobo-devel >= 2.22 -BuildRequires: libbonoboui-devel >= 2.22 -BuildRequires: GConf2-devel -BuildRequires: freetype-devel -%endif -%if !%{rh7} && !%{su9} && !%{su10} && !%{su102} && !%{su103} && !%{su110} && !%{su111} && !%{mdk} && !%{fc3} && !%{fc4} && !%{fc5} && !%{fc6} && !%{fc7} && !%{fc8} && !%{fc9} -BuildRequires: libtermcap-devel -BuildRequires: glibc-devel >= 2.3 -%endif -%if !%{rh7} && !%{su9} && !%{su10} && !%{su102} && !%{su103} && !%{su110} && !%{su111} && !%{mdk} && !%{fc3} && !%{fc4} && !%{fc5} && !%{fc6} && !%{fc7} && !%{fc8} && !%{fc9} && %{gconsole} -BuildRequires: gtk2-devel >= 2.0 -BuildRequires: libgnomeui-devel >= 2.0 -BuildRequires: ORBit2-devel -BuildRequires: libart_lgpl-devel >= 2.0 -BuildRequires: libbonobo-devel >= 2.0 -BuildRequires: libbonoboui-devel >= 2.0 -BuildRequires: bonobo-activation-devel -BuildRequires: GConf2-devel -BuildRequires: linc-devel -BuildRequires: freetype-devel -%endif - -%if %{mysql} && ! %{mysql4} && ! %{mysql5} -BuildRequires: mysql-devel >= 3.23 -%endif - -%if %{mysql} && %{mysql4} -BuildRequires: mysql-devel >= 4.0 -%endif - -%if %{mysql} && %{mysql5} -BuildRequires: mysql-devel >= 5.0 -%endif - -%if %{postgresql} && %{wb3} -BuildRequires: rh-postgresql-devel >= 7 -%endif - -%if %{postgresql} && ! %{wb3} -BuildRequires: postgresql-devel >= 7 -%endif - -%if %{wxconsole} -BuildRequires: wxGTK-devel >= 2.6 -%endif - -%description -%{blurb} - -%{blurb2} -%{blurb3} -%{blurb4} -%{blurb5} -%{blurb6} -%{blurb7} -%{blurb8} - -%if %{mysql} -%package mysql -%endif -%if %{sqlite} -%package sqlite -%endif -%if %{postgresql} -%package postgresql -%endif - -Summary: Bacula - The Network Backup Solution -Group: System Environment/Daemons -Provides: bacula-dir, bacula-sd, bacula-fd, bacula-server -Conflicts: bacula-client -Obsoletes: bacula-rescue - -%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111} -Conflicts: bacula -%endif - -Requires: ncurses, libstdc++, zlib, openssl, mtx - -%if %{rh7} -Requires: glibc >= 2.2 -Requires: libtermcap -%endif -%if %{su9} || %{su10} -Requires: glibc >= 2.3 -Requires: termcap -%endif -%if %{su102} -Requires: glibc >= 2.5 -Requires: termcap -%endif -%if %{su103} -Requires: glibc >= 2.6 -Requires: termcap -%endif -%if %{su110} -Requires: glibc >= 2.8 -Requires: termcap -%endif -%if %{su111} -Requires: glibc >= 2.9 -Requires: termcap -%endif -%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} && ! %{fc5} && ! %{fc6} && ! %{fc7} && ! %{fc8} && ! %{fc9} -Requires: glibc >= 2.3 -Requires: libtermcap -%endif -%if %{fc5} -Requires: glibc >= 2.4 -Requires: libtermcap -%endif -%if %{fc6} || %{fc7} -Requires: glibc >= 2.5 -Requires: libtermcap -%endif -%if %{fc8} -Requires: glibc >= 2.7 -Requires: libtermcap -%endif -%if %{fc9} -Requires: glibc >= 2.8 -%endif - -%if %{mysql} && ! %{su9} && ! %{mdk} && ! %{mysql4} && ! %{mysql5} -Requires: mysql >= 3.23 -Requires: mysql-server >= 3.23 -%endif -%if %{mysql} && ! %{su9} && ! %{su10} && ! %{mdk} && %{mysql4} -Requires: mysql >= 4.0 -Requires: mysql-server >= 4.0 -%endif -%if %{mysql} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} && ! %{mdk} && %{mysql5} -Requires: mysql >= 5.0 -Requires: mysql-server >= 5.0 -%endif - -%if %{mysql} && %{su9} && ! %{mysql4} -Requires: mysql >= 3.23 -Requires: mysql-client >= 3.23 -%endif -%if %{mysql} && %{su9} && %{mysql4} -Requires: mysql >= 4.0 -Requires: mysql-client >= 4.0 -%endif -%if %{mysql} && %{su10} && %{mysql4} -Requires: mysql >= 4.0 -Requires: mysql-client >= 4.0 -%endif -%if %{mysql} && %{su10} && %{mysql5} -Requires: mysql >= 5.0 -Requires: mysql-client >= 5.0 -%endif -%if %{mysql} && %{su102} && %{mysql5} -Requires: mysql >= 5.0 -Requires: mysql-client >= 5.0 -%endif -%if %{mysql} && %{su103} && %{mysql5} -Requires: mysql >= 5.0 -Requires: mysql-client >= 5.0 -%endif -%if %{mysql} && %{su110} && %{mysql5} -Requires: mysql >= 5.0 -Requires: mysql-client >= 5.0 -%endif -%if %{mysql} && %{su111} && %{mysql5} -Requires: mysql >= 5.0 -Requires: mysql-client >= 5.0 -%endif - -%if %{mysql} && %{mdk} && ! %{mysql4} -Requires: mysql >= 3.23 -Requires: mysql-client >= 3.23 -%endif -%if %{mysql} && %{mdk} && %{mysql4} -Requires: mysql >= 4.0 -Requires: mysql-client >= 4.0 -%endif - -%if %{postgresql} && %{wb3} -Requires: rh-postgresql >= 7 -Requires: rh-postgresql-server >= 7 -%endif -%if %{postgresql} && ! %{wb3} -Requires: postgresql >= 7 -Requires: postgresql-server >= 7 -%endif - -%if %{mysql} -%description mysql -%endif -%if %{sqlite} -%description sqlite -%endif -%if %{postgresql} -%description postgresql -%endif - -%if %{python} -Requires: python >= %{pyver} -%endif - -%{blurb} - -%{blurb2} -%{blurb3} -%{blurb4} -%{blurb5} -%{blurb6} -%{blurb7} -%{blurb8} - -%if %{mysql} -This build requires MySQL to be installed separately as the catalog database. -%endif -%if %{postgresql} -This build requires PostgreSQL to be installed separately as the catalog database. -%endif -%if %{sqlite} -This build incorporates sqlite3 as the catalog database, statically compiled. -%endif -%if %{python} -This build includes python scripting support. -%endif - -%if ! %{client_only} && %{mtx} -%package mtx -Summary: Bacula - The Network Backup Solution -Group: System Environment/Daemons -Provides: mtx - -%description mtx -This is Bacula's version of mtx tape utilities for Linux distributions that -do not provide their own mtx package -%endif - -%package client -Summary: Bacula - The Network Backup Solution -Group: System Environment/Daemons -Provides: bacula-fd -Conflicts: bacula-mysql -Conflicts: bacula-sqlite -Conflicts: bacula-postgresql -Obsoletes: bacula-rescue - -%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111} -Provides: bacula -%endif - -Requires: libstdc++, zlib, openssl - -%if %{rh7} -Requires: glibc >= 2.2 -Requires: libtermcap -%endif -%if %{su9} || %{su10} -Requires: glibc >= 2.3 -Requires: termcap -%endif -%if %{su102} -Requires: glibc >= 2.5 -Requires: termcap -%endif -%if %{su103} -Requires: glibc >= 2.6 -Requires: termcap -%endif -%if %{su110} -Requires: glibc >= 2.8 -Requires: termcap -%endif -%if %{su111} -Requires: glibc >= 2.9 -Requires: termcap -%endif -%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} && ! %{fc5} && ! %{fc6} && ! %{fc7} && ! %{fc8} && ! %{fc9} -Requires: glibc >= 2.3 -Requires: libtermcap -%endif -%if %{fc5} -Requires: glibc >= 2.4 -Requires: libtermcap -%endif -%if %{fc6} || %{fc7} -Requires: glibc >= 2.5 -Requires: libtermcap -%endif -%if %{fc8} -Requires: glibc >= 2.7 -Requires: libtermcap -%endif -%if %{fc9} -Requires: glibc >= 2.8 -%endif - -%if %{python} -Requires: python >= %{pyver} -%endif - -%description client -%{blurb} - -%{blurb2} -%{blurb3} -%{blurb4} -%{blurb5} -%{blurb6} -%{blurb7} -%{blurb8} - -This is the File daemon (Client) only package. It includes the command line -console program. -%if %{python} -This build includes python scripting support. -%endif - -%if ! %{client_only} -%package updatedb - -Summary: Bacula - The Network Backup Solution -Group: System Environment/Daemons - -%description updatedb -%{blurb} - -%{blurb2} -%{blurb3} -%{blurb4} -%{blurb5} -%{blurb6} -%{blurb7} -%{blurb8} - -This package installs scripts for updating older versions of the bacula -database. -%endif - -%if %{gconsole} -%package gconsole -Summary: Bacula - The Network Backup Solution -Group: System Environment/Daemons -Requires: atk, libstdc++, zlib, pango, libxml2, bacula-fd, openssl -%endif - -%if %{gconsole} && %{su9} -Requires: gtk2 >= 2.0 -Requires: libgnome >= 2.0 -Requires: libgnomeui >= 2.0 -Requires: glibc >= 2.3 -Requires: ORBit2 -Requires: libart_lgpl >= 2.0 -Requires: libbonobo >= 2.0 -Requires: libbonoboui >= 2.0 -Requires: bonobo-activation -Requires: gconf2 -Requires: linc -Requires: freetype2 -%endif -%if %{gconsole} && %{su10} -Requires: gtk2 >= 2.8 -Requires: libgnome >= 2.12 -Requires: libgnomeui >= 2.12 -Requires: glibc >= 2.3 -Requires: ORBit2 -Requires: libart_lgpl >= 2.3 -Requires: libbonobo >= 2.10 -Requires: libbonoboui >= 2.10 -Requires: bonobo-activation -Requires: gconf2 -Requires: freetype2 -Requires: cairo -Requires: fontconfig >= 2.3 -Requires: gnome-vfs2 >= 2.12 -Requires: libpng -%endif -%if %{gconsole} && %{su102} -Requires: gtk2 >= 2.10 -Requires: libgnome >= 2.16 -Requires: libgnomeui >= 2.16 -Requires: glibc >= 2.5 -Requires: ORBit2 -Requires: libart_lgpl >= 2.3 -Requires: libbonobo >= 2.16 -Requires: libbonoboui >= 2.16 -Requires: bonobo-activation -Requires: gconf2 -Requires: freetype2 -Requires: cairo -Requires: fontconfig >= 2.4 -Requires: gnome-vfs2 >= 2.16 -Requires: libpng -%endif -%if %{gconsole} && %{su103} -Requires: gtk2 >= 2.12 -Requires: libgnome >= 2.20 -Requires: libgnomeui >= 2.20 -Requires: glibc >= 2.6 -Requires: ORBit2 -Requires: libart_lgpl >= 2.3 -Requires: libbonobo >= 2.20 -Requires: libbonoboui >= 2.20 -Requires: bonobo-activation -Requires: gconf2 -Requires: freetype2 -Requires: cairo -Requires: fontconfig >= 2.4 -Requires: gnome-vfs2 >= 2.20 -Requires: libpng -%endif -%if %{gconsole} && %{su110} -Requires: gtk2 >= 2.12 -Requires: libgnome >= 2.22 -Requires: libgnomeui >= 2.22 -Requires: glibc >= 2.8 -Requires: ORBit2 -Requires: libart_lgpl >= 2.3 -Requires: libbonobo >= 2.22 -Requires: libbonoboui >= 2.22 -Requires: bonobo-activation -Requires: gconf2 -Requires: freetype2 -Requires: cairo -Requires: fontconfig >= 2.4 -Requires: gnome-vfs2 >= 2.22 -Requires: libpng -%endif -%if %{gconsole} && %{su111} -Requires: gtk2 >= 2.14 -Requires: libgnome >= 2.24 -Requires: libgnomeui >= 2.24 -Requires: glibc >= 2.9 -Requires: ORBit2 -Requires: libart_lgpl >= 2.3 -Requires: libbonobo >= 2.24 -Requires: libbonoboui >= 2.24 -Requires: bonobo-activation -Requires: gconf2 -Requires: freetype2 -Requires: cairo -Requires: fontconfig >= 2.6 -Requires: gnome-vfs2 >= 2.24 -Requires: libpng -%endif -%if %{gconsole} && %{mdk} && !%{mdv} -Requires: gtk2 >= 2.0 -Requires: libgnomeui2 -Requires: glibc >= 2.3 -Requires: ORBit2 -Requires: libart_lgpl >= 2.0 -Requires: libbonobo >= 2.0 -Requires: libbonoboui >= 2.0 -Requires: GConf2 -Requires: freetype2 -%endif -%if %{gconsole} && %{mdv} -Requires: gtk2 >= 2.8 -Requires: libgnomeui2 -Requires: glibc >= 2.3 -Requires: ORBit2 -Requires: libart_lgpl >= 2.3 -Requires: libbonobo >= 2.10 -Requires: libbonoboui >= 2.10 -Requires: GConf2 -Requires: freetype2 -%endif -%if %{gconsole} && %{fc3} -Requires: gtk2 >= 2.4 -Requires: libgnomeui >= 2.8 -Requires: glibc >= 2.3 -Requires: ORBit2 -Requires: libart_lgpl >= 2.3 -Requires: libbonobo >= 2.8 -Requires: libbonoboui >= 2.8 -Requires: bonobo-activation -Requires: GConf2 -Requires: freetype -%endif -%if %{gconsole} && %{fc4} -Requires: gtk2 >= 2.6 -Requires: libgnomeui >= 2.10 -Requires: glibc >= 2.3 -Requires: ORBit2 -Requires: libart_lgpl >= 2.3 -Requires: libbonobo >= 2.8 -Requires: libbonoboui >= 2.8 -Requires: bonobo-activation -Requires: GConf2 -Requires: freetype -%endif -%if %{gconsole} && %{fc5} -Requires: gtk2 >= 2.8 -Requires: libgnomeui >= 2.14 -Requires: glibc >= 2.4 -Requires: ORBit2 -Requires: libart_lgpl >= 2.3 -Requires: libbonobo >= 2.14 -Requires: libbonoboui >= 2.14 -Requires: GConf2 -Requires: freetype -%endif -%if %{gconsole} && %{fc6} -Requires: gtk2 >= 2.10 -Requires: libgnomeui >= 2.16 -Requires: glibc >= 2.5 -Requires: ORBit2 -Requires: libart_lgpl >= 2.3 -Requires: libbonobo >= 2.16 -Requires: libbonoboui >= 2.16 -Requires: GConf2 -Requires: freetype -%endif -%if %{gconsole} && %{fc7} -Requires: gtk2 >= 2.10 -Requires: libgnomeui >= 2.18 -Requires: glibc >= 2.5 -Requires: ORBit2 -Requires: libart_lgpl >= 2.3 -Requires: libbonobo >= 2.18 -Requires: libbonoboui >= 2.18 -Requires: GConf2 -Requires: freetype -%endif -%if %{gconsole} && %{fc8} -Requires: gtk2 >= 2.12 -Requires: libgnomeui >= 2.20 -Requires: glibc >= 2.7 -Requires: ORBit2 -Requires: libart_lgpl >= 2.3 -Requires: libbonobo >= 2.20 -Requires: libbonoboui >= 2.20 -Requires: GConf2 -Requires: freetype -%endif -%if %{gconsole} && %{fc9} -Requires: gtk2 >= 2.12 -Requires: libgnomeui >= 2.22 -Requires: glibc >= 2.8 -Requires: ORBit2 -Requires: libart_lgpl >= 2.3 -Requires: libbonobo >= 2.22 -Requires: libbonoboui >= 2.22 -Requires: GConf2 -Requires: freetype -%endif -%if %{gconsole} && !%{su9} && !%{su10} && !%{su102} && !%{su103} && !%{su110} && !%{su111} && !%{mdk} && !%{fc3} && !%{fc4} && !%{fc5} && !%{fc6} && !%{fc7} && !%{fc8} && !%{fc9} -Requires: gtk2 >= 2.0 -Requires: libgnomeui >= 2.0 -Requires: glibc >= 2.3 -Requires: ORBit2 -Requires: libart_lgpl >= 2.0 -Requires: libbonobo >= 2.0 -Requires: libbonoboui >= 2.0 -Requires: bonobo-activation -Requires: GConf2 -Requires: linc -Requires: freetype -%endif -%if %{gconsole} && %{su9} -Requires: xsu -%endif -%if %{gconsole} && %{su10} -Requires: xsu -%endif -%if %{gconsole} && %{su102} -Requires: xsu -%endif -%if %{gconsole} && %{su103} -Requires: xsu -%endif -%if %{gconsole} && %{su110} -Requires: xsu -%endif -%if %{gconsole} && %{su111} -Requires: xsu -%endif -%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} -Requires: usermode -%endif - -%if %{gconsole} -%description gconsole -%{blurb} - -%{blurb2} -%{blurb3} -%{blurb4} -%{blurb5} -%{blurb6} -%{blurb7} -%{blurb8} - -This is the Gnome Console package. It is an add-on to the client or -server packages. -%endif - -%if %{wxconsole} -%package wxconsole -Summary: Bacula - The Network Backup Solution -Group: System Environment/Daemons -Requires: wxGTK >= 2.6, libstdc++, openssl -%endif - -%if %{wxconsole} && %{su10} -Requires: gtk2 >= 2.8 -%endif - -%if %{wxconsole} && %{su102} -Requires: gtk2 >= 2.10 -%endif - -%if %{wxconsole} && %{su103} -Requires: gtk2 >= 2.12 -%endif - -%if %{wxconsole} && %{su110} -Requires: gtk2 >= 2.12 -%endif - -%if %{wxconsole} && %{su111} -Requires: gtk2 >= 2.14 -%endif - -%if %{wxconsole} && %{fc3} -Requires: gtk2 >= 2.4 -%endif - -%if %{wxconsole} && %{fc4} -Requires: gtk2 >= 2.6 -%endif - -%if %{wxconsole} && %{fc5} -Requires: gtk2 >= 2.8 -%endif - -%if %{wxconsole} && %{fc6} -Requires: gtk2 >= 2.10 -%endif - -%if %{wxconsole} && %{fc7} -Requires: gtk2 >= 2.10 -%endif - -%if %{wxconsole} && %{fc8} -Requires: gtk2 >= 2.12 -%endif - -%if %{wxconsole} && %{fc9} -Requires: gtk2 >= 2.12 -%endif - -%if %{wxconsole} -%description wxconsole -%{blurb} - -%{blurb2} -%{blurb3} -%{blurb4} -%{blurb5} -%{blurb6} -%{blurb7} -%{blurb8} - -This is the WXWindows Console package. It is an add-on to the client or -server packages. -%endif - -%if %{bat} -%package bat -Summary: Bacula - The Network Backup Solution -Group: System Environment/Daemons -%endif - -%if %{bat} && %{su10} -Requires: openssl -Requires: glibc >= 2.4 -Requires: fontconfig -Requires: freetype2 -Requires: libgcc -Requires: libpng -Requires: qt >= 4.2 -Requires: libstdc++ -Requires: zlib -%endif - -%if %{bat} && %{su102} -Requires: openssl -Requires: glibc >= 2.5 -Requires: fontconfig -Requires: freetype2 -Requires: libgcc -Requires: libpng -Requires: qt >= 4.2 -Requires: libstdc++ -Requires: zlib -%endif - -%if %{bat} && %{su103} -Requires: openssl -Requires: glibc >= 2.6 -Requires: fontconfig -Requires: freetype2 -Requires: libgcc -Requires: libpng -Requires: qt >= 4.2 -Requires: libstdc++ -Requires: zlib -%endif - -%if %{bat} && %{su110} -Requires: openssl -Requires: glibc >= 2.8 -Requires: fontconfig -Requires: freetype2 -Requires: libgcc -Requires: libpng -Requires: qt >= 4.2 -Requires: libstdc++ -Requires: zlib -%endif - -%if %{bat} && %{su111} -Requires: openssl -Requires: glibc >= 2.9 -Requires: fontconfig -Requires: freetype2 -Requires: libgcc -Requires: libpng -Requires: qt >= 4.2 -Requires: libstdc++ -Requires: zlib -%endif - -%if %{bat} && %{fc5} -Requires: openssl -Requires: glibc >= 2.4 -Requires: fontconfig -Requires: freetype -Requires: libgcc -Requires: libpng -Requires: qt4 >= 4.2 -Requires: libstdc++ -Requires: zlib -%endif - -%if %{bat} && %{fc6} -Requires: openssl -Requires: glibc >= 2.5 -Requires: fontconfig -Requires: freetype -Requires: libgcc -Requires: libpng -Requires: qt4 >= 4.2 -Requires: libstdc++ -Requires: zlib -%endif - -%if %{bat} && %{fc7} -Requires: openssl -Requires: glibc >= 2.5 -Requires: fontconfig -Requires: freetype -Requires: libgcc -Requires: libpng -Requires: qt4 >= 4.2 -Requires: libstdc++ -Requires: zlib -%endif - -%if %{bat} && %{fc8} -Requires: openssl -Requires: glibc >= 2.7 -Requires: fontconfig -Requires: freetype -Requires: libgcc -Requires: libpng -Requires: qt4 >= 4.2 -Requires: libstdc++ -Requires: zlib -%endif - -%if %{bat} && %{fc9} -Requires: openssl -Requires: glibc >= 2.8 -Requires: fontconfig -Requires: freetype -Requires: libgcc -Requires: libpng -Requires: qt4 >= 4.3 -Requires: libstdc++ -Requires: zlib -%endif - -%if %{bat} -%description bat -%{blurb} - -%{blurb2} -%{blurb3} -%{blurb4} -%{blurb5} -%{blurb6} -%{blurb7} -%{blurb8} - -This is the Bacula Administration Tool package. It is an add-on to -the client or server packages. -%endif - -# SuSE turns off stripping of binaries by default. In order to get -# stripped packages we must generate debug package. RedHat and Mandriva -# turn debug packages on by default but strip binaries regardless. -%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111} -%debug_package -%endif - -%prep - -%setup -%setup -T -D -b 1 -%setup -T -D -b 2 -%setup -T -D -b 3 -%setup -T -D -b 4 - -%build - -%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111} -export LDFLAGS="${LDFLAGS} -L/usr/lib/termcap" -%endif - -%if %{bat} -export QTDIR=$(pkg-config --variable=prefix QtCore) -export QTINC=$(pkg-config --variable=includedir QtCore) -export QTLIB=$(pkg-config --variable=libdir QtCore) -export PATH=${QTDIR}/bin/:${PATH} -%endif - -cwd=${PWD} -cd %{depkgs} -%if %{sqlite} -make sqlite3 -%endif -%if ! %{client_only} && %{mtx} -make mtx -%endif -%if %{bat} -make qwt -%endif -cd ${cwd} - -%if %{wb3} || %{old_pgsql} -patch -p3 src/cats/postgresql.c < %SOURCE5 -%endif - -# patches for the bundled sqlite scripts - -# patch the make_sqlite_tables script for installation bindir -#patch src/cats/make_sqlite_tables.in src/cats/make_sqlite_tables.in.patch -patch src/cats/make_sqlite3_tables.in src/cats/make_sqlite3_tables.in.patch - -# patch the create_sqlite_database script for installation bindir -#patch src/cats/create_sqlite_database.in src/cats/create_sqlite_database.in.patch -patch src/cats/create_sqlite3_database.in src/cats/create_sqlite3_database.in.patch - -# patch the make_catalog_backup script for installation bindir -patch src/cats/make_catalog_backup.in src/cats/make_catalog_backup.in.patch - -# patch the update_sqlite_tables script for installation bindir -#patch src/cats/update_sqlite_tables.in src/cats/update_sqlite_tables.in.patch -patch src/cats/update_sqlite3_tables.in src/cats/update_sqlite3_tables.in.patch - -# patch the bacula-dir init script to remove sqlite service -%if %{sqlite} && %{su9} -patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch -%endif -%if %{sqlite} && %{su10} -patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch -%endif -%if %{sqlite} && %{su102} -patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch -%endif -%if %{sqlite} && %{su103} -patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch -%endif -%if %{sqlite} && %{su110} -patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch -%endif -%if %{sqlite} && %{su111} -patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch -%endif - -# 64 bit lib location hacks -# as of 1.39.18 it should not be necessary to enable x86_64 as configure is -# reported to be fixed to properly detect lib locations. -%if %{x86_64} -export LDFLAGS="${LDFLAGS} -L/usr/lib64" -%endif -%if %{mysql} && %{x86_64} -export LDFLAGS="${LDFLAGS} -L/usr/lib64/mysql" -%endif -%if %{python} && %{x86_64} -export LDFLAGS="${LDFLAGS} -L/usr/lib64/python%{pyver}" -%endif - -# Red Hat's 64 bit installation of QT4 appears to be broken so: -%define qt_path 0 -%if %{rhel5} || %{centos5} || %{sl5} -%define qt_path 1 -%endif -%if %{bat} && %{qt_path} && %{x86_64} -export PATH=/usr/lib64/qt4/bin/:$PATH -export QTDIR=/usr/lib64/qt4/ -export QTINC=/usr/lib64/qt4/include/ -export QTLIB=/usr/lib64/qt4/ -%endif - -%if %{rescue} -%configure \ - --prefix=%{_prefix} \ - --sbindir=%{_sbindir} \ - --sysconfdir=%{sysconf_dir} \ - --with-scriptdir=%{script_dir} \ - --with-working-dir=%{working_dir} \ - --with-pid-dir=%{pid_dir} \ - --enable-smartalloc \ - --enable-client-only \ - %if %{mdk} - --disable-nls \ - %endif - --enable-static-fd - -make -%endif - -%configure \ - --prefix=%{_prefix} \ - --sbindir=%{_sbindir} \ - --sysconfdir=%{sysconf_dir} \ - --with-scriptdir=%{script_dir} \ - --with-working-dir=%{working_dir} \ - --with-pid-dir=%{pid_dir} \ - --enable-smartalloc \ -%if %{gconsole} - --enable-gnome \ -%endif -%if %{gconsole} && ! %{rh8} - --enable-tray-monitor \ -%endif -%if %{mysql} - --with-mysql \ -%endif -%if %{sqlite} - --with-sqlite3=${cwd}/%{depkgs}/sqlite3 \ -%endif -%if %{postgresql} - --with-postgresql \ -%endif -%if %{wxconsole} - --enable-bwx-console \ -%endif -%if %{bat} - --enable-bat \ - --with-qwt=${cwd}/%{depkgs}/qwt \ -%endif -%if %{python} - --with-python \ -%endif -%if %{client_only} - --enable-client-only \ -%endif -%if %{rh7} || %{rh8} || %{rh9} || %{fc1} || %{fc3} || %{wb3} - --disable-batch-insert \ -%endif - --mandir=%{_mandir} \ - --with-plugindir=%{script_dir} \ - --with-subsys-dir=%{_subsysdir} \ - --with-dir-user=%{director_daemon_user} \ - --with-dir-group=%{daemon_group} \ - --with-sd-user=%{storage_daemon_user} \ - --with-sd-group=%{storage_daemon_group} \ - --with-fd-user=%{file_daemon_user} \ - --with-fd-group=%{daemon_group} \ - --with-dir-password="XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX" \ - --with-fd-password="XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX" \ - --with-sd-password="XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX" \ - --with-mon-dir-password="XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX" \ - --with-mon-fd-password="XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX" \ - --with-mon-sd-password="XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX" \ - --with-openssl - -make - -%install - -cwd=${PWD} -[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT" -mkdir -p $RPM_BUILD_ROOT/etc/init.d -mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d -mkdir -p $RPM_BUILD_ROOT/etc/log.d/conf/logfiles -mkdir -p $RPM_BUILD_ROOT/etc/log.d/conf/services -mkdir -p $RPM_BUILD_ROOT/etc/log.d/scripts/services -mkdir -p $RPM_BUILD_ROOT%{script_dir}/updatedb - -%if %{gconsole} || %{wxconsole} || %{bat} -mkdir -p $RPM_BUILD_ROOT/usr/share/applications -mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps -%endif - -%if %{gconsole} || %{wxconsole} || %{bat} -%define usermode_iftrick 1 -%else -%define usermode_iftrick 0 -%endif - -%if %{usermode_iftrick} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} -mkdir -p $RPM_BUILD_ROOT/etc/pam.d -mkdir -p $RPM_BUILD_ROOT/etc/security/console.apps -mkdir -p $RPM_BUILD_ROOT/usr/bin -%endif - -%if %{sqlite} -mkdir -p $RPM_BUILD_ROOT%{sqlite_bindir} -%endif - -make DESTDIR=$RPM_BUILD_ROOT install - -%if ! %{client_only} && %{mtx} -cd %{depkgs} -make \ - prefix=$RPM_BUILD_ROOT%{_prefix} \ - sbindir=$RPM_BUILD_ROOT%{_sbindir} \ - sysconfdir=$RPM_BUILD_ROOT%{sysconf_dir} \ - scriptdir=$RPM_BUILD_ROOT%{script_dir} \ - working_dir=$RPM_BUILD_ROOT%{working_dir} \ - piddir=$RPM_BUILD_ROOT%{pid_dir} \ - mandir=$RPM_BUILD_ROOT%{_mandir} \ - mtx-install -cd ${cwd} -%endif - -# make install in manpages installs _everything_ shotgun style -# so now delete what we will not be packaging -%if ! %{wxconsole} -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-bwxconsole.1.%{manpage_ext} -%endif -%if ! %{bat} -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bat.1.%{manpage_ext} -%endif -%if ! %{gconsole} -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-bgnome-console.1.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-tray-monitor.1.%{manpage_ext} -%endif -%if %{client_only} -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bsmtp.1.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bacula-dir.8.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bacula-sd.8.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bcopy.8.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bextract.8.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bls.8.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bscan.8.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man8/btape.8.%{manpage_ext} -rm -f $RPM_BUILD_ROOT%{_mandir}/man8/dbcheck.8.%{manpage_ext} -%endif - -# fixme - make installs the mysql scripts for sqlite build -%if %{sqlite} -rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql -rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql -rm -f $RPM_BUILD_ROOT%{script_dir}/grant_mysql_privileges -%endif - -# fixme - make installs the mysql scripts for postgresql build -%if %{postgresql} -rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql -rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql -%endif - -# fixme - make installs gconsole script for build without gconsole -%if ! %{gconsole} -rm -f $RPM_BUILD_ROOT%{script_dir}/gconsole -%endif - -rm -f $RPM_BUILD_ROOT%{_sbindir}/static-bacula-fd - -# install the init scripts -%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111} -cp -p platforms/suse/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir -cp -p platforms/suse/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd -cp -p platforms/suse/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd -%endif -%if %{mdk} -cp -p platforms/mandrake/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir -cp -p platforms/mandrake/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd -cp -p platforms/mandrake/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd -%endif -%if ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} && ! %{mdk} -cp -p platforms/redhat/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir -cp -p platforms/redhat/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd -cp -p platforms/redhat/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd -%endif -chmod 0754 $RPM_BUILD_ROOT/etc/init.d/* -%if %{client_only} -rm -f $RPM_BUILD_ROOT/etc/init.d/bacula-dir -rm -f $RPM_BUILD_ROOT/etc/init.d/bacula-sd -%endif - -# install the menu stuff -%if %{gconsole} && %{su9} -cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png -cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop -cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm -cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop -%endif -%if %{gconsole} && %{su10} -cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png -cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop -cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm -cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop -%endif -%if %{gconsole} && %{su102} -cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png -cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop -cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm -cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop -%endif -%if %{gconsole} && %{su103} -cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png -cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop -cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm -cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop -%endif -%if %{gconsole} && %{su110} -cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png -cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop -cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm -cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop -%endif -%if %{gconsole} && %{su111} -cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png -cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop -cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm -cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop -%endif -%if %{wxconsole} && %{su10} -cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm -cp -p scripts/wxconsole.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop -%endif -%if %{wxconsole} && %{su102} -cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm -cp -p scripts/wxconsole.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop -%endif -%if %{wxconsole} && %{su103} -cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm -cp -p scripts/wxconsole.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop -%endif -%if %{wxconsole} && %{su110} -cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm -cp -p scripts/wxconsole.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop -%endif -%if %{wxconsole} && %{su111} -cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm -cp -p scripts/wxconsole.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop -%endif -%if %{bat} && %{su102} -cp -p src/qt-console/images/bat_icon.png $RPM_BUILD_ROOT/usr/share/pixmaps/bat_icon.png -cp -p scripts/bat.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/bat.desktop -%endif -%if %{bat} && %{su103} -cp -p src/qt-console/images/bat_icon.png $RPM_BUILD_ROOT/usr/share/pixmaps/bat_icon.png -cp -p scripts/bat.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/bat.desktop -%endif -%if %{bat} && %{su110} -cp -p src/qt-console/images/bat_icon.png $RPM_BUILD_ROOT/usr/share/pixmaps/bat_icon.png -cp -p scripts/bat.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/bat.desktop -%endif -%if %{bat} && %{su111} -cp -p src/qt-console/images/bat_icon.png $RPM_BUILD_ROOT/usr/share/pixmaps/bat_icon.png -cp -p scripts/bat.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/bat.desktop -%endif -%if %{rh8} || %{rh9} || %{wb3} || %{fc1} || %{fc3} || %{fc4} || %{fc5} || %{fc6} || %{fc7} || %{fc8} || %{fc9} || %{mdk} -%define iftrick 1 -%else -%define iftrick 0 -%endif -%if %{gconsole} && %{iftrick} -cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png -cp -p scripts/bacula.desktop.gnome2.consolehelper $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop -cp -p scripts/bgnome-console.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/bgnome-console -cp -p scripts/bgnome-console.pamd $RPM_BUILD_ROOT/etc/pam.d/bgnome-console -ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/bgnome-console -%endif -%if %{gconsole} && ! %{rh8} -cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm -cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop -%endif -%if %{wxconsole} && %{iftrick} -cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm -cp -p scripts/wxconsole.desktop.consolehelper $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop -cp -p scripts/wxconsole.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/bwx-console -cp -p scripts/wxconsole.pamd $RPM_BUILD_ROOT/etc/pam.d/bwx-console -ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/bwx-console -%endif -%if %{bat} && %{iftrick} -cp -p src/qt-console/images/bat_icon.png $RPM_BUILD_ROOT/usr/share/pixmaps/bat_icon.png -cp -p scripts/bat.desktop.consolehelper $RPM_BUILD_ROOT/usr/share/applications/bat.desktop -cp -p scripts/bat.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/bat -cp -p scripts/bat.pamd $RPM_BUILD_ROOT/etc/pam.d/bat -ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/bat -%endif - -# install sqlite -%if %{sqlite} -cp -p %{depkgs}/sqlite3/sqlite3 $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite3 -cp -p %{depkgs}/sqlite3/sqlite3.h $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite3.h -cp -p %{depkgs}/sqlite3/libsqlite3.a $RPM_BUILD_ROOT%{sqlite_bindir}/libsqlite3.a -%endif - -# install the logrotate file -cp -p scripts/logrotate $RPM_BUILD_ROOT/etc/logrotate.d/bacula - -# install the updatedb scripts -cp -p updatedb/* $RPM_BUILD_ROOT%{script_dir}/updatedb/ - -# install the logwatch scripts -%if ! %{client_only} -cp -p scripts/logwatch/bacula $RPM_BUILD_ROOT/etc/log.d/scripts/services/bacula -cp -p scripts/logwatch/logfile.bacula.conf $RPM_BUILD_ROOT/etc/log.d/conf/logfiles/bacula.conf -cp -p scripts/logwatch/services.bacula.conf $RPM_BUILD_ROOT/etc/log.d/conf/services/bacula.conf -chmod 755 $RPM_BUILD_ROOT/etc/log.d/scripts/services/bacula -chmod 644 $RPM_BUILD_ROOT/etc/log.d/conf/logfiles/bacula.conf -chmod 644 $RPM_BUILD_ROOT/etc/log.d/conf/services/bacula.conf -%endif - -# install the rescue files -%if %{rescue} -mkdir $RPM_BUILD_ROOT%{script_dir}/rescue -mkdir $RPM_BUILD_ROOT%{script_dir}/rescue/freebsd -mkdir $RPM_BUILD_ROOT%{script_dir}/rescue/solaris -cp -p %{_rescuesrc}/Makefile* $RPM_BUILD_ROOT%{script_dir}/rescue/ -cp -p %{_rescuesrc}/freebsd/Makefile* $RPM_BUILD_ROOT%{script_dir}/rescue/freebsd/ -cp -p %{_rescuesrc}/solaris/Makefile* $RPM_BUILD_ROOT%{script_dir}/rescue/solaris/ -cp -p %{_rescuesrc}/README $RPM_BUILD_ROOT%{script_dir}/rescue/ -cp -p %{_rescuesrc}/configure $RPM_BUILD_ROOT%{script_dir}/rescue/ -cp -p %{_rescuesrc}/version.h $RPM_BUILD_ROOT%{script_dir}/rescue/ -cp -pr %{_rescuesrc}/linux $RPM_BUILD_ROOT%{script_dir}/rescue/ -cp -pr %{_rescuesrc}/autoconf $RPM_BUILD_ROOT%{script_dir}/rescue/ -cp -pr %{_rescuesrc}/knoppix $RPM_BUILD_ROOT%{script_dir}/rescue/ -touch $RPM_BUILD_ROOT%{script_dir}/rescue/linux/cdrom/rpm_release -cp -p src/filed/static-bacula-fd $RPM_BUILD_ROOT%{script_dir}/rescue/linux/cdrom/bacula/bin/bacula-fd -rm -f src/filed/static-bacula-fd -%endif - -# remove the docs installed by make -%if ! %{single_dir} -rm -rf $RPM_BUILD_ROOT/usr/share/doc -%endif - -# install docs for single dir installation -%if %{single_dir} -mkdir $RPM_BUILD_ROOT%{_prefix}/doc -cp COPYING $RPM_BUILD_ROOT%{_prefix}/doc/ -cp ChangeLog $RPM_BUILD_ROOT%{_prefix}/doc/ -cp ReleaseNotes $RPM_BUILD_ROOT%{_prefix}/doc/ -cp VERIFYING $RPM_BUILD_ROOT%{_prefix}/doc/ -cp LICENSE $RPM_BUILD_ROOT%{_prefix}/doc/ -cp kernstodo $RPM_BUILD_ROOT%{_prefix}/doc/ -cp -r %{_docsrc}/manuals/en/catalog/catalog $RPM_BUILD_ROOT%{_prefix}/doc/ -cp %{_docsrc}/manuals/en/catalog/catalog.pdf $RPM_BUILD_ROOT%{_prefix}/doc/ -cp -r %{_docsrc}/manuals/en/concepts/concepts $RPM_BUILD_ROOT%{_prefix}/doc/ -cp %{_docsrc}/manuals/en/concepts/concepts.pdf $RPM_BUILD_ROOT%{_prefix}/doc/ -cp -r %{_docsrc}/manuals/en/console/console $RPM_BUILD_ROOT%{_prefix}/doc/ -cp %{_docsrc}/manuals/en/console/console.pdf $RPM_BUILD_ROOT%{_prefix}/doc/ -cp -r %{_docsrc}/manuals/en/developers/developers $RPM_BUILD_ROOT%{_prefix}/doc/ -cp %{_docsrc}/manuals/en/developers/developers.pdf $RPM_BUILD_ROOT%{_prefix}/doc/ -cp -r %{_docsrc}/manuals/en/install/install $RPM_BUILD_ROOT%{_prefix}/doc/ -cp %{_docsrc}/manuals/en/install/install.pdf $RPM_BUILD_ROOT%{_prefix}/doc/ -cp -r %{_docsrc}/manuals/en/problems/problems $RPM_BUILD_ROOT%{_prefix}/doc/ -cp %{_docsrc}/manuals/en/problems/problems.pdf $RPM_BUILD_ROOT%{_prefix}/doc/ -cp -r %{_docsrc}/manuals/en/utility/utility $RPM_BUILD_ROOT%{_prefix}/doc/ -cp %{_docsrc}/manuals/en/utility/utility.pdf $RPM_BUILD_ROOT%{_prefix}/doc/ -cp ../Release_Notes-%{version}-%{release}.txt $RPM_BUILD_ROOT%{_prefix}/doc/ -%endif - -# now clean up permissions that are left broken by the install -chmod o-rwx $RPM_BUILD_ROOT%{working_dir} -%if %{gconsole} && ! %{rh8} -chmod 755 $RPM_BUILD_ROOT%{_sbindir}/bacula-tray-monitor -chmod 644 $RPM_BUILD_ROOT%{sysconf_dir}/tray-monitor.conf -%endif - -# fix me - building enable-client-only installs files not included in bacula-client package -%if %{client_only} -rm -f $RPM_BUILD_ROOT%{script_dir}/bacula -rm -f $RPM_BUILD_ROOT%{script_dir}/bacula-ctl-dir -rm -f $RPM_BUILD_ROOT%{script_dir}/bacula-ctl-sd -rm -f $RPM_BUILD_ROOT%{script_dir}/disk-changer -rm -f $RPM_BUILD_ROOT%{script_dir}/dvd-handler -rm -f $RPM_BUILD_ROOT%{script_dir}/mtx-changer -rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql -rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql -rm -rf $RPM_BUILD_ROOT%{script_dir}/updatedb -rm -f $RPM_BUILD_ROOT%{script_dir}/bconsole -rm -f $RPM_BUILD_ROOT%{script_dir}/bpipe-fd.so -rm -f $RPM_BUILD_ROOT%{script_dir}/mtx-changer.conf -rm -f $RPM_BUILD_ROOT%{_sbindir}/bacula -%endif - -%clean -[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT" -rm -rf $RPM_BUILD_DIR/%{name}-docs-%{docs_version} -rm -rf $RPM_BUILD_DIR/%{name}-rescue-%{_rescuever} -rm -rf $RPM_BUILD_DIR/depkgs -rm -f $RPM_BUILD_DIR/Release_Notes-%{version}-%{release}.txt - -%if %{mysql} -# MySQL specific files -%files mysql -%defattr(-, root, root) -%attr(-, root, %{daemon_group}) %{script_dir}/create_mysql_database -%attr(-, root, %{daemon_group}) %{script_dir}/drop_mysql_database -%attr(-, root, %{daemon_group}) %{script_dir}/make_mysql_tables -%attr(-, root, %{daemon_group}) %{script_dir}/drop_mysql_tables -%attr(-, root, %{daemon_group}) %{script_dir}/update_mysql_tables -%attr(-, root, %{daemon_group}) %{script_dir}/grant_mysql_privileges -%attr(-, root, %{daemon_group}) %{script_dir}/startmysql -%attr(-, root, %{daemon_group}) %{script_dir}/stopmysql -%endif - -%if %{sqlite} -%files sqlite -%defattr(-,root,root) -%attr(-, root, %{daemon_group}) %{script_dir}/create_sqlite3_database -%attr(-, root, %{daemon_group}) %{script_dir}/drop_sqlite3_database -%attr(-, root, %{daemon_group}) %{script_dir}/grant_sqlite3_privileges -%attr(-, root, %{daemon_group}) %{script_dir}/make_sqlite3_tables -%attr(-, root, %{daemon_group}) %{script_dir}/drop_sqlite3_tables -%attr(-, root, %{daemon_group}) %{script_dir}/update_sqlite3_tables -%{sqlite_bindir}/libsqlite3.a -%{sqlite_bindir}/sqlite3.h -%{sqlite_bindir}/sqlite3 -%endif - -%if %{postgresql} -%files postgresql -%defattr(-,root,root) -%attr(-, root, %{daemon_group}) %{script_dir}/create_postgresql_database -%attr(-, root, %{daemon_group}) %{script_dir}/drop_postgresql_database -%attr(-, root, %{daemon_group}) %{script_dir}/make_postgresql_tables -%attr(-, root, %{daemon_group}) %{script_dir}/drop_postgresql_tables -%attr(-, root, %{daemon_group}) %{script_dir}/update_postgresql_tables -%attr(-, root, %{daemon_group}) %{script_dir}/grant_postgresql_privileges -%endif - -# The rest is DB backend independent -%if ! %{client_only} -%attr(-, root, %{daemon_group}) %dir %{script_dir} -%attr(-, root, %{daemon_group}) %{script_dir}/bacula -%attr(-, root, %{daemon_group}) %{script_dir}/bconsole -%attr(-, root, %{daemon_group}) %{script_dir}/create_bacula_database -%attr(-, root, %{daemon_group}) %{script_dir}/drop_bacula_database -%attr(-, root, %{daemon_group}) %{script_dir}/grant_bacula_privileges -%attr(-, root, %{daemon_group}) %{script_dir}/make_bacula_tables -%attr(-, root, %{daemon_group}) %{script_dir}/drop_bacula_tables -%attr(-, root, %{daemon_group}) %{script_dir}/update_bacula_tables -%attr(-, root, %{daemon_group}) %{script_dir}/make_catalog_backup -%attr(-, root, %{daemon_group}) %{script_dir}/delete_catalog_backup -%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.dbx -%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.gdb -%attr(-, root, %{daemon_group}) %{script_dir}/disk-changer -%attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-dir -%attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-fd -%attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-sd -%attr(-, root, %{daemon_group}) %{script_dir}/bpipe-fd.so -%attr(-, root, %{daemon_group}) /etc/init.d/bacula-dir -%attr(-, root, %{daemon_group}) /etc/init.d/bacula-fd -%attr(-, root, %{storage_daemon_group}) %{script_dir}/dvd-handler -%attr(-, root, %{storage_daemon_group}) /etc/init.d/bacula-sd -%attr(-, root, %{storage_daemon_group}) %{script_dir}/mtx-changer -%attr(-, root, %{storage_daemon_group}) %{script_dir}/mtx-changer.conf - -/etc/logrotate.d/bacula -/etc/log.d/scripts/services/bacula -%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-dir.conf -%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-fd.conf -%attr(-, root, %{storage_daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-sd.conf -%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bconsole.conf -%attr(-, root, %{daemon_group}) %config(noreplace) /etc/log.d/conf/logfiles/bacula.conf -%attr(-, root, %{daemon_group}) %config(noreplace) /etc/log.d/conf/services/bacula.conf -%attr(-, root, %{daemon_group}) %config(noreplace) %{script_dir}/query.sql - -%attr(-, %{storage_daemon_user}, %{daemon_group}) %dir %{working_dir} - -%{_sbindir}/bacula-dir -%{_sbindir}/bacula-fd -%{_sbindir}/bacula-sd -%{_sbindir}/bacula -%{_sbindir}/bcopy -%{_sbindir}/bextract -%{_sbindir}/bls -%{_sbindir}/bscan -%{_sbindir}/btape -%{_sbindir}/btraceback -%{_sbindir}/bconsole -%{_sbindir}/dbcheck -%{_sbindir}/bsmtp -%{_sbindir}/bregex -%{_sbindir}/bwild -%{_mandir}/man8/bacula-fd.8.%{manpage_ext} -%{_mandir}/man8/bacula-dir.8.%{manpage_ext} -%{_mandir}/man8/bacula-sd.8.%{manpage_ext} -%{_mandir}/man8/bacula.8.%{manpage_ext} -%{_mandir}/man8/bconsole.8.%{manpage_ext} -%{_mandir}/man8/bcopy.8.%{manpage_ext} -%{_mandir}/man8/bextract.8.%{manpage_ext} -%{_mandir}/man8/bls.8.%{manpage_ext} -%{_mandir}/man8/bscan.8.%{manpage_ext} -%{_mandir}/man8/btape.8.%{manpage_ext} -%{_mandir}/man8/btraceback.8.%{manpage_ext} -%{_mandir}/man8/dbcheck.8.%{manpage_ext} -%{_mandir}/man1/bsmtp.1.%{manpage_ext} -%{_libdir}/libbac* -%endif - -%if ! %{client_only} && %{rescue} -%attr(-, root, %{daemon_group}) %{script_dir}/rescue -%endif - -%if ! %{client_only} && ! %{single_dir} -%doc COPYING ChangeLog ReleaseNotes LICENSE VERIFYING kernstodo ../Release_Notes-%{version}-%{release}.txt -%doc %{_docsrc}/manuals/en/catalog/catalog %{_docsrc}/manuals/en/catalog/catalog.pdf -%doc %{_docsrc}/manuals/en/concepts/concepts %{_docsrc}/manuals/en/concepts/concepts.pdf -%doc %{_docsrc}/manuals/en/console/console %{_docsrc}/manuals/en/console/console.pdf -%doc %{_docsrc}/manuals/en/developers/developers %{_docsrc}/manuals/en/developers/developers.pdf -%doc %{_docsrc}/manuals/en/install/install %{_docsrc}/manuals/en/install/install.pdf -%doc %{_docsrc}/manuals/en/problems/problems %{_docsrc}/manuals/en/problems/problems.pdf -%doc %{_docsrc}/manuals/en/utility/utility %{_docsrc}/manuals/en/utility/utility.pdf -%endif - -%if ! %{client_only} && %{single_dir} -%{_prefix}/doc -%endif - -%if %{mysql} -%pre mysql -# test for bacula database older than version 10 -# note: this ASSUMES no password has been set for bacula database -DB_VER=`mysql 2>/dev/null bacula -e 'select * from Version;'|tail -n 1` -%endif - -%if %{sqlite} -%pre sqlite -# are we upgrading from sqlite to sqlite3? -if [ -s %{working_dir}/bacula.db ] && [ -s %{sqlite_bindir}/sqlite ];then - echo "This version of bacula-sqlite involves an upgrade to sqlite3." - echo "Your catalog database file is not compatible with sqlite3, thus" - echo "you will need to dump the data, delete the old file, and re-run" - echo "this rpm upgrade." - echo "" - echo "Backing up your current database..." - echo ".dump" | %{sqlite_bindir}/sqlite %{working_dir}/bacula.db > %{working_dir}/bacula_backup.sql - mv %{working_dir}/bacula.db %{working_dir}/bacula.db.old - echo "Your catalog data has been saved in %{working_dir}/bacula_backup.sql and your" - echo "catalog file has been renamed %{working_dir}/bacula.db.old." - echo "" - echo "Please re-run this rpm package upgrade." - echo "After the upgrade is complete, restore your catalog" - echo "with the following commands:" - echo "%{script_dir}/drop_sqlite3_tables" - echo "cd %{working_dir}" - echo "%{sqlite_bindir}/sqlite3 $* bacula.db < bacula_backup.sql" - echo "chown bacula.bacula bacula.db" - exit 1 -fi -# test for bacula database older than version 10 and sqlite3 -if [ -s %{working_dir}/bacula.db ] && [ -s %{sqlite_bindir}/sqlite3 ];then - DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite3 2>/dev/null %{working_dir}/bacula.db | tail -n 1` -%endif - -%if %{postgresql} -%pre postgresql -DB_VER=`echo 'select * from Version;' | psql bacula 2>/dev/null | tail -3 | head -1` -%endif - -%if ! %{client_only} -if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "10" ]; then - echo "This bacula upgrade will update a bacula database from version 10 to 11." - echo "You appear to be running database version $DB_VER. You must first update" - echo "your database to version 10 and then install this upgrade. The alternative" - echo "is to use %{script_dir}/drop_%{db_backend}_tables to delete all your your current" - echo "catalog information, then do the upgrade. Information on updating a" - echo "database older than version 10 can be found in the release notes." - exit 1 -fi -%endif - -%if %{sqlite} -fi -%endif - -%if ! %{client_only} -# check for and copy %{sysconf_dir}/console.conf to bconsole.conf -if [ -s %{sysconf_dir}/console.conf ];then - cp -p %{sysconf_dir}/console.conf %{sysconf_dir}/bconsole.conf -fi - -# create the daemon users and groups -# first create the groups if they don't exist -HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{groupadd} -r %{daemon_group} > /dev/null 2>&1 - echo "The group %{daemon_group} has been added to %{group_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi -HAVE_BACULA=`grep %{storage_daemon_group} %{group_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{groupadd} -r %{storage_daemon_group} > /dev/null 2>&1 - echo "The group %{storage_daemon_group} has been added to %{group_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi -# now create the users if they do not exist -# we do not use the -g option allowing the primary group to be set to system default -# this will be a unique group on redhat type systems or the group users on some systems -HAVE_BACULA=`grep %{storage_daemon_user} %{user_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{useradd} -r -c "Bacula" -d %{working_dir} -g %{storage_daemon_group} -M -s /sbin/nologin %{storage_daemon_user} > /dev/null 2>&1 - echo "The user %{storage_daemon_user} has been added to %{user_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi -HAVE_BACULA=`grep %{director_daemon_user} %{user_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{director_daemon_user} > /dev/null 2>&1 - echo "The user %{director_daemon_user} has been added to %{user_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi -HAVE_BACULA=`grep %{file_daemon_user} %{user_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{file_daemon_user} > /dev/null 2>&1 - echo "The user %{file_daemon_user} has been added to %{user_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi -# now we add the supplementary groups, this is ok to call even if the users already exist -# we only do this if the user is NOT root -IS_ROOT=%{director_daemon_user} -if [ "$IS_ROOT" != "root" ]; then -%{usermod} -G %{daemon_group} %{director_daemon_user} -fi -IS_ROOT=%{storage_daemon_user} -if [ "$IS_ROOT" != "root" ]; then -%{usermod} -G %{daemon_group},%{storage_daemon_group} %{storage_daemon_user} -fi -IS_ROOT=%{file_daemon_user} -if [ "$IS_ROOT" != "root" ]; then -%{usermod} -G %{daemon_group} %{file_daemon_user} -fi -%endif - -%if %{mysql} -%post mysql -%endif -%if %{sqlite} -%post sqlite -%endif -%if %{postgresql} -%post postgresql -%endif - -%if ! %{client_only} -# add our links -if [ "$1" -ge 1 ] ; then -/sbin/chkconfig --add bacula-dir -/sbin/chkconfig --add bacula-fd -/sbin/chkconfig --add bacula-sd -fi -%endif - -%if %{mysql} -# test for an existing database -# note: this ASSUMES no password has been set for bacula database -DB_VER=`mysql 2>/dev/null bacula -e 'select * from Version;'|tail -n 1` - -# grant privileges and create tables if they do not exist -if [ -z "$DB_VER" ]; then - echo "Hmm, doesn't look like you have an existing database." - echo "Granting privileges for MySQL user bacula..." - %{script_dir}/grant_mysql_privileges - echo "Creating MySQL bacula database..." - %{script_dir}/create_mysql_database - echo "Creating bacula tables..." - %{script_dir}/make_mysql_tables - -# check to see if we need to upgrade a 2.x database -elif [ "$DB_VER" -lt "11" ]; then - echo "This release requires an upgrade to your bacula database." - echo "Backing up your current database..." - mysqldump -f --opt bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2 - echo "Upgrading bacula database ..." - %{script_dir}/update_mysql_tables - echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2" - -fi -%endif - -%if %{sqlite} -# test for an existing database -if [ -s %{working_dir}/bacula.db ]; then - DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite3 2>/dev/null %{working_dir}/bacula.db | tail -n 1` - # check to see if we need to upgrade a 2.x database - if [ "$DB_VER" -lt "11" ] && [ "$DB_VER" -ge "10" ]; then - echo "This release requires an upgrade to your bacula database." - echo "Backing up your current database..." - echo ".dump" | %{sqlite_bindir}/sqlite3 %{working_dir}/bacula.db | bzip2 > %{working_dir}/bacula_backup.sql.bz2 - echo "Upgrading bacula database ..." - %{script_dir}/update_sqlite3_tables - echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2" - fi -else - # create the database and tables - echo "Hmm, doesn't look like you have an existing database." - echo "Creating SQLite database..." - %{script_dir}/create_sqlite3_database - echo "Creating the SQLite tables..." - %{script_dir}/make_sqlite3_tables - chown %{director_daemon_user}.%{daemon_group} %{working_dir}/bacula.db -fi -%endif - -%if %{postgresql} -# test for an existing database -# note: this ASSUMES no password has been set for bacula database -DB_VER=`echo 'select * from Version;' | psql bacula 2>/dev/null | tail -3 | head -1` - -# grant privileges and create tables if they do not exist -if [ -z "$DB_VER" ]; then - echo "Hmm, doesn't look like you have an existing database." - echo "Creating PostgreSQL bacula database..." - %{script_dir}/create_postgresql_database - echo "Creating bacula tables..." - %{script_dir}/make_postgresql_tables - echo "Granting privileges for PostgreSQL user bacula..." - %{script_dir}/grant_postgresql_privileges - -# check to see if we need to upgrade a 2.x database -elif [ "$DB_VER" -lt "11" ]; then - echo "This release requires an upgrade to your bacula database." - echo "Backing up your current database..." - pg_dump bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2 - echo "Upgrading bacula database ..." - %{script_dir}/update_postgresql_tables - echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2" - -fi -%endif - -%if ! %{client_only} -# generate passwords if needed -if [ -d %{sysconf_dir} ]; then - cd %{sysconf_dir} - for file in *.conf; do - 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 - need_password=`grep $string $file 2>/dev/null` - if [ -n "$need_password" ]; then - pass=`openssl rand -base64 33` - sed "s-$string-$pass-g" $file > $file.new - cp -f $file.new $file; rm -f $file.new - fi - done - done -fi -/sbin/ldconfig -%endif - -%if %{mysql} -%preun mysql -%endif -%if %{sqlite} -%preun sqlite -%endif -%if %{postgresql} -%preun postgresql -%endif - -%if ! %{client_only} -# delete our links -if [ $1 = 0 ]; then -/sbin/chkconfig --del bacula-dir -/sbin/chkconfig --del bacula-fd -/sbin/chkconfig --del bacula-sd -fi -%endif - -%if %{mysql} -%postun mysql -/sbin/ldconfig -%endif -%if %{sqlite} -%postun sqlite -/sbin/ldconfig -%endif -%if %{postgresql} -%postun postgresql -/sbin/ldconfig -%endif - - -%if ! %{client_only} && %{mtx} -%files mtx -%defattr(-,root,root) -%attr(-, root, %{storage_daemon_group}) %{_sbindir}/loaderinfo -%attr(-, root, %{storage_daemon_group}) %{_sbindir}/mtx -%attr(-, root, %{storage_daemon_group}) %{_sbindir}/scsitape -%attr(-, root, %{storage_daemon_group}) %{_sbindir}/tapeinfo -%attr(-, root, %{storage_daemon_group}) %{_sbindir}/scsieject -%{_mandir}/man1/loaderinfo.1.%{manpage_ext} -%{_mandir}/man1/mtx.1.%{manpage_ext} -%{_mandir}/man1/scsitape.1.%{manpage_ext} -%{_mandir}/man1/tapeinfo.1.%{manpage_ext} -%{_mandir}/man1/scsieject.1.%{manpage_ext} -%endif - -%files client -%defattr(-,root,root) -%attr(-, root, %{daemon_group}) %dir %{script_dir} -%{script_dir}/bacula-ctl-fd -/etc/init.d/bacula-fd -%if %{rescue} -%attr(-, root, %{daemon_group}) %{script_dir}/rescue -%endif - -%if ! %{single_dir} -%doc COPYING ChangeLog ReleaseNotes LICENSE VERIFYING kernstodo ../Release_Notes-%{version}-%{release}.txt -%doc %{_docsrc}/manuals/en/catalog/catalog %{_docsrc}/manuals/en/catalog/catalog.pdf -%doc %{_docsrc}/manuals/en/concepts/concepts %{_docsrc}/manuals/en/concepts/concepts.pdf -%doc %{_docsrc}/manuals/en/console/console %{_docsrc}/manuals/en/console/console.pdf -%doc %{_docsrc}/manuals/en/developers/developers %{_docsrc}/manuals/en/developers/developers.pdf -%doc %{_docsrc}/manuals/en/install/install %{_docsrc}/manuals/en/install/install.pdf -%doc %{_docsrc}/manuals/en/problems/problems %{_docsrc}/manuals/en/problems/problems.pdf -%doc %{_docsrc}/manuals/en/utility/utility %{_docsrc}/manuals/en/utility/utility.pdf -%else -%{_prefix}/doc -%endif - -/etc/logrotate.d/bacula - -%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-fd.conf -%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bconsole.conf - -%attr(-, root, %{daemon_group}) %dir %{working_dir} - -%{_sbindir}/bacula-fd -%{_sbindir}/btraceback -%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.gdb -%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.dbx -%{_sbindir}/bconsole -%{_mandir}/man8/bacula-fd.8.%{manpage_ext} -%{_mandir}/man8/bacula.8.%{manpage_ext} -%{_mandir}/man8/bconsole.8.%{manpage_ext} -%{_mandir}/man8/btraceback.8.%{manpage_ext} -%{_libdir}/libbac.* -%{_libdir}/libbaccfg.* -%{_libdir}/libbacfind.* -%{_libdir}/libbacpy.* - - -%pre client -# create the daemon group and user -HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{groupadd} -r %{daemon_group} > /dev/null 2>&1 - echo "The group %{daemon_group} has been added to %{group_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi -# we do not use the -g option allowing the primary group to be set to system default -# this will be a unique group on redhat type systems or the group users on some systems -HAVE_BACULA=`grep %{file_daemon_user} %{user_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{file_daemon_user} > /dev/null 2>&1 - echo "The user %{file_daemon_user} has been added to %{user_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi -# now we add the supplementary group, this is ok to call even if the user already exists -# we only do this if the user is NOT root -IS_ROOT=%{file_daemon_user} -if [ "$IS_ROOT" != "root" ]; then -%{usermod} -G %{daemon_group} %{file_daemon_user} -fi - -%post client -# add our link -if [ "$1" -ge 1 ] ; then -/sbin/chkconfig --add bacula-fd -fi - -# generate passwords if needed -if [ -d %{sysconf_dir} ]; then - cd %{sysconf_dir} - for file in *.conf; do - 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 - need_password=`grep $string $file 2>/dev/null` - if [ -n "$need_password" ]; then - pass=`openssl rand -base64 33` - sed "s-$string-$pass-g" $file > $file.new - cp -f $file.new $file; rm -f $file.new - fi - done - done -fi - -/sbin/ldconfig - -%preun client -# delete our link -if [ $1 = 0 ]; then -/sbin/chkconfig --del bacula-fd -fi - -%postun client -/sbin/ldconfig - -%if ! %{client_only} -%files updatedb -%defattr(-,root,%{daemon_group}) -%{script_dir}/updatedb/* - -%pre updatedb -# create the daemon group -HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{groupadd} -r %{daemon_group} > /dev/null 2>&1 - echo "The group %{daemon_group} has been added to %{group_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi - -%post updatedb -echo "The database update scripts were installed to %{script_dir}/updatedb" -%endif - -%if %{gconsole} -%files gconsole -%defattr(-,root,root) -%{_sbindir}/bgnome-console -%attr(-, root, %{daemon_group}) %dir %{script_dir} -%attr(-, root, %{daemon_group}) %{script_dir}/gconsole -%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bgnome-console.conf -/usr/share/pixmaps/bacula.png -/usr/share/applications/bacula.desktop -%{_mandir}/man1/bacula-bgnome-console.1.%{manpage_ext} -%endif - -%if %{gconsole} && ! %{rh8} -%{_sbindir}/bacula-tray-monitor -%config(noreplace) %{sysconf_dir}/tray-monitor.conf -/usr/share/pixmaps/bacula-tray-monitor.xpm -/usr/share/applications/bacula-tray-monitor.desktop -%{_mandir}/man1/bacula-tray-monitor.1.%{manpage_ext} -%endif - -%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} -# add the console helper files -%config(noreplace,missingok) /etc/pam.d/bgnome-console -%config(noreplace,missingok) /etc/security/console.apps/bgnome-console -/usr/bin/bgnome-console -%endif - -%if %{gconsole} -%pre gconsole -# create the daemon group -HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{groupadd} -r %{daemon_group} > /dev/null 2>&1 - echo "The group %{daemon_group} has been added to %{group_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi - -%post gconsole -# generate passwords if needed -if [ -d %{sysconf_dir} ]; then - cd %{sysconf_dir} - for file in *.conf; do - 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 - need_password=`grep $string $file 2>/dev/null` - if [ -n "$need_password" ]; then - pass=`openssl rand -base64 33` - sed "s-$string-$pass-g" $file > $file.new - cp -f $file.new $file; rm -f $file.new - fi - done - done -fi -%endif - -%if %{wxconsole} -%files wxconsole -%defattr(-,root,root) -%{_sbindir}/bwx-console -%attr(-, root, %{daemon_group}) %dir %{sysconf_dir} -%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bwx-console.conf -/usr/share/pixmaps/wxwin16x16.xpm -/usr/share/applications/wxconsole.desktop -%{_mandir}/man1/bacula-bwxconsole.1.%{manpage_ext} -%endif - -%if %{wxconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} -# add the console helper files -%config(noreplace,missingok) /etc/pam.d/bwx-console -%config(noreplace,missingok) /etc/security/console.apps/bwx-console -/usr/bin/bwx-console -%endif - -%if %{wxconsole} -%pre wxconsole -# create the daemon group -HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{groupadd} -r %{daemon_group} > /dev/null 2>&1 - echo "The group %{daemon_group} has been added to %{group_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi - -%post wxconsole -# generate passwords if needed -if [ -d %{sysconf_dir} ]; then - cd %{sysconf_dir} - for file in *.conf; do - 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 - need_password=`grep $string $file 2>/dev/null` - if [ -n "$need_password" ]; then - pass=`openssl rand -base64 33` - sed "s-$string-$pass-g" $file > $file.new - cp -f $file.new $file; rm -f $file.new - fi - done - done -fi -%endif - -%if %{bat} -%files bat -%defattr(-,root,root) -%{_sbindir}/bat -%attr(-, root, %{daemon_group}) %dir %{sysconf_dir} -%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bat.conf -/usr/share/pixmaps/bat_icon.png -/usr/share/applications/bat.desktop -%{_mandir}/man1/bat.1.%{manpage_ext} -%endif - -%if %{bat} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} -# add the console helper files -%config(noreplace,missingok) /etc/pam.d/bat -%config(noreplace,missingok) /etc/security/console.apps/bat -/usr/bin/bat -%endif - -%if %{bat} -%pre bat -# create the daemon group -HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null` -if [ -z "$HAVE_BACULA" ]; then - %{groupadd} -r %{daemon_group} > /dev/null 2>&1 - echo "The group %{daemon_group} has been added to %{group_file}." - echo "See the manual chapter \"Running Bacula\" for details." -fi - -%post bat -# generate passwords if needed -if [ -d %{sysconf_dir} ]; then - cd %{sysconf_dir} - for file in *.conf; do - 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 - need_password=`grep $string $file 2>/dev/null` - if [ -n "$need_password" ]; then - pass=`openssl rand -base64 33` - sed "s-$string-$pass-g" $file > $file.new - cp -f $file.new $file; rm -f $file.new - fi - done - done -fi -%endif - -%changelog -* Sat Jun 20 2009 D. Scott Barninger -- Fix bat install which is now handled by make and uses shared libs -* Sat May 16 2009 D. Scott Barninger -- fix libxml dependency for rh7 per Pasi Kärkkäinen -* Mon May 04 2009 D. Scott Barninger -- Fix post ldconfig problem in client only build -* Sun May 03 2009 D. Scott Barninger -- remove more files installed by client-only build not needed by client package -- remove libbacsql files from client package -* Sat May 02 2009 D. Scott Barninger -- 3.0.1 -- update for new docs configuration -* Sat Apr 25 2009 D. Scott Barninger -- add switch to pass Distribution tag -* Sun Apr 5 2009 D. Scott Barninger -- 3.0.0 release -- database update version 10 to 11 -- make now installs docs so we rm from buildroot -- add shared libs in %_libdir and other misc new files -* Wed Dec 31 2008 D. Scott Barninger -- add su111 target -* Sat Nov 08 2008 D. Scott Barninger -- set paths for QT using pkgconfig -* Sat Oct 11 2008 D. Scott Barninger -- release 2.4.3 update depkgs to 11Sep08 remove file nmshack from mtx package -* Sun Sep 07 2008 D. Scott Barninger -- adjust /opt/bacula install -- add build switch to supress rescue package -* Sun Aug 24 2008 D. Scott Barninger -- add support for install to /opt/bacula -* Sun Aug 17 2008 D. Scott Barninger -- remove libtermcap dependancy for FC9 -* Mon Aug 04 2008 D. Scott Barninger -- fix bat dependencies -* Sat Jun 28 2008 D. Scott Barninger -- add su110 target -* Sat May 24 2008 D. Scott Barninger -- add fc9 target -* Sun Mar 30 2008 D. Scott Barninger -- FHS compatibility changes -* Sat Feb 16 2008 D. Scott Barninger -- remove fix for false buffer overflow detection with glibc >= 2.7 -* Sat Feb 09 2008 D. Scott Barninger -- fix for false buffer overflow detection with glibc >= 2.7 -* Sun Jan 27 2008 D. Scott Barninger -- 2.2.8 release -- add debug package for SuSE -* Sat Jan 12 2008 D. Scott Barninger -- 2.2.8 beta release -- fix bug 1037 -- add fc8 target -* Sun Dec 30 2007 D. Scott Barninger -- fix typo on su103 client package requirements -* Fri Dec 28 2007 D. Scott Barninger -- add nobuild_mtx switch -- add patch for postgresql.c for old postgresql versions -* Sat Nov 17 2007 D. Scott Barninger -- switch to sqlite3 -* Sun Nov 11 2007 D. Scott Barninger -- add new files required by rescue makefile -* Sat Nov 10 2007 D. Scott Barninger -- add su103 build target -* Sun Nov 04 2007 D. Scott Barninger -- fix dist defines for rhel5 and clones -- fix rhel broken 64 bit QT4 paths -- rh qt4 packages don't provide qt so fix that too -* Mon Oct 29 2007 D. Scott Barninger -- correct ownership when creating sqlite db file in post script -* Sun Sep 16 2007 D. Scott Barninger -- fix disable-batch-insert -* Fri Sep 14 2007 D. Scott Barninger -- 2.2.4 release -- turn off gconsole build for fc3, tray monitor fails to build -- add new files for mtx package (09Sep07 depkgs update) -* Sat Sep 08 2007 D. Scott Barninger -- add --disable-batch-insert for older platforms -- add build targets for rhel5 and clones -* Mon Sep 03 2007 D. Scott Barninger -- 2.2.1 release -- turn off gconsole build for su10 & fc4, tray monitor fails to build -* Sat Jul 14 2007 D. Scott Barninger -- 2.1.26 add make of qwt in depkgs for bat -* Sat Jun 02 2007 D. Scott Barninger -- upgrade Qt requirement for bat to 4.2 -* Sun May 06 2007 D. Scott Barninger -- add fc7 build target -* Sun Apr 29 2007 D. Scott Barninger -- 2.1.8 -- gnome-console now bgnome-console -- wxconsole now bwx-console -- add build option for bat -* Sat Apr 08 2007 D. Scott Barninger -- merge Otto Mueller's patch but keep script dir set to /etc/bacula -- add build tag for Scientific Linux per Jon Peatfield -* Tue Mar 27 2007 Otto Mueller -- adjust directory locations for FHS-compatibility - sysconf_dir (/etc/bacula), script_dir (/usr/lib/bacula), - working_dir (/var/lib/bacula) and pid_dir (/var/run) -* Mon Feb 26 2007 D. Scott Barninger -- add SuSE 10.2 target -* Sat Jan 20 2007 D. Scott Barninger -- correct bug 752 -- set query.sql as config file -- correct bug 754 -* Sun Jan 14 2007 D. Scott Barninger -- 2.0.1 release -- change determination of gcc version per patch from Marc Hennes -- move BuildRequire for atk-devel to gnome only builds -- add fc6 build tag -* Sat Jan 06 2007 D. Scott Barninger -- 2.0.0 release -* Sun Oct 15 2006 D. Scott Barninger -- 1.39.26 remove create_sqlite_database.in.patch -* Sun Sep 24 2006 D. Scott Barninger -- change ownership of working_dir on server packages to bacula.bacula so that -- bacula-sd can create bootstrap files -* Sat Sep 02 2006 D. Scott Barninger -- 1.39.22 remove separate cd and make of manpages the main Makefile does it now -* Sun Aug 06 2006 D. Scott Barninger -- fix manpages file extension for mdk -* Sat Aug 05 2006 D. Scott Barninger -- bug 648 re-enable and update sqlite patches -- 1.39.18 changes -- updatedb 9 to 10 -- install man pages -- lock out gconsole build for gtk+ < 2.4 -* Mon Jul 17 2006 D. Scott Barninger -- move pango-devel BuildRequires into gconsole only build -* Sat Jul 15 2006 D. Scott Barninger -- add provides and conflicts for standard suse packages -- add third party packager tag support -- add build_client_only tag -- remove bsmtp from client package -- add bacula-ctl-fd to client package -* Thu Jul 13 2006 D. Scott Barninger -- fix directory creation when wxconsole and not gconsole -* Tue Jul 04 2006 D. Scott Barninger -- add check to buildrequires to make sure libstdc++ version matches gcc -* Mon Jul 03 2006 D. Scott Barninger -- add python build support -- fix LDFLAGS declarations -* Sun Jul 02 2006 D. Scott Barninger -- add requires for standard compiler toolchain -- move version and release tags up -- move patches up -- add docs_version tag -* Sat Jul 01 2006 D. Scott Barninger -- update rescuever to 1.8.6 -* Sun Jun 25 2006 D. Scott Barninger -- update depkgs to 25Jun06 -- add mysql5 build tag -* Mon Jun 12 2006 D. Scott Barninger -- 1.38.10 bump rescue version -* Sun Jun 03 2006 D. Scott Barninger -- fix usermod statements -- add fc5 target -* Thu Apr 27 2006 D. Scott Barninger -- add -g param back to useradd statements Bug 605 -* Mon Apr 17 2006 D. Scott Barninger -- redundant code cleanup -* Sun Apr 16 2006 D. Scott Barninger -- add wxconsole package -* Fri Apr 14 2006 D. Scott Barninger -- 1.38.8 release -- dependency update for Mandriva -* Sun Apr 08 2006 D. Scott Barninger -- 1.38.7 release -- remove -n option from useradd scripts -* Sun Apr 02 2006 D. Scott Barninger -- 1.38.6 release -- fix problem specifying more than one primary group for user bacula -- add build switch to not build gconsole regardless of platform -* Sun Jan 29 2006 D. Scott Barninger -- add centos3 build tag -- fix link error of static-fd on Mandrake with --disable-nls -* Fri Jan 27 2006 D. Scott Barninger -- add fc4 dependencies -* Mon Jan 23 2006 D. Scott Barninger -- add SuSE 10.0 build -- remove specific permission in attrib macros -* Sat Jan 21 2006 D. Scott Barninger -- 1.38.5 release -- fix usermode required on suse, suse doesn't have usermode (xsu instead) -- refix compat for _dist on SLES9 which seems to have been removed -- added note regarding Aleksandar's use of specific permissions in attrib macros -- need to review and add specific fc4 build currently using fc3 Requires -* Wed Dec 14 2005 Aleksandar Milivojevic -- 1.38.2 release -- Reorganize files and pre/post sections to remove repetitions -- Always build separate mtx package -- Fix file ownerships for /etc/bacula and Bacula's working dir -* Wed Nov 23 2005 Aleksandar Milivojevic -- Disable GNOME on RH7 -* Fri Nov 18 2005 Aleksandar Milivojevic -- Red Hat and look alikes have mtx RPM, do not build/package our version -* Sun Nov 13 2005 D. Scott Barninger -- minor edit to _dist for SLES9 compatibility -* Sat Nov 05 2005 D. Scott Barninger -- 1.38.0 release -- kern changed location of pdf files and html manual in docs package -* Sun Oct 30 2005 D. Scott Barninger -- 1.38.0 release -- add docs (from prebuilt tarball) and rescue packages back in -- remove dvd-freespace and dvd-writepart files, add dvd-handler -- remove 3 of 4 sqlite script patches as not needed -* Sun Jul 24 2005 D. Scott Barninger -- changes for 1.38 -- remove docs and rescue sections (remove static fd) -- add dvd-freespace and dvd-writepart files -- update depkgs to 22Jun05 -- change database update to 8 to 9 -* Sun Jul 24 2005 D. Scott Barninger -- minor cleanups before 1.38 changes -- add popt and popt-devel build dependencies -- add tetex and tetex-dvips dependencies for doc build -- replace deprecated Copyright tag with License -* Sat May 07 2005 D. Scott Barninger -- move sqlite installation bindir to /usr/lib/bacula/sqlite and remove -- conflict with sqlite packages. remove readline dependency. -* Sun Apr 17 2005 D. Scott Barninger -- release 1.36.3 update docs -* Tue Apr 05 2005 D. Scott Barninger -- add centos4 build tag -- add x86_64 build tag -* Sun Apr 03 2005 D. Scott Barninger -- add rhel4 build tag -- clean up for mysql4 which is now mdk-10.1, suse-9.2 and rhel4 -* Sun Mar 06 2005 D. Scott Barninger -- add rhel3 build tag -* Tue Mar 01 2005 D. Scott Barninger -- fix tray-monitor.conf for noreplace -* Mon Feb 28 2005 D. Scott Barninger -- fix distribution check for Fedora and Whitebox -* Sun Feb 06 2005 D. Scott Barninger -- add logwatch script -- add dvd scripts -* Sat Jan 15 2005 D. Scott Barninger -- add build for Fedora Core 3 (linc now included in ORDit2) -- add mysql4 define for Mandrake 10.1 -* Fri Jan 14 2005 D. Scott Barninger -- fix {group_file} variable in post scripts -* Thu Dec 30 2004 D. Scott Barninger -- add distribution checking and custom Distribution tag -* Thu Dec 09 2004 D. Scott Barninger -- ASSIGNMENT OF COPYRIGHT -- FOR VALUE RECEIVED, D. Scott Barninger hereby sells, transfers and -- assigns unto Kern Sibbald, his successors, assigns and personal representatives, -- all right, title and interest in and to the copyright in this software RPM -- spec file. D. Scott Barninger warrants good title to said copyright, that it is -- free of all liens, encumbrances or any known claims against said copyright. -* Sat Dec 04 2004 D. Scott Barninger -- bug 183 fixes -- thanks to Daniel Widyono -- update description for rescue package to describe cdrom creation -* Thu Nov 18 2004 D. Scott Barninger -- update depkgs to 29Oct04 -* Fri Nov 12 2004 D. Scott Barninger -- add cdrom rescue to bacula-rescue package -* Sun Oct 31 2004 D. Scott Barninger -- misc fixes from 1.36.0 suse feedback -- fix situation where sqlite database exists but sqlite has been removed. -* Fri Oct 22 2004 D. Scott Barninger -- remove tray-monitor from RH8 build -- fix permissions on tray-monitor files -* Wed Oct 13 2004 D. Scott Barninger -- add Mandrake support and tray-monitor, misc changes for 1.35.8/1.36.0, -- change database update to 7 to 8 upgrade, -- revert depkgs to 08Mar04 as there seems to be a bug in the sqlite -- build in 30Jul04, add freetype dependancy to gnome package. -* Sun Sep 12 2004 D. Scott Barninger -- add documentation to console for groupadd -* Sat Sep 04 2004 D. Scott Barninger -- add support for running daemons as root.bacula -- correct for change in location of floppy rescue files in 1.35.2 -- removed /etc/bacula/fd script from all packages as it has disappeared from 1.35.2 -- updated depgkgs to 30Jul04 -* Thu Jun 24 2004 D. Scott Barninger -- really, really fix symlink creation for gconsole -* Thu Jun 17 2004 D. Scott Barninger -- fix symlink creation in gconsole post install -* Sat Jun 12 2004 D. Scott Barninger -- fixed error in gconsole post script -* Fri Apr 30 2004 D. Scott Barninger -- add check for gconsole symlink before trying to create it -* Sun Apr 11 2004 D. Scott Barninger -- fix some minor permissions issues on doc files that CVS won't let us fix -* Sun Apr 04 2004 D. Scott Barninger -- add pkgconfig to BuildRequires -- clean up gnome1/2 menu entries for appropriate packages -* Fri Apr 02 2004 D. Scott Barninger -- tightened up doc distribution -* Tue Mar 30 2004 D. Scott Barninger -- added usermode (Redhat) and xsu (SuSE) support for gnome-console; -- rpm's horrible bug that prevents nested conditional macros prevents me -- from implementing these 2 separate approaches within the conditionals which -- create the separate server packages. -- the solution adopted is to remove the gnome-console files from the server packages -- so bacula-gconsole is now an add on for both client and server packages. -- this also now allows the server packages to be install on machines without -- an X-server and we can still maintain a single spec file. -- added tests to make sure we have defined platform and database macros. -* Sat Mar 13 2004 D. Scott Barninger -- corrected mysql prerequisites for suse -* Mon Mar 1 2004 D. Scott Barninger -- replaced all cp commands with cp -p -- removed addition of a+x permissions on gnome-console -- corrected permissions on init scripts -* Sat Feb 28 2004 D. Scott Barninger -- corrected creation of sqlite_bindir in install from !mysql to sqlite -- -- various cleanup patches from Michael K. Johnson: -- corrected post install routines for nicer chkconfig -- removed chmod changes in post routines and moved to install section -- removed interactive nature of post routine for rescue package -- added description of building rescue disks to the description of rescue package -- added clean of build root to beginning of install -- removed specifying attr in all file lists -* Fri Feb 20 2004 D. Scott Barninger -- added bconsole to client package -- added gconsole package as add-on to client -- removed spurious dependancies on updatedb package (!cut/paste) -* Thu Feb 19 2004 D. Scott Barninger -- added updatedb package -* Thu Feb 12 2004 D. Scott Barninger -- added postgresql package -* Wed Feb 11 2004 D. Scott Barninger -- corrected the if else logic in the dependancy sections -- changes for 1.34 release -- /etc/bacula/console is now /etc/bacula/bconsole -- /etc/bacula/console.conf is now /etc/bacula/bconsole.conf -- /usr/sbin/btraceback.gdb is now /etc/bacula/btraceback.gdb -- /usr/sbin/smtp is now /usr/sbin/bsmtp -- added new /etc/bacula/drop_mysql_database -- added new /etc/bacula/drop_sqlite_database -- added new /etc/bacula/grant_sqlite_privileges -- added new generic bacula database scripts in /etc/bacula -- added pre-install sections to check for database versions older than 6 -- added check for /etc/bacula/console.conf and copy to bconsole.conf -* Sun Feb 08 2004 D. Scott Barninger -- added /etc/bacula/update_sqlite_tables and /etc/bacula/update_mysql_tables for 1.34 release -- added testing for existing databases before executing any of the database creation scripts -- added defines working_dir and sqlite_bindir in place of hard coded paths -* Sat Jan 31 2004 D. Scott Barninger -- added build configuration for SuSE. -- Thanks to Matt Vollmar for his input -* Sat Jan 24 2004 D. Scott Barninger -- added patch for create_sqlite_database to fix the installed bindir -- added execute of create_sqlite_database to post of sqlite package -* Sat Jan 10 2004 D. Scott Barninger -- added virtual package Provides bacula-dir, bacula-sd, bacula-fd -- added bacula-fd as Requires for rescue package -- added build tag for Fedora Core 1 -- cleaned up dependancies for all builds -* Thu Jan 1 2004 D. Scott Barninger -- removed rh_version from package names -- added platform build configuration section to beginning of file -* Tue Nov 25 2003 D. Scott Barninger -- removed make_static_bacula script from rescue package install -* Sun Nov 23 2003 D. Scott Barninger -- Added define at top of file for depkgs version -- Added rescue sub-package -- Moved requires statements into proper sub-package locations -* Mon Oct 27 2003 D. Scott Barninger -- Corrected Requires for Gnome 1.4/2.0 builds -* Fri Oct 24 2003 D. Scott Barninger -- Added separate source declaration for depkgs -- added patch for make_catalog_backup script -* Mon May 11 2003 D. Scott Barninger -- Misc changes to mysql/sqlite build and rh7/8 menu differences -- Added rh_version to sub-package names -- Added installed but missing file /etc/bacula/gconsole -- rm'd /etc/bacula/grant_mysql_privileges on sqlite builds -* Thu May 08 2003 Kern Sibbald -- Update spec for version 1.31 and combine client -* Sun Mar 30 2003 D. Scott Barninger -- Initial spec file