diff --git a/bacula.spec b/bacula.spec index 626a72d..0087ec6 100644 --- a/bacula.spec +++ b/bacula.spec @@ -75,12 +75,65 @@ storage management features that make it easy to find and recover lost or damaged files. +%package libs +Summary: Bacula libraries +Group: System Environment/Daemons + +%description libs +Bacula is a set of programs that allow you to manage the backup, +recovery, and verification of computer data across a network of +different computers. It is based on a client/server architecture. + +This package contains basic Bacula libraries, which are used by all +Bacula programs. + + +%package libs-mysql +Summary: Bacula libraries +Group: System Environment/Daemons + +%description libs-mysql +Bacula is a set of programs that allow you to manage the backup, +recovery, and verification of computer data across a network of +different computers. It is based on a client/server architecture. + +This package contains basic Bacula libraries, which are used by all +Bacula programs. These libraries support MySQL databases. + + +%package libs-sqlite +Summary: Bacula libraries +Group: System Environment/Daemons + +%description libs-sqlite +Bacula is a set of programs that allow you to manage the backup, +recovery, and verification of computer data across a network of +different computers. It is based on a client/server architecture. + +This package contains basic Bacula libraries, which are used by all +Bacula programs. These libraries support SQLite databases. + + +%package libs-postgresql +Summary: Bacula libraries +Group: System Environment/Daemons + +%description libs-postgresql +Bacula is a set of programs that allow you to manage the backup, +recovery, and verification of computer data across a network of +different computers. It is based on a client/server architecture. + +This package contains basic Bacula libraries, which are used by all +Bacula programs. These libraries support PostgreSQL databases. + + %package director-mysql Summary: Bacula Director with MySQL database support Group: System Environment/Daemons Provides: bacula-director = %{version}-%{release} Requires: bacula-director-common = %{version}-%{release} Requires: bacula-common = %{version}-%{release} +Requires: bacula-libs-mysql = %{version}-%{release} %description director-mysql Bacula is a set of programs that allow you to manage the backup, @@ -98,6 +151,7 @@ Group: System Environment/Daemons Provides: bacula-director = %{version}-%{release} Requires: bacula-director-common = %{version}-%{release} Requires: bacula-common = %{version}-%{release} +Requires: bacula-libs-sqlite = %{version}-%{release} %description director-sqlite Bacula is a set of programs that allow you to manage the backup, @@ -115,6 +169,7 @@ Group: System Environment/Daemons Provides: bacula-director = %{version}-%{release} Requires: bacula-director-common = %{version}-%{release} Requires: bacula-common = %{version}-%{release} +Requires: bacula-libs-postgresql = %{version}-%{release} %description director-postgresql Bacula is a set of programs that allow you to manage the backup, @@ -216,6 +271,7 @@ Group: System Environment/Daemons Provides: bacula-storage = %{version}-%{release} Requires: bacula-storage-common = %{version}-%{release} Requires: bacula-common = %{version}-%{release} +Requires: bacula-libs-mysql = %{version}-%{release} %description storage-mysql Bacula is a set of programs that allow you to manage the backup, @@ -233,6 +289,7 @@ Group: System Environment/Daemons Provides: bacula-storage = %{version}-%{release} Requires: bacula-storage-common = %{version}-%{release} Requires: bacula-common = %{version}-%{release} +Requires: bacula-libs-sqlite = %{version}-%{release} %description storage-sqlite Bacula is a set of programs that allow you to manage the backup, @@ -250,6 +307,7 @@ Group: System Environment/Daemons Provides: bacula-storage = %{version}-%{release} Requires: bacula-storage-common = %{version}-%{release} Requires: bacula-common = %{version}-%{release} +Requires: bacula-libs-postgresql = %{version}-%{release} %description storage-postgresql Bacula is a set of programs that allow you to manage the backup, @@ -286,6 +344,7 @@ different computers. It is based on a client/server architecture. This package contains the command-line management console for the bacula backup system. + %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6 %package console-bat Summary: Bacula bat console @@ -301,6 +360,7 @@ different computers. It is based on a client/server architecture. This package contains the bat version of the bacula management console %endif + %package console-wxwidgets Summary: Bacula console using the wx widgets toolkit Group: System Environment/Daemons @@ -657,11 +717,43 @@ popd rm -rf %{buildroot} +%post libs +/sbin/ldconfig + +%post libs-mysql +/usr/sbin/alternatives --install %{_libdir}/libbacsql.so libbacsql.so %{_libdir}/libbacsql-%{version}.so.mysql 50 \ + --slave %{_libdir}/libbacsql-%{version}.so libbacsql-%{version}.so %{_libdir}/libbacsql-%{version}.so.mysql +/sbin/ldconfig + +%post libs-sqlite +/usr/sbin/alternatives --install %{_libdir}/libbacsql.so libbacsql.so %{_libdir}/libbacsql-%{version}.so.sqlite 40 \ + --slave %{_libdir}/libbacsql-%{version}.so libbacsql-%{version}.so %{_libdir}/libbacsql-%{version}.so.sqlite +/sbin/ldconfig + +%post libs-postgresql +/usr/sbin/alternatives --install %{_libdir}/libbacsql.so libbacsql.so %{_libdir}/libbacsql-%{version}.so.postgresql 60 \ + --slave %{_libdir}/libbacsql-%{version}.so libbacsql-%{version}.so %{_libdir}/libbacsql-%{version}.so.postgresql +/sbin/ldconfig + +%postun libs +/sbin/ldconfig +exit 0 + +%postun libs-mysql +/sbin/ldconfig +exit 0 + +%postun libs-sqlite +/sbin/ldconfig +exit 0 + +%postun libs-postgresql +/sbin/ldconfig +exit 0 + %post director-mysql /usr/sbin/alternatives --install /usr/sbin/bacula-dir bacula-dir /usr/sbin/bacula-dir.mysql 50 \ --slave /usr/sbin/dbcheck bacula-dbcheck /usr/sbin/dbcheck.mysql \ - --slave %{_libdir}/libbacsql-%{version}.so libbacsql-%{version}.so %{_libdir}/libbacsql-%{version}.so.mysql \ - --slave %{_libdir}/libbacsql.so libbacsql.so %{_libdir}/libbacsql-%{version}.so \ --slave /usr/libexec/bacula/create_bacula_database create_bacula_database /usr/libexec/bacula/create_bacula_database.mysql \ --slave /usr/libexec/bacula/drop_bacula_database drop_bacula_database /usr/libexec/bacula/drop_bacula_database.mysql \ --slave /usr/libexec/bacula/drop_bacula_tables drop_bacula_tables /usr/libexec/bacula/drop_bacula_tables.mysql \ @@ -670,13 +762,10 @@ rm -rf %{buildroot} --slave /usr/libexec/bacula/make_catalog_backup make_catalog_backup /usr/libexec/bacula/make_catalog_backup.mysql \ --slave /usr/libexec/bacula/update_bacula_tables update_bacula_tables /usr/libexec/bacula/update_bacula_tables.mysql \ --slave /usr/libexec/bacula/bacula_config bacula_config /usr/libexec/bacula/bacula_config.mysql -/sbin/ldconfig %post director-sqlite /usr/sbin/alternatives --install /usr/sbin/bacula-dir bacula-dir /usr/sbin/bacula-dir.sqlite 40 \ --slave /usr/sbin/dbcheck bacula-dbcheck /usr/sbin/dbcheck.sqlite \ - --slave %{_libdir}/libbacsql-%{version}.so libbacsql-%{version}.so %{_libdir}/libbacsql-%{version}.so.sqlite \ - --slave %{_libdir}/libbacsql.so libbacsql.so %{_libdir}/libbacsql-%{version}.so \ --slave /usr/libexec/bacula/create_bacula_database create_bacula_database /usr/libexec/bacula/create_bacula_database.sqlite \ --slave /usr/libexec/bacula/drop_bacula_database drop_bacula_database /usr/libexec/bacula/drop_bacula_database.sqlite \ --slave /usr/libexec/bacula/drop_bacula_tables drop_bacula_tables /usr/libexec/bacula/drop_bacula_tables.sqlite \ @@ -685,13 +774,10 @@ rm -rf %{buildroot} --slave /usr/libexec/bacula/make_catalog_backup make_catalog_backup /usr/libexec/bacula/make_catalog_backup.sqlite \ --slave /usr/libexec/bacula/update_bacula_tables update_bacula_tables /usr/libexec/bacula/update_bacula_tables.sqlite \ --slave /usr/libexec/bacula/bacula_config bacula_config /usr/libexec/bacula/bacula_config.sqlite -/sbin/ldconfig %post director-postgresql /usr/sbin/alternatives --install /usr/sbin/bacula-dir bacula-dir /usr/sbin/bacula-dir.postgresql 60 \ --slave /usr/sbin/dbcheck bacula-dbcheck /usr/sbin/dbcheck.postgresql \ - --slave %{_libdir}/libbacsql-%{version}.so libbacsql-%{version}.so %{_libdir}/libbacsql-%{version}.so.postgresql \ - --slave %{_libdir}/libbacsql.so libbacsql.so %{_libdir}/libbacsql-%{version}.so \ --slave /usr/libexec/bacula/create_bacula_database create_bacula_database /usr/libexec/bacula/create_bacula_database.postgresql \ --slave /usr/libexec/bacula/drop_bacula_database drop_bacula_database /usr/libexec/bacula/drop_bacula_database.postgresql \ --slave /usr/libexec/bacula/drop_bacula_tables drop_bacula_tables /usr/libexec/bacula/drop_bacula_tables.postgresql \ @@ -700,7 +786,6 @@ rm -rf %{buildroot} --slave /usr/libexec/bacula/make_catalog_backup make_catalog_backup /usr/libexec/bacula/make_catalog_backup.postgresql \ --slave /usr/libexec/bacula/update_bacula_tables update_bacula_tables /usr/libexec/bacula/update_bacula_tables.postgresql \ --slave /usr/libexec/bacula/bacula_config bacula_config /usr/libexec/bacula/bacula_config.postgresql -/sbin/ldconfig %preun director-mysql if [ "$1" = 0 ]; then @@ -717,18 +802,6 @@ if [ "$1" = 0 ]; then /usr/sbin/alternatives --remove bacula-dir /usr/sbin/bacula-dir.postgresql fi -%postun director-mysql -/sbin/ldconfig -exit 0 - -%postun director-sqlite -/sbin/ldconfig -exit 0 - -%postun director-postgresql -/sbin/ldconfig -exit 0 - %pre common getent group %username >/dev/null || groupadd -g %uid -r %username &>/dev/null || : getent passwd %username >/dev/null || useradd -u %uid -r -s /sbin/nologin \ @@ -917,14 +990,8 @@ fi %endif -%files common +%files libs %defattr(-,root,root,-) -%doc bacula-%{version}/AUTHORS bacula-%{version}/ChangeLog bacula-%{version}/COPYING bacula-%{version}/LICENSE -%doc bacula-%{version}/README bacula-%{version}/SUPPORT bacula-%{version}/VERIFYING bacula-%{version}/ReleaseNotes -%doc bacula-%{version}/examples/ -%config(noreplace) %{_sysconfdir}/logrotate.d/bacula -%dir %{_sysconfdir}/bacula -%dir %{_libexecdir}/bacula %{_libdir}/libbac-%{version}.so %{_libdir}/libbac.so %{_libdir}/libbaccfg-%{version}.so @@ -933,6 +1000,27 @@ fi %{_libdir}/libbacfind.so %{_libdir}/libbacpy-%{version}.so %{_libdir}/libbacpy.so + +%files libs-mysql +%defattr(-,root,root,-) +%{_libdir}/libbacsql-%{version}.so.mysql + +%files libs-sqlite +%defattr(-,root,root,-) +%{_libdir}/libbacsql-%{version}.so.sqlite + +%files libs-postgresql +%defattr(-,root,root,-) +%{_libdir}/libbacsql-%{version}.so.postgresql + +%files common +%defattr(-,root,root,-) +%doc bacula-%{version}/AUTHORS bacula-%{version}/ChangeLog bacula-%{version}/COPYING bacula-%{version}/LICENSE +%doc bacula-%{version}/README bacula-%{version}/SUPPORT bacula-%{version}/VERIFYING bacula-%{version}/ReleaseNotes +%doc bacula-%{version}/examples/ +%config(noreplace) %{_sysconfdir}/logrotate.d/bacula +%dir %{_sysconfdir}/bacula +%dir %{_libexecdir}/bacula %{_sbindir}/bacula-checkconf %{_sbindir}/bsmtp %{_sbindir}/btraceback @@ -947,7 +1035,6 @@ fi %dir %attr(750, bacula, bacula) %{_localstatedir}/log/bacula %dir %attr(750, bacula, bacula) %{_localstatedir}/spool/bacula - %files client %defattr(-,root,root,-) %config(noreplace) %{_sysconfdir}/bacula/bacula-fd.conf @@ -961,14 +1048,12 @@ fi %endif %{_mandir}/man8/bacula-fd.8* - %files console %defattr(-,root,root,-) %attr(640,root,bacula) %config(noreplace) %{_sysconfdir}/bacula/bconsole.conf %{_sbindir}/bconsole %{_mandir}/man8/bconsole.8* - %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6 %files console-bat %defattr(-,root,root,-) @@ -983,7 +1068,6 @@ fi %{_datadir}/pixmaps/bacula.png %endif - %files console-wxwidgets %defattr(-,root,root,-) %config %{_sysconfdir}/security/console.apps/bwxconsole @@ -995,7 +1079,6 @@ fi %{_datadir}/applications/fedora-bacula-wxconsole.desktop %{_datadir}/pixmaps/wxwin16x16.xpm - %files director-common %defattr(-,root,root,-) %doc bacula-%{version}/updatedb/ @@ -1018,12 +1101,10 @@ fi %{_libexecdir}/bacula/delete_catalog_backup %{_libexecdir}/bacula/make_catalog_backup.pl - %files director-mysql %defattr(-,root,root,-) %{_sbindir}/bacula-dir.mysql %{_sbindir}/dbcheck.mysql -%{_libdir}/libbacsql-%{version}.so.mysql %{_libexecdir}/bacula/create_mysql_database %{_libexecdir}/bacula/drop_mysql_database %{_libexecdir}/bacula/drop_mysql_tables @@ -1043,7 +1124,6 @@ fi %defattr(-,root,root,-) %{_sbindir}/bacula-dir.sqlite %{_sbindir}/dbcheck.sqlite -%{_libdir}/libbacsql-%{version}.so.sqlite %{_libexecdir}/bacula/create_sqlite3_database %{_libexecdir}/bacula/drop_sqlite3_database %{_libexecdir}/bacula/drop_sqlite3_tables @@ -1063,7 +1143,6 @@ fi %defattr(-,root,root,-) %{_sbindir}/bacula-dir.postgresql %{_sbindir}/dbcheck.postgresql -%{_libdir}/libbacsql-%{version}.so.postgresql %{_libexecdir}/bacula/create_postgresql_database %{_libexecdir}/bacula/drop_postgresql_database %{_libexecdir}/bacula/drop_postgresql_tables @@ -1101,7 +1180,6 @@ fi %{_mandir}/man8/btape.8* %{_mandir}/man8/bacula-sd.8* - %files storage-mysql %defattr(-,root,root,-) %{_sbindir}/bcopy.mysql @@ -1131,7 +1209,6 @@ fi %{_datadir}/applications/fedora-bacula-traymonitor.desktop %{_datadir}/pixmaps/bacula-tray-monitor.xpm - %files devel %defattr(-,root,root,-) %{_includedir}/bacula @@ -1141,7 +1218,6 @@ fi %{_libdir}/libbacpy.la %{_libdir}/libbacsql.la - %files -n nagios-plugins-bacula %defattr(-,root,root) %{_libdir}/nagios/plugins/check_bacula @@ -1150,6 +1226,8 @@ fi %changelog * Fri Jan 27 2012 Simone Caronni - 5.0.3-24 - Correct license to AGPLv3. +- Split off libs in separate backends. +- Trim changelog for version <5.0.0. * Thu Jan 26 2012 Simone Caronni - 5.0.3-23 - Add ldconfig after setting up symlinks for libbacsql variants. @@ -1285,168 +1363,3 @@ fi * Mon Jan 25 2010 Jon Ciesla - 3.0.3-2 -- Rebuild for Qt 4.6.0 RC1 in F13 (was built against Beta 1 with unstable ABI) - -* Mon Oct 19 2009 Jon Ciesla - 3.0.2-4 -- rebuilt with new openssl - -* Mon Aug 10 2009 Jon Ciesla - 3.0.2-1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Tue Jul 21 2009 Jon Ciesla - 2.4.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Fri Jan 23 2009 Jon Ciesla - 2.4.3-4 -- Fixed dependency "issues" #473627 by adding the sysconfdir subpackage. - -* Mon Nov 17 2008 Jon Ciesla - 2.4.3-3 -- Added upstream orphaned jobs patch. -- Fixed logrotate file. - -* Mon Nov 10 2008 Jon Ciesla - 2.4.3-2 -- Added bat. BZ 470800. - -* Wed Oct 22 2008 Jon Ciesla - 2.4.3-1 -- Update to 2.4.3. - -* Tue Sep 09 2008 Jon Ciesla - 2.4.2-2 -- Logrotate fix. BZ 457894. -- Alternatives fix. BZ 458432. - -* Thu Jul 31 2008 Jon Ciesla - 2.4.2-1 -- Update to 2.4.2. - -* Wed Jul 30 2008 Andreas Thienemann - 2.2.8-2 -- Fixed %%{fedora} comparision, making bacula-sqlite build on rawhide - -* Fri Jul 25 2008 Jon Ciesla - 2.2.8-1 -- Update to 2.2.8. BZ 446461. -- Dropped director and storage DB-server hard Reqs. BZ 426788. -- .desktop fixes. BZ 450278, 426789. -- Updated config patch. -- Dropped wxconsole patch, applied upstream. -- Updated pamd patch. -- Dropped ampm patch, applied upstream. -- Dropped maxbyteslist patch, N/A. -- Dropped maxwaittime patch, applied upstream. -- Dropped scheduler-next-hour patch, applied upstream. -- Dropped verify patch, applied upstream. -- Dropped tls-disconnect patch, applied upstream. -- Fix for 426791. -- Introduced patch fuzz workaround, will fix. - -* Mon Jul 7 2008 Tom "spot" Callaway - 2.0.3-14 -- fix conditional comparison -- fix license tag - -* Mon Jan 07 2008 Tom "spot" Callaway - 2.0.3-13 -- add BR: dvipdfm - -* Thu Dec 06 2007 Release Engineering - 2.0.3-12 - - Rebuild for deps - -* Wed Sep 5 2007 Andreas Thienemann - 2.0.3-11 -- Remove spooldir in client, fixing #251879 -- Remove dependency on libtermcap, fixing #251158 - -* Wed Aug 29 2007 Fedora Release Engineering - 2.0.3-10 -- Rebuild for selinux ppc32 issue. - -* Wed Jul 25 2007 Andreas Thienemann 2.0.3-9 -- Corrected the %%post alternatives calls. Fixing #249560. - -* Wed Jul 19 2007 Andreas Thienemann 2.0.3-8 -- Moved some files around in the %%files section and refactored - spec parts a bit -- Fixed up the catalog-backup scripts by including them in the - alternatives system -- Applied tls patch fixing some tls disconnection issues. - -* Thu Jul 18 2007 Andreas Thienemann 2.0.3-7 -- Minor specchanges, mostly typos in the comments -- Incorporated minor changes from dgilmore's review. - -* Fri Jul 13 2007 Andreas Thienemann 2.0.3-6 -- Fixing %%preun scripts. Thx to Dan for spotting this - -* Fri Jul 13 2007 Andreas Thienemann 2.0.3-5 -- Fixed provides and requires - -* Wed Jul 11 2007 Andreas Thienemann 2.0.3-4 -- Fixed many rpmlint issues - -* Thu Apr 26 2007 Andreas Thienemann 2.0.3-3 -- Final cleanups for fedora -- Removed webgui for now. It will be back in a future release -- Added LANG=C calls to the initscripts - -* Thu Apr 26 2007 Andreas Thienemann 2.0.3-2 -- Added logdir -- Fixed up doc-creation to actually work -- Fixed up web interface -- Included docs sub-package -- Included README et al as docs where appropriate - -* Sat Mar 10 2007 Andreas Thienemann 2.0.3-1 -- Updated to 2.0.3 -- Reverted the database-check as we're not sure the db is running on the - local machine. A later revision might parse the bacula-dir.conf file - and just connect to the db to see if it's running. - -* Sat Feb 28 2007 Andreas Thienemann 2.0.2-1 -- Further updates on the spec - -* Sat Feb 18 2007 Andreas Thienemann 2.0.2-1 -- Much work on the spec -- Updated to 2.0.2 - -* Sat Feb 18 2006 Andreas Thienemann 1.38.11-1 -- Initial spec.