%bcond barri 1 %bcond gluster 1 %bcond grpc 1 %bcond ndmp 1 %bcond vmware 1 %global toolchain gcc %global py_src python-bareos %global library_dir %{_libdir}/%{name} %global backend_dir %{_libdir}/%{name}/backends %global plugin_dir %{_libdir}/%{name}/plugins %global script_dir %{_datadir}/%{name}/scripts %global working_dir %{_sharedstatedir}/%{name} %global pid_dir %{_sharedstatedir}/%{name} %global bsr_dir %{_sharedstatedir}/%{name} %global _subsysdir %{_localstatedir}/lock %global daemon_user bareos %global daemon_group bareos %global file_daemon_user root %global dscr Bareos - Backup Archiving Recovery Open Sourced. \ Bareos is a set of computer programs that permit you (or the system \ administrator) to manage backup, recovery, and verification of computer \ data across a network of computers of different kinds. In technical terms, \ it is a network client/server based backup program. Bareos is relatively \ easy to use and efficient, while offering many advanced storage management \ features that make it easy to find and recover lost or damaged files. \ Bareos source code has been released under the AGPL version 3 license. Name: bareos Version: 25.0.3 Release: 1%{?dist} License: AGPLv3 URL: http://www.bareos.org Summary: Bareos Source0: https://github.com/bareos/bareos/archive/Release/%{name}-Release-%{version}.tar.gz Source1: %{daemon_user}.user Patch1: vmware.patch Patch2: vadp_dumper.patch Patch3: cbt.patch Patch4: openssl.patch BuildRequires: cmake(CLI11) cmake(Microsoft.GSL) cmake(fmt) cmake(tl-expected) BuildRequires: cmake(utf8cpp) BuildRequires: pkgconfig(Qt6) pkgconfig(jansson) pkgconfig(json-c) pkgconfig(libacl) pkgconfig(libcap) pkgconfig(libpq) BuildRequires: pkgconfig(libtirpc) pkgconfig(libxml-2.0) pkgconfig(libxxhash) pkgconfig(lzo2) pkgconfig(openssl) pkgconfig(pam) pkgconfig(python3) BuildRequires: pkgconfig(readline) pkgconfig(xkbcommon) pkgconfig(zlib) BuildRequires: fdupes git firewalld-filesystem logrotate mtx openssl passwd postgresql-server procps-ng rpcgen systemd systemd-rpm-macros # setup.py von Baeros ist nicht ganz "Normgerecht" BuildRequires: %{py3_dist pip setuptools wheel} # have no pkgconfig BuildRequires: glibc-devel httpd-devel libstdc++-devel %if %{with gluster} BuildRequires: pkgconfig(glusterfs-api) %endif %if %{with grpc} BuildRequires: cmake(gRPC) BuildRequires: pkgconfig(protobuf) %endif %if %{with vmware} BuildRequires: VMware-vix-disklib-devel %endif %description %{dscr} %if %{with barri} %package barri-cli Summary: Bareos Recovery Imager (Barri) command line program %endif %package bconsole Summary: Bareos administration console (CLI) Requires: %{name}-common%{?_isa} = %{version}-%{release} %package common Summary: Common files, required by multiple Bareos packages Requires(pre): shadow-utils %package contrib-tools Summary: Additional tools, not part of the Bareos project BuildArch: noarch %package filedaemon Summary: Bareos File daemon (backup and restore client) Requires: %{name}-common%{?_isa} = %{version}-%{release} %{?systemd_requires} %if %{with barri} %package filedaemon-barri-plugin Summary: Bareos Recovery Imager (Barri) plugin for Bareos File daemon Requires: %{name}-filedaemon%{?_isa} = %{version}-%{release} %endif %package filedaemon-contrib Summary: Additional File Daemon Python plugins, not part of the Bareos project %if %{with gluster} %package filedaemon-glusterfs-plugin Summary: GlusterFS plugin for Bareos File daemon Requires: %{name}-filedaemon%{?_isa} = %{version}-%{release} %endif %if %{with grpc} %package filedaemon-grpc-plugin Summary: Grpc plugin for Bareos File daemon Requires: %{name}-filedaemon%{?_isa} = %{version}-%{release} %endif %package filedaemon-ldap-python-plugin Summary: LDAP Python plugin for Bareos File daemon Requires: %{name}-filedaemon-python3-plugin%{?_isa} = %{version}-%{release} Requires: python%{python3_version}dist(python-ldap) BuildArch: noarch %package filedaemon-libcloud-python-plugin Summary: Python plugin for libcloud Requires: %{name}-filedaemon-python3-plugin%{?_isa} = %{version}-%{release} Requires: python%{python3_version}dist(apache-libcloud) BuildArch: noarch %package filedaemon-mariadb-python-plugin Summary: Python plugin for MariaDB Requires: %{name}-filedaemon-python3-plugin%{?_isa} = %{version}-%{release} Requires: MariaDB-backup BuildArch: noarch %package filedaemon-postgresql-python-plugin Summary: PostgreSQL Python plugin for Bareos File daemon Requires: %{name}-filedaemon-python3-plugin%{?_isa} = %{version}-%{release} Requires: python%{python3_version}dist(pg8000) >= 1.16 BuildArch: noarch %package filedaemon-python3-plugin Summary: Python plugin for Bareos File daemon Requires: %{name}-filedaemon%{?_isa} = %{version}-%{release} %if %{with vmware} %package filedaemon-vmware-plugin Summary: VMware plugin for Bareos File daemon Requires: %{name}-filedaemon%{?_isa} = %{version}-%{release} Requires: VMware-vix-disklib%{?_isa} %endif %package director Summary: Bareos Director daemon Requires: %{name}-common%{?_isa} = %{version}-%{release} Requires: logrotate %{?systemd_requires} %package director-contrib Summary: Additional Director Python plugins, not part of the Bareos project Requires: %{name}-director-python3-plugin%{?_isa} = %{version}-%{release} %package director-python3-plugin Summary: Python plugin for Bareos Director daemon Requires: %{name}-director%{?_isa} = %{version}-%{release} %package storage Summary: Bareos Storage daemon Requires: %{name}-common%{?_isa} = %{version}-%{release} Requires: %{name}-tools%{?_isa} = %{version}-%{release} %{?systemd_requires} %package storage-dedupable Summary: Dedupable storage format for the Bareos Storage daemon Requires: %{name}-storage%{?_isa} = %{version}-%{release} %package storage-droplet Summary: Object Storage support (through libdroplet) for the Bareos Storage daemon Requires: %{name}-storage%{?_isa} = %{version}-%{release} %package storage-dlcompat Summary: Object Storage support (through external wrapper programs) Requires: %{name}-storage%{?_isa} = %{version}-%{release} %if %{with gluster} %package storage-glusterfs Summary: GlusterFS support for the Bareos Storage daemon Requires: %{name}-storage%{?_isa} = %{version}-%{release} %endif %package storage-tape Summary: Tape support for the Bareos Storage daemon Requires: %{name}-storage%{?_isa} = %{version}-%{release} Requires: mtx mt-st %package storage-fifo Summary: FIFO support for the Bareos Storage backend Requires: %{name}-storage%{?_isa} = %{version}-%{release} %package storage-python3-plugin Summary: Python plugin for Bareos Storage daemon Requires: %{name}-storage%{?_isa} = %{version}-%{release} %package tools Summary: Bareos CLI tools (bcopy, bextract, bls, bregex, bwild) Requires: %{name}-common%{?_isa} = %{version}-%{release} %package traymonitor Summary: Bareos Tray Monitor %package webui Summary: Bareos webui %{?_httpd_requires} Buildarch: noarch %package -n python3-%{name} Summary: Bareos Python bindings Buildarch: noarch %if %{with barri} %description barri-cli %{dscr} This package contains the Bareos Recovery Imager (barri) command line tool %endif %description bconsole %{dscr} This package contains the bconsole (the CLI interface program) %description common %{dscr} This package contains the shared libraries that are used by multiple daemons and tools. %description contrib-tools %{dscr} This package provides some additional tools, not part of the Bareos project. %description director %{dscr} This package contains the Director Service (Bareos main service daemon) %description director-contrib %{dscr} This package provides additional Bareos Director Python plugins, not part of the Bareos project. %description director-python3-plugin %{dscr} This package contains the python plugin for the director daemon %description filedaemon %{dscr} This package contains the File Daemon (Bareos client daemon to read/write data from the backed up computer) %if %{with barri} %description filedaemon-barri-plugin %{dscr} This package contains the Bareos Recovery Imager (barri) plugin for the file daemon %endif %description filedaemon-contrib %{dscr} This package provides additional File Daemon Python plugins, not part of the Bareos project. %if %{with gluster} %description filedaemon-glusterfs-plugin %{dscr} This package contains the GlusterFS plugin for the file daemon %endif %if %{with grpc} %description filedaemon-grpc-plugin %{dscr} This package contains the grpc plugin for the file daemon %endif %description filedaemon-ldap-python-plugin %{dscr} This package contains the LDAP python plugin for the file daemon %description filedaemon-libcloud-python-plugin %{dscr} This package contains the Apache Libcloud python plugin for S3 storages %description filedaemon-mariadb-python-plugin %{dscr} This package contains the MariaDB python plugin for the file daemon %description filedaemon-postgresql-python-plugin %{dscr} This package contains the PostgreSQL python plugin for the file daemon %description filedaemon-python3-plugin %{dscr} This package contains the python plugin for the file daemon %if %{with vmware} %description filedaemon-vmware-plugin %{dscr} This package contains the VMware plugin for the file daemon %endif %description -n python3-%{name} %{dscr} This package contains the python bindings. %description storage %{dscr} This package contains the Storage Daemon (Bareos service to read and write data from/to media) %description storage-dedupable %{dscr} This package contains the Storage backend for the dedupable storage format. %description storage-droplet %{dscr} This package contains the Storage backend for Object Storage (through libdroplet). %description storage-dlcompat %{dscr} This package contains the Storage backend for Object Storage (through external wrapper programs) %description storage-fifo %{dscr} This package contains the Storage backend for FIFO files. This package is only required, when a resource "Archive Device = fifo" should be used by the Bareos Storage Daemon. %if %{with gluster} %description storage-glusterfs %{dscr} This package contains the Storage backend for GlusterFS. %endif %description storage-python3-plugin %{dscr} This package contains the python plugin for the storage daemon %description storage-tape %{dscr} This package contains the Storage Daemon tape support (Bareos service to read and write data from/to tape media) %description tools %{dscr} This package contains Bareos tools. %description traymonitor %{dscr} This package contains the tray monitor (QT based). %description webui %{dscr} %post common %firewalld_reload %post bconsole %{script_dir}/bareos-config initialize_local_hostname %{script_dir}/bareos-config initialize_passwords %post director %{script_dir}/%{name}-config initialize_local_hostname %{script_dir}/%{name}-config initialize_passwords %{script_dir}/%{name}-config initialize_database_driver %systemd_post %{name}-dir.service %post filedaemon %{script_dir}/%{name}-config initialize_local_hostname %{script_dir}/%{name}-config initialize_passwords %systemd_post %{name}-fd.service %if %{with barri} %post filedaemon-barri-plugin %systemd_post %{name}-fd.service %endif %if %{with grpc} %post filedaemon-grpc-plugin %systemd_post %{name}-fd.service %endif %post filedaemon-python3-plugin %systemd_post %{name}-fd.service %post storage %{script_dir}/%{name}-config setup_sd_user %{script_dir}/%{name}-config initialize_local_hostname %{script_dir}/%{name}-config initialize_passwords %systemd_post %{name}-sd.service %post traymonitor %{script_dir}/bareos-config initialize_local_hostname %{script_dir}/bareos-config initialize_passwords %pre common %sysusers_create_compat %{SOURCE1} %preun director %systemd_preun %{name}-dir.service %preun filedaemon %systemd_preun %{name}-fd.service %if %{with barri} %preun filedaemon-barri-plugin %systemd_preun %{name}-fd.service %endif %if %{with grpc} %preun filedaemon-grpc-plugin %systemd_preun %{name}-fd.service %endif %preun filedaemon-python3-plugin %systemd_preun %{name}-fd.service %preun storage %systemd_preun %{name}-sd.service %postun director %systemd_postun_with_restart %{name}-dir.service %postun filedaemon %systemd_postun_with_restart %{name}-fd.service %if %{with barri} %postun filedaemon-barri-plugin %systemd_postun_with_restart %{name}-fd.service %endif %if %{with grpc} %postun filedaemon-grpc-plugin %systemd_postun_with_restart %{name}-fd.service %endif %postun filedaemon-python3-plugin %systemd_postun_with_restart %{name}-fd.service %postun storage %systemd_postun_with_restart %{name}-sd.service %prep %autosetup -n %{name}-Release-%{version} -p1 find . -type f \( -name ".coveralls.yml" -or -name ".gitignore" -or -name ".editorconfig" -or -name ".laminas-ci.json" \) -delete find . -type d -name ".github" | xargs rm -rf %{__cat} << EOF > python-bareos/bareos/VERSION.txt %{version} EOF %generate_buildrequires %conf %cmake \ -DCMAKE_VERBOSE_MAKEFILE=ON \ -DBUILD_SHARED_LIBS:BOOL=ON \ -DENABLE_SYSTEMTESTS:BOOL=OFF \ -Dbatch-insert=yes \ -Ddynamic-storage-backends=yes \ -Dscsi-crypto=yes \ -Dlmdb=yes \ -Dndmp=%{?with_ndmp:yes} \ %{!?with_barri:-DENABLE_BARRI=no} \ %{?with_grpc:-DENABLE_GRPC=yes} \ -Dbuild_ndmjob=yes \ -Dacl=yes \ -Dlockmgr=yes \ -Dtraymonitor=yes \ -Dpostgresql=yes \ -Ddir-user=%{daemon_user} \ -Ddir-group=%{daemon_group} \ -Dsd-user=%{daemon_user} \ -Dsd-group=%{daemon_group} \ -Dfd-user=%{file_daemon_user} \ -Dfd-group=%{daemon_group} \ -Dscriptdir=%{script_dir} \ -Dbindir=%{_bindir} \ -Dsbindir=%{_bindir} \ -Ddir-password="XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX" \ -Dfd-password="XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX" \ -Dsd-password="XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX" \ -Dmon-dir-password="XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX" \ -Dmon-fd-password="XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX" \ -Dmon-sd-password="XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX" \ -Dopenssl=yes \ -Dbasename="XXX_REPLACE_WITH_LOCAL_HOSTNAME_XXX" \ -Dhostname="XXX_REPLACE_WITH_LOCAL_HOSTNAME_XXX" \ -Dsystemd=yes \ -Dvddk_incl=%{vmware_vddk_include} \ -Dvddk_lib=%{vmware_vddk_lib} %build pushd %{py_src} %pyproject_wheel popd %cmake_build %install pushd %{py_src} %pyproject_install %pyproject_save_files %{name} popd install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/%{daemon_user}.conf %cmake_install %{__rm} -rf %{buildroot}%{_datadir}/%{name}-webui/tests # Firewalld %{__mkdir_p} %{buildroot}%{_prefix}/lib/firewalld/services %{__cp} core/platforms/firewalld/*.xml %{buildroot}%{_prefix}/lib/firewalld/services/ # Aufräumen %{__rm} -rf %{buildroot}%{_sysconfdir}/rc.d %{__rm} -rf %{buildroot}%{_datadir}/%{name}/scripts/%{name}-ctl-* %{__rm} -rf %{buildroot}%{_datadir}/%{name}/scripts/%{name} %{__rm} -rf %{buildroot}%{plugin_dir}/mariadb-dump/README.md %if %{without gluster} %{__rm} -rf %{buildroot}%{script_dir}/bareos-glusterfind-wrapper %endif %if %{without vmware} %{__rm} -rf %{buildroot}%{plugin_dir}/bareos-fd-vmware.py %endif #Web-ui %fdupes -s %{buildroot}%{_datadir}/%{name}-webui %check %if %{with barri} %files barri-cli %{_bindir}/barri-cli %endif %files bconsole %defattr(-, root, root) %attr(0640, root, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/bconsole.conf %{_bindir}/bconsole %{_mandir}/man1/bconsole.1.gz %files common %defattr(-, root, root) %doc README.md SECURITY.md CHANGELOG.md core/README.* AUTHORS SPONSORS.* %license AGPL-3.0.txt %{_sysusersdir}/%{daemon_user}.conf %attr(0755, root, %{daemon_group}) %dir %{_sysconfdir}/%{name} %attr(0750, %{daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/%{name}-dir.d %attr(0750, %{daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/%{name}-dir.d/catalog %attr(0750, %{daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/%{name}-dir.d/client %attr(0750, %{daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/%{name}-dir.d/console %attr(0750, %{daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/%{name}-dir.d/counter %attr(0750, %{daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/%{name}-dir.d/director %attr(0750, %{daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/%{name}-dir.d/fileset %attr(0750, %{daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/%{name}-dir.d/job %attr(0750, %{daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/%{name}-dir.d/jobdefs %attr(0750, %{daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/%{name}-dir.d/messages %attr(0750, %{daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/%{name}-dir.d/pool %attr(0750, %{daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/%{name}-dir.d/profile %attr(0750, %{daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/%{name}-dir.d/schedule %attr(0750, %{daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/%{name}-dir.d/storage %attr(0755, %{daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/tray-monitor.d %dir %{backend_dir} %dir %{script_dir} %dir %{plugin_dir} %{library_dir}/libbareosfastlz.* %{library_dir}/libbareos.so* %{library_dir}/libbareossd.so* %{library_dir}/libbareosfind.so* %{library_dir}/libbareoslmdb.so* %if %{with ndmp} %{library_dir}/libbareosndmp.so* %endif %{script_dir}/%{name}-config %{script_dir}/%{name}-config-lib.sh %{script_dir}/btraceback.* %{_bindir}/btraceback %{_mandir}/man8/btraceback.8.gz %attr(0770, %{daemon_user}, %{daemon_group}) %dir %{working_dir} %attr(0750, %{daemon_user}, %{daemon_group}) %dir %{_localstatedir}/log/%{name} %{_prefix}/lib/firewalld/services/*.xml %files contrib-tools %defattr(-, root, root) %{_bindir}/bareos-triggerjob.py %{_bindir}/bsmc %{_bindir}/chunk_check.py %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/bareos/bsmc.conf %{script_dir}/reschedule_job_as_full.sh %files director %defattr(-, root, root) %dir %{script_dir}/ddl %dir %{script_dir}/ddl/creates %dir %{script_dir}/ddl/drops %dir %{script_dir}/ddl/grants %dir %{script_dir}/ddl/updates %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-dir.d/catalog/MyCatalog.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-dir.d/client/%{name}-fd.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-dir.d/console/%{name}-mon.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-dir.d/director/%{name}-dir.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-dir.d/fileset/Catalog.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-dir.d/fileset/LinuxAll.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-dir.d/fileset/SelfTest.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) "%{_sysconfdir}/%{name}/%{name}-dir.d/fileset/Windows All Drives.conf" %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-dir.d/job/backup-bareos-fd.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-dir.d/job/BackupCatalog.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-dir.d/jobdefs/DefaultJob.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-dir.d/job/RestoreFiles.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-dir.d/messages/Daemon.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-dir.d/messages/Standard.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-dir.d/pool/Differential.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-dir.d/pool/Full.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-dir.d/pool/Incremental.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-dir.d/pool/Scratch.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-dir.d/profile/operator.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-dir.d/profile/webui-admin.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-dir.d/profile/webui-readonly.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-dir.d/schedule/WeeklyCycleAfterBackup.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-dir.d/schedule/WeeklyCycle.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-dir.d/storage/File.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-dir.d/console/admin.conf.example %attr(0640, %{daemon_user}, %{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-dir.d/console/console_media_vault.conf.example %attr(0640, %{daemon_user}, %{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-dir.d/fileset/plugin-ldap.conf.example %attr(0640, %{daemon_user}, %{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-dir.d/fileset/plugin-gfapi.conf.example %attr(0640, %{daemon_user}, %{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-dir.d/job/backup-ldap.conf.example %attr(0640, %{daemon_user}, %{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-dir.d/job/job_admin-media_vault.conf.example %attr(0640, %{daemon_user}, %{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-dir.d/job/BackupGFAPI.conf.example %attr(0640, %{daemon_user}, %{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-dir.d/job/RestoreGFAPI.conf.example %attr(0640, %{daemon_user}, %{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-dir.d/job/restore-ldap.conf.example %attr(0640, %{daemon_user}, %{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-dir.d/profile/profile_media_vault.conf.example %attr(0640, %{daemon_user}, %{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-dir.d/profile/webui-limited.conf.example %attr(0640, %{daemon_user}, %{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-dir.d/storage/dplcompat.conf.example %attr(0640, %{daemon_user}, %{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-dir.d/storage/Dedupable.conf.example %attr(0640, %{daemon_user}, %{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-dir.d/storage/dplcompat.conf.example %attr(0640, %{daemon_user}, %{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-dir.d/storage/File.conf.example %attr(0640, %{daemon_user}, %{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-dir.d/storage/Tape.conf.example %attr(0640, %{daemon_user}, %{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-dir.d/storage/NULL.conf.example %attr(0640, %{daemon_user}, %{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-dir.d/storage/S3_Object.conf.example %attr(0640, %{daemon_user}, %{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-dir.d/storage/Gluster.conf.example %attr(0750, %{daemon_user}, %{daemon_group}) %{_sysconfdir}/%{name}/bareos-dir-export/ %attr(0755, %{daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/tray-monitor.d/director %attr(0644, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/tray-monitor.d/director/Director-local.conf %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}-dir %config() %{_sysconfdir}/%{name}/media_vault.ini.example # we do not have any dir plugin but the python plugin %{script_dir}/delete_catalog_backup %{script_dir}/make_catalog_backup %{script_dir}/create_bareos_database %{script_dir}/drop_bareos_database %{script_dir}/drop_bareos_tables %{script_dir}/grant_bareos_privileges %{script_dir}/make_bareos_tables %{script_dir}/media_vault.* %{script_dir}/update_bareos_tables %{script_dir}/ddl/versions.map %{script_dir}/ddl/*/postgresql*.sql %{script_dir}/query.sql %{_bindir}/%{name}-dir %{_bindir}/bsmtp %{_bindir}/%{name}-dbcheck %{_bindir}/bscan %{_mandir}/man1/bsmtp.1.gz %{_mandir}/man8/%{name}-dir.8.gz %{_mandir}/man8/%{name}.8.gz %{_mandir}/man8/%{name}-dbcheck.8.gz %{_mandir}/man8/bscan.8.gz %{_unitdir}/%{name}-dir.service %{library_dir}/libbareossql.* %files director-contrib %defattr(-, root, root) %{plugin_dir}/BareosDirPluginNscaSender.py* %{plugin_dir}/bareos-dir-nsca-sender.py %files director-python3-plugin %defattr(-, root, root) %{plugin_dir}/BareosDirPluginBaseclass.py* %{plugin_dir}/bareos-dir-class-plugin.py* %{plugin_dir}/BareosDirWrapper.py* %{plugin_dir}/python3-dir.so %{python3_sitearch}/bareosdir*.so %files filedaemon %defattr(-, root, root) %attr(0750, %{file_daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/%{name}-fd.d/ %attr(0750, %{file_daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/%{name}-fd.d/client %attr(0750, %{file_daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/%{name}-fd.d/director %attr(0750, %{file_daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/%{name}-fd.d/messages %attr(0640, %{file_daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-fd.d/client/myself.conf %attr(0640, %{file_daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-fd.d/director/%{name}-dir.conf %attr(0640, %{file_daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-fd.d/director/%{name}-mon.conf %attr(0640, %{file_daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-fd.d/messages/Standard.conf %attr(0755, %{daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/tray-monitor.d/client %attr(0644, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/tray-monitor.d/client/FileDaemon-local.conf %caps(cap_dac_read_search+ep) %{_bindir}/%{name}-fd %{plugin_dir}/bpipe-fd.so %{_mandir}/man8/%{name}-fd.8.gz %{_unitdir}/%{name}-fd.service %if %{with barri} %files filedaemon-barri-plugin %{plugin_dir}/barri-fd.so %endif %files filedaemon-contrib %defattr(-, root, root) %{plugin_dir}/mariadb-dump/bareos-fd-mariadb-dump.py %{plugin_dir}/bareos_mysql_dump %{plugin_dir}/bareos_tasks %{plugin_dir}/openvz7 %files filedaemon-glusterfs-plugin %defattr(-, root, root) %{plugin_dir}/gfapi-fd.so %{script_dir}/bareos-glusterfind-wrapper %if %{with grpc} %files filedaemon-grpc-plugin %{plugin_dir}/grpc-fd.so %{plugin_dir}/grpc %endif %files filedaemon-ldap-python-plugin %defattr(-, root, root) %{plugin_dir}/bareos-fd-ldap.py %files filedaemon-libcloud-python-plugin %defattr(-, root, root) %{plugin_dir}/bareos-fd-libcloud.py %{plugin_dir}/BareosLibcloudApi.py %{plugin_dir}/bareos_libcloud_api %files filedaemon-mariadb-python-plugin %defattr(-, root, root) %{plugin_dir}/bareos-fd-mariabackup.py %files filedaemon-postgresql-python-plugin %defattr(-, root, root) %{plugin_dir}/bareos-fd-postgresql.py %files filedaemon-python3-plugin %defattr(-, root, root) %{plugin_dir}/bareos-fd-local-fileset.py %{plugin_dir}/BareosFdPluginBaseclass.py %{plugin_dir}/BareosFdPluginLocalFilesBaseclass.py %{plugin_dir}/BareosFdWrapper.py %{plugin_dir}/python3-fd.so %{plugin_dir}/bareos-fd-percona-xtrabackup.py %{python3_sitearch}/bareosfd*.so %{script_dir}/bareos_encode_string.py %if %{with vmware} %files filedaemon-vmware-plugin %defattr(-, root, root) %doc core/src/vmware/README.md %license core/src/vmware/LICENSE core/src/vmware/LICENSE.vadp %{plugin_dir}/bareos-fd-vmware.py %{_bindir}/bareos_vadp_dumper %{_bindir}/bareos_vadp_dumper_wrapper.sh %{_bindir}/vmware_cbt_tool.py %endif %files -n python3-%{name} -f %{pyproject_files} %defattr(-, root, root) %doc %{py_src}/README.* %{_bindir}/bconsole.py %{_bindir}/bconsole-json.py %{_bindir}/bareos-fd-connect.py %files storage %defattr(-, root, root) %attr(0750, %{daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/%{name}-sd.d %attr(0750, %{daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/%{name}-sd.d/autochanger %attr(0750, %{daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/%{name}-sd.d/device %attr(0750, %{daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/%{name}-sd.d/director %attr(0750, %{daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/%{name}-sd.d/ndmp %attr(0750, %{daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/%{name}-sd.d/messages %attr(0750, %{daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/%{name}-sd.d/storage %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-sd.d/device/FileStorage.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-sd.d/director/%{name}-dir.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-sd.d/director/%{name}-mon.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-sd.d/messages/Standard.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-sd.d/storage/%{name}-sd.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-sd.d/autochanger/FileStorage.conf.example %attr(0640, %{daemon_user}, %{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-sd.d/device/FileStorage.conf.example %attr(0755, %{daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/tray-monitor.d/storage %attr(0644, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/tray-monitor.d/storage/StorageDaemon-local.conf %{_bindir}/%{name}-sd %{script_dir}/disk-changer %{plugin_dir}/autoxflate-sd.so %{backend_dir}/libbareossd-file*.so %{_mandir}/man8/%{name}-sd.8.gz %{_unitdir}/%{name}-sd.service %attr(0775, %{daemon_user}, %{daemon_group}) %dir %{_sharedstatedir}/%{name}/storage %files storage-dedupable %defattr(-, root, root) %{backend_dir}/libbareossd-dedupable*.so %attr(0640, %{daemon_user},%{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-sd.d/device/Dedupable.conf.example %{_bindir}/bdedupestimate %files storage-droplet %defattr(-, root, root) %{backend_dir}/libbareossd-droplet*.so %attr(0640, %{daemon_user},%{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-sd.d/device/S3_ObjectStorage.conf.example %attr(0640, %{daemon_user},%{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-sd.d/device/droplet/*.example %dir %{_sysconfdir}/%{name}/bareos-sd.d/device/droplet/ %files storage-dlcompat %defattr(-, root, root) %{backend_dir}/libbareossd-dplcompat*.so %attr(0640, %{daemon_user},%{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-sd.d/device/dplcompat.conf.example %{script_dir}/s3cmd-wrapper.sh %files storage-fifo %defattr(-, root, root) %{backend_dir}/libbareossd-fifo*.so %if %{with gluster} %files storage-glusterfs %defattr(-, root, root) %{backend_dir}/libbareossd-gfapi*.so %attr(0640, %{daemon_user}, %{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-sd.d/device/GlusterStorage.conf.example %endif %files storage-python3-plugin %defattr(-, root, root) %{plugin_dir}/BareosSdPluginBaseclass.py* %{plugin_dir}/BareosSdWrapper.py* %{plugin_dir}/bareos-sd-class-plugin.py* %{plugin_dir}/python3-sd.so %{python3_sitearch}/bareossd*.so %files storage-tape %defattr(-, root, root) %{backend_dir}/libbareossd-tape*.so %{script_dir}/mtx-changer %config(noreplace) %{_sysconfdir}/%{name}/mtx-changer.conf %attr(0640, %{daemon_user}, %{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-sd.d/autochanger/autochanger-0.conf.example %attr(0640, %{daemon_user}, %{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-sd.d/device/tapedrive-0.conf.example %attr(0640, %{daemon_user}, %{daemon_group}) %config() %{_sysconfdir}/%{name}/%{name}-sd.d/device/NULL.conf.example %{_mandir}/man8/bscrypto.8.gz %{_mandir}/man8/btape.8.gz %{_bindir}/bscrypto %{_bindir}/btape %{plugin_dir}/scsicrypto-sd.so %{plugin_dir}/scsitapealert-sd.so %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}-mtx %files tools %defattr(-, root, root) %{_bindir}/bregex %{_bindir}/bwild %{_bindir}/bcopy %{_bindir}/bextract %{_bindir}/bls %{_bindir}/bpluginfo %{_bindir}/btestls %{_bindir}/testfind %{_mandir}/man1/bwild.1.gz %{_mandir}/man1/bregex.1.gz %{_mandir}/man8/bcopy.8.gz %{_mandir}/man8/bextract.8.gz %{_mandir}/man8/bls.8.gz %{_mandir}/man8/bpluginfo.8.gz %files traymonitor %defattr(-,root, root) %attr(0755, %{daemon_user}, %{daemon_group}) %dir %{_sysconfdir}/%{name}/tray-monitor.d/monitor %attr(0644, %{daemon_user}, %{daemon_group}) %config(noreplace) %{_sysconfdir}/%{name}/tray-monitor.d/monitor/%{name}-mon.conf %config(noreplace) %{_sysconfdir}/xdg/autostart/%{name}-tray-monitor.desktop %{_bindir}/%{name}-tray-monitor %{_mandir}/man1/%{name}-tray-monitor.1.gz %{_datarootdir}/applications/%{name}-tray-monitor.desktop %{_datarootdir}/pixmaps/%{name}-tray-monitor.png %files webui %defattr(-, root, root) %doc webui/README.md webui/doc/README-TRANSLATION.md %license webui/LICENSE %dir %{_datadir}/%{name}-webui %dir %{_sysconfdir}/%{name}-webui %{_datadir}/%{name}-webui/* %config(noreplace) %{_sysconfdir}/%{name}-webui/configuration.ini %config(noreplace) %{_sysconfdir}/%{name}-webui/directors.ini %config(noreplace) %{_httpd_confdir}/bareos-webui.conf %changelog * Thu Apr 02 2026 frankb - 25.0.3-1 - Update to 25.0.3 * Thu Feb 12 2026 frankb - 25.0.2-1 - Update to 25.0.2 * Tue Dec 09 2025 frankb - 25.0.1-1 - Update to 25.0.1 * Sat Oct 25 2025 frankb - 23.1.4-1 - Start for Fedora-42 based on 23.1.4-1 from Fedora-41 - Drop ndmp, becaue the build fails.