X-Git-Url: http://git.pld-linux.org/?p=packages%2Fbacula.git;a=blobdiff_plain;f=bacula.spec;h=1a9732dfcffbb9870f69a2fad35ea8108cd9948e;hp=e574e6613cbbe4f80d6a938aa4e5735c5aa6aa65;hb=55b5244;hpb=a91f443cd02d7322e831136c4ec36566a0ef59b8 diff --git a/bacula.spec b/bacula.spec index e574e66..1a9732d 100644 --- a/bacula.spec +++ b/bacula.spec @@ -4,31 +4,31 @@ # - fix log file permissions # # Conditional build: -%if "%{pld_release}" == "ac" -%bcond_with qt # BAT / qt-console Qt4 GUI -%else -%bcond_without qt # BAT / qt-console Qt4 GUI -%endif +%bcond_without qt # BAT / qt-console Qt5 GUI %bcond_without mysql # use MySQL %bcond_without pgsql # use PostgreSQL %bcond_without sqlite3 # use SQLite3 -%bcond_without nagios # build nagios plugin +%bcond_without nagios # build nagios plugin +%bcond_without s3 # Amazon S3 cloud backend %bcond_with sqlite3_sync_off # makes SQLite3 backend much faster, but less reliable %if %{without sqlite3} %undefine with_sqlite3_sync_off %endif -%define qtver 4.8.4 +# Bacula requires this specific, custom version +%define libs3_version 20181010 + Summary: Bacula - The Network Backup Solution Summary(pl.UTF-8): Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci Name: bacula -Version: 7.4.4 -Release: 3 +Version: 9.4.2 +Release: 1 License: AGPL v3 Group: Networking/Utilities Source0: http://downloads.sourceforge.net/bacula/%{name}-%{version}.tar.gz -# Source0-md5: aed11c1eef1198ffc76c6fca55cea3ad +# Source0-md5: 376e67b16cfa7254a5717177770233b6 +Source1: https://www.bacula.org/downloads/libs3-%{libs3_version}.tar.gz Source10: %{name}-dir.init Source11: %{name}-fd.init Source12: %{name}-sd.init @@ -45,24 +45,27 @@ Patch2: %{name}-desktop.patch Patch3: make_catalog_backup-setup-home.patch Patch4: %{name}-no_lockmgr.patch Patch5: x32.patch +Patch6: libs3-curl.patch URL: http://www.bacula.org/ BuildRequires: acl-devel BuildRequires: autoconf >= 2.61 BuildRequires: automake +%{?with_s3:BuildRequires: curl-devel} BuildRequires: gettext-tools BuildRequires: libcap-devel BuildRequires: libtool >= 2:2.2 BuildRequires: libwrap-devel +%{?with_s3:BuildRequires: libxml2-devel} BuildRequires: ncurses-devel BuildRequires: openssl-devel BuildRequires: pkgconfig BuildRequires: python BuildRequires: python-modules %if %{with qt} -BuildRequires: QtCore-devel -BuildRequires: QtGui-devel -BuildRequires: qt4-build >= %{qtver} -BuildRequires: qt4-qmake >= %{qtver} +BuildRequires: Qt5Core-devel +BuildRequires: Qt5Gui-devel +BuildRequires: qt5-build +BuildRequires: qt5-qmake %endif %{?with_mysql:BuildRequires: mysql-devel} %{?with_pgsql:BuildRequires: postgresql-devel} @@ -220,8 +223,8 @@ 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 +Requires: Qt5Core +Obsoletes: bacula-console-qt5 < 5.2.13-1 %description console-qt Bacula - It comes by night and sucks the vital essence from your @@ -377,7 +380,7 @@ Nagios plugin to check bacula. # provided by various db libraries as a symlink %prep -%setup -q +%setup -q -a 1 %patch0 -p1 %patch1 -p1 %patch2 -p1 @@ -386,6 +389,11 @@ Nagios plugin to check bacula. %ifarch x32 %patch5 -p1 %endif +%if %{with s3} +cd libs3-%{libs3_version} +%patch6 -p1 +cd .. +%endif sed -i -e 's#bindir=.*#bindir=%{_bindir}#g' \ src/cats/create_* src/cats/delete_* src/cats/drop_* \ @@ -401,9 +409,16 @@ cd autoconf cd .. %{__autoconf} --prepend-include=$(pwd)/autoconf autoconf/configure.in > configure +%if %{with s3} +cd libs3-%{libs3_version} +CFLAGS="%{rpmcflags} -Wno-stringop-overflow" make VERBOSE=1 build/lib/libs3.a +ln -s ../inc build/include +cd .. +%endif + CPPFLAGS="-I/usr/include/ncurses -I%{_includedir}/readline" -QMAKE=%{_bindir}/qmake-qt4 \ +QMAKE=%{_bindir}/qmake-qt5 \ %configure \ DISTNAME=pld-linux \ --with-scriptdir=%{_libexecdir}/%{name} \ @@ -424,6 +439,8 @@ QMAKE=%{_bindir}/qmake-qt4 \ %{?with_mysql:--with-mysql} \ %{?with_sqlite3:--with-sqlite3} \ %{?with_sqlite3_sync_off:--enable-extra-sqlite3-init="pragma synchronous=0;"} \ + %{!?with_s3:--without-s3} \ + %{?with_s3:--with-s3=$PWD/libs3-%{libs3_version}/build} \ --with-dir-password="#FAKE-dir-password#" \ --with-fd-password="#FAKE-fd-password#" \ --with-sd-password="#FAKE-sd-password#" \ @@ -434,11 +451,13 @@ QMAKE=%{_bindir}/qmake-qt4 \ %if %{with qt} cd src/qt-console -qmake-qt4 bat.pro +qmake-qt5 bat.pro cd ../.. %endif -%{__make} 2>&1 | tee log +%{__make} \ + %{?with_s3:S3_LIBS="$PWD/libs3-%{libs3_version}/build/lib -ls3 $(pkg-config --libs libcurl libxml2)"} \ + 2>&1 | tee log # check for build errors grep "Error in" log && exit 1 @@ -457,6 +476,14 @@ install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,pam.d,sysconfig} \ %{__make} install \ DESTDIR=$RPM_BUILD_ROOT +%{__make} -C src/stored install-aligned \ + DESTDIR=$RPM_BUILD_ROOT + +%if %{with s3} +%{__make} -C src/stored install-cloud \ + DESTDIR=$RPM_BUILD_ROOT +%endif + # create copies of make_catalog_backup for specific databases; zeore default one (will be ghost) for database in %{databases}; do sed -e "s#default_db_type=.*#default_db_type=${database}#g" \ @@ -528,8 +555,8 @@ 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,sql,cats}.{so,la} -#rm $RPM_BUILD_ROOT%{_libdir}/libbaccats*.{so,la} +rm $RPM_BUILD_ROOT%{_libdir}/libbac{,cfg,find,sql,cats,sd}.{so,la} +rm $RPM_BUILD_ROOT%{_libdir}/bacula-sd-*-driver.so %{?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}} @@ -687,10 +714,11 @@ ln -sf libbaccats-%{1}-%{version}.so %{_libdir}/libbaccats-%{version}.so || : \ # do not remove bsmtp from files. Fix build if it is not installed. %attr(755,root,root) %{_sbindir}/bsmtp %attr(755,root,root) %{_sbindir}/btraceback -%attr(755,root,root) %{_libdir}/libbac-7*.so -%attr(755,root,root) %{_libdir}/libbaccfg-7*.so -%attr(755,root,root) %{_libdir}/libbacfind-7*.so -%attr(755,root,root) %{_libdir}/libbacsql-7*.so +%attr(755,root,root) %{_libdir}/libbac-9*.so +%attr(755,root,root) %{_libdir}/libbacsd-9*.so +%attr(755,root,root) %{_libdir}/libbaccfg-9*.so +%attr(755,root,root) %{_libdir}/libbacfind-9*.so +%attr(755,root,root) %{_libdir}/libbacsql-9*.so %{_mandir}/man8/bacula.8* %{_mandir}/man1/bsmtp.1* %{_mandir}/man8/btraceback.8* @@ -713,6 +741,7 @@ ln -sf libbaccats-%{1}-%{version}.so %{_libdir}/libbaccats-%{version}.so || : \ %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}/bdirjson %attr(755,root,root) %{_sbindir}/bregex %attr(755,root,root) %{_sbindir}/bwild %attr(755,root,root) %{_sbindir}/bacula-dbcheck @@ -733,9 +762,9 @@ ln -sf libbaccats-%{1}-%{version}.so %{_libdir}/libbaccats-%{version}.so || : \ %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}/libbaccats-postgresql-7*.so +%attr(755,root,root) %{_libdir}/libbaccats-postgresql-9*.so -%ghost %attr(755,root,root) %{_libdir}/libbaccats-7*.so +%ghost %attr(755,root,root) %{_libdir}/libbaccats-9*.so %ghost %{_libexecdir}/%{name}/create_bacula_database %ghost %{_libexecdir}/%{name}/drop_bacula_tables %ghost %{_libexecdir}/%{name}/drop_bacula_database @@ -755,9 +784,9 @@ ln -sf libbaccats-%{1}-%{version}.so %{_libdir}/libbaccats-%{version}.so || : \ %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}/libbaccats-mysql-7*.so +%attr(755,root,root) %{_libdir}/libbaccats-mysql-9*.so -%ghost %attr(755,root,root) %{_libdir}/libbaccats-7*.so +%ghost %attr(755,root,root) %{_libdir}/libbaccats-9*.so %ghost %{_libexecdir}/%{name}/create_bacula_database %ghost %{_libexecdir}/%{name}/drop_bacula_tables %ghost %{_libexecdir}/%{name}/drop_bacula_database @@ -777,9 +806,9 @@ ln -sf libbaccats-%{1}-%{version}.so %{_libdir}/libbaccats-%{version}.so || : \ %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}/libbaccats-sqlite3-7*.so +%attr(755,root,root) %{_libdir}/libbaccats-sqlite3-9*.so -%ghost %attr(755,root,root) %{_libdir}/libbaccats-7*.so +%ghost %attr(755,root,root) %{_libdir}/libbaccats-9*.so %ghost %{_libexecdir}/%{name}/create_bacula_database %ghost %{_libexecdir}/%{name}/drop_bacula_tables %ghost %{_libexecdir}/%{name}/drop_bacula_database @@ -797,6 +826,7 @@ ln -sf libbaccats-%{1}-%{version}.so %{_libdir}/libbaccats-%{version}.so || : \ %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) %{_sbindir}/bfdjson %attr(755,root,root) %{_libdir}/bpipe-fd.so %{_mandir}/man8/bacula-fd.8* @@ -813,10 +843,19 @@ ln -sf libbaccats-%{1}-%{version}.so %{_libdir}/libbaccats-%{version}.so || : \ %attr(755,root,root) %{_sbindir}/bextract %attr(755,root,root) %{_sbindir}/bls %attr(755,root,root) %{_sbindir}/bscan +%attr(755,root,root) %{_sbindir}/bsdjson %attr(755,root,root) %{_sbindir}/btape -%attr(755,root,root) %{_libexecdir}/%{name}/mtx-changer +%attr(755,root,root) %{_libexecdir}/%{name}/baculabackupreport +%attr(755,root,root) %{_libexecdir}/%{name}/bacula-tray-monitor.desktop %attr(755,root,root) %{_libexecdir}/%{name}/disk-changer -%attr(755,root,root) %{_libexecdir}/%{name}/dvd-handler +%attr(755,root,root) %{_libexecdir}/%{name}/isworm +%attr(755,root,root) %{_libexecdir}/%{name}/mtx-changer +%attr(755,root,root) %{_libexecdir}/%{name}/tapealert +%attr(755,root,root) %{_libdir}/bacula-sd-aligned-driver-9.*.so +%if %{with s3} +%attr(755,root,root) %{_libdir}/bacula-sd-cloud-driver-9.*.so +%endif + %{_mandir}/man8/bacula-sd.8* %{_mandir}/man8/bcopy.8* %{_mandir}/man8/bextract.8* @@ -829,6 +868,7 @@ ln -sf libbaccats-%{1}-%{version}.so %{_libdir}/libbaccats-%{version}.so || : \ %doc LICENSE %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bconsole.conf %attr(755,root,root) %{_sbindir}/bconsole +%attr(755,root,root) %{_sbindir}/bbconsjson %{_mandir}/man8/bconsole.8* %if %{with qt}