%define spec_release 4 %global commit c1289db707c926439dbdd661476d608b10d2ec9b %global shortcommit %(c=%{commit}; echo ${c:0:7}) # # # Summary: Management tools for Virtual Data Optimizer Name: vdo Version: 6.2.7.17 Release: %{spec_release}%{?dist} License: GPLv2 URL: https://github.com/dm-vdo/vdo Source0: %{url}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz Patch0001: 0001-Updated-vdoformat-to-build-with-older-versions-of-bl.patch Requires: python3 >= 3.6 Requires: python3-PyYAML >= 3.10 Requires: libuuid >= 2.23 Requires: lvm2 Requires: kmod-kvdo >= 6.2 ExclusiveArch: x86_64 ExcludeArch: s390 ExcludeArch: s390x ExcludeArch: ppc ExcludeArch: ppc64 ExcludeArch: ppc64le ExcludeArch: aarch64 ExcludeArch: i686 BuildRequires: device-mapper-devel BuildRequires: device-mapper-event-devel BuildRequires: gcc BuildRequires: libblkid-devel BuildRequires: libuuid-devel BuildRequires: make BuildRequires: python3 BuildRequires: python3-devel BuildRequires: systemd BuildRequires: valgrind-devel 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} %patch0001 -p1 %build make %install make install DESTDIR=$RPM_BUILD_ROOT INSTALLOWNER= name=%{name} \ bindir=%{_bindir} defaultdocdir=%{_defaultdocdir} libexecdir=%{_libexecdir} \ mandir=%{_mandir} presetdir=%{_presetdir} \ python3_sitelib=/%{python3_sitelib} sysconfdir=%{_sysconfdir} \ unitdir=%{_unitdir} %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}/vdodmeventd %{_bindir}/vdodumpconfig %{_bindir}/vdoforcerebuild %{_bindir}/vdoformat %{_bindir}/vdosetuuid %{_bindir}/vdostats %{_libexecdir}/vdoprepareforlvm %dir %{python3_sitelib}/%{name} %{python3_sitelib}/%{name}/__pycache__/* %{python3_sitelib}/%{name}/__init__.py %dir %{python3_sitelib}/%{name}/vdomgmnt/ %{python3_sitelib}/%{name}/vdomgmnt/__pycache__/* %{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/VDOService.py %{python3_sitelib}/%{name}/vdomgmnt/VDOKernelModuleService.py %{python3_sitelib}/%{name}/vdomgmnt/VDOOperation.py %{python3_sitelib}/%{name}/vdomgmnt/__init__.py %dir %{python3_sitelib}/%{name}/statistics/ %{python3_sitelib}/%{name}/statistics/Command.py %{python3_sitelib}/%{name}/statistics/Field.py %{python3_sitelib}/%{name}/statistics/KernelStatistics.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__/* %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__/* %{_unitdir}/vdo.service %{_unitdir}/vdo-start-by-dev@.service %{_presetdir}/97-vdo.preset %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/vdodmeventd.8.gz %{_mandir}/man8/vdodumpconfig.8.gz %{_mandir}/man8/vdoforcerebuild.8.gz %{_mandir}/man8/vdoformat.8.gz %{_mandir}/man8/vdoprepareforlvm.8.gz %{_mandir}/man8/vdosetuuid.8.gz %{_mandir}/man8/vdostats.8.gz %dir %{_sysconfdir}/bash_completion.d %{_sysconfdir}/bash_completion.d/vdo %{_sysconfdir}/bash_completion.d/vdostats %{_sysconfdir}/udev/rules.d/69-vdo-start-by-dev.rules %package support Summary: Support tools for Virtual Data Optimizer License: GPLv2 Requires: libuuid >= 2.23 ExclusiveArch: x86_64 ExcludeArch: s390 ExcludeArch: s390x ExcludeArch: ppc ExcludeArch: ppc64 ExcludeArch: ppc64le ExcludeArch: aarch64 ExcludeArch: i686 %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}/adaptLVMVDO.sh %{_bindir}/vdoaudit %{_bindir}/vdodebugmetadata %{_bindir}/vdodumpblockmap %{_bindir}/vdodumpmetadata %{_bindir}/vdolistmetadata %{_bindir}/vdoreadonly %{_bindir}/vdoregenerategeometry %{_mandir}/man8/adaptlvm.8.gz %{_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 * Sun Dec 03 2023 - Andy Walsh - 6.2.7.17-4 - Bumped Release for rebuild on Fedora 39 for python binary update * Tue Nov 01 2022 - Andy Walsh - 6.2.7.17-3 - Updated to new release. * Tue Jun 21 2022 - Andy Walsh - 6.2.7.9-3 - Re-pointed source to upstream repo - Applied patches to enable builds up to 5.17 kernel * Wed Jun 15 2022 - Andy Walsh - 6.2.7.9-2 - Updated sources for COPR repo * Wed May 04 2022 - Red Hat VDO Team - 6.2.7.9-1 - Fixed excessive vdo2lvm "Retrying" messages. - Fixed a pylint 2+ complaint in the vdo scripts.