X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fplatforms%2Fmandrake%2Fbacula.spec.in;h=8f9060e8f745f58293aa7fe19c0c721588784899;hb=4d7f52939e809c60854ea641c534a40e30e32969;hp=3a8447efc6443b7131598814e0ced68a38701769;hpb=2a0ed1e7805e2408c88f44a95b54d291bff36e12;p=bacula%2Fbacula diff --git a/bacula/platforms/mandrake/bacula.spec.in b/bacula/platforms/mandrake/bacula.spec.in index 3a8447efc6..8f9060e8f7 100644 --- a/bacula/platforms/mandrake/bacula.spec.in +++ b/bacula/platforms/mandrake/bacula.spec.in @@ -1,13 +1,88 @@ # Bacula RPM spec file -# Copyright (C) 2000-2006 Kern Sibbald +# Copyright (C) 2000-2008 Kern Sibbald # Platform Build Configuration # basic defines for every build +%define _version @VERSION@ +%define _release 1 +%define depkgs_version 11Sep08 +%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 -%define depkgs_version 28Mar06 -%define sqlite_bindir /usr/lib/bacula/sqlite -%define working_dir /var/bacula + +# 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. @@ -17,13 +92,13 @@ %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 -%define _rescuever 1.8.3 # platform defines - set one below or define the build_xxx on the command line # RedHat builds @@ -42,6 +117,14 @@ %{?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} @@ -52,6 +135,9 @@ %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} @@ -59,11 +145,32 @@ %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} @@ -71,8 +178,12 @@ %{?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} && ! %{wb3} && ! %{su9} && ! %{su10} && ! %{mdk} +%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 @@ -82,17 +193,22 @@ exit 1 %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.x, RHEL4 and Fedora Core 4 & 5 +# 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} +%if ! %{mysql} && ! %{sqlite} && ! %{postgresql} && ! %{client_only} %{error: You must specify database support. Please examine the spec file.} exit 1 %endif @@ -101,7 +217,7 @@ exit 1 %define db_backend mysql %endif %if %{sqlite} -%define db_backend sqlite +%define db_backend sqlite3 %endif %if %{postgresql} %define db_backend postgresql @@ -112,78 +228,128 @@ exit 1 %{?build_x86_64:%define x86_64 1} # check what distribution we are -%if %{rh7} || %{rh8} || %{rh9} || %{rhel3} || %{rhel4} +%if %{rh7} || %{rh8} || %{rh9} || %{rhel3} || %{rhel4} || %{rhel5} %define _dist %(grep Red /etc/redhat-release) %endif -%if %{fc1} || %{fc4} || %{fc5} +%if %{fc1} || %{fc4} || %{fc5} || %{fc7} || %{fc8} || %{fc9} %define _dist %(grep Fedora /etc/redhat-release) %endif -%if %{centos4} || %{centos3} +%if %{centos5} || %{centos4} || %{centos3} %define _dist %(grep CentOS /etc/redhat-release) %endif -%if %{fc3} && ! %{rhel4} && ! %{centos4} +%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} +%if %{wb3} && ! %{rhel3} && ! %{centos3} && ! %{sl3} %define _dist %(grep White /etc/whitebox-release) %endif -%if %{su9} || %{su10} +%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 -# Should we build gconsole, possible only if gnome >= 2.0 available -%if %{rh7} -%define gconsole 0 -%else %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 -# currently only SuSE 10 and FC4 +# SuSE 10 and FC4 and newer %define wxconsole 0 %{?build_wxconsole:%define wxconsole 1} -# 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. +# Should we build bat +# requires >= Qt-4.2 +%define bat 0 +%{?build_bat:%define bat 1} -Summary: Bacula - The Network Backup Solution -Name: bacula -Version: @VERSION@ -Release: 1 -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-%{version}.tar.gz -Source4: http://www.prdownloads.sourceforge.net/bacula/%{name}-rescue-%{_rescuever}.tar.gz -BuildRoot: %{_tmppath}/%{name}-root -URL: http://www.bacula.org/ -Vendor: The Bacula Team -Distribution: %{_dist} -Packager: D. Scott Barninger +# should we turn on python support +%define python 0 +%{?build_python:%define python 1} -%define _docsrc ../%{name}-docs-%{version} -%define _rescuesrc ../%{name}-rescue-%{_rescuever} +# 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} -BuildRequires: atk-devel, ncurses-devel, pango-devel, perl -BuildRequires: libstdc++-devel, libxml2-devel, zlib-devel +# 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}, libxml2-devel, zlib-devel BuildRequires: openssl-devel +%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 @@ -225,6 +391,86 @@ 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 @@ -297,11 +543,67 @@ BuildRequires: libbonoboui-devel >= 2.14 BuildRequires: GConf2-devel BuildRequires: freetype-devel %endif -%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5} +%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} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5} && %{gconsole} +%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 @@ -314,7 +616,7 @@ BuildRequires: linc-devel BuildRequires: freetype-devel %endif -%if %{mysql} && ! %{mysql4} +%if %{mysql} && ! %{mysql4} && ! %{mysql5} BuildRequires: mysql-devel >= 3.23 %endif @@ -322,6 +624,10 @@ BuildRequires: mysql-devel >= 3.23 BuildRequires: mysql-devel >= 4.0 %endif +%if %{mysql} && %{mysql5} +BuildRequires: mysql-devel >= 5.0 +%endif + %if %{postgresql} && %{wb3} BuildRequires: rh-postgresql-devel >= 7 %endif @@ -360,6 +666,11 @@ 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} @@ -370,7 +681,23 @@ Requires: libtermcap Requires: glibc >= 2.3 Requires: termcap %endif -%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{fc5} +%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 @@ -378,8 +705,19 @@ Requires: libtermcap 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} +%if %{mysql} && ! %{su9} && ! %{mdk} && ! %{mysql4} && ! %{mysql5} Requires: mysql >= 3.23 Requires: mysql-server >= 3.23 %endif @@ -387,6 +725,10 @@ Requires: mysql-server >= 3.23 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 @@ -400,6 +742,26 @@ Requires: mysql-client >= 4.0 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 @@ -429,6 +791,10 @@ Requires: postgresql-server >= 7 %description postgresql %endif +%if %{python} +Requires: python >= %{pyver} +%endif + %{blurb} %{blurb2} @@ -446,9 +812,13 @@ This build requires MySQL to be installed separately as the catalog database. This build requires PostgreSQL to be installed separately as the catalog database. %endif %if %{sqlite} -This build incorporates sqlite as the catalog database, statically compiled. +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 @@ -457,6 +827,7 @@ 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 @@ -466,6 +837,11 @@ 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} @@ -476,7 +852,23 @@ Requires: libtermcap Requires: glibc >= 2.3 Requires: termcap %endif -%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{fc5} +%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 @@ -484,6 +876,21 @@ Requires: libtermcap 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} @@ -498,7 +905,11 @@ Requires: libtermcap 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 @@ -517,6 +928,7 @@ Group: System Environment/Daemons This package installs scripts for updating older versions of the bacula database. +%endif %if %{gconsole} %package gconsole @@ -556,6 +968,74 @@ 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 @@ -613,7 +1093,51 @@ Requires: libbonoboui >= 2.14 Requires: GConf2 Requires: freetype %endif -%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5} +%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 @@ -632,7 +1156,19 @@ Requires: xsu %if %{gconsole} && %{su10} Requires: xsu %endif -%if %{gconsole} && ! %{su9} && ! %{su10} +%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 @@ -663,6 +1199,22 @@ Requires: wxGTK >= 2.6, libstdc++, openssl 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 @@ -675,6 +1227,22 @@ Requires: gtk2 >= 2.6 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} @@ -691,6 +1259,155 @@ 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 @@ -701,32 +1418,50 @@ server packages. %build -%if %{su9} || %{su10} -export LDFLAGS="-L/usr/lib/termcap" +%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 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 -# as of 1.38.0 first 3 patches no longer needed # 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_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 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_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} @@ -735,20 +1470,52 @@ patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch %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=-L/usr/lib64 +export LDFLAGS="${LDFLAGS} -L/usr/lib64" %endif %if %{mysql} && %{x86_64} -export LDFLAGS=-L/usr/lib64/mysql +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=/usr \ - --sbindir=/usr/sbin \ - --sysconfdir=/etc/bacula \ - --with-scriptdir=/etc/bacula \ + --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} @@ -757,12 +1524,15 @@ export LDFLAGS=-L/usr/lib64/mysql --enable-static-fd make +%endif %configure \ - --prefix=/usr \ - --sbindir=/usr/sbin \ - --sysconfdir=/etc/bacula \ - --with-scriptdir=/etc/bacula \ + --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 \ @@ -774,17 +1544,30 @@ make --with-mysql \ %endif %if %{sqlite} - --with-sqlite=${cwd}/%{depkgs}/sqlite \ + --with-sqlite3=${cwd}/%{depkgs}/sqlite3 \ %endif %if %{postgresql} --with-postgresql \ %endif %if %{wxconsole} - --enable-wx-console \ + --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 - --with-working-dir=%{working_dir} \ - --with-pid-dir=/var/run \ - --with-subsys-dir=/var/lock/subsys \ +%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} \ @@ -810,12 +1593,20 @@ 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/usr/share/pixmaps -%if %{gconsole} +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 -mkdir -p $RPM_BUILD_ROOT/etc/bacula/updatedb -%if %{gconsole} && ! %{su9} && ! %{su10} + +%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 @@ -825,46 +1616,68 @@ mkdir -p $RPM_BUILD_ROOT/usr/bin mkdir -p $RPM_BUILD_ROOT%{sqlite_bindir} %endif -make \ - prefix=$RPM_BUILD_ROOT/usr \ - sbindir=$RPM_BUILD_ROOT/usr/sbin \ - sysconfdir=$RPM_BUILD_ROOT/etc/bacula \ - scriptdir=$RPM_BUILD_ROOT/etc/bacula \ - working_dir=$RPM_BUILD_ROOT%{working_dir} \ - install +make DESTDIR=$RPM_BUILD_ROOT install +%if ! %{client_only} && %{mtx} cd %{depkgs} make \ - prefix=$RPM_BUILD_ROOT/usr \ - sbindir=$RPM_BUILD_ROOT/usr/sbin \ - sysconfdir=$RPM_BUILD_ROOT/etc/bacula \ + 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} \ - mandir=$RPM_BUILD_ROOT/usr/man \ + 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/etc/bacula/startmysql -rm -f $RPM_BUILD_ROOT/etc/bacula/stopmysql -rm -f $RPM_BUILD_ROOT/etc/bacula/grant_mysql_privileges +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/etc/bacula/startmysql -rm -f $RPM_BUILD_ROOT/etc/bacula/stopmysql +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/etc/bacula/gconsole +rm -f $RPM_BUILD_ROOT%{script_dir}/gconsole %endif -rm -f $RPM_BUILD_ROOT/usr/sbin/static-bacula-fd +rm -f $RPM_BUILD_ROOT%{_sbindir}/static-bacula-fd # install the init scripts -%if %{su9} || %{su10} +%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 @@ -874,12 +1687,16 @@ 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} && ! %{mdk} +%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} @@ -894,11 +1711,67 @@ cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/b 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 %{rh8} || %{rh9} || %{wb3} || %{fc1} || %{fc3} || %{fc4} || %{fc5} || %{mdk} +%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 @@ -906,9 +1779,9 @@ cp -p scripts/wxconsole.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/wxcon %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/gnome-console.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/gnome-console -cp -p scripts/gnome-console.pamd $RPM_BUILD_ROOT/etc/pam.d/gnome-console -ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/gnome-console +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 @@ -917,165 +1790,269 @@ cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications %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/wxconsole -cp -p scripts/wxconsole.pamd $RPM_BUILD_ROOT/etc/pam.d/wxconsole -ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/wxconsole +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}/sqlite/sqlite $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite -cp -p %{depkgs}/sqlite/sqlite.h $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite.h -cp -p %{depkgs}/sqlite/libsqlite.a $RPM_BUILD_ROOT%{sqlite_bindir}/libsqlite.a +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/etc/bacula/updatedb/ +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 -mkdir $RPM_BUILD_ROOT/etc/bacula/rescue -cp -p %{_rescuesrc}/Makefile* $RPM_BUILD_ROOT/etc/bacula/rescue/ -cp -p %{_rescuesrc}/README $RPM_BUILD_ROOT/etc/bacula/rescue/ -cp -p %{_rescuesrc}/configure $RPM_BUILD_ROOT/etc/bacula/rescue/ -cp -p %{_rescuesrc}/version.h $RPM_BUILD_ROOT/etc/bacula/rescue/ -cp -pr %{_rescuesrc}/linux $RPM_BUILD_ROOT/etc/bacula/rescue/ -cp -pr %{_rescuesrc}/autoconf $RPM_BUILD_ROOT/etc/bacula/rescue/ -touch $RPM_BUILD_ROOT/etc/bacula/rescue/linux/cdrom/rpm_release -cp -p src/filed/static-bacula-fd $RPM_BUILD_ROOT/etc/bacula/rescue/linux/cdrom/bacula/bin/bacula-fd +%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 -%if %{wxconsole} -mv $RPM_BUILD_ROOT/usr/sbin/wx-console $RPM_BUILD_ROOT/usr/sbin/wxconsole -mv $RPM_BUILD_ROOT/etc/bacula/wx-console.conf $RPM_BUILD_ROOT/etc/bacula/wxconsole.conf +# install bat since make doesn't at the moment +%if %{bat} +cp -p src/qt-console/bat $RPM_BUILD_ROOT%{_sbindir}/bat +cp -p src/qt-console/bat.conf $RPM_BUILD_ROOT%{sysconf_dir}/bat.conf +%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 %{_docsrc}/manual/bacula.pdf $RPM_BUILD_ROOT%{_prefix}/doc/ +cp %{_docsrc}/developers/developers.pdf $RPM_BUILD_ROOT%{_prefix}/doc/ +cp -r %{_docsrc}/manual/bacula $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-r $RPM_BUILD_ROOT/etc/bacula/query.sql -chmod o-rwx $RPM_BUILD_ROOT/var/bacula +chmod o-rwx $RPM_BUILD_ROOT%{working_dir} %if %{gconsole} && ! %{rh8} -chmod 755 $RPM_BUILD_ROOT/usr/sbin/bacula-tray-monitor -chmod 644 $RPM_BUILD_ROOT/etc/bacula/tray-monitor.conf +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 %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}) /etc/bacula/create_mysql_database -%attr(-, root, %{daemon_group}) /etc/bacula/drop_mysql_database -%attr(-, root, %{daemon_group}) /etc/bacula/make_mysql_tables -%attr(-, root, %{daemon_group}) /etc/bacula/drop_mysql_tables -%attr(-, root, %{daemon_group}) /etc/bacula/update_mysql_tables -%attr(-, root, %{daemon_group}) /etc/bacula/grant_mysql_privileges -%attr(-, root, %{daemon_group}) /etc/bacula/startmysql -%attr(-, root, %{daemon_group}) /etc/bacula/stopmysql +%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}) /etc/bacula/create_sqlite_database -%attr(-, root, %{daemon_group}) /etc/bacula/drop_sqlite_database -%attr(-, root, %{daemon_group}) /etc/bacula/grant_sqlite_privileges -%attr(-, root, %{daemon_group}) /etc/bacula/make_sqlite_tables -%attr(-, root, %{daemon_group}) /etc/bacula/drop_sqlite_tables -%attr(-, root, %{daemon_group}) /etc/bacula/update_sqlite_tables -%{sqlite_bindir}/libsqlite.a -%{sqlite_bindir}/sqlite.h -%{sqlite_bindir}/sqlite +%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}) /etc/bacula/create_postgresql_database -%attr(-, root, %{daemon_group}) /etc/bacula/drop_postgresql_database -%attr(-, root, %{daemon_group}) /etc/bacula/make_postgresql_tables -%attr(-, root, %{daemon_group}) /etc/bacula/drop_postgresql_tables -%attr(-, root, %{daemon_group}) /etc/bacula/update_postgresql_tables -%attr(-, root, %{daemon_group}) /etc/bacula/grant_postgresql_privileges +%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 -%attr(-, root, %{daemon_group}) %dir /etc/bacula -%attr(-, root, %{daemon_group}) /etc/bacula/bacula -%attr(-, root, %{daemon_group}) /etc/bacula/bconsole -%attr(-, root, %{daemon_group}) /etc/bacula/create_bacula_database -%attr(-, root, %{daemon_group}) /etc/bacula/drop_bacula_database -%attr(-, root, %{daemon_group}) /etc/bacula/grant_bacula_privileges -%attr(-, root, %{daemon_group}) /etc/bacula/make_bacula_tables -%attr(-, root, %{daemon_group}) /etc/bacula/drop_bacula_tables -%attr(-, root, %{daemon_group}) /etc/bacula/update_bacula_tables -%attr(-, root, %{daemon_group}) /etc/bacula/make_catalog_backup -%attr(-, root, %{daemon_group}) /etc/bacula/delete_catalog_backup -%attr(-, root, %{daemon_group}) /etc/bacula/btraceback.dbx -%attr(-, root, %{daemon_group}) /etc/bacula/btraceback.gdb -%attr(-, root, %{daemon_group}) /etc/bacula/rescue -%attr(-, root, %{daemon_group}) /etc/bacula/disk-changer -%attr(-, root, %{daemon_group}) /etc/bacula/bacula-ctl-dir -%attr(-, root, %{daemon_group}) /etc/bacula/bacula-ctl-fd -%attr(-, root, %{daemon_group}) /etc/bacula/bacula-ctl-sd +%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}) /etc/bacula/dvd-handler +%attr(-, root, %{storage_daemon_group}) %{script_dir}/dvd-handler %attr(-, root, %{storage_daemon_group}) /etc/init.d/bacula-sd -%attr(-, root, %{storage_daemon_group}) /etc/bacula/mtx-changer - -%doc COPYING ChangeLog ReleaseNotes VERIFYING kernstodo -%doc %{_docsrc}/manual/bacula.pdf %{_docsrc}/developers/developers.pdf %{_docsrc}/manual/bacula ../Release_Notes-%{version}-%{release}.txt +%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) /etc/bacula/bacula-dir.conf -%attr(-, root, %{daemon_group}) %config(noreplace) /etc/bacula/bacula-fd.conf -%attr(-, root, %{storage_daemon_group}) %config(noreplace) /etc/bacula/bacula-sd.conf -%attr(-, root, %{daemon_group}) %config(noreplace) /etc/bacula/bconsole.conf +%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}) /etc/bacula/query.sql -%attr(-, root, %{daemon_group}) %dir %{working_dir} +%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 +%doc %{_docsrc}/manual/bacula.pdf %{_docsrc}/developers/developers.pdf %{_docsrc}/manual/bacula ../Release_Notes-%{version}-%{release}.txt +%endif -/usr/sbin/bacula-dir -/usr/sbin/bacula-fd -/usr/sbin/bacula-sd -/usr/sbin/bcopy -/usr/sbin/bextract -/usr/sbin/bls -/usr/sbin/bscan -/usr/sbin/btape -/usr/sbin/btraceback -/usr/sbin/bconsole -/usr/sbin/dbcheck -/usr/sbin/bsmtp -/usr/sbin/bregex -/usr/sbin/bwild +%if ! %{client_only} && %{single_dir} +%{_prefix}/doc +%endif %if %{mysql} %pre mysql -# test for bacula database older than version 8 +# 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 -# test for bacula database older than version 8 +# are we upgrading from sqlite to sqlite3? if [ -s %{working_dir}/bacula.db ] && [ -s %{sqlite_bindir}/sqlite ];then - DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite 2>/dev/null %{working_dir}/bacula.db | tail -n 1` + 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} @@ -1083,23 +2060,26 @@ if [ -s %{working_dir}/bacula.db ] && [ -s %{sqlite_bindir}/sqlite ];then DB_VER=`echo 'select * from Version;' | psql bacula 2>/dev/null | tail -3 | head -1` %endif -if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "8" ]; then - echo "This bacula upgrade will update a bacula database from version 8 to 9." +%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 8 and then install this upgrade. The alternative" - echo "is to use /etc/bacula/drop_%{db_backend}_tables to delete all your your current" + 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 8 can be found in the release notes." + echo "database older than version 10 can be found in the release notes." exit 1 fi +%endif %if %{sqlite} fi %endif -# check for and copy /etc/bacula/console.conf to bconsole.conf -if [ -s /etc/bacula/console.conf ];then - cp -p /etc/bacula/console.conf /etc/bacula/bconsole.conf +%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 @@ -1151,6 +2131,7 @@ IS_ROOT=%{file_daemon_user} if [ "$IS_ROOT" != "root" ]; then %{usermod} -G %{daemon_group} %{file_daemon_user} fi +%endif %if %{mysql} %post mysql @@ -1162,12 +2143,14 @@ fi %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 @@ -1178,19 +2161,19 @@ DB_VER=`mysql 2>/dev/null bacula -e 'select * from Version;'|tail -n 1` if [ -z "$DB_VER" ]; then echo "Hmm, doesn't look like you have an existing database." echo "Granting privileges for MySQL user bacula..." - /etc/bacula/grant_mysql_privileges + %{script_dir}/grant_mysql_privileges echo "Creating MySQL bacula database..." - /etc/bacula/create_mysql_database + %{script_dir}/create_mysql_database echo "Creating bacula tables..." - /etc/bacula/make_mysql_tables + %{script_dir}/make_mysql_tables -# check to see if we need to upgrade a 1.36 or lower database -elif [ "$DB_VER" -lt "9" ]; then +# 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 ..." - /etc/bacula/update_mysql_tables + %{script_dir}/update_mysql_tables echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2" fi @@ -1199,23 +2182,24 @@ fi %if %{sqlite} # test for an existing database if [ -s %{working_dir}/bacula.db ]; then - DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite 2>/dev/null %{working_dir}/bacula.db | tail -n 1` - # check to see if we need to upgrade a 1.36 or lower database - if [ "$DB_VER" -lt "9" ] && [ "$DB_VER" -ge "8" ]; 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}/sqlite %{working_dir}/bacula.db | bzip2 > %{working_dir}/bacula_backup.sql.bz2 + echo ".dump" | %{sqlite_bindir}/sqlite3 %{working_dir}/bacula.db | bzip2 > %{working_dir}/bacula_backup.sql.bz2 echo "Upgrading bacula database ..." - /etc/bacula/update_sqlite_tables + %{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..." - /etc/bacula/create_sqlite_database + %{script_dir}/create_sqlite3_database + chown %{director_daemon_user}.%{daemon_group} %{working_dir}/bacula.db echo "Creating the SQLite tables..." - /etc/bacula/make_sqlite_tables + %{script_dir}/make_sqlite3_tables fi %endif @@ -1228,27 +2212,28 @@ DB_VER=`echo 'select * from Version;' | psql bacula 2>/dev/null | tail -3 | head if [ -z "$DB_VER" ]; then echo "Hmm, doesn't look like you have an existing database." echo "Creating PostgreSQL bacula database..." - /etc/bacula/create_postgresql_database + %{script_dir}/create_postgresql_database echo "Creating bacula tables..." - /etc/bacula/make_postgresql_tables + %{script_dir}/make_postgresql_tables echo "Granting privileges for PostgreSQL user bacula..." - /etc/bacula/grant_postgresql_privileges + %{script_dir}/grant_postgresql_privileges -# check to see if we need to upgrade a 1.36 or lower database -elif [ "$DB_VER" -lt "9" ]; then +# 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 ..." - /etc/bacula/update_postgresql_tables + %{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 /etc/bacula ]; then - cd /etc/bacula +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` @@ -1260,6 +2245,9 @@ if [ -d /etc/bacula ]; then done done fi +%endif + +/sbin/ldconfig %if %{mysql} %preun mysql @@ -1271,44 +2259,76 @@ fi %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 +%endif +%if %{sqlite} +%postun sqlite +%endif +%if %{postgresql} +%postun postgresql +%endif -%files mtx -%attr(-, root, %{storage_daemon_group}) /usr/sbin/loaderinfo -%attr(-, root, %{storage_daemon_group}) /usr/sbin/mtx -%attr(-, root, %{storage_daemon_group}) /usr/sbin/scsitape -%attr(-, root, %{storage_daemon_group}) /usr/sbin/tapeinfo -/usr/man/man1/* +/sbin/ldconfig +%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 /etc/bacula -%attr(-, root, %{daemon_group}) /etc/bacula/bconsole +%attr(-, root, %{daemon_group}) %dir %{script_dir} +%{script_dir}/bacula-ctl-fd /etc/init.d/bacula-fd -%attr(-, root, %{daemon_group}) /etc/bacula/rescue +%if %{rescue} +%attr(-, root, %{daemon_group}) %{script_dir}/rescue +%endif -%doc COPYING ChangeLog ReleaseNotes VERIFYING kernstodo +%if ! %{single_dir} +%doc COPYING ChangeLog ReleaseNotes LICENSE VERIFYING kernstodo %doc %{_docsrc}/manual/bacula.pdf %{_docsrc}/developers/developers.pdf %{_docsrc}/manual/bacula ../Release_Notes-%{version}-%{release}.txt +%else +%{_prefix}/doc +%endif /etc/logrotate.d/bacula -%attr(-, root, %{daemon_group}) %config(noreplace) /etc/bacula/bacula-fd.conf -%attr(-, root, %{daemon_group}) %config(noreplace) /etc/bacula/bconsole.conf +%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} -/usr/sbin/bacula-fd -/usr/sbin/btraceback -%attr(-, root, %{daemon_group}) /etc/bacula/btraceback.gdb -%attr(-, root, %{daemon_group}) /etc/bacula/btraceback.dbx -/usr/sbin/bsmtp -/usr/sbin/bconsole +%{_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* %pre client @@ -1341,8 +2361,8 @@ if [ "$1" -ge 1 ] ; then fi # generate passwords if needed -if [ -d /etc/bacula ]; then - cd /etc/bacula +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` @@ -1355,15 +2375,21 @@ if [ -d /etc/bacula ]; then 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}) -/etc/bacula/updatedb/* +%{script_dir}/updatedb/* %pre updatedb # create the daemon group @@ -1375,31 +2401,34 @@ if [ -z "$HAVE_BACULA" ]; then fi %post updatedb -echo "The database update scripts were installed to /etc/bacula/updatedb" +echo "The database update scripts were installed to %{script_dir}/updatedb" +%endif %if %{gconsole} %files gconsole %defattr(-,root,root) -/usr/sbin/gnome-console -%attr(-, root, %{daemon_group}) %dir /etc/bacula -%attr(-, root, %{daemon_group}) /etc/bacula/gconsole -%attr(-, root, %{daemon_group}) %config(noreplace) /etc/bacula/gnome-console.conf +%{_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} -/usr/sbin/bacula-tray-monitor -%config(noreplace) /etc/bacula/tray-monitor.conf +%{_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} +%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} # add the console helper files -%config(noreplace,missingok) /etc/pam.d/gnome-console -%config(noreplace,missingok) /etc/security/console.apps/gnome-console -/usr/bin/gnome-console +%config(noreplace,missingok) /etc/pam.d/bgnome-console +%config(noreplace,missingok) /etc/security/console.apps/bgnome-console +/usr/bin/bgnome-console %endif %if %{gconsole} @@ -1414,8 +2443,8 @@ fi %post gconsole # generate passwords if needed -if [ -d /etc/bacula ]; then - cd /etc/bacula +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` @@ -1432,18 +2461,19 @@ fi %if %{wxconsole} %files wxconsole %defattr(-,root,root) -/usr/sbin/wxconsole -%attr(-, root, %{daemon_group}) %dir /etc/bacula -%attr(-, root, %{daemon_group}) %config(noreplace) /etc/bacula/wxconsole.conf +%{_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} +%if %{wxconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} # add the console helper files -%config(noreplace,missingok) /etc/pam.d/wxconsole -%config(noreplace,missingok) /etc/security/console.apps/wxconsole -/usr/bin/wxconsole +%config(noreplace,missingok) /etc/pam.d/bwx-console +%config(noreplace,missingok) /etc/security/console.apps/bwx-console +/usr/bin/bwx-console %endif %if %{wxconsole} @@ -1458,8 +2488,53 @@ fi %post wxconsole # generate passwords if needed -if [ -d /etc/bacula ]; then - cd /etc/bacula +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` @@ -1474,6 +2549,147 @@ fi %endif %changelog +* 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