%global commit 860e6252373da1e2b5de0d021c947ae53d8ca32e %global gittag 8.1.0.264 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %define spec_release 1 Summary: Management tools for Virtual Data Optimizer Name: vdo Version: %{gittag} Release: %{spec_release}%{?dist} License: GPLv2 Source0: https://github.com/dm-vdo/%{name}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz Patch0: fix_dmeventd_linking.patch URL: http://github.com/dm-vdo/vdo Requires: lvm2 >= 2.03 Requires: python3-PyYAML >= 3.10 Requires: libuuid >= 2.23 Requires: kmod-kvdo >= 6.2 Requires: util-linux >= 2.32.1-7 Provides: kvdo-kmod-common = %{version} ExcludeArch: s390 ExcludeArch: ppc ExcludeArch: ppc64 ExcludeArch: i686 BuildRequires: gcc BuildRequires: libblkid-devel BuildRequires: libuuid-devel BuildRequires: device-mapper-devel BuildRequires: device-mapper-event-devel BuildRequires: python3 BuildRequires: python3-devel BuildRequires: systemd %ifarch %{valgrind_arches} BuildRequires: valgrind-devel %endif BuildRequires: zlib-devel %{?systemd_requires} # Disable an automatic dependency due to a file in examples/monitor. %define __requires_exclude perl %description Virtual Data Optimizer (VDO) is a device mapper target that delivers block-level deduplication, compression, and thin provisioning. This package provides the user-space management tools for VDO. %prep %setup -q -n %{name}-%{commit} %patch0 -p1 %build make %install make install DESTDIR=$RPM_BUILD_ROOT INSTALLOWNER= bindir=%{_bindir} \ defaultdocdir=%{_defaultdocdir} name=%{name} \ python3_sitelib=%{python3_sitelib} mandir=%{_mandir} \ unitdir=%{_unitdir} presetdir=%{_presetdir} sysconfdir=%{_sysconfdir} # Fix the python3 shebangs for file in %{_bindir}/vdo \ %{_bindir}/vdostats do pathfix.py -pni "%{__python3}" $RPM_BUILD_ROOT${file} done %post %systemd_post vdo.service %preun %systemd_preun vdo.service %postun %systemd_postun_with_restart vdo.service %files #defattr(-,root,root) %{_bindir}/vdo %{_bindir}/vdo-by-dev %{_bindir}/vdostats %{_bindir}/vdodmeventd %{_bindir}/vdodumpconfig %{_bindir}/vdoforcerebuild %{_bindir}/vdoformat %{_bindir}/vdosetuuid %dir %{python3_sitelib}/%{name} %{python3_sitelib}/%{name}/__init__.py %{python3_sitelib}/%{name}/__pycache__/__init__.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/__pycache__/__init__.cpython-39.pyc %dir %{python3_sitelib}/%{name}/vdomgmnt/ %{python3_sitelib}/%{name}/vdomgmnt/CommandLock.py %{python3_sitelib}/%{name}/vdomgmnt/Configuration.py %{python3_sitelib}/%{name}/vdomgmnt/Constants.py %{python3_sitelib}/%{name}/vdomgmnt/Defaults.py %{python3_sitelib}/%{name}/vdomgmnt/ExitStatusMixins.py %{python3_sitelib}/%{name}/vdomgmnt/KernelModuleService.py %{python3_sitelib}/%{name}/vdomgmnt/MgmntUtils.py %{python3_sitelib}/%{name}/vdomgmnt/Service.py %{python3_sitelib}/%{name}/vdomgmnt/SizeString.py %{python3_sitelib}/%{name}/vdomgmnt/Utils.py %{python3_sitelib}/%{name}/vdomgmnt/VDOArgumentParser.py %{python3_sitelib}/%{name}/vdomgmnt/VDOKernelModuleService.py %{python3_sitelib}/%{name}/vdomgmnt/VDOOperation.py %{python3_sitelib}/%{name}/vdomgmnt/VDOService.py %{python3_sitelib}/%{name}/vdomgmnt/__init__.py %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/CommandLock.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/CommandLock.cpython-39.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Configuration.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Configuration.cpython-39.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Constants.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Constants.cpython-39.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Defaults.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Defaults.cpython-39.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/ExitStatusMixins.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/ExitStatusMixins.cpython-39.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/KernelModuleService.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/KernelModuleService.cpython-39.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/MgmntUtils.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/MgmntUtils.cpython-39.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Service.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Service.cpython-39.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/SizeString.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/SizeString.cpython-39.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Utils.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Utils.cpython-39.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/VDOArgumentParser.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/VDOArgumentParser.cpython-39.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/VDOKernelModuleService.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/VDOKernelModuleService.cpython-39.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/VDOOperation.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/VDOOperation.cpython-39.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/VDOService.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/VDOService.cpython-39.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/__init__.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/__init__.cpython-39.pyc %dir %{python3_sitelib}/%{name}/statistics/ %{python3_sitelib}/%{name}/statistics/Command.py %{python3_sitelib}/%{name}/statistics/Field.py %{python3_sitelib}/%{name}/statistics/LabeledValue.py %{python3_sitelib}/%{name}/statistics/StatFormatter.py %{python3_sitelib}/%{name}/statistics/StatStruct.py %{python3_sitelib}/%{name}/statistics/VDOReleaseVersions.py %{python3_sitelib}/%{name}/statistics/VDOStatistics.py %{python3_sitelib}/%{name}/statistics/__init__.py %{python3_sitelib}/%{name}/statistics/__pycache__/Command.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/statistics/__pycache__/Command.cpython-39.pyc %{python3_sitelib}/%{name}/statistics/__pycache__/Field.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/statistics/__pycache__/Field.cpython-39.pyc %{python3_sitelib}/%{name}/statistics/__pycache__/LabeledValue.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/statistics/__pycache__/LabeledValue.cpython-39.pyc %{python3_sitelib}/%{name}/statistics/__pycache__/StatFormatter.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/statistics/__pycache__/StatFormatter.cpython-39.pyc %{python3_sitelib}/%{name}/statistics/__pycache__/StatStruct.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/statistics/__pycache__/StatStruct.cpython-39.pyc %{python3_sitelib}/%{name}/statistics/__pycache__/VDOReleaseVersions.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/statistics/__pycache__/VDOReleaseVersions.cpython-39.pyc %{python3_sitelib}/%{name}/statistics/__pycache__/VDOStatistics.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/statistics/__pycache__/VDOStatistics.cpython-39.pyc %{python3_sitelib}/%{name}/statistics/__pycache__/__init__.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/statistics/__pycache__/__init__.cpython-39.pyc %dir %{python3_sitelib}/%{name}/utils/ %{python3_sitelib}/%{name}/utils/Command.py %{python3_sitelib}/%{name}/utils/FileUtils.py %{python3_sitelib}/%{name}/utils/Timeout.py %{python3_sitelib}/%{name}/utils/Transaction.py %{python3_sitelib}/%{name}/utils/YAMLObject.py %{python3_sitelib}/%{name}/utils/__init__.py %{python3_sitelib}/%{name}/utils/__pycache__/Command.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/utils/__pycache__/Command.cpython-39.pyc %{python3_sitelib}/%{name}/utils/__pycache__/FileUtils.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/utils/__pycache__/FileUtils.cpython-39.pyc %{python3_sitelib}/%{name}/utils/__pycache__/Timeout.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/utils/__pycache__/Timeout.cpython-39.pyc %{python3_sitelib}/%{name}/utils/__pycache__/Transaction.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/utils/__pycache__/Transaction.cpython-39.pyc %{python3_sitelib}/%{name}/utils/__pycache__/YAMLObject.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/utils/__pycache__/YAMLObject.cpython-39.pyc %{python3_sitelib}/%{name}/utils/__pycache__/__init__.cpython-39.opt-1.pyc %{python3_sitelib}/%{name}/utils/__pycache__/__init__.cpython-39.pyc %{_unitdir}/vdo.service %{_unitdir}/vdo-start-by-dev@.service %{_presetdir}/97-vdo.preset %dir %{_sysconfdir}/bash_completion.d %{_sysconfdir}/bash_completion.d/vdostats %{_sysconfdir}/bash_completion.d/vdo %{_sysconfdir}/udev/rules.d/69-vdo-start-by-dev.rules %dir %{_defaultdocdir}/%{name} %license %{_defaultdocdir}/%{name}/COPYING %dir %{_defaultdocdir}/%{name}/examples %dir %{_defaultdocdir}/%{name}/examples/ansible %doc %{_defaultdocdir}/%{name}/examples/ansible/README.txt %doc %{_defaultdocdir}/%{name}/examples/ansible/test_vdocreate.yml %doc %{_defaultdocdir}/%{name}/examples/ansible/test_vdocreate_alloptions.yml %doc %{_defaultdocdir}/%{name}/examples/ansible/test_vdoremove.yml %dir %{_defaultdocdir}/%{name}/examples/monitor %doc %{_defaultdocdir}/%{name}/examples/monitor/monitor_check_vdostats_logicalSpace.pl %doc %{_defaultdocdir}/%{name}/examples/monitor/monitor_check_vdostats_physicalSpace.pl %doc %{_defaultdocdir}/%{name}/examples/monitor/monitor_check_vdostats_savingPercent.pl %dir %{_defaultdocdir}/%{name}/examples/systemd %doc %{_defaultdocdir}/%{name}/examples/systemd/VDO.mount.example %{_mandir}/man8/vdo.8.gz %{_mandir}/man8/vdostats.8.gz %{_mandir}/man8/vdodmeventd.8.gz %{_mandir}/man8/vdodumpconfig.8.gz %{_mandir}/man8/vdoforcerebuild.8.gz %{_mandir}/man8/vdoformat.8.gz %{_mandir}/man8/vdosetuuid.8.gz %package support Summary: Support tools for Virtual Data Optimizer License: GPLv2 Requires: libuuid >= 2.23 %description support Virtual Data Optimizer (VDO) is a device mapper target that delivers block-level deduplication, compression, and thin provisioning. This package provides the user-space support tools for VDO. %files support %{_bindir}/vdoaudit %{_bindir}/vdodebugmetadata %{_bindir}/vdodumpblockmap %{_bindir}/vdodumpmetadata %{_bindir}/vdolistmetadata %{_bindir}/vdoreadonly %{_bindir}/vdoregenerategeometry %{_mandir}/man8/vdoaudit.8.gz %{_mandir}/man8/vdodebugmetadata.8.gz %{_mandir}/man8/vdodumpblockmap.8.gz %{_mandir}/man8/vdodumpmetadata.8.gz %{_mandir}/man8/vdolistmetadata.8.gz %{_mandir}/man8/vdoreadonly.8.gz %{_mandir}/man8/vdoregenerategeometry.8.gz %changelog * Thu Jul 29 2021 - Andy Walsh - 8.1.0.264-1 - Rebased to upstream candidate. - Related: rhbz#1955374 * Tue May 04 2021 - Andy Walsh - 8.1.0.1-1 - Initial build for EL9 - Resolves: rhbz#1955374