diff --git a/6.2.2.24.tar.gz b/6.2.2.24.tar.gz new file mode 100644 index 0000000..1adc59c Binary files /dev/null and b/6.2.2.24.tar.gz differ diff --git a/kvdo.spec b/kvdo.spec new file mode 100644 index 0000000..0e4e672 --- /dev/null +++ b/kvdo.spec @@ -0,0 +1,98 @@ +#This spec is obtained from source code(kvdo-6.2.2.24.tar.gz) +%define spec_release 5 +%define kmod_name kvdo +%define kmod_driver_version 6.2.2.24 +%define kmod_rpm_release %{spec_release} +%define kmod_kernel_version 3.10.0-693.el7 + +# Disable the scanning for a debug package +%global debug_package %{nil} + +Name: kmod-kvdo +Version: %{kmod_driver_version} +Release: %{kmod_rpm_release} +Summary: Kernel Modules for Virtual Data Optimizer +License: GPLv2+ +URL: http://github.com/dm-vdo/kvdo +Source0: https://github.com/dm-vdo/kvdo/archive/6.2.2.24.tar.gz +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) +Requires: dkms +Requires: kernel-devel >= %{kmod_kernel_version} +Requires: make +ExclusiveArch: x86_64 +ExclusiveArch: aarch64 +ExcludeArch: s390 +ExcludeArch: s390x +ExcludeArch: ppc +ExcludeArch: ppc64 +ExcludeArch: ppc64le +ExcludeArch: i686 + +%description +Virtual Data Optimizer (VDO) is a device mapper target that delivers +block-level deduplication, compression, and thin provisioning. + +This package provides the kernel modules for VDO. + +%post +set -x +/usr/sbin/dkms --rpm_safe_upgrade add -m %{kmod_name} -v %{version}-%{kmod_driver_version} +/usr/sbin/dkms --rpm_safe_upgrade build -m %{kmod_name} -v %{version}-%{kmod_driver_version} +/usr/sbin/dkms --rpm_safe_upgrade install -m %{kmod_name} -v %{version}-%{kmod_driver_version} + +%preun +# Check whether kvdo or uds is loaded, and if so attempt to remove it. A +# failure here means there is still something using the module, which should be +# cleared up before attempting to remove again. +for module in kvdo uds; do + if grep -q "^${module}" /proc/modules; then + modprobe -r ${module} + fi +done +/usr/sbin/dkms --rpm_safe_upgrade remove -m %{kmod_name} -v %{version}-%{kmod_driver_version} --all || : + +%prep +%setup -n %{kmod_name}-%{kmod_driver_version} + +%build +# Nothing doing here, as we're going to build on whatever kernel we end up +# running inside. + +%install +mkdir -p $RPM_BUILD_ROOT/%{_usr}/src/%{kmod_name}-%{version}-%{kmod_driver_version} +cp -r * $RPM_BUILD_ROOT/%{_usr}/src/%{kmod_name}-%{version}-%{kmod_driver_version}/ +cat > $RPM_BUILD_ROOT/%{_usr}/src/%{kmod_name}-%{version}-%{kmod_driver_version}/dkms.conf < - 6.2.2.24-5 +- Modify source0 from github. + +* Thu Dec 12 2019 openEuler Buildteam -6.2.2.24-4 +- Modify source0 + +* Thu Dec 12 2019 openEuler Buildteam -6.2.2.24-3 +- Add support for aarch64 + +* Tue Dec 3 2019 openEuler Buildteam -6.2.2.24-2 +- Modify release