]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/platforms/redhat/bacula.spec.in
release 2.2.7
[bacula/bacula] / bacula / platforms / redhat / bacula.spec.in
index d43d27a2b951b37ce1bad8bcb18f7ce988219bab..3ade5356a53d11e58210d849e64e45ac5d8a02df 100644 (file)
@@ -6,14 +6,13 @@
 # basic defines for every build
 %define _version @VERSION@
 %define _release 1
-%define depkgs_version 11Jul07
+%define depkgs_version 09Sep07
 %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
@@ -34,6 +33,7 @@ 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
@@ -139,6 +139,8 @@ Packager: %{_packager}
 %{?build_su10:%define su10 1}
 %define su102 0
 %{?build_su102:%define su102 1}
+%define su103 0
+%{?build_su103:%define su103 1}
 # Mandrake builds
 %define mdk 0
 %{?build_mdk:%define mdk 1}
@@ -151,7 +153,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} && ! %{wb3} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{mdk}
 %{error: You must specify a platform. Please examine the spec file.}
 exit 1
 %endif
@@ -185,7 +187,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
@@ -199,7 +201,7 @@ exit 1
 %if %{rh7} || %{rh8} || %{rh9} || %{rhel3} || %{rhel4} || %{rhel5}
 %define _dist %(grep Red /etc/redhat-release)
 %endif
-%if %{fc1} || %{fc4} || %{fc5} || %{fc6} || %{fc7}
+%if %{fc1} || %{fc4} || %{fc5} || %{fc7}
 %define _dist %(grep Fedora /etc/redhat-release)
 %endif
 %if %{centos5} || %{centos4} || %{centos3}
@@ -211,10 +213,13 @@ exit 1
 %if %{fc3} && ! %{rhel4} && ! %{centos4} && ! %{sl4}
 %define _dist %(grep Fedora /etc/redhat-release)
 %endif
+%if %{fc6} && ! %{rhel5} && ! %{centos5} && ! %{sl5}
+%define _dist %(grep Fedora /etc/redhat-release)
+%endif
 %if %{wb3} && ! %{rhel3} && ! %{centos3} && ! %{sl3}
 %define _dist %(grep White /etc/whitebox-release)
 %endif
-%if %{su9} || %{su10} || %{su102}
+%if %{su9} || %{su10} || %{su102} || %{su103}
 %define _dist %(grep -i SuSE /etc/SuSE-release)
 %endif
 %if %{mdk}
@@ -252,6 +257,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
@@ -284,9 +297,20 @@ BuildRequires: python, python-devel
 %if %{gconsole}
 BuildRequires: pkgconfig, pango-devel, atk-devel
 %endif
-%if %{bat}
+
+# Rh qt4 packages don't provide, guess what, qt!
+# so fix for broken rh
+%define broken_rh 0
+%if %{rhel5} || %{centos5} || %{sl5} || %{fc5} || %{fc6} || %{fc7}
+%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
@@ -348,6 +372,26 @@ 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 %{mdk}
 BuildRequires: libtermcap-devel
 BuildRequires: libstdc++-static-devel
@@ -448,11 +492,11 @@ BuildRequires: libbonoboui-devel >= 2.18
 BuildRequires: GConf2-devel
 BuildRequires: freetype-devel
 %endif
-%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5} && ! %{fc6} && ! %{fc7}
+%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5} && ! %{fc6} && ! %{fc7}
 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} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5} && ! %{fc6} && ! %{fc7} && %{gconsole}
 BuildRequires: gtk2-devel >= 2.0
 BuildRequires: libgnomeui-devel >= 2.0
 BuildRequires: ORBit2-devel
@@ -516,7 +560,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}
 Conflicts: bacula
 %endif
 
@@ -534,6 +578,10 @@ Requires: termcap
 Requires: glibc >= 2.5
 Requires: termcap
 %endif
+%if %{su103}
+Requires: glibc >= 2.6
+Requires: termcap
+%endif
 %if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{fc5} && ! %{fc6} && ! %{fc7}
 Requires: glibc >= 2.3
 Requires: libtermcap
@@ -555,7 +603,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} && ! %{mdk} && %{mysql5}
 Requires: mysql >= 5.0
 Requires: mysql-server >= 5.0
 %endif
@@ -580,6 +628,10 @@ 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} && %{mdk} && ! %{mysql4}
 Requires: mysql >= 3.23
@@ -630,13 +682,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
@@ -674,7 +726,11 @@ Requires: termcap
 Requires: glibc >= 2.5
 Requires: termcap
 %endif
