X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fplatforms%2Fredhat%2Fbacula.spec.in;h=3ade5356a53d11e58210d849e64e45ac5d8a02df;hb=2e7c372c90c4faf172890a7e557ed016b86c711b;hp=983536665e30f1771c0af6e6e5c7e7fb2214d59f;hpb=9dbf8358f667344e80109f35406c82182cf19e93;p=bacula%2Fbacula diff --git a/bacula/platforms/redhat/bacula.spec.in b/bacula/platforms/redhat/bacula.spec.in index 983536665e..3ade5356a5 100644 --- a/bacula/platforms/redhat/bacula.spec.in +++ b/bacula/platforms/redhat/bacula.spec.in @@ -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 @@ -109,6 +109,9 @@ Packager: %{_packager} %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} @@ -116,6 +119,9 @@ Packager: %{_packager} %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} @@ -123,6 +129,9 @@ Packager: %{_packager} %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} @@ -130,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} @@ -142,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 @@ -176,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 @@ -187,25 +198,28 @@ 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} || %{fc6} || %{fc7} +%if %{fc1} || %{fc4} || %{fc5} || %{fc7} %define _dist %(grep Fedora /etc/redhat-release) %endif -%if %{centos4} || %{centos3} +%if %{centos5} || %{centos4} || %{centos3} %define _dist %(grep CentOS /etc/redhat-release) %endif -%if %{sl4} || %{sl3} +%if %{sl5} ||%{sl4} || %{sl3} %define _dist %(grep 'Scientific Linux' /etc/redhat-release) %endif %if %{fc3} && ! %{rhel4} && ! %{centos4} && ! %{sl4} %define _dist %(grep Fedora /etc/redhat-release) %endif +%if %{fc6} && ! %{rhel5} && ! %{centos5} && ! %{sl5} +%define _dist %(grep Fedora /etc/redhat-release) +%endif %if %{wb3} && ! %{rhel3} && ! %{centos3} && ! %{sl3} %define _dist %(grep White /etc/whitebox-release) %endif -%if %{su9} || %{su10} || %{su102} +%if %{su9} || %{su10} || %{su102} || %{su103} %define _dist %(grep -i SuSE /etc/SuSE-release) %endif %if %{mdk} @@ -215,9 +229,11 @@ Distribution: %{_dist} # Should we build gconsole, possible only if gtk= >= 2.4 available. # leaving all the BuildRequires and Requires in place below for now. +# su10, fc3 and fc4 now nobuild, tray monitor fails to build as of 2.2.1 +# release as it needs 2.10 %define gconsole 1 -%if %{rh7} || %{rh8} || %{rh9} || %{wb3} || %{fc1} || %{su9} +%if %{rh7} || %{rh8} || %{rh9} || %{wb3} || %{fc1} || %{fc3} || %{fc4} || %{su9} || %{su10} %define gconsole 0 %endif %if %{mdk} && ! %{mdv} @@ -241,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 @@ -273,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 @@ -337,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 @@ -437,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 @@ -505,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 @@ -523,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 @@ -544,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 @@ -569,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 @@ -619,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 @@ -663,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 @@ -773,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 @@ -852,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 @@ -874,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 @@ -909,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 @@ -975,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 @@ -982,7 +1085,7 @@ Requires: fontconfig Requires: freetype Requires: libgcc Requires: libpng -Requires: qt >= 4.2 +Requires: qt4 >= 4.2 Requires: libstdc++ Requires: zlib %endif @@ -994,7 +1097,7 @@ Requires: fontconfig Requires: freetype Requires: libgcc Requires: libpng -Requires: qt >= 4.2 +Requires: qt4 >= 4.2 Requires: libstdc++ Requires: zlib %endif @@ -1006,7 +1109,7 @@ Requires: fontconfig Requires: freetype Requires: libgcc Requires: libpng -Requires: qt >= 4.2 +Requires: qt4 >= 4.2 Requires: libstdc++ Requires: zlib %endif @@ -1037,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} @@ -1054,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} @@ -1079,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 @@ -1093,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 \ @@ -1127,7 +1251,7 @@ make --with-mysql \ %endif %if %{sqlite} - --with-sqlite=${cwd}/%{depkgs}/sqlite \ + --with-sqlite3=${cwd}/%{depkgs}/sqlite3 \ %endif %if %{postgresql} --with-postgresql \ @@ -1144,6 +1268,9 @@ make %endif %if %{client_only} --enable-client-only \ +%endif +%if %{rh7} || %{rh8} || %{rh9} || %{fc1} || %{fc3} || %{wb3} + --disable-batch-insert \ %endif --mandir=%{_mandir} \ --with-subsys-dir=/var/lock/subsys \ @@ -1185,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 @@ -1205,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 \ @@ -1264,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 @@ -1274,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 @@ -1304,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 @@ -1312,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 @@ -1349,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 @@ -1372,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 @@ -1389,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 @@ -1435,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} @@ -1536,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} @@ -1668,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 @@ -1752,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 @@ -1882,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 @@ -1927,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 @@ -1972,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 @@ -2007,6 +2176,33 @@ fi %endif %changelog +* 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