X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fplatforms%2Fredhat%2Fbacula.spec.in;h=723bf9ab147591429870dbef989ca7dc7c959682;hb=f37e0f4eb88e304f5e785cd83ad897c2f47cbf4c;hp=a1b6341a6ca880f0f2579d24e6179544063eda20;hpb=51ed6c11a23ecb67b1ea4661b19cd467953024b0;p=bacula%2Fbacula diff --git a/bacula/platforms/redhat/bacula.spec.in b/bacula/platforms/redhat/bacula.spec.in index a1b6341a6c..723bf9ab14 100644 --- a/bacula/platforms/redhat/bacula.spec.in +++ b/bacula/platforms/redhat/bacula.spec.in @@ -1,12 +1,12 @@ # 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 09Sep07 +%define depkgs_version 11Sep08 %define _rescuever @VERSION@ %define docs_version @VERSION@ @@ -18,6 +18,14 @@ # 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}} @@ -33,10 +41,12 @@ Source1: http://www.prdownloads.sourceforge.net/bacula/depkgs-%{depkgs_version}. 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. @@ -48,18 +58,31 @@ Packager: %{_packager} %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. -# directory locations -%define sqlite_bindir /usr/lib/bacula/sqlite +# source directory locations %define _docsrc ../%{name}-docs-%{docs_version} %define _rescuesrc ../%{name}-rescue-%{_rescuever} %define depkgs ../depkgs -%define _mandir /usr/share/man -# directory locations for FHS-compatibility +# 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 /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. @@ -98,6 +121,10 @@ Packager: %{_packager} %{?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} @@ -138,6 +165,12 @@ Packager: %{_packager} %{?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} @@ -150,7 +183,7 @@ Packager: %{_packager} %{?build_client_only:%define client_only 1} # test for a platform definition -%if ! %{rh7} && ! %{rh8} && ! %{rh9} && ! %{fc1} && ! %{fc3} && ! %{fc4} && ! %{fc5} && ! %{fc6} && ! %{fc7} && ! %{wb3} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{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 @@ -184,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 @@ -198,7 +231,7 @@ exit 1 %if %{rh7} || %{rh8} || %{rh9} || %{rhel3} || %{rhel4} || %{rhel5} %define _dist %(grep Red /etc/redhat-release) %endif -%if %{fc1} || %{fc4} || %{fc5} || %{fc7} +%if %{fc1} || %{fc4} || %{fc5} || %{fc7} || %{fc8} || %{fc9} %define _dist %(grep Fedora /etc/redhat-release) %endif %if %{centos5} || %{centos4} || %{centos3} @@ -216,7 +249,7 @@ exit 1 %if %{wb3} && ! %{rhel3} && ! %{centos3} && ! %{sl3} %define _dist %(grep White /etc/whitebox-release) %endif -%if %{su9} || %{su10} || %{su102} +%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111} %define _dist %(grep -i SuSE /etc/SuSE-release) %endif %if %{mdk} @@ -240,8 +273,12 @@ Distribution: %{_dist} # 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/FC5 +# SuSE 10 and FC4 and newer %define wxconsole 0 %{?build_wxconsole:%define wxconsole 1} @@ -254,6 +291,14 @@ Distribution: %{_dist} %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 @@ -287,8 +332,23 @@ BuildRequires: python, python-devel 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 @@ -350,6 +410,66 @@ 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 @@ -450,11 +570,39 @@ BuildRequires: libbonoboui-devel >= 2.18 BuildRequires: GConf2-devel BuildRequires: freetype-devel %endif -%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5} && ! %{fc6} && ! %{fc7} +%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} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5} && ! %{fc6} && ! %{fc7} && %{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 @@ -518,7 +666,7 @@ Provides: bacula-dir, bacula-sd, bacula-fd, bacula-server Conflicts: bacula-client Obsoletes: bacula-rescue -%if %{su9} || %{su10} || %{su102} +%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111} Conflicts: bacula %endif @@ -536,7 +684,19 @@ Requires: termcap Requires: glibc >= 2.5 Requires: termcap %endif -%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{fc5} && ! %{fc6} && ! %{fc7} +%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 @@ -548,6 +708,13 @@ Requires: libtermcap 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 @@ -557,7 +724,7 @@ Requires: mysql-server >= 3.23 Requires: mysql >= 4.0 Requires: mysql-server >= 4.0 %endif -%if %{mysql} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{mdk} && %{mysql5} +%if %{mysql} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} && ! %{mdk} && %{mysql5} Requires: mysql >= 5.0 Requires: mysql-server >= 5.0 %endif @@ -582,6 +749,18 @@ Requires: mysql-client >= 5.0 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 @@ -632,13 +811,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} +%if ! %{client_only} && %{mtx} %package mtx Summary: Bacula - The Network Backup Solution Group: System Environment/Daemons @@ -658,7 +837,7 @@ Conflicts: bacula-sqlite Conflicts: bacula-postgresql Obsoletes: bacula-rescue -%if %{su9} || %{su10} || %{su102} +%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111} Provides: bacula %endif @@ -676,7 +855,19 @@ Requires: termcap Requires: glibc >= 2.5 Requires: termcap %endif -%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{fc5} && ! %{fc6} +%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 @@ -688,6 +879,13 @@ Requires: libtermcap 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} @@ -786,6 +984,57 @@ 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 @@ -865,7 +1114,29 @@ Requires: libbonoboui >= 2.18 Requires: GConf2 Requires: freetype %endif -%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5} && ! %{fc6} && ! %{fc7} +%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 @@ -887,7 +1158,16 @@ Requires: xsu %if %{gconsole} && %{su102} Requires: xsu %endif -%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{su102} +%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 @@ -922,6 +1202,18 @@ Requires: gtk2 >= 2.8 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 @@ -942,6 +1234,14 @@ Requires: gtk2 >= 2.10 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} @@ -988,6 +1288,42 @@ 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 @@ -995,7 +1331,7 @@ Requires: fontconfig Requires: freetype Requires: libgcc Requires: libpng -Requires: qt >= 4.2 +Requires: qt4 >= 4.2 Requires: libstdc++ Requires: zlib %endif @@ -1007,7 +1343,7 @@ Requires: fontconfig Requires: freetype Requires: libgcc Requires: libpng -Requires: qt >= 4.2 +Requires: qt4 >= 4.2 Requires: libstdc++ Requires: zlib %endif @@ -1019,7 +1355,31 @@ Requires: fontconfig Requires: freetype Requires: libgcc Requires: libpng -Requires: qt >= 4.2 +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 @@ -1040,6 +1400,13 @@ 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 @@ -1050,16 +1417,23 @@ the client or server packages. %build -%if %{su9} || %{su10} || %{su102} +%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} +%if ! %{client_only} && %{mtx} make mtx %endif %if %{bat} @@ -1067,20 +1441,26 @@ 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_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 -# not necessary after 1.39.26 no longer references sqlite binary #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_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} @@ -1092,6 +1472,15 @@ patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch %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 @@ -1118,9 +1507,10 @@ export QTINC=/usr/lib64/qt4/include/ export QTLIB=/usr/lib64/qt4/ %endif +%if %{rescue} %configure \ - --prefix=/usr \ - --sbindir=/usr/sbin \ + --prefix=%{_prefix} \ + --sbindir=%{_sbindir} \ --sysconfdir=%{sysconf_dir} \ --with-scriptdir=%{script_dir} \ --with-working-dir=%{working_dir} \ @@ -1133,10 +1523,11 @@ export QTLIB=/usr/lib64/qt4/ --enable-static-fd make +%endif %configure \ - --prefix=/usr \ - --sbindir=/usr/sbin \ + --prefix=%{_prefix} \ + --sbindir=%{_sbindir} \ --sysconfdir=%{sysconf_dir} \ --with-scriptdir=%{script_dir} \ --with-working-dir=%{working_dir} \ @@ -1152,7 +1543,7 @@ make --with-mysql \ %endif %if %{sqlite} - --with-sqlite=${cwd}/%{depkgs}/sqlite \ + --with-sqlite3=${cwd}/%{depkgs}/sqlite3 \ %endif %if %{postgresql} --with-postgresql \ @@ -1174,7 +1565,8 @@ make --disable-batch-insert \ %endif --mandir=%{_mandir} \ - --with-subsys-dir=/var/lock/subsys \ + --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} \ @@ -1213,7 +1605,7 @@ mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps %define usermode_iftrick 0 %endif -%if %{usermode_iftrick} && ! %{su9} && ! %{su10} && ! %{su102} +%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 @@ -1223,21 +1615,13 @@ 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%{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} \ - install +make DESTDIR=$RPM_BUILD_ROOT install -%if ! %{client_only} +%if ! %{client_only} && %{mtx} cd %{depkgs} make \ - prefix=$RPM_BUILD_ROOT/usr \ - sbindir=$RPM_BUILD_ROOT/usr/sbin \ + 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} \ @@ -1289,10 +1673,10 @@ rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql 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} || %{su102} +%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 @@ -1302,7 +1686,7 @@ 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} && ! %{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 @@ -1332,6 +1716,24 @@ 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} && %{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 @@ -1340,11 +1742,35 @@ cp -p scripts/wxconsole.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/wxcon 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 %{rh8} || %{rh9} || %{wb3} || %{fc1} || %{fc3} || %{fc4} || %{fc5} || %{fc6} || %{fc7} || %{mdk} +%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 @@ -1377,9 +1803,9 @@ ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/bat # 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 @@ -1399,30 +1825,54 @@ chmod 644 $RPM_BUILD_ROOT/etc/log.d/conf/services/bacula.conf %endif # install the rescue files -mkdir $RPM_BUILD_ROOT%{sysconf_dir}/rescue -cp -p %{_rescuesrc}/Makefile* $RPM_BUILD_ROOT%{sysconf_dir}/rescue/ -cp -p %{_rescuesrc}/README $RPM_BUILD_ROOT%{sysconf_dir}/rescue/ -cp -p %{_rescuesrc}/configure $RPM_BUILD_ROOT%{sysconf_dir}/rescue/ -cp -p %{_rescuesrc}/version.h $RPM_BUILD_ROOT%{sysconf_dir}/rescue/ -cp -pr %{_rescuesrc}/linux $RPM_BUILD_ROOT%{sysconf_dir}/rescue/ -cp -pr %{_rescuesrc}/autoconf $RPM_BUILD_ROOT%{sysconf_dir}/rescue/ -touch $RPM_BUILD_ROOT%{sysconf_dir}/rescue/linux/cdrom/rpm_release -cp -p src/filed/static-bacula-fd $RPM_BUILD_ROOT%{sysconf_dir}/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 # install bat since make doesn't at the moment %if %{bat} -cp -p src/qt-console/bat $RPM_BUILD_ROOT/usr/sbin/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 -# now clean up permissions that are left broken by the install -%if ! %{client_only} -chmod o-r $RPM_BUILD_ROOT%{script_dir}/query.sql +# 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-rwx $RPM_BUILD_ROOT%{working_dir} %if %{gconsole} && ! %{rh8} -chmod 755 $RPM_BUILD_ROOT/usr/sbin/bacula-tray-monitor +chmod 755 $RPM_BUILD_ROOT%{_sbindir}/bacula-tray-monitor chmod 644 $RPM_BUILD_ROOT%{sysconf_dir}/tray-monitor.conf %endif @@ -1463,15 +1913,15 @@ rm -f $RPM_BUILD_DIR/Release_Notes-%{version}-%{release}.txt %if %{sqlite} %files sqlite %defattr(-,root,root) -%attr(-, root, %{daemon_group}) %{script_dir}/create_sqlite_database -%attr(-, root, %{daemon_group}) %{script_dir}/drop_sqlite_database -%attr(-, root, %{daemon_group}) %{script_dir}/grant_sqlite_privileges -%attr(-, root, %{daemon_group}) %{script_dir}/make_sqlite_tables -%attr(-, root, %{daemon_group}) %{script_dir}/drop_sqlite_tables -%attr(-, root, %{daemon_group}) %{script_dir}/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} @@ -1500,19 +1950,17 @@ rm -f $RPM_BUILD_DIR/Release_Notes-%{version}-%{release}.txt %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}) %{sysconf_dir}/rescue %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 - -%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.conf /etc/logrotate.d/bacula /etc/log.d/scripts/services/bacula @@ -1526,20 +1974,21 @@ rm -f $RPM_BUILD_DIR/Release_Notes-%{version}-%{release}.txt %attr(-, %{storage_daemon_user}, %{daemon_group}) %dir %{working_dir} -/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 +%{_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} @@ -1553,20 +2002,56 @@ rm -f $RPM_BUILD_DIR/Release_Notes-%{version}-%{release}.txt %{_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 + +%if ! %{client_only} && %{single_dir} +%{_prefix}/doc %endif %if %{mysql} %pre mysql -# test for bacula database older than version 9 +# 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 9 +# 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} @@ -1575,13 +2060,13 @@ DB_VER=`echo 'select * from Version;' | psql bacula 2>/dev/null | tail -3 | head %endif %if ! %{client_only} -if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "9" ]; then - echo "This bacula upgrade will update a bacula database from version 9 to 10." +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 9 and then install this upgrade. The alternative" + 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 9 can be found in the release notes." + echo "database older than version 10 can be found in the release notes." exit 1 fi %endif @@ -1681,8 +2166,8 @@ if [ -z "$DB_VER" ]; then echo "Creating bacula tables..." %{script_dir}/make_mysql_tables -# check to see if we need to upgrade a 1.38 or lower database -elif [ "$DB_VER" -lt "10" ]; 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 @@ -1696,24 +2181,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.38 or lower database - if [ "$DB_VER" -lt "10" ] && [ "$DB_VER" -ge "9" ]; 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 ..." - %{script_dir}/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..." - %{script_dir}/create_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_sqlite_tables + %{script_dir}/make_sqlite3_tables fi %endif @@ -1732,8 +2217,8 @@ if [ -z "$DB_VER" ]; then echo "Granting privileges for PostgreSQL user bacula..." %{script_dir}/grant_postgresql_privileges -# check to see if we need to upgrade a 1.38 or lower database -elif [ "$DB_VER" -lt "10" ]; 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 @@ -1761,6 +2246,8 @@ if [ -d %{sysconf_dir} ]; then fi %endif +/sbin/ldconfig + %if %{mysql} %preun mysql %endif @@ -1780,16 +2267,27 @@ if [ $1 = 0 ]; then fi %endif +%if %{mysql} +%postun mysql +%endif +%if %{sqlite} +%postun sqlite +%endif +%if %{postgresql} +%postun postgresql +%endif -%if ! %{client_only} +/sbin/ldconfig + + +%if ! %{client_only} && %{mtx} %files mtx %defattr(-,root,root) -%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 -%attr(-, root, %{storage_daemon_group}) /usr/sbin/nsmhack -%attr(-, root, %{storage_daemon_group}) /usr/sbin/scsieject +%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} @@ -1800,13 +2298,18 @@ fi %files client %defattr(-,root,root) %attr(-, root, %{daemon_group}) %dir %{script_dir} -%attr(-, root, %{daemon_group}) %{script_dir}/bconsole %{script_dir}/bacula-ctl-fd /etc/init.d/bacula-fd -%attr(-, root, %{daemon_group}) %{sysconf_dir}/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 @@ -1815,15 +2318,16 @@ fi %attr(-, root, %{daemon_group}) %dir %{working_dir} -/usr/sbin/bacula-fd -/usr/sbin/btraceback +%{_sbindir}/bacula-fd +%{_sbindir}/btraceback %attr(-, root, %{daemon_group}) %{script_dir}/btraceback.gdb %attr(-, root, %{daemon_group}) %{script_dir}/btraceback.dbx -/usr/sbin/bconsole +%{_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 @@ -1870,12 +2374,17 @@ if [ -d %{sysconf_dir} ]; 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}) @@ -1897,7 +2406,7 @@ echo "The database update scripts were installed to %{script_dir}/updatedb" %if %{gconsole} %files gconsole %defattr(-,root,root) -/usr/sbin/bgnome-console +%{_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 @@ -1907,14 +2416,14 @@ echo "The database update scripts were installed to %{script_dir}/updatedb" %endif %if %{gconsole} && ! %{rh8} -/usr/sbin/bacula-tray-monitor +%{_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} +%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 @@ -1951,7 +2460,7 @@ fi %if %{wxconsole} %files wxconsole %defattr(-,root,root) -/usr/sbin/bwx-console +%{_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 @@ -1959,7 +2468,7 @@ fi %{_mandir}/man1/bacula-bwxconsole.1.%{manpage_ext} %endif -%if %{wxconsole} && ! %{su9} && ! %{su10} && ! %{su102} +%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 @@ -1996,7 +2505,7 @@ fi %if %{bat} %files bat %defattr(-,root,root) -/usr/sbin/bat +%{_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 @@ -2004,7 +2513,7 @@ fi %{_mandir}/man1/bat.1.%{manpage_ext} %endif -%if %{bat} && ! %{su9} && ! %{su10} && ! %{su102} +%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 @@ -2039,9 +2548,58 @@ fi %endif %changelog +* 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