8b1d1c509a
Related: rhbz#1955374
243 lines
11 KiB
RPMSpec
243 lines
11 KiB
RPMSpec
%global commit 1cf3a0b44e81d61d4a0ff8193211ad1297fefa69
|
|
%global gittag 8.1.0.1
|
|
%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-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/__pycache__/__init__.cpython-36.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/VDOService.py
|
|
%{python3_sitelib}/%{name}/vdomgmnt/VDOKernelModuleService.py
|
|
%{python3_sitelib}/%{name}/vdomgmnt/VDOOperation.py
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__init__.py
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/CommandLock.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/CommandLock.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Configuration.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Configuration.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Constants.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Constants.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Defaults.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Defaults.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/ExitStatusMixins.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/ExitStatusMixins.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/KernelModuleService.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/KernelModuleService.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/MgmntUtils.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/MgmntUtils.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Service.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Service.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/SizeString.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/SizeString.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Utils.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Utils.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/VDOArgumentParser.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/VDOArgumentParser.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/VDOKernelModuleService.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/VDOKernelModuleService.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/VDOOperation.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/VDOOperation.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/VDOService.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/VDOService.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/__init__.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/__init__.cpython-36.pyc
|
|
%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__/Command.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/statistics/__pycache__/Command.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/statistics/__pycache__/Field.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/statistics/__pycache__/Field.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/statistics/__pycache__/KernelStatistics.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/statistics/__pycache__/KernelStatistics.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/statistics/__pycache__/LabeledValue.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/statistics/__pycache__/LabeledValue.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/statistics/__pycache__/StatFormatter.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/statistics/__pycache__/StatFormatter.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/statistics/__pycache__/StatStruct.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/statistics/__pycache__/StatStruct.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/statistics/__pycache__/VDOReleaseVersions.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/statistics/__pycache__/VDOReleaseVersions.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/statistics/__pycache__/VDOStatistics.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/statistics/__pycache__/VDOStatistics.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/statistics/__pycache__/__init__.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/statistics/__pycache__/__init__.cpython-36.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-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/utils/__pycache__/Command.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/utils/__pycache__/FileUtils.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/utils/__pycache__/FileUtils.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/utils/__pycache__/Timeout.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/utils/__pycache__/Timeout.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/utils/__pycache__/Transaction.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/utils/__pycache__/Transaction.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/utils/__pycache__/YAMLObject.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/utils/__pycache__/YAMLObject.cpython-36.pyc
|
|
%{python3_sitelib}/%{name}/utils/__pycache__/__init__.cpython-36.opt-1.pyc
|
|
%{python3_sitelib}/%{name}/utils/__pycache__/__init__.cpython-36.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
|
|
* Tue May 04 2021 - Andy Walsh <awalsh@redhat.com> - 8.1.0.1-1
|
|
- Initial build for EL9
|
|
- Resolves: rhbz#1955374
|