X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=bacula.spec;h=e643ccc74cedb93206e25d9e0403f43ac07cb9c8;hb=84742d8a460679d75a1a7a27f29b87f88e892a9f;hp=09f0d1c200034976dbbd762b5cc31ae0651d6940;hpb=3f552793be638bdcd8b29f34dd3d2b9092547757;p=packages%2Fbacula.git diff --git a/bacula.spec b/bacula.spec index 09f0d1c..e643ccc 100644 --- a/bacula.spec +++ b/bacula.spec @@ -1,24 +1,20 @@ # TODO: # - update desktop files, think about su-wrappers for console (with .desktop files) -# - package web admin # - fix log file permissions -# - no longer builds: -#make[1]: *** No rule to make target `../lib/libbac.la', needed by `bacula-dir'. Stop. -#make[1]: *** Waiting for unfinished jobs.... -#make[1]: Leaving directory `/home/users/glen/rpm/BUILD.x86_64-linux/bacula-5.0.2/src/dird' +# - check on upgrade (5.0 and 5.2 databases are NOT compatible) # # Conditional build: -%bcond_without console_wx # wx-console program -%bcond_without bat # bat Qt4 GUI -%if "%{pld_release}" != "ac" -%bcond_without dbi # use Database Independent Abstraction Layer (libdbi) +%bcond_without wx # wx-console program +%bcond_without gtk # the GTK tray-monitor and wx-console +%if "%{pld_release}" == "ac" +%bcond_with qt # BAT / qt-console Qt4 GUI %else -%bcond_with dbi # use Database Independent Abstraction Layer (libdbi) +%bcond_without qt # BAT / qt-console Qt4 GUI %endif %bcond_without mysql # use MySQL %bcond_without pgsql # use PostgreSQL %bcond_without sqlite3 # use SQLite3 -%bcond_without python +%bcond_without python # Python Scripting support, http://www.bacula.org/3.0.x-manuals/en/concepts/concepts/Python_Scripting.html %bcond_without nagios # build nagios plugin %bcond_with rescue %bcond_with sqlite3_sync_off # makes SQLite3 backend much faster, but less reliable @@ -27,17 +23,22 @@ %undefine with_sqlite3_sync_off %endif +%if %{without gtk} +%undefine with_wx +%endif + +%define qtver 4.8.4 Summary: Bacula - The Network Backup Solution Summary(pl.UTF-8): Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci Name: bacula -Version: 5.0.3 -Release: 7 +Version: 5.2.13 +Release: 4 License: AGPL v3 Group: Networking/Utilities Source0: http://downloads.sourceforge.net/bacula/%{name}-%{version}.tar.gz -# Source0-md5: 9de254ae39cab0587fdb2f5d8d90b03b +# Source0-md5: 43417bae0c221afb1f30a581c9e0f2fe Source1: http://downloads.sourceforge.net/bacula/%{name}-docs-%{version}.tar.bz2 -# Source1-md5: 7a00557dcf0dfa40de9e74176fefd1ae +# Source1-md5: 0e7af41cc3b1c59662457679b02bf873 Source2: http://downloads.sourceforge.net/bacula/%{name}-rescue-5.0.1.tar.gz # Source2-md5: bb194aed8e204f54bf2f61d7e721f257 Source10: %{name}-dir.init @@ -47,26 +48,24 @@ Source13: %{name}.logrotate Source14: %{name}-dir.sysconfig Source15: %{name}-fd.sysconfig Source16: %{name}-sd.sysconfig +Source17: %{name}-dir.service +Source18: %{name}-fd.service +Source19: %{name}-sd.service Patch0: %{name}-mtx-changer.patch -Patch1: %{name}-link.patch -Patch2: %{name}-tinfo-readline.patch -Patch3: %{name}-branding.patch -Patch4: %{name}-conf.patch -Patch5: %{name}-desktop.patch -Patch7: %{name}-dbi_fixes.patch -Patch8: %{name}-dbi_dbcheck.patch -Patch9: %{name}-openssl1.patch -Patch10: %{name}-dvd_rewind.patch -Patch11: qmake-bin.patch -Patch12: install-cats-no-fail.patch +Patch1: %{name}-branding.patch +Patch2: %{name}-conf.patch +Patch3: %{name}-desktop.patch +Patch4: make_catalog_backup-setup-home.patch +Patch5: %{name}-wx-console-build.patch +Patch6: %{name}-no_lockmgr.patch +Patch7: wxWidgets3.patch URL: http://www.bacula.org/ BuildRequires: acl-devel BuildRequires: autoconf BuildRequires: automake BuildRequires: gettext-devel -BuildRequires: gtk+2-devel +%{?with_gtk:BuildRequires: gtk+2-devel} BuildRequires: libcap-devel -%{?with_dbi:BuildRequires: libdbi-devel >= 0.8.4} BuildRequires: libtool >= 2:2.2 %if %{with rescue} BuildRequires: fakeroot @@ -79,22 +78,23 @@ BuildRequires: pkgconfig BuildRequires: python-devel BuildRequires: python-modules %endif -%if %{with bat} +%if %{with qt} BuildRequires: QtCore-devel BuildRequires: QtGui-devel -BuildRequires: qt4-build >= 4.3.3-3 -BuildRequires: qt4-qmake >= 4.3.3-3 -#BuildRequires: qwt-devel >= 5.0.2-2 +BuildRequires: qt4-build >= %{qtver} +BuildRequires: qt4-qmake >= %{qtver} %endif %{?with_mysql:BuildRequires: mysql-devel} %{?with_pgsql:BuildRequires: postgresql-devel} BuildRequires: readline-devel +BuildRequires: rpm >= 4.4.9-56 BuildRequires: rpm-pythonprov -BuildRequires: rpmbuild(macros) >= 1.268 +BuildRequires: rpmbuild(macros) >= 1.644 BuildRequires: sed >= 4.0 %{?with_sqlite3:BuildRequires: sqlite3-devel} BuildRequires: which -%if %{with console_wx} +Requires: systemd-units >= 38 +%if %{with wx} BuildRequires: wxGTK2-unicode-devel >= 2.4.0 %endif BuildRequires: zlib-devel @@ -104,8 +104,11 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _localstatedir /var/lib/%{name} %define nagiosplugindir %{_libdir}/nagios/plugins +# db packages contain duplicates +%define _duplicate_files_terminate_build 0 + # from 'the worst' to 'the best' -%define databases %{?with_dbi:dbi} %{?with_sqlite3:sqlite3} %{?with_mysql:mysql} %{?with_pgsql:postgresql} +%define databases %{?with_sqlite3:sqlite3} %{?with_mysql:mysql} %{?with_pgsql:postgresql} # dependency section is broken. ccache usage is instead to makefiles %undefine with_ccache @@ -149,6 +152,7 @@ Conflicts: bacula-console < 0:1.34.6 Conflicts: bacula-dir < 0:1.34.6 Conflicts: bacula-fd < 0:1.34.6 Conflicts: bacula-sd < 0:1.34.6 +Conflicts: logrotate < 3.8.0 %description common Bacula - It comes by night and sucks the vital essence from your @@ -254,26 +258,27 @@ Bacula Console to program umożliwiający administratorowi lub użytkownikowi komunikowanie się z programem Bacula Director. To jest interfejs graficzny oparty na wxWidgets. -%package console-qt4 -Summary: Bacula Qt4 Console -Summary(pl.UTF-8): Konsola Baculi oparta na Qt4 +%package console-qt +Summary: bat – The Bacula Administration Tool +Summary(pl.UTF-8): bat – narzędzie administratora Baculi Group: Networking/Utilities Requires(post): sed >= 4.0 Requires: %{name}-common = %{version}-%{release} +Requires: QtCore >= %{qtver} +Obsoletes: bacula-console-qt4 < 5.2.13-1 -%description console-qt4 +%description console-qt Bacula - It comes by night and sucks the vital essence from your computers. -Bacula Console is the program that allows the administrator or user to -communicate with the Bacula Director. This is the Qt4 GUI interface. +bat is short for Bacula Administration Tool. It is a GUI form of +bconsole, but with many additional features. -%description console-qt4 -l pl.UTF-8 +%description console-qt -l pl.UTF-8 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów. -Bacula Console to program umożliwiający administratorowi lub -użytkownikowi komunikowanie się z programem Bacula Director. To jest -interfejs graficzny oparty na Qt4. +bat, czyli Bacula Administration Tool, jest graficznym odpowiednikiem +bconsole, z wieloma dodatkowymi funkcjami. %package tray-monitor Summary: Bacula Tray Monitor @@ -332,6 +337,7 @@ Summary(pl.UTF-8): Usługi Bacula Storage Group: Networking/Utilities Requires(post): sed >= 4.0 Requires: %{name}-common = %{version}-%{release} +Suggests: mtx Conflicts: dvd+rw-tools <= 5.21.4.10.8-1 %description sd @@ -401,21 +407,6 @@ SQLite database driver for Bacula. %description db-sqlite3 -l pl.UTF-8 Sterownik bazy SQLite dla Baculi. -%package db-dbi -Summary: libdbi database driver for Bacula -Summary(pl.UTF-8): Sterownik bazy libdbi dla Baculi -Group: Networking/Utilities -Requires(post): /sbin/ldconfig -Requires: %{name}-common = %{version}-%{release} -Provides: bacula(db) = %{version}-%{release} -Obsoletes: bacula(db) - -%description db-dbi -libdbi database driver for Bacula. - -%description db-dbi -l pl.UTF-8 -Sterownik baz libdbi dla Baculi. - %package rescue Summary: Bacula - The Network Backup Solution Summary(pl.UTF-8): Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci @@ -462,20 +453,19 @@ Requires: nagios-common %description -n nagios-plugin-check_bacula Nagios plugin to check bacula. +%define _noautoreq libbaccats-%{version}.so +# provided by various db libraries as a symlink + %prep %setup -q -a 1 %patch0 -p1 -%patch1 -p0 +%patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 %patch7 -p1 -%patch8 -p1 -%patch9 -p1 -%patch10 -p1 -%patch11 -p1 -%patch12 -p1 tar -xf %{SOURCE2} && ln -s bacula-rescue-* rescue @@ -483,12 +473,7 @@ sed -i -e 's#bindir=.*#bindir=%{_bindir}#g' \ src/cats/create_* src/cats/delete_* src/cats/drop_* \ src/cats/grant_* src/cats/make_* src/cats/update_* sed -i -e 's/@hostname@/--hostname--/' src/*/*.conf.in - -%if %{with dbi} -for dbtype in mysql postgresql sqlite3; do - sed -i -e "s,@DB_TYPE@,$dbtype,g" src/cats/*_${dbtype}_* -done -%endif +sed -i -e 's/@basename@/--hostname--/' src/*/*.conf.in %build cd autoconf @@ -500,54 +485,47 @@ cd .. CPPFLAGS="-I/usr/include/ncurses -I%{_includedir}/readline" -# we wan't the 'base' build built with the last database in the list, -# to make sure it is full-featured -for database in %{databases}; do - WXCONFIG=%{_bindir}/wx-gtk2-unicode-config \ - QMAKE=%{_bindir}/qt4-qmake \ - %configure \ - --with-scriptdir=%{_libexecdir}/%{name} \ - %{?with_bat:--enable-bat} \ - --disable-conio \ - --enable-smartalloc \ - %{?with_console_wx:--enable-bwx-console} \ - --enable-tray-monitor \ - %{?with_python:--with-python} \ - --with-readline \ - --with-tcp-wrappers \ - --with-working-dir=%{_var}/lib/%{name} \ - --with-dump-email="root@localhost" \ - --with-job-email="root@localhost" \ - --with-smtp-host=localhost \ - --with-pid-dir=/var/run \ - --with-subsys-dir=/var/lock/subsys \ - --enable-batch-insert \ - --with-$database \ - %{?with_sqlite3_sync_off:--enable-extra-sqlite3-init="pragma synchronous=0;"} \ - --with-dir-password="#FAKE-dir-password#" \ - --with-fd-password="#FAKE-fd-password#" \ - --with-sd-password="#FAKE-sd-password#" \ - --with-mon-dir-password="#FAKE-mon-dir-password#" \ - --with-mon-fd-password="#FAKE-mon-fd-password#" \ - --with-mon-sd-password="#FAKE-mon-sd-password#" \ - --with-openssl - - # build the database library - %{__make} -C src/cats clean - %{__make} -C src/cats - - # install the database library in a temporary location - install -d libbacsql/$database%{_libdir} - %{__make} -C src/cats libtool-install DESTDIR=$PWD/libbacsql/$database -done - -%if %{with bat} +WXCONFIG=%{_bindir}/wx-gtk2-unicode-config \ +QMAKE=%{_bindir}/qmake-qt4 \ +%configure \ + --with-scriptdir=%{_libexecdir}/%{name} \ + %{?with_qt:--enable-bat} \ + --disable-conio \ + --enable-smartalloc \ + %{?with_wx:--enable-bwx-console} \ + %{?with_gtk:--enable-tray-monitor} \ + %{?with_python:--with-python} \ + --with-readline \ + --with-tcp-wrappers \ + --with-working-dir=%{_var}/lib/%{name} \ + --with-dump-email="root@localhost" \ + --with-job-email="root@localhost" \ + --with-smtp-host=localhost \ + --with-pid-dir=/var/run \ + --with-subsys-dir=/var/lock/subsys \ + --with-systemd=%{systemdunitdir} \ + --enable-batch-insert \ + %{?with_pgsql:--with-postgresql} \ + %{?with_mysql:--with-mysql} \ + %{?with_sqlite3:--with-sqlite3} \ + %{?with_sqlite3_sync_off:--enable-extra-sqlite3-init="pragma synchronous=0;"} \ + --with-dir-password="#FAKE-dir-password#" \ + --with-fd-password="#FAKE-fd-password#" \ + --with-sd-password="#FAKE-sd-password#" \ + --with-mon-dir-password="#FAKE-mon-dir-password#" \ + --with-mon-fd-password="#FAKE-mon-fd-password#" \ + --with-mon-sd-password="#FAKE-mon-sd-password#" \ + --with-openssl + +%if %{with qt} cd src/qt-console qmake-qt4 bat.pro cd ../.. %endif -%{__make} +%{__make} 2>&1 | tee log +# check for build errors +grep "Error in" log && exit 1 %if %{with nagios} # nagios plugin @@ -564,29 +542,30 @@ fakeroot %{__make} %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,pam.d,sysconfig} -install -d $RPM_BUILD_ROOT%{_sysconfdir}/rescue -install -d $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_mandir},%{_bindir},/var/log/bacula} +install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,pam.d,sysconfig} \ + $RPM_BUILD_ROOT%{_sysconfdir}/rescue \ + $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \ + $RPM_BUILD_ROOT{%{_mandir},%{_bindir},/var/log{,/archive}/bacula} \ + $RPM_BUILD_ROOT%{systemdunitdir} %{__make} install \ DESTDIR=$RPM_BUILD_ROOT -# install libraries for all the database backends -# ldconfig will add the soname symlinks when one of the packages is installed +# create copies of make_catalog_backup for specific databases; zeore default one (will be ghost) for database in %{databases}; do - for libfile in libbacsql/$database%{_libdir}/lib*-*.so; do - orig_name=${libfile##*/} - file_prefix=${orig_name%%-*.so} - file_suffix=${orig_name#*-} - file_name=$file_prefix-$database-$file_suffix - install -p $libfile $RPM_BUILD_ROOT%{_libdir}/$file_name - touch $RPM_BUILD_ROOT%{_libdir}/$orig_name - done + sed -e "s#default_db_type=.*#default_db_type=${database}#g" \ + $RPM_BUILD_ROOT%{_libdir}/%{name}/make_catalog_backup \ + > $RPM_BUILD_ROOT%{_libdir}/%{name}/make_${database}_catalog_backup + chmod 755 $RPM_BUILD_ROOT%{_libdir}/%{name}/make_${database}_catalog_backup done +:> $RPM_BUILD_ROOT%{_libdir}/%{name}/make_catalog_backup -# replace with empty file, replaced by ldconfig from each db-* package on intsall -rm -f $RPM_BUILD_ROOT%{_libdir}/libbacsql-%{version}.so -touch $RPM_BUILD_ROOT%{_libdir}/libbacsql-%{version}.so +# we use db dependant (at compile time) shell script only +rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/make_catalog_backup.pl + +## replace with empty file, replaced by ldconfig from each db-* package on intsall +rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-%{version}.so +touch $RPM_BUILD_ROOT%{_libdir}/libbaccats-%{version}.so install -p %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-dir install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-fd @@ -595,23 +574,21 @@ cp -a %{SOURCE13} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-dir cp -a %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/bacula-dir cp -a %{SOURCE15} $RPM_BUILD_ROOT/etc/sysconfig/bacula-fd cp -a %{SOURCE16} $RPM_BUILD_ROOT/etc/sysconfig/bacula-sd +cp -a %{SOURCE17} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-dir.service +cp -a %{SOURCE18} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-fd.service +cp -a %{SOURCE19} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-sd.service -%if %{with console_wx} -# tray-monitor is for regular users -#mv $RPM_BUILD_ROOT%{_sbindir}/bacula-tray-monitor $RPM_BUILD_ROOT%{_bindir} - +%if %{with wx} cp -a scripts/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png -#install src/tray-monitor/generic.xpm $RPM_BUILD_ROOT%{_pixmapsdir}/bacula-tray-monitor.xpm sed -e 's/gnome-console/wx-console/g;s/Console/Wx Console/g' \ - scripts/bacula.desktop.gnome2 > $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop -#sed -e 's#%{_sbindir}#%{_bindir}#' \ -# scripts/bacula-tray-monitor.desktop > $RPM_BUILD_ROOT%{_desktopdir}/bacula-tray-monitor.desktop + scripts/wxconsole.desktop.consolehelper > $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop %endif -%if %{with bat} +%if %{with qt} # qmake somewhy does not always create install_bins target. install our own the bin rm -f $RPM_BUILD_ROOT%{_sbindir}/bat libtool --silent --mode=install install src/qt-console/bat $RPM_BUILD_ROOT%{_bindir} +cp -a scripts/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png cp -a scripts/bat.desktop $RPM_BUILD_ROOT%{_desktopdir} %endif @@ -627,20 +604,22 @@ touch $RPM_BUILD_ROOT/var/log/bacula/log # install the updatedb scripts for older versions that last full release # 2.0 -> 3.0 : 10_to_11 +# 5.0 -> 5.2 : 12_to_14 install -p updatedb/update_*_tables_10_to_11 $RPM_BUILD_ROOT%{_libexecdir}/%{name} +install -p updatedb/update_*_tables_11_to_12 $RPM_BUILD_ROOT%{_libexecdir}/%{name} +install -p updatedb/update_*_tables_12_to_14 $RPM_BUILD_ROOT%{_libexecdir}/%{name} # place for site passwords touch $RPM_BUILD_ROOT%{_sysconfdir}/{dir-password,fd-password,sd-password} touch $RPM_BUILD_ROOT%{_sysconfdir}/{mon-dir-password,mon-fd-password,mon-sd-password} -mv $RPM_BUILD_ROOT%{_libdir}/bacula/mtx-changer.conf $RPM_BUILD_ROOT/etc/bacula/mtx-changer.conf +mv $RPM_BUILD_ROOT%{_libexecdir}/%{name}/mtx-changer.conf $RPM_BUILD_ROOT%{_sysconfdir}/mtx-changer.conf # some file changes rm -f $RPM_BUILD_ROOT%{_libexecdir}/%{name}/{gconsole,startmysql,stopmysql,bacula,bconsole,fd} -%if %{without console_wx} +%if %{without wx} rm -f $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop %endif -touch $RPM_BUILD_ROOT%{_sysconfdir}/.pw.sed rm $RPM_BUILD_ROOT%{_docdir}/bacula/ChangeLog rm $RPM_BUILD_ROOT%{_docdir}/bacula/INSTALL @@ -662,14 +641,11 @@ mv $RPM_BUILD_ROOT%{_sbindir}/{,bacula-}dbcheck mv $RPM_BUILD_ROOT%{_mandir}/man8/{,bacula-}dbcheck.8.gz # no -devel files packaged, so this is also useless -rm $RPM_BUILD_ROOT%{_libdir}/libbac{,cfg,find,py,sql}.{so,la} - -# placeholders for the symlinks set in %%post db-* -for f in create_bacula_database drop_bacula_database drop_bacula_tables \ - grant_bacula_privileges make_bacula_tables update_bacula_tables ; do - - touch $RPM_BUILD_ROOT%{_libexecdir}/%{name}/$f -done +rm $RPM_BUILD_ROOT%{_libdir}/libbac{,cfg,find,py,sql,cats}.{so,la} +#rm $RPM_BUILD_ROOT%{_libdir}/libbaccats*.{so,la} +%{?with_mysql:rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-mysql.{la,so}} +%{?with_pgsql:rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-postgresql.{la,so}} +%{?with_sqlite3:rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-sqlite3.{la,so}} %if %{with nagios} install -d $RPM_BUILD_ROOT%{nagiosplugindir} @@ -688,7 +664,7 @@ rm -rf $RPM_BUILD_ROOT %define update_configs \ echo "Updating bacula passwords and names..." | %banner -a %{name} \ -cd /etc/bacula \ +cd %{_sysconfdir} \ for f in *-password; do \ if [ ! -s $f ]; then \ openssl rand -base64 33 > $f \ @@ -713,46 +689,66 @@ if [ "$1" = "0" ]; then %groupremove bacula fi -%triggerpostun dir -- %{name}-dir < 5.0 +%triggerpostun dir -- %{name}-dir < %{version}-0 %banner bacula-dir -t3 </dev/null | xargs -0 -r chmod 600 || : -%post console-qt4 +%post console-qt %update_configs %post tray-monitor @@ -802,46 +798,29 @@ for name in "create database" "drop tables" "drop database" "grant privileges" " suffix="${name#* }" \ ln -sf "${prefix}_%{1}_${suffix}" %{_libexecdir}/%{name}/"${prefix}_bacula_${suffix}" || : \ done \ +ln -sf "make_%{1}_catalog_backup" %{_libexecdir}/%{name}/make_catalog_backup || : \ +ln -sf libbaccats-%{1}-%{version}.so %{_libdir}/libbaccats-%{version}.so || : \ %service bacula-dir restart "Bacula Director daemon" -%define db_postun() \ -/sbin/ldconfig \ -if [ "$1" = "0" ]; then \ - for f in %{_libexecdir}/%{name}/*_bacula_*; do \ - if [ -L "$f" -a ! -e "$f" ]; then \ - rm "$f" \ - fi \ - done \ -fi - %post db-postgresql %db_post postgresql -%postun db-postgresql -%db_postun postgresql +%postun db-postgresql -p /sbin/ldconfig %post db-mysql %db_post mysql -%postun db-mysql -%db_postun mysql +%postun db-mysql -p /sbin/ldconfig %post db-sqlite3 %db_post sqlite3 -%postun db-sqlite3 -%db_postun sqlite3 - -# dbi backend is different, as it is not bound with a specific db engine -%post db-dbi -/sbin/ldconfig -%service bacula-dir restart "Bacula Director daemon" - -%postun db-dbi -p /sbin/ldconfig +%postun db-sqlite3 -p /sbin/ldconfig %files common %defattr(644,root,root,755) %doc LICENSE +%{?with_python:%doc examples/python} %dir %{_sysconfdir} %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*-password # do not remove bsmtp from files. Fix build if it is not installed. @@ -851,6 +830,7 @@ fi %attr(755,root,root) %{_libdir}/libbaccfg-5*.so %attr(755,root,root) %{_libdir}/libbacfind-5*.so %attr(755,root,root) %{_libdir}/libbacpy-5*.so +%attr(755,root,root) %{_libdir}/libbacsql-5*.so %{_mandir}/man8/bacula.8* %{_mandir}/man1/bsmtp.1* %{_mandir}/man8/btraceback.8* @@ -861,26 +841,29 @@ fi %attr(770,root,bacula) %dir %{_localstatedir} %attr(750,bacula,logs) %dir /var/log/bacula %attr(640,bacula,logs) %ghost /var/log/bacula/log +%attr(750,bacula,logs) %dir /var/log/archive/bacula %files dir %defattr(644,root,root,755) -%doc ChangeLog CheckList ReleaseNotes kernstodo LICENSE +%doc ChangeLog CheckList ReleaseNotes LICENSE #%doc examples %{name}-docs-%{version}/manual/{*.pdf,bacula} %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-dir.conf -%ghost %{_sysconfdir}/.pw.sed %attr(640,root,root) %config(noreplace) /etc/logrotate.d/bacula-dir %attr(754,root,root) /etc/rc.d/init.d/bacula-dir %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-dir +%{systemdunitdir}/bacula-dir.service %attr(755,root,root) %{_sbindir}/bacula-dir %attr(755,root,root) %{_sbindir}/bregex %attr(755,root,root) %{_sbindir}/bwild %attr(755,root,root) %{_sbindir}/bacula-dbcheck %{_mandir}/man8/bacula-dir.8* %{_mandir}/man8/bacula-dbcheck.8* +%{_mandir}/man8/bregex.8* +%{_mandir}/man8/bwild.8* %{_libexecdir}/%{name}/query.sql -#%attr(755,root,root) %{_libexecdir}/%{name}/make_catalog_backup -#%attr(755,root,root) %{_libexecdir}/%{name}/delete_catalog_backup +%attr(755,root,root) %{_libexecdir}/%{name}/delete_catalog_backup +%if %{with pgsql} %files db-postgresql %defattr(644,root,root,755) %attr(755,root,root) %{_libexecdir}/%{name}/create_postgresql_database @@ -889,16 +872,20 @@ fi %attr(755,root,root) %{_libexecdir}/%{name}/grant_postgresql_privileges %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_tables %attr(755,root,root) %{_libexecdir}/%{name}/update_postgresql_* -%attr(755,root,root) %{_libdir}/libbacsql-postgresql-5*.so +%attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_catalog_backup +%attr(755,root,root) %{_libdir}/libbaccats-postgresql-5*.so -%ghost %attr(755,root,root) %{_libdir}/libbacsql-5*.so +%ghost %attr(755,root,root) %{_libdir}/libbaccats-5*.so %ghost %{_libexecdir}/%{name}/create_bacula_database %ghost %{_libexecdir}/%{name}/drop_bacula_tables %ghost %{_libexecdir}/%{name}/drop_bacula_database %ghost %{_libexecdir}/%{name}/grant_bacula_privileges %ghost %{_libexecdir}/%{name}/make_bacula_tables %ghost %{_libexecdir}/%{name}/update_bacula_tables +%ghost %{_libexecdir}/%{name}/make_catalog_backup +%endif +%if %{with mysql} %files db-mysql %defattr(644,root,root,755) %attr(755,root,root) %{_libexecdir}/%{name}/create_mysql_database @@ -907,16 +894,20 @@ fi %attr(755,root,root) %{_libexecdir}/%{name}/grant_mysql_privileges %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_tables %attr(755,root,root) %{_libexecdir}/%{name}/update_mysql_* -%attr(755,root,root) %{_libdir}/libbacsql-mysql-5*.so +%attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_catalog_backup +%attr(755,root,root) %{_libdir}/libbaccats-mysql-5*.so -%ghost %attr(755,root,root) %{_libdir}/libbacsql-5*.so +%ghost %attr(755,root,root) %{_libdir}/libbaccats-5*.so %ghost %{_libexecdir}/%{name}/create_bacula_database %ghost %{_libexecdir}/%{name}/drop_bacula_tables %ghost %{_libexecdir}/%{name}/drop_bacula_database %ghost %{_libexecdir}/%{name}/grant_bacula_privileges %ghost %{_libexecdir}/%{name}/make_bacula_tables %ghost %{_libexecdir}/%{name}/update_bacula_tables +%ghost %{_libexecdir}/%{name}/make_catalog_backup +%endif +%if %{with sqlite3} %files db-sqlite3 %defattr(644,root,root,755) %attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite3_database @@ -925,48 +916,26 @@ fi %attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite3_privileges %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_tables %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite3_* -%attr(755,root,root) %{_libdir}/libbacsql-sqlite3-5*.so +%attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_catalog_backup +%attr(755,root,root) %{_libdir}/libbaccats-sqlite3-5*.so -%ghost %attr(755,root,root) %{_libdir}/libbacsql-5*.so +%ghost %attr(755,root,root) %{_libdir}/libbaccats-5*.so %ghost %{_libexecdir}/%{name}/create_bacula_database %ghost %{_libexecdir}/%{name}/drop_bacula_tables %ghost %{_libexecdir}/%{name}/drop_bacula_database %ghost %{_libexecdir}/%{name}/grant_bacula_privileges %ghost %{_libexecdir}/%{name}/make_bacula_tables %ghost %{_libexecdir}/%{name}/update_bacula_tables - -%if %{with dbi} -%files db-dbi -%defattr(644,root,root,755) -%attr(755,root,root) %{_libexecdir}/%{name}/create_postgresql_database -%attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_database -%attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_tables -%attr(755,root,root) %{_libexecdir}/%{name}/grant_postgresql_privileges -%attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_tables -%attr(755,root,root) %{_libexecdir}/%{name}/update_postgresql_* -%attr(755,root,root) %{_libexecdir}/%{name}/create_mysql_database -%attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_database -%attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_tables -%attr(755,root,root) %{_libexecdir}/%{name}/grant_mysql_privileges -%attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_tables -%attr(755,root,root) %{_libexecdir}/%{name}/update_mysql_* -%attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite3_database -%attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_database -%attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_tables -%attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite3_privileges -%attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_tables -%attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite3_* -%attr(755,root,root) %{_libdir}/libbacsql-dbi-5*.so - -%ghost %attr(755,root,root) %{_libdir}/libbacsql-5*.so +%ghost %{_libexecdir}/%{name}/make_catalog_backup %endif %files fd %defattr(644,root,root,755) %doc LICENSE -%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-fd.conf +%attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-fd.conf %attr(754,root,root) /etc/rc.d/init.d/bacula-fd %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-fd +%{systemdunitdir}/bacula-fd.service %attr(755,root,root) %{_sbindir}/bacula-fd %attr(755,root,root) %{_libdir}/bpipe-fd.so %{_mandir}/man8/bacula-fd.8* @@ -974,10 +943,11 @@ fi %files sd %defattr(644,root,root,755) %doc LICENSE -%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-sd.conf -%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mtx-changer.conf +%attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-sd.conf +%attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mtx-changer.conf %attr(754,root,root) /etc/rc.d/init.d/bacula-sd %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-sd +%{systemdunitdir}/bacula-sd.service %attr(755,root,root) %{_sbindir}/bacula-sd %attr(755,root,root) %{_sbindir}/bcopy %attr(755,root,root) %{_sbindir}/bextract @@ -997,11 +967,11 @@ fi %files console %defattr(644,root,root,755) %doc LICENSE -%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bconsole.conf +%attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bconsole.conf %attr(755,root,root) %{_sbindir}/bconsole %{_mandir}/man8/bconsole.8* -%if %{with console_wx} +%if %{with wx} %files console-wx %defattr(644,root,root,755) %doc LICENSE @@ -1012,8 +982,8 @@ fi %{_mandir}/man1/bacula-bwxconsole.1* %endif -%if %{with bat} -%files console-qt4 +%if %{with qt} +%files console-qt %defattr(644,root,root,755) %doc LICENSE %{_pixmapsdir}/%{name}.png @@ -1026,7 +996,7 @@ fi %{_docdir}/%{name} %endif -%if %{with console_wx} +%if %{with gtk} %files tray-monitor %defattr(644,root,root,755) %doc LICENSE