]> git.pld-linux.org Git - packages/bacula.git/blobdiff - bacula.spec
- setup $HOME in make_catalog_backup, so you could store passwords in file rather...
[packages/bacula.git] / bacula.spec
index e77349bf3a6bea37a4b2e1e138aef8b6bf6ee20d..a96b185fa1b5d7a5b3c025b634e1b5e633b489e5 100644 (file)
@@ -2,21 +2,15 @@
 #      - 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'
-#warning: Installed (but unpackaged) file(s) found:
-#   /usr/lib64/bacula/btraceback.mdb
-#   /usr/sbin/bat
-#*** WARNING: identical binaries are copied, not linked:
-#        /usr/sbin/bat
-#   and  /usr/bin/bat
 #
 # 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)
+%else
+%bcond_with            dbi                     # use Database Independent Abstraction Layer (libdbi)
+%endif
 %bcond_without mysql                   # use MySQL
 %bcond_without pgsql                   # use PostgreSQL
 %bcond_without sqlite3                 # use SQLite3
@@ -33,8 +27,8 @@ 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:       4
-License:       extended GPL v2
+Release:       9
+License:       AGPL v3
 Group:         Networking/Utilities
 Source0:       http://downloads.sourceforge.net/bacula/%{name}-%{version}.tar.gz
 # Source0-md5: 9de254ae39cab0587fdb2f5d8d90b03b
@@ -59,6 +53,9 @@ 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
+Patch13:       make_catalog_backup-setup-home.patch
 URL:           http://www.bacula.org/
 BuildRequires: acl-devel
 BuildRequires: autoconf
@@ -100,9 +97,9 @@ BuildRequires:       wxGTK2-unicode-devel >= 2.4.0
 BuildRequires: zlib-devel
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                _sysconfdir     /etc/%{name}
+%define                _sysconfdir             /etc/%{name}
 %define                _localstatedir  /var/lib/%{name}
-%define                nagiosplugindir %{_prefix}/lib/nagios/plugins
+%define                nagiosplugindir %{_libdir}/nagios/plugins
 
 # from 'the worst' to 'the best'
 %define        databases %{?with_dbi:dbi} %{?with_sqlite3:sqlite3} %{?with_mysql:mysql} %{?with_pgsql:postgresql}
@@ -474,6 +471,9 @@ Nagios plugin to check bacula.
 %patch8 -p1
 %patch9 -p1
 %patch10 -p1
+%patch11 -p1
+%patch12 -p1
+%patch13 -p1
 
 tar -xf %{SOURCE2} && ln -s bacula-rescue-* rescue
 
@@ -535,8 +535,8 @@ for database in %{databases}; do
        %{__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}
@@ -580,8 +580,22 @@ for database in %{databases}; do
                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
@@ -607,9 +621,9 @@ sed -e 's/gnome-console/wx-console/g;s/Console/Wx Console/g' \
 %endif
 
 %if %{with bat}
-# TODO: libtool install
-#libtool --silent --mode=install install src/qt-console/bat $RPM_BUILD_ROOT%{_bindir}
-install src/qt-console/.libs/bat $RPM_BUILD_ROOT%{_bindir}
+# 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/bat.desktop $RPM_BUILD_ROOT%{_desktopdir}
 %endif
 
@@ -631,7 +645,7 @@ install -p updatedb/update_*_tables_10_to_11 $RPM_BUILD_ROOT%{_libexecdir}/%{nam
 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}
@@ -653,7 +667,7 @@ rm $RPM_BUILD_ROOT%{_sbindir}/bacula
 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/bacula-ctl-*
 
 # unsupported
-#rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/*_bdb_*
+rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/btraceback.mdb
 
 # rename to avoid possible conflicts
 mv $RPM_BUILD_ROOT%{_sbindir}/{,bacula-}dbcheck
@@ -662,17 +676,11 @@ 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
-
-       ln -sf /dev/null $RPM_BUILD_ROOT%{_libexecdir}/%{name}/$f
-done
-
 %if %{with nagios}
 install -d $RPM_BUILD_ROOT%{nagiosplugindir}
 %{__make} -C examples/nagios/check_bacula install \
        sbindir=%{nagiosplugindir} \
+       INSTALL_PROGRAM="libtool --mode=install install -p" \
        DESTDIR=$RPM_BUILD_ROOT
 %endif
 
@@ -685,7 +693,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 \
@@ -763,7 +771,7 @@ fi
 %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
@@ -799,35 +807,23 @@ 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 || : \
 %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
@@ -875,17 +871,18 @@ fi
 %{_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
@@ -895,6 +892,7 @@ fi
 %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)
@@ -904,6 +902,7 @@ 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) %{_libexecdir}/%{name}/make_mysql_catalog_backup
 %attr(755,root,root) %{_libdir}/libbacsql-mysql-5*.so
 
 %ghost %attr(755,root,root) %{_libdir}/libbacsql-5*.so
@@ -913,6 +912,7 @@ fi
 %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)
@@ -922,6 +922,7 @@ 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) %{_libexecdir}/%{name}/make_sqlite3_catalog_backup
 %attr(755,root,root) %{_libdir}/libbacsql-sqlite3-5*.so
 
 %ghost %attr(755,root,root) %{_libdir}/libbacsql-5*.so
@@ -931,7 +932,9 @@ fi
 %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
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libexecdir}/%{name}/create_postgresql_database
@@ -939,12 +942,14 @@ fi
 %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
@@ -952,9 +957,11 @@ 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) %{_libexecdir}/%{name}/make_sqlite3_catalog_backup
 %attr(755,root,root) %{_libdir}/libbacsql-dbi-5*.so
 
 %ghost %attr(755,root,root) %{_libdir}/libbacsql-5*.so
+%endif
 
 %files fd
 %defattr(644,root,root,755)
This page took 0.096431 seconds and 4 git commands to generate.