From: Davide Franco Date: Sat, 7 Mar 2020 05:55:06 +0000 (+0100) Subject: Add Docker plugin rpm spec files X-Git-Tag: Release-9.6.4~55 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=02ba099a413375d36ebeda44655e2b8d4596ae63;p=thirdparty%2Fbacula.git Add Docker plugin rpm spec files - fix bacula.spec for docker-fd.so --- diff --git a/bacula/platforms/rpms/redhat/bacula-docker.spec.in b/bacula/platforms/rpms/redhat/bacula-docker.spec.in new file mode 100644 index 000000000..8049da09c --- /dev/null +++ b/bacula/platforms/rpms/redhat/bacula-docker.spec.in @@ -0,0 +1,138 @@ +# Bacula RPM spec file +# +# Copyright (C) 2000-2020 Bacula Systems SA + +# Platform Build Configuration + +# basic defines for every build +%define _release @RELEASE@ +%define _version @VERSION@ +%define product bacula +%define depkgs_version @DEPKGS_VERSION@ +%define _lsm @LSMDATE@ + +# Installation Directory locations +%define _prefix /opt/bacula +%define _sbindir /opt/bacula/bin +%define _bindir /opt/bacula/bin +%define _subsysdir /opt/bacula/working +%define sqlite_bindir /opt/bacula/sqlite +%define _mandir /usr/share/man +%define sysconf_dir /opt/bacula/etc +%define script_dir /opt/bacula/scripts +%define working_dir /opt/bacula/working +%define pid_dir /opt/bacula/working +%define plugin_dir /opt/bacula/plugins +%define lib_dir /opt/bacula/lib + +# Daemon user:group Don't change them unless you know what you are doing +%define director_daemon_user bacula +%define storage_daemon_user bacula +%define file_daemon_user root +%define daemon_group bacula +# group that has write access to tape devices, usually disk on Linux +%define storage_daemon_group disk + +%define base_package_name bacula + +Requires: %{base_package_name}-libs = %{_version}, bacula-fd + +Summary: Bacula - The Network Backup Solution +Name: %{base_package_name}-docker-plugin +Version: %{_version} +Release: %{_release} +Group: System Environment/Daemons +License: Bacula Systems(R) SA. All rights reserved. +BuildRoot: %{_tmppath}/%{name}-root +URL: http://www.baculasystems.com/ +Vendor: Bacula Systems +Packager: %{_packager} +Prefix: %{_prefix} +Distribution: Bacula Docker +Summary: Bacula Docker - The Network Backup Solution + +Source0: https://www.baculasystems.com/dl/download/bacula-%{_version}.tar.gz + +%description +Bacula Docker - The Network Backup Solution. +Bacula Docker plugin allows you to backup and restore Docker containers + +%global debug_package %{nil} + +%prep +%setup -T -D -n bacula-%{_version} -b 0 + +%build + +cwd=${PWD} + +./configure \ + --prefix=%{_prefix} \ + --sbindir=%{_sbindir} \ + --sysconfdir=%{sysconf_dir} \ + --mandir=%{_mandir} \ + --with-scriptdir=%{script_dir} \ + --with-working-dir=%{working_dir} \ + --with-plugindir=%{plugin_dir} \ + --with-pid-dir=%{pid_dir} \ + --with-subsys-dir=%{_subsysdir} \ + --libdir=%{lib_dir} \ + --enable-smartalloc \ + --disable-bat \ + --enable-client-only \ + --with-dir-user=%{director_daemon_user} \ + --with-dir-group=%{daemon_group} \ + --with-sd-user=%{storage_daemon_user} \ + --with-sd-group=%{storage_daemon_group} \ + --with-fd-user=%{file_daemon_user} \ + --with-fd-group=%{daemon_group} \ + --with-basename="XXX_HOSTNAME_XXX" \ + --with-hostname="XXX_HOSTNAME_XXX" \ + --with-dir-password="XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX" \ + --with-fd-password="XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX" \ + --with-sd-password="XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX" \ + --with-mon-dir-password="XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX" \ + --with-mon-fd-password="XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX" \ + --with-mon-sd-password="XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX" \ + --with-rsync=${cwd}/librsync \ + --with-openssl + +make + +%install +mkdir -pv $RPM_BUILD_ROOT%{plugin_dir} +make DESTDIR=$RPM_BUILD_ROOT -C ../bacula-%{_version}/src/plugins/fd/docker all +cp -v ../bacula-%{_version}/src/plugins/fd/docker/.libs/docker-fd.so $RPM_BUILD_ROOT%{plugin_dir} + +# Remove unneeded files +rm -rf $RPM_BUILD_ROOT%{_mandir} +rm -rf $RPM_BUILD_ROOT%{_bindir} +rm -rf $RPM_BUILD_ROOT%{sysconf_dir} +rm -rf ${RPM_BUILD_ROOT}/opt/bacula/share/doc +rm -f $RPM_BUILD_ROOT%{docdir}/* +rm -f $RPM_BUILD_ROOT%{lib_dir}/libbaccats* +rm -f $RPM_BUILD_ROOT%{lib_dir}/libbacfind* +rm -f $RPM_BUILD_ROOT%{lib_dir}/libbacsql* +rm -f $RPM_BUILD_ROOT%{lib_dir}/libbaccfg* +rm -f $RPM_BUILD_ROOT%{lib_dir}/libbac.* +rm -f $RPM_BUILD_ROOT%{lib_dir}/libbac-* +rm -f $RPM_BUILD_ROOT%{lib_dir}/libbacsd* +rm -f $RPM_BUILD_ROOT%{plugin_dir}/bacula-sd-cloud-driver.so +rm -f $RPM_BUILD_ROOT%{plugin_dir}/bacula-sd-cloud-s3-driver.so +rm -f $RPM_BUILD_ROOT%{plugin_dir}/bacula-sd-cloud-was-driver.so +rm -f $RPM_BUILD_ROOT%{plugin_dir}/bacula-sd-cloud-gs-driver.so +rm -f $RPM_BUILD_ROOT%{plugin_dir}/bacula-sd-cloud-oci-driver.so +rm -f $RPM_BUILD_ROOT%{plugin_dir}/bpipe-fd.so +rm -f $RPM_BUILD_ROOT%{plugin_dir}/bacula-sd-aligned-driver* +rm -f $RPM_BUILD_ROOT%{plugin_dir}/bacula-sd-dedup-driver*, + +%files +%defattr(-, root, %{daemon_group}) +%attr(755,root,%{daemon_group}) %{plugin_dir}/docker-fd.so + +%clean +[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT" + +%changelog +* Mon Mar 02 2020 Davide Franco +- First Docker plugin rpm version diff --git a/bacula/platforms/rpms/redhat/bacula.spec.in b/bacula/platforms/rpms/redhat/bacula.spec.in index 90e4e5363..dd3e49441 100644 --- a/bacula/platforms/rpms/redhat/bacula.spec.in +++ b/bacula/platforms/rpms/redhat/bacula.spec.in @@ -709,7 +709,9 @@ rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql # Remove symlinks #rm -f $RPM_BUILD_ROOT%{_libdir}/libbaccats.so #rm -f $RPM_BUILD_ROOT%{_libdir}/libbaccats-%{version}.so + rm -f $RPM_BUILD_ROOT%{_libdir}/libbacsd.la +rm -f $RPM_BUILD_ROOT%{plugin_dir}/docker-fd.so # install the init scripts %if !%{usesystemd} @@ -801,6 +803,7 @@ rm -rf $RPM_BUILD_ROOT%{script_dir}/updatedb rm -f $RPM_BUILD_ROOT%{script_dir}/bconsole rm -f $RPM_BUILD_ROOT%{script_dir}/mtx-changer.conf rm -f $RPM_BUILD_ROOT%{_sbindir}/bacula +rm -f $RPM_BUILD_ROOT%{plugin_dir}/docker-fd.so %endif