-%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{fc5} && ! %{fc6}
+%if %{su102}
+Requires: glibc >= 2.6
+Requires: termcap
+%endif
+%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{fc5} && ! %{fc6}
 Requires: glibc >= 2.3
 Requires: libtermcap
 %endif
@@ -784,6 +840,23 @@ 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} && %{mdk} && !%{mdv}
 Requires: gtk2 >= 2.0
 Requires: libgnomeui2
@@ -863,7 +936,7 @@ Requires: libbonoboui >= 2.18
 Requires: GConf2
 Requires: freetype
 %endif
-%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5} && ! %{fc6} && ! %{fc7}
+%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5} && ! %{fc6} && ! %{fc7}
 Requires: gtk2 >= 2.0
 Requires: libgnomeui >= 2.0
 Requires: glibc >= 2.3
@@ -885,7 +958,10 @@ Requires: xsu
 %if %{gconsole} && %{su102}
 Requires: xsu
 %endif
-%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{su102}
+%if %{gconsole} && %{su103}
+Requires: xsu
+%endif
+%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103}
 Requires: usermode
 %endif
 
@@ -920,6 +996,10 @@ Requires: gtk2 >= 2.8
 Requires: gtk2 >= 2.10
 %endif
 
+%if %{wxconsole} && %{su103}
+Requires: gtk2 >= 2.12
+%endif
+
 %if %{wxconsole} && %{fc3}  
 Requires: gtk2 >= 2.4
 %endif
@@ -986,6 +1066,18 @@ 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} && %{fc5}
 Requires: openssl
 Requires: glibc >= 2.4
@@ -993,7 +1085,7 @@ Requires: fontconfig
 Requires: freetype
 Requires: libgcc
 Requires: libpng
-Requires: qt >= 4.2
+Requires: qt4 >= 4.2
 Requires: libstdc++
 Requires: zlib
 %endif
@@ -1005,7 +1097,7 @@ Requires: fontconfig
 Requires: freetype
 Requires: libgcc
 Requires: libpng
-Requires: qt >= 4.2
+Requires: qt4 >= 4.2
 Requires: libstdc++
 Requires: zlib
 %endif
@@ -1017,7 +1109,7 @@ Requires: fontconfig
 Requires: freetype
 Requires: libgcc
 Requires: libpng
-Requires: qt >= 4.2
+Requires: qt4 >= 4.2
 Requires: libstdc++
 Requires: zlib
 %endif
@@ -1048,16 +1140,16 @@ the client or server packages.
 
 %build
 
-%if %{su9} || %{su10} || %{su102}
+%if %{su9} || %{su10} || %{su102} || %{su103}
 export LDFLAGS="${LDFLAGS} -L/usr/lib/termcap"
 %endif
 
 cwd=${PWD}
 cd %{depkgs}
 %if %{sqlite}
-make sqlite
+make sqlite3
 %endif
-%if ! %{client_only}
+%if ! %{client_only} && %{mtx}
 make mtx
 %endif
 %if %{bat}
@@ -1065,20 +1157,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}
@@ -1090,6 +1188,9 @@ 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
 
 # 64 bit lib location hacks
 # as of 1.39.18 it should not be necessary to enable x86_64 as configure is
@@ -1104,6 +1205,18 @@ export LDFLAGS="${LDFLAGS} -L/usr/lib64/mysql"
 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
+
 %configure \
         --prefix=/usr \
         --sbindir=/usr/sbin \
@@ -1138,7 +1251,7 @@ make
         --with-mysql \
 %endif
 %if %{sqlite}
-        --with-sqlite=${cwd}/%{depkgs}/sqlite \
+        --with-sqlite3=${cwd}/%{depkgs}/sqlite3 \
 %endif
 %if %{postgresql}
         --with-postgresql \
@@ -1155,9 +1268,9 @@ make
 %endif
 %if %{client_only}
        --enable-client-only \
+%endif
 %if %{rh7} || %{rh8} || %{rh9} || %{fc1} || %{fc3} || %{wb3} 
        --disable-batch-insert \
-%endif
 %endif
        --mandir=%{_mandir} \
         --with-subsys-dir=/var/lock/subsys \
@@ -1199,7 +1312,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}
 mkdir -p $RPM_BUILD_ROOT/etc/pam.d
 mkdir -p $RPM_BUILD_ROOT/etc/security/console.apps
 mkdir -p $RPM_BUILD_ROOT/usr/bin
@@ -1219,7 +1332,7 @@ make \
        mandir=$RPM_BUILD_ROOT%{_mandir} \
         install
 
-%if ! %{client_only}
+%if ! %{client_only} && %{mtx}
 cd %{depkgs}
 make \
         prefix=$RPM_BUILD_ROOT/usr \
