X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fplatforms%2Fredhat%2Fbacula.spec.in;h=3ade5356a53d11e58210d849e64e45ac5d8a02df;hb=2e7c372c90c4faf172890a7e557ed016b86c711b;hp=4e67593ca1480d1120e83a87c1e6b3f5b3185649;hpb=4d06a55913c582458dcfad1642e1ee2cb091b1bf;p=bacula%2Fbacula diff --git a/bacula/platforms/redhat/bacula.spec.in b/bacula/platforms/redhat/bacula.spec.in index 4e67593ca1..3ade5356a5 100644 --- a/bacula/platforms/redhat/bacula.spec.in +++ b/bacula/platforms/redhat/bacula.spec.in @@ -33,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 @@ -138,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} @@ -150,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 @@ -184,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 @@ -216,7 +219,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} %define _dist %(grep -i SuSE /etc/SuSE-release) %endif %if %{mdk} @@ -254,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 @@ -291,7 +302,7 @@ BuildRequires: pkgconfig, pango-devel, atk-devel # so fix for broken rh %define broken_rh 0 %if %{rhel5} || %{centos5} || %{sl5} || %{fc5} || %{fc6} || %{fc7} -%define broken_rh 1" +%define broken_rh 1 %endif %if %{bat} && ! %{broken_rh} BuildRequires: qt-devel >= 4.2 @@ -361,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 @@ -461,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 @@ -529,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 @@ -547,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 @@ -568,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 @@ -593,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 @@ -643,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 @@ -687,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 @@ -797,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 @@ -876,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 @@ -898,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 @@ -933,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 @@ -999,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 @@ -1061,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} @@ -1078,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} @@ -1103,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 @@ -1163,7 +1251,7 @@ make --with-mysql \ %endif %if %{sqlite} - --with-sqlite=${cwd}/%{depkgs}/sqlite \ + --with-sqlite3=${cwd}/%{depkgs}/sqlite3 \ %endif %if %{postgresql} --with-postgresql \ @@ -1224,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 @@ -1244,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 \ @@ -1303,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 @@ -1313,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 @@ -1343,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 @@ -1351,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 @@ -1388,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 @@ -1411,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 @@ -1428,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 @@ -1474,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} @@ -1575,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} @@ -1707,24 +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 @@ -1792,7 +1918,7 @@ fi %endif -%if ! %{client_only} +%if ! %{client_only} && %{mtx} %files mtx %defattr(-,root,root) %attr(-, root, %{storage_daemon_group}) /usr/sbin/loaderinfo @@ -1925,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 @@ -1970,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 @@ -2015,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 @@ -2050,6 +2176,15 @@ 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