X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fplatforms%2Fredhat%2Fbacula.spec.in;h=4e67593ca1480d1120e83a87c1e6b3f5b3185649;hb=4d06a55913c582458dcfad1642e1ee2cb091b1bf;hp=8d59f0d63bd3c03057d1c8ea489f1d52d4f42b04;hpb=d59e98fcdf97c84993a974078e4af17a9af17b1e;p=bacula%2Fbacula diff --git a/bacula/platforms/redhat/bacula.spec.in b/bacula/platforms/redhat/bacula.spec.in index 8d59f0d63b..4e67593ca1 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 04Jan07 -%define _rescuever 2.0.0 +%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 @@ -97,6 +96,8 @@ Packager: %{_packager} %{?build_fc5:%define fc5 1} %define fc6 0 %{?build_fc6:%define fc6 1} +%define fc7 0 +%{?build_fc7:%define fc7 1} # Whitebox Enterprise build %define wb3 0 %{?build_wb3:%define wb3 1} @@ -107,6 +108,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} @@ -114,6 +118,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} @@ -121,6 +128,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} @@ -140,7 +150,7 @@ Packager: %{_packager} %{?build_client_only:%define client_only 1} # test for a platform definition -%if ! %{rh7} && ! %{rh8} && ! %{rh9} && ! %{fc1} && ! %{fc3} && ! %{fc4} && ! %{fc5} && ! %{fc6} && ! %{wb3} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{mdk} +%if ! %{rh7} && ! %{rh8} && ! %{rh9} && ! %{fc1} && ! %{fc3} && ! %{fc4} && ! %{fc5} && ! %{fc6} && ! %{fc7} && ! %{wb3} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{mdk} %{error: You must specify a platform. Please examine the spec file.} exit 1 %endif @@ -185,21 +195,24 @@ 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} +%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 @@ -213,9 +226,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} @@ -231,7 +246,7 @@ Distribution: %{_dist} %{?build_wxconsole:%define wxconsole 1} # Should we build bat -# requires QT4 +# requires >= Qt-4.2 %define bat 0 %{?build_bat:%define bat 1} @@ -271,6 +286,20 @@ BuildRequires: python, python-devel %if %{gconsole} BuildRequires: pkgconfig, pango-devel, atk-devel %endif + +# 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 @@ -418,11 +447,25 @@ BuildRequires: libbonoboui-devel >= 2.16 BuildRequires: GConf2-devel BuildRequires: freetype-devel %endif -%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5} && ! %{fc6} +%if %{fc7} +BuildRequires: libtermcap-devel +BuildRequires: glibc-devel >= 2.5 +%endif +%if %{fc7} && %{gconsole} +BuildRequires: gtk2-devel >= 2.10 +BuildRequires: libgnomeui-devel >= 2.18 +BuildRequires: ORBit2-devel +BuildRequires: libart_lgpl-devel >= 2.3 +BuildRequires: libbonobo-devel >= 2.18 +BuildRequires: libbonoboui-devel >= 2.18 +BuildRequires: GConf2-devel +BuildRequires: freetype-devel +%endif +%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{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} && %{gconsole} +%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5} && ! %{fc6} && ! %{fc7} && %{gconsole} BuildRequires: gtk2-devel >= 2.0 BuildRequires: libgnomeui-devel >= 2.0 BuildRequires: ORBit2-devel @@ -504,7 +547,7 @@ Requires: termcap Requires: glibc >= 2.5 Requires: termcap %endif -%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{fc5} && ! %{fc6} +%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{fc5} && ! %{fc6} && ! %{fc7} Requires: glibc >= 2.3 Requires: libtermcap %endif @@ -512,7 +555,7 @@ Requires: libtermcap Requires: glibc >= 2.4 Requires: libtermcap %endif -%if %{fc6} +%if %{fc6} || %{fc7} Requires: glibc >= 2.5 Requires: libtermcap %endif @@ -652,7 +695,7 @@ Requires: libtermcap Requires: glibc >= 2.4 Requires: libtermcap %endif -%if %{fc6} +%if %{fc6} || %{fc7} Requires: glibc >= 2.5 Requires: libtermcap %endif @@ -822,7 +865,18 @@ Requires: libbonoboui >= 2.16 Requires: GConf2 Requires: freetype %endif -%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5} && ! %{fc6} +%if %{gconsole} && %{fc7} +Requires: gtk2 >= 2.10 +Requires: libgnomeui >= 2.18 +Requires: glibc >= 2.5 +Requires: ORBit2 +Requires: libart_lgpl >= 2.3 +Requires: libbonobo >= 2.18 +Requires: libbonoboui >= 2.18 +Requires: GConf2 +Requires: freetype +%endif +%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5} && ! %{fc6} && ! %{fc7} Requires: gtk2 >= 2.0 Requires: libgnomeui >= 2.0 Requires: glibc >= 2.3 @@ -895,6 +949,10 @@ Requires: gtk2 >= 2.8 Requires: gtk2 >= 2.10 %endif +%if %{wxconsole} && %{fc7} +Requires: gtk2 >= 2.10 +%endif + %if %{wxconsole} %description wxconsole %{blurb} @@ -911,6 +969,88 @@ This is the WXWindows Console package. It is an add-on to the client or server packages. %endif +%if %{bat} +%package bat +Summary: Bacula - The Network Backup Solution +Group: System Environment/Daemons +%endif + +%if %{bat} && %{su10} +Requires: openssl +Requires: glibc >= 2.4 +Requires: fontconfig +Requires: freetype2 +Requires: libgcc +Requires: libpng +Requires: qt >= 4.2 +Requires: libstdc++ +Requires: zlib +%endif + +%if %{bat} && %{su102} +Requires: openssl +Requires: glibc >= 2.5 +Requires: fontconfig +Requires: freetype2 +Requires: libgcc +Requires: libpng +Requires: qt >= 4.2 +Requires: libstdc++ +Requires: zlib +%endif + +%if %{bat} && %{fc5} +Requires: openssl +Requires: glibc >= 2.4 +Requires: fontconfig +Requires: freetype +Requires: libgcc +Requires: libpng +Requires: qt4 >= 4.2 +Requires: libstdc++ +Requires: zlib +%endif + +%if %{bat} && %{fc6} +Requires: openssl +Requires: glibc >= 2.5 +Requires: fontconfig +Requires: freetype +Requires: libgcc +Requires: libpng +Requires: qt4 >= 4.2 +Requires: libstdc++ +Requires: zlib +%endif + +%if %{bat} && %{fc7} +Requires: openssl +Requires: glibc >= 2.5 +Requires: fontconfig +Requires: freetype +Requires: libgcc +Requires: libpng +Requires: qt4 >= 4.2 +Requires: libstdc++ +Requires: zlib +%endif + +%if %{bat} +%description bat +%{blurb} + +%{blurb2} +%{blurb3} +%{blurb4} +%{blurb5} +%{blurb6} +%{blurb7} +%{blurb8} + +This is the Bacula Administration Tool package. It is an add-on to +the client or server packages. +%endif + %prep %setup @@ -933,6 +1073,9 @@ make sqlite %if ! %{client_only} make mtx %endif +%if %{bat} +make qwt +%endif cd ${cwd} # patches for the bundled sqlite scripts @@ -974,6 +1117,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 \ @@ -1016,11 +1171,18 @@ make %if %{wxconsole} --enable-bwx-console \ %endif +%if %{bat} + --enable-bat \ + --with-qwt=${cwd}/%{depkgs}/qwt \ +%endif %if %{python} --with-python \ %endif %if %{client_only} --enable-client-only \ +%endif +%if %{rh7} || %{rh8} || %{rh9} || %{fc1} || %{fc3} || %{wb3} + --disable-batch-insert \ %endif --mandir=%{_mandir} \ --with-subsys-dir=/var/lock/subsys \ @@ -1051,12 +1213,12 @@ mkdir -p $RPM_BUILD_ROOT/etc/log.d/conf/services mkdir -p $RPM_BUILD_ROOT/etc/log.d/scripts/services mkdir -p $RPM_BUILD_ROOT%{script_dir}/updatedb -%if %{gconsole} || %{wxconsole} +%if %{gconsole} || %{wxconsole} || %{bat} mkdir -p $RPM_BUILD_ROOT/usr/share/applications mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps %endif -%if %{gconsole} || %{wxconsole} +%if %{gconsole} || %{wxconsole} || %{bat} %define usermode_iftrick 1 %else %define usermode_iftrick 0 @@ -1189,7 +1351,11 @@ 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 %{rh8} || %{rh9} || %{wb3} || %{fc1} || %{fc3} || %{fc4} || %{fc5} || %{mdk} +%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} %define iftrick 1 %else %define iftrick 0 @@ -1212,6 +1378,13 @@ cp -p scripts/wxconsole.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/b cp -p scripts/wxconsole.pamd $RPM_BUILD_ROOT/etc/pam.d/bwx-console ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/bwx-console %endif +%if %{bat} && %{iftrick} +cp -p src/qt-console/images/bat_icon.png $RPM_BUILD_ROOT/usr/share/pixmaps/bat_icon.png +cp -p scripts/bat.desktop.consolehelper $RPM_BUILD_ROOT/usr/share/applications/bat.desktop +cp -p scripts/bat.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/bat +cp -p scripts/bat.pamd $RPM_BUILD_ROOT/etc/pam.d/bat +ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/bat +%endif # install sqlite %if %{sqlite} @@ -1248,6 +1421,12 @@ 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 +# 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.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 @@ -1543,6 +1722,7 @@ else echo "Hmm, doesn't look like you have an existing database." echo "Creating SQLite database..." %{script_dir}/create_sqlite_database + chown %{director_daemon_user}.%{daemon_group} %{working_dir}/bacula.db echo "Creating the SQLite tables..." %{script_dir}/make_sqlite_tables fi @@ -1619,10 +1799,13 @@ fi %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 @@ -1821,7 +2004,76 @@ if [ -d %{sysconf_dir} ]; then fi %endif +%if %{bat} +%files bat +%defattr(-,root,root) +/usr/sbin/bat +%attr(-, root, %{daemon_group}) %dir %{sysconf_dir} +%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bat.conf +/usr/share/pixmaps/bat_icon.png +/usr/share/applications/bat.desktop +%{_mandir}/man1/bat.1.%{manpage_ext} +%endif + +%if %{bat} && ! %{su9} && ! %{su10} && ! %{su102} +# add the console helper files +%config(noreplace,missingok) /etc/pam.d/bat +%config(noreplace,missingok) /etc/security/console.apps/bat +/usr/bin/bat +%endif + +%if %{bat} +%pre bat +# create the daemon group +HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null` +if [ -z "$HAVE_BACULA" ]; then + %{groupadd} -r %{daemon_group} > /dev/null 2>&1 + echo "The group %{daemon_group} has been added to %{group_file}." + echo "See the manual chapter \"Running Bacula\" for details." +fi + +%post bat +# generate passwords if needed +if [ -d %{sysconf_dir} ]; then + cd %{sysconf_dir} + for file in *.conf; do + for string in XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX; do + need_password=`grep $string $file 2>/dev/null` + if [ -n "$need_password" ]; then + pass=`openssl rand -base64 33` + sed "s-$string-$pass-g" $file > $file.new + cp -f $file.new $file; rm -f $file.new + fi + done + done +fi +%endif + %changelog +* Sun Nov 04 2007 D. Scott Barninger +- fix dist defines for rhel5 and clones +- fix rhel broken 64 bit QT4 paths +- rh qt4 packages don't provide qt so fix that too +* Mon Oct 29 2007 D. Scott Barninger +- correct ownership when creating sqlite db file in post script +* Sun Sep 16 2007 D. Scott Barninger +- fix disable-batch-insert +* Fri Sep 14 2007 D. Scott Barninger +- 2.2.4 release +- turn off gconsole build for fc3, tray monitor fails to build +- add new files for mtx package (09Sep07 depkgs update) +* Sat Sep 08 2007 D. Scott Barninger +- add --disable-batch-insert for older platforms +- add build targets for rhel5 and clones +* Mon Sep 03 2007 D. Scott Barninger +- 2.2.1 release +- turn off gconsole build for su10 & fc4, tray monitor fails to build +* Sat Jul 14 2007 D. Scott Barninger +- 2.1.26 add make of qwt in depkgs for bat +* Sat Jun 02 2007 D. Scott Barninger +- upgrade Qt requirement for bat to 4.2 +* Sun May 06 2007 D. Scott Barninger +- add fc7 build target * Sun Apr 29 2007 D. Scott Barninger - 2.1.8 - gnome-console now bgnome-console