@@ -1278,7 +1391,7 @@ rm -f $RPM_BUILD_ROOT%{script_dir}/gconsole
 rm -f $RPM_BUILD_ROOT/usr/sbin/static-bacula-fd
 
 # install the init scripts
-%if %{su9} || %{su10} || %{su102}
+%if %{su9} || %{su10} || %{su102} || %{su103}
 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
@@ -1288,7 +1401,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} && ! %{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
@@ -1318,6 +1431,12 @@ 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 %{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
@@ -1326,10 +1445,18 @@ 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 %{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 %{rh8} || %{rh9} || %{wb3} || %{fc1} || %{fc3} || %{fc4} || %{fc5} || %{fc6} || %{fc7} || %{mdk}
 %define iftrick 1
 %else
@@ -1363,9 +1490,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
@@ -1386,12 +1513,17 @@ chmod 644 $RPM_BUILD_ROOT/etc/log.d/conf/services/bacula.conf
 
 # install the rescue files
 mkdir $RPM_BUILD_ROOT%{sysconf_dir}/rescue
+mkdir $RPM_BUILD_ROOT%{sysconf_dir}/rescue/freebsd
+mkdir $RPM_BUILD_ROOT%{sysconf_dir}/rescue/solaris
 cp -p %{_rescuesrc}/Makefile* $RPM_BUILD_ROOT%{sysconf_dir}/rescue/
+cp -p %{_rescuesrc}/freebsd/Makefile* $RPM_BUILD_ROOT%{sysconf_dir}/rescue/freebsd/
+cp -p %{_rescuesrc}/solaris/Makefile* $RPM_BUILD_ROOT%{sysconf_dir}/rescue/solaris/
 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/
+cp -pr %{_rescuesrc}/knoppix $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
 rm -f src/filed/static-bacula-fd
@@ -1403,9 +1535,6 @@ 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
-%endif
 chmod o-rwx $RPM_BUILD_ROOT%{working_dir}
 %if %{gconsole} && ! %{rh8}
 chmod 755 $RPM_BUILD_ROOT/usr/sbin/bacula-tray-monitor
@@ -1449,15 +1578,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}
@@ -1550,9 +1679,31 @@ DB_VER=`mysql 2>/dev/null bacula -e 'select * from Version;'|tail -n 1`
 
 %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 9 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}
@@ -1682,23 +1833,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`
+        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 1.38 or lower database
         if [ "$DB_VER" -lt "10" ] && [ "$DB_VER" -ge "9" ]; 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
 
@@ -1766,17 +1918,20 @@ fi
 %endif
 
 
-%if ! %{client_only}
+%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
 %{_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
@@ -1896,7 +2051,7 @@ echo "The database update scripts were installed to %{script_dir}/updatedb"
 %{_mandir}/man1/bacula-tray-monitor.1.%{manpage_ext}
 %endif
 
-%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{su102}
+%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103}
 # add the console helper files
 %config(noreplace,missingok) /etc/pam.d/bgnome-console
 %config(noreplace,missingok) /etc/security/console.apps/bgnome-console
@@ -1941,7 +2096,7 @@ fi
 %{_mandir}/man1/bacula-bwxconsole.1.%{manpage_ext}
 %endif
 
-%if %{wxconsole} && ! %{su9} && ! %{su10} && ! %{su102}
+%if %{wxconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103}
 # add the console helper files
 %config(noreplace,missingok) /etc/pam.d/bwx-console
 %config(noreplace,missingok) /etc/security/console.apps/bwx-console
@@ -1986,7 +2141,7 @@ fi
 %{_mandir}/man1/bat.1.%{manpage_ext}
 %endif
 
-%if %{bat} && ! %{su9} && ! %{su10} && ! %{su102}
+%if %{bat} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103}
 # add the console helper files
 %config(noreplace,missingok) /etc/pam.d/bat
 %config(noreplace,missingok) /etc/security/console.apps/bat
@@ -2021,9 +2176,27 @@ fi
 %endif
 
 %changelog
+* Fri Dec 28 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- add nobuild_mtx switch
+- add patch for postgresql.c for old postgresql versions
+* Sat Nov 17 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- switch to sqlite3
+* Sun Nov 11 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- add new files required by rescue makefile
+* Sat Nov 10 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- add su103 build target
+* Sun Nov 04 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- 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 <barninger@fairfieldcomputers.com>
+- correct ownership when creating sqlite db file in post script
+* Sun Sep 16 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- fix disable-batch-insert
 * Fri Sep 14 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
 - 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 <barninger@fairfieldcomputers.com>
 - add --disable-batch-insert for older platforms
 - add build targets for rhel5 and clones