# - 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'
#
# Conditional build:
%bcond_without console_wx # wx-console program
Summary(pl.UTF-8): Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
Name: bacula
Version: 5.0.3
-Release: 7
+Release: 9
License: AGPL v3
Group: Networking/Utilities
Source0: http://downloads.sourceforge.net/bacula/%{name}-%{version}.tar.gz
Patch10: %{name}-dvd_rewind.patch
Patch11: qmake-bin.patch
Patch12: install-cats-no-fail.patch
+Patch13: make_catalog_backup-setup-home.patch
URL: http://www.bacula.org/
BuildRequires: acl-devel
BuildRequires: autoconf
%patch10 -p1
%patch11 -p1
%patch12 -p1
+%patch13 -p1
tar -xf %{SOURCE2} && ln -s bacula-rescue-* rescue
%{__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
+ install -d libbacsql/$database%{_libdir}/%{name}
+ %{__make} -C src/cats install DESTDIR=$PWD/libbacsql/$database
done
%if %{with bat}
install -p $libfile $RPM_BUILD_ROOT%{_libdir}/$file_name
touch $RPM_BUILD_ROOT%{_libdir}/$orig_name
done
+
+ install -p libbacsql/$database%{_libdir}/%{name}/make_catalog_backup \
+ $RPM_BUILD_ROOT%{_libdir}/%{name}/make_${database}_catalog_backup
done
+# 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
+
+# we use db dependant (at compile time) shell script only
+rm -f $RPM_BUILD_ROOT%{_libexecdir}/%{name}/make_catalog_backup.pl
+# dbi is not actual dbtype
+rm -f $RPM_BUILD_ROOT%{_libexecdir}/%{name}/make_dbi_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
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}
# 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
-
%if %{with nagios}
install -d $RPM_BUILD_ROOT%{nagiosplugindir}
%{__make} -C examples/nagios/check_bacula install \
%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 \
%update_configs
%triggerpostun common -- %{name}-common < 5.0.1-2
-find /etc/bacula/bat.conf* -perm /007 -print0 | xargs -0 -r chmod 600 || :
+find %{_sysconfdir}/bat.conf* -perm /007 -print0 | xargs -0 -r chmod 600 || :
%post console-qt4
%update_configs
suffix="${name#* }" \
ln -sf "${prefix}_%{1}_${suffix}" %{_libexecdir}/%{name}/"${prefix}_bacula_${suffix}" || : \
done \
+ln -sf "make_%{1}_catalog_backup" %{_libexecdir}/%{name}/make_catalog_backup || : \
%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
+%postun db-sqlite3 -p /sbin/ldconfig
# dbi backend is different, as it is not bound with a specific db engine
%post db-dbi
%{_mandir}/man8/bacula-dir.8*
%{_mandir}/man8/bacula-dbcheck.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
%files db-postgresql
%defattr(644,root,root,755)
+%attr(755,root,root) %{_libexecdir}/%{name}/fix_postgresql_tables
%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}/make_postgresql_catalog_backup
%attr(755,root,root) %{_libdir}/libbacsql-postgresql-5*.so
%ghost %attr(755,root,root) %{_libdir}/libbacsql-5*.so
%ghost %{_libexecdir}/%{name}/grant_bacula_privileges
%ghost %{_libexecdir}/%{name}/make_bacula_tables
%ghost %{_libexecdir}/%{name}/update_bacula_tables
+%ghost %{_libexecdir}/%{name}/make_catalog_backup
%files db-mysql
%defattr(644,root,root,755)
%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}/make_mysql_catalog_backup
%attr(755,root,root) %{_libdir}/libbacsql-mysql-5*.so
%ghost %attr(755,root,root) %{_libdir}/libbacsql-5*.so
%ghost %{_libexecdir}/%{name}/grant_bacula_privileges
%ghost %{_libexecdir}/%{name}/make_bacula_tables
%ghost %{_libexecdir}/%{name}/update_bacula_tables
+%ghost %{_libexecdir}/%{name}/make_catalog_backup
%files db-sqlite3
%defattr(644,root,root,755)
%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) %{_libexecdir}/%{name}/make_sqlite3_catalog_backup
%attr(755,root,root) %{_libdir}/libbacsql-sqlite3-5*.so
%ghost %attr(755,root,root) %{_libdir}/libbacsql-5*.so
%ghost %{_libexecdir}/%{name}/grant_bacula_privileges
%ghost %{_libexecdir}/%{name}/make_bacula_tables
%ghost %{_libexecdir}/%{name}/update_bacula_tables
+%ghost %{_libexecdir}/%{name}/make_catalog_backup
%if %{with dbi}
%files db-dbi
%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}/make_postgresql_catalog_backup
%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}/make_mysql_catalog_backup
%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}/grant_sqlite3_privileges
%attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_tables
%attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite3_*
+%attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_catalog_backup
%attr(755,root,root) %{_libdir}/libbacsql-dbi-5*.so
%ghost %attr(755,root,root) %{_libdir}/libbacsql-5*.so