Blame kvdo.spec

Packit b55c50
%define spec_release 1
Packit b55c50
%define kmod_name		kvdo
Packit Service 4cccae
%define kmod_driver_version	6.2.3.114
Packit b55c50
%define kmod_rpm_release	%{spec_release}
Packit b55c50
%define kmod_kernel_version	3.10.0-693.el7
Packit b55c50
Packit b55c50
# Disable the scanning for a debug package
Packit b55c50
%global debug_package %{nil}
Packit b55c50
Packit b55c50
Source0:        kmod-%{kmod_name}-%{kmod_driver_version}.tgz
Packit b55c50
Packit b55c50
Name:		kmod-kvdo
Packit b55c50
Version:	%{kmod_driver_version}
Packit b55c50
Release:	%{kmod_rpm_release}%{?dist}
Packit b55c50
Summary:	Kernel Modules for Virtual Data Optimizer
Packit b55c50
License:	GPLv2+
Packit b55c50
URL:		http://github.com/dm-vdo/kvdo
Packit b55c50
BuildRoot:	%(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
Packit b55c50
Requires:       dkms
Packit b55c50
Requires:	kernel-devel >= %{kmod_kernel_version}
Packit b55c50
Requires:       make
Packit b55c50
ExclusiveArch:	x86_64
Packit b55c50
ExcludeArch:    s390
Packit b55c50
ExcludeArch:    s390x
Packit b55c50
ExcludeArch:    ppc
Packit b55c50
ExcludeArch:    ppc64
Packit b55c50
ExcludeArch:    ppc64le
Packit b55c50
ExcludeArch:    aarch64
Packit b55c50
ExcludeArch:    i686
Packit b55c50
Packit b55c50
%description
Packit b55c50
Virtual Data Optimizer (VDO) is a device mapper target that delivers
Packit b55c50
block-level deduplication, compression, and thin provisioning.
Packit b55c50
Packit b55c50
This package provides the kernel modules for VDO.
Packit b55c50
Packit b55c50
%post
Packit b55c50
set -x
Packit b55c50
/usr/sbin/dkms --rpm_safe_upgrade add -m %{kmod_name} -v %{version}-%{kmod_driver_version}
Packit b55c50
/usr/sbin/dkms --rpm_safe_upgrade build -m %{kmod_name} -v %{version}-%{kmod_driver_version}
Packit b55c50
/usr/sbin/dkms --rpm_safe_upgrade install -m %{kmod_name} -v %{version}-%{kmod_driver_version}
Packit b55c50
Packit b55c50
%preun
Packit b55c50
# Check whether kvdo or uds is loaded, and if so attempt to remove it.  A
Packit b55c50
# failure here means there is still something using the module, which should be
Packit b55c50
# cleared up before attempting to remove again.
Packit b55c50
for module in kvdo uds; do
Packit b55c50
  if grep -q "^${module}" /proc/modules; then
Packit b55c50
    modprobe -r ${module}
Packit b55c50
  fi
Packit b55c50
done
Packit b55c50
/usr/sbin/dkms --rpm_safe_upgrade remove -m %{kmod_name} -v %{version}-%{kmod_driver_version} --all || :
Packit b55c50
Packit b55c50
%prep
Packit b55c50
%setup -n kmod-%{kmod_name}-%{kmod_driver_version}
Packit b55c50
Packit b55c50
%build
Packit b55c50
# Nothing doing here, as we're going to build on whatever kernel we end up
Packit b55c50
# running inside.
Packit b55c50
Packit b55c50
%install
Packit b55c50
mkdir -p $RPM_BUILD_ROOT/%{_usr}/src/%{kmod_name}-%{version}-%{kmod_driver_version}
Packit b55c50
cp -r * $RPM_BUILD_ROOT/%{_usr}/src/%{kmod_name}-%{version}-%{kmod_driver_version}/
Packit b55c50
cat > $RPM_BUILD_ROOT/%{_usr}/src/%{kmod_name}-%{version}-%{kmod_driver_version}/dkms.conf <
Packit b55c50
PACKAGE_NAME="kvdo"
Packit b55c50
PACKAGE_VERSION="%{version}-%{kmod_driver_version}"
Packit b55c50
AUTOINSTALL="yes"
Packit b55c50
Packit b55c50
BUILT_MODULE_NAME[0]="uds"
Packit b55c50
BUILT_MODULE_LOCATION[0]="uds"
Packit b55c50
DEST_MODULE_LOCATION[0]="/kernel/drivers/block/"
Packit b55c50
STRIP[0]="no"
Packit b55c50
Packit b55c50
BUILT_MODULE_NAME[1]="kvdo"
Packit b55c50
BUILT_MODULE_LOCATION[1]="vdo"
Packit b55c50
DEST_MODULE_LOCATION[1]="/kernel/drivers/block/"
Packit b55c50
STRIP[1]="no"
Packit b55c50
EOF
Packit b55c50
Packit b55c50
%clean
Packit b55c50
rm -rf $RPM_BUILD_ROOT
Packit b55c50
Packit b55c50
%files
Packit b55c50
%defattr(644,root,root,755)
Packit b55c50
%{_usr}/src/%{kmod_name}-%{version}-%{kmod_driver_version}/*
Packit b55c50
Packit b55c50
%changelog
Packit Service 4cccae
* Thu Jul 30 2020 - J. corwin Coburn <corwin@redhat.com> - 6.2.3.114-1
Packit Service 4cccae
HASH(0x14d09e8)