import kmod-kvdo-8.1.1.371-24.el9_0
This commit is contained in:
commit
2ad98b0c63
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
SOURCES/kvdo-e209cfe.tar.gz
|
1
.kmod-kvdo.metadata
Normal file
1
.kmod-kvdo.metadata
Normal file
@ -0,0 +1 @@
|
|||||||
|
a7f0962c3515796db0d935d1a78a08ec253a8a9a SOURCES/kvdo-e209cfe.tar.gz
|
296
SPECS/kmod-kvdo.spec
Normal file
296
SPECS/kmod-kvdo.spec
Normal file
@ -0,0 +1,296 @@
|
|||||||
|
%global commit e209cfeb3fe1dfac03b34041a3deefdb077e3e11
|
||||||
|
%global gittag 8.1.1.371
|
||||||
|
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||||
|
%define spec_release 24
|
||||||
|
|
||||||
|
%define kmod_name kvdo
|
||||||
|
%define kmod_driver_version %{gittag}
|
||||||
|
%define kmod_rpm_release %{spec_release}
|
||||||
|
%define kmod_kernel_version 5.14.0-70.7.1.el9_0
|
||||||
|
%define kmod_headers_version %(rpm -qa kernel-devel | sed 's/^kernel-devel-//')
|
||||||
|
%define kmod_kbuild_dir .
|
||||||
|
%define kmod_devel_package 0
|
||||||
|
|
||||||
|
Source0: https://github.com/dm-vdo/%{kmod_name}/archive/%{commit}/%{kmod_name}-%{shortcommit}.tar.gz
|
||||||
|
|
||||||
|
%define findpat %( echo "%""P" )
|
||||||
|
|
||||||
|
Name: kmod-kvdo
|
||||||
|
Version: %{kmod_driver_version}
|
||||||
|
Release: %{kmod_rpm_release}%{?dist}
|
||||||
|
Summary: Kernel Modules for Virtual Data Optimizer
|
||||||
|
License: GPLv2+
|
||||||
|
URL: http://github.com/dm-vdo/kvdo
|
||||||
|
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|
||||||
|
BuildRequires: elfutils-libelf-devel
|
||||||
|
BuildRequires: glibc
|
||||||
|
BuildRequires: kernel-devel >= %{kmod_kernel_version}
|
||||||
|
|
||||||
|
# Disable the kernel-debug requirement for now
|
||||||
|
|
||||||
|
BuildRequires: libuuid-devel
|
||||||
|
BuildRequires: redhat-rpm-config
|
||||||
|
ExcludeArch: i686
|
||||||
|
ExcludeArch: ppc
|
||||||
|
ExcludeArch: ppc64
|
||||||
|
ExcludeArch: s390
|
||||||
|
|
||||||
|
%global kernel_source() /usr/src/kernels/%{kmod_headers_version}
|
||||||
|
|
||||||
|
%global _use_internal_dependency_generator 0
|
||||||
|
Provides: kmod-%{kmod_name} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
Requires(post): %{_sbindir}/weak-modules
|
||||||
|
Requires(postun): %{_sbindir}/weak-modules
|
||||||
|
Requires: kernel-core-uname-r >= %{kmod_kernel_version}
|
||||||
|
Requires: kernel-modules-uname-r >= %{kmod_kernel_version}
|
||||||
|
|
||||||
|
%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.
|
||||||
|
|
||||||
|
%pre
|
||||||
|
# During the install, check whether kvdo or uds is loaded. A warning here
|
||||||
|
# indicates that a previous install was not completely removed. This message
|
||||||
|
# is purely informational to the user.
|
||||||
|
for module in kvdo uds; do
|
||||||
|
if grep -q "^${module}" /proc/modules; then
|
||||||
|
if [ "${module}" == "kvdo" ]; then
|
||||||
|
echo "WARNING: Found ${module} module previously loaded (Version: $(cat /sys/kvdo/version 2>/dev/null || echo Unknown)). A reboot is recommended before attempting to use the newly installed module."
|
||||||
|
else
|
||||||
|
echo "WARNING: Found ${module} module previously loaded. A reboot is recommended before attempting to use the newly installed module."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
%post
|
||||||
|
modules=( $(find /lib/modules/%{kmod_headers_version}/extra/kmod-%{kmod_name} | grep '\.ko$') )
|
||||||
|
printf '%s\n' "${modules[@]}" >> /var/lib/rpm-kmod-posttrans-weak-modules-add
|
||||||
|
|
||||||
|
%pretrans -p <lua>
|
||||||
|
posix.unlink("/var/lib/rpm-kmod-posttrans-weak-modules-add")
|
||||||
|
|
||||||
|
%posttrans
|
||||||
|
if [ -f "/var/lib/rpm-kmod-posttrans-weak-modules-add" ]; then
|
||||||
|
modules=( $(cat /var/lib/rpm-kmod-posttrans-weak-modules-add) )
|
||||||
|
rm -rf /var/lib/rpm-kmod-posttrans-weak-modules-add
|
||||||
|
printf '%s\n' "${modules[@]}" | %{_sbindir}/weak-modules --dracut=/usr/bin/dracut --add-modules
|
||||||
|
fi
|
||||||
|
|
||||||
|
%preun
|
||||||
|
rpm -ql kmod-kvdo-%{kmod_driver_version}-%{kmod_rpm_release}%{?dist}.$(arch) | grep '\.ko$' > /var/run/rpm-kmod-%{kmod_name}-modules
|
||||||
|
# Check whether kvdo or uds is loaded, and if so attempt to remove it. A
|
||||||
|
# failure to unload means there is still something using the module. To make
|
||||||
|
# sure the user is aware, we print a warning with recommended instructions.
|
||||||
|
for module in kvdo uds; do
|
||||||
|
if grep -q "^${module}" /proc/modules; then
|
||||||
|
warnMessage="WARNING: ${module} in use. Changes will take effect after a reboot."
|
||||||
|
modprobe -r ${module} 2>/dev/null || echo ${warnMessage} && /usr/bin/true
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
%postun
|
||||||
|
modules=( $(cat /var/run/rpm-kmod-%{kmod_name}-modules) )
|
||||||
|
rm /var/run/rpm-kmod-%{kmod_name}-modules
|
||||||
|
printf '%s\n' "${modules[@]}" | %{_sbindir}/weak-modules --dracut=/usr/bin/dracut --remove-modules
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(644,root,root,755)
|
||||||
|
/lib/modules/%{kmod_headers_version}
|
||||||
|
/etc/depmod.d/%{kmod_name}.conf
|
||||||
|
/usr/share/doc/kmod-%{kmod_name}/greylist.txt
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -n %{kmod_name}-%{commit}
|
||||||
|
%{nil}
|
||||||
|
set -- *
|
||||||
|
mkdir source
|
||||||
|
mv "$@" source/
|
||||||
|
mkdir obj
|
||||||
|
|
||||||
|
%build
|
||||||
|
rm -rf obj
|
||||||
|
cp -r source obj
|
||||||
|
make -C %{kernel_source} M=$PWD/obj/%{kmod_kbuild_dir} V=1 \
|
||||||
|
NOSTDINC_FLAGS="-I $PWD/obj/include -I $PWD/obj/include/uapi"
|
||||||
|
# mark modules executable so that strip-to-file can strip them
|
||||||
|
find obj/%{kmod_kbuild_dir} -name "*.ko" -type f -exec chmod u+x '{}' +
|
||||||
|
|
||||||
|
whitelist="/lib/modules/kabi-current/kabi_whitelist_%{_target_cpu}"
|
||||||
|
|
||||||
|
for modules in $( find obj/%{kmod_kbuild_dir} -name "*.ko" -type f -printf "%{findpat}\n" | sed 's|\.ko$||' | sort -u ) ; do
|
||||||
|
# update depmod.conf
|
||||||
|
module_weak_path=$(echo $modules | sed 's/[\/]*[^\/]*$//')
|
||||||
|
if [ -z "$module_weak_path" ]; then
|
||||||
|
module_weak_path=%{name}
|
||||||
|
else
|
||||||
|
module_weak_path=%{name}/$module_weak_path
|
||||||
|
fi
|
||||||
|
echo "override $(echo $modules | sed 's/.*\///') $(echo %{kmod_headers_version} | sed 's/\.[^\.]*$//').* weak-updates/$module_weak_path" >> source/depmod.conf
|
||||||
|
|
||||||
|
# update greylist
|
||||||
|
nm -u obj/%{kmod_kbuild_dir}/$modules.ko | sed 's/.*U //' | sed 's/^\.//' | sort -u | while read -r symbol; do
|
||||||
|
grep -q "^\s*$symbol\$" $whitelist || echo "$symbol" >> source/greylist
|
||||||
|
done
|
||||||
|
done
|
||||||
|
sort -u source/greylist | uniq > source/greylist.txt
|
||||||
|
|
||||||
|
%install
|
||||||
|
export INSTALL_MOD_PATH=$RPM_BUILD_ROOT
|
||||||
|
export INSTALL_MOD_DIR=extra/%{name}
|
||||||
|
make -C %{kernel_source} modules_install V=1 \
|
||||||
|
M=$PWD/obj/%{kmod_kbuild_dir}
|
||||||
|
# Cleanup unnecessary kernel-generated module dependency files.
|
||||||
|
find $INSTALL_MOD_PATH/lib/modules -iname 'modules.*' -exec rm {} \;
|
||||||
|
|
||||||
|
install -m 644 -D source/depmod.conf $RPM_BUILD_ROOT/etc/depmod.d/%{kmod_name}.conf
|
||||||
|
install -m 644 -D source/greylist.txt $RPM_BUILD_ROOT/usr/share/doc/kmod-%{kmod_name}/greylist.txt
|
||||||
|
|
||||||
|
%clean
|
||||||
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Tue Apr 05 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.371-24
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Fri Apr 01 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.371-23
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Tue Mar 29 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.371-22
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Mon Mar 28 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.371-21
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Wed Mar 23 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.371-20
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Tue Mar 22 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.371-19
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Tue Mar 22 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.371-18
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Mon Mar 21 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.371-17
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Mon Mar 21 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.371-16
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Sat Mar 05 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.371-15
|
||||||
|
- Fixed bugs in the UDS index's handling of backing storage changes.
|
||||||
|
- Resolves: rhbz#2007803
|
||||||
|
- Resolves: rhbz#2058464
|
||||||
|
|
||||||
|
* Mon Feb 28 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.360-15
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Mon Feb 21 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.360-14
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Wed Feb 16 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.360-13
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Sat Feb 12 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.360-12
|
||||||
|
- Fixed a compilation issue due to changes in stdarg.h.
|
||||||
|
- Resolves: rhbz#2035003
|
||||||
|
- Modified the UDS index to handle backing store changes while suspended.
|
||||||
|
- Resolves: rhbz#2007803
|
||||||
|
- Fixed a bug which prevented the resumption of a suspended read-only vdo.
|
||||||
|
- Resolves: rhbz#2004206
|
||||||
|
|
||||||
|
* Thu Feb 03 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.287-12
|
||||||
|
- Adjusted kernel dependencies to grab the right packages.
|
||||||
|
- Resolves: rhbz#2022464
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Mon Jan 31 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.287-11
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Sun Jan 23 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.287-10
|
||||||
|
- Eliminated uses of "master" as part of the conscious language initiative.
|
||||||
|
- Resolves: rhbz#2023970
|
||||||
|
- Fixed potential use-after-free error found by Coverity.
|
||||||
|
- Resolves: rhbz#1999056
|
||||||
|
- Fixed bug which could result in empty flushes being issued to the storage
|
||||||
|
below vdo while suspended.
|
||||||
|
- Resolves: rhbz#2013057
|
||||||
|
- Added optional table line parameters for enabling or disabling
|
||||||
|
deduplication and compression.
|
||||||
|
- Resolves: rhbz#2007444
|
||||||
|
- Adapted to kernel API changes.
|
||||||
|
- Resolves: rhbz#2035003
|
||||||
|
|
||||||
|
* Thu Jan 06 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.0.316-10
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
- Temporarily disabled creation of sysfs nodes.
|
||||||
|
- Related: rhbz#2035003
|
||||||
|
|
||||||
|
* Sun Dec 19 2021 - Andy Walsh <awalsh@redhat.com> - 8.1.0.316-9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
- Stopped using bvec_kmap_irq as it has been removed.
|
||||||
|
- Removed usage of removed elevator constants
|
||||||
|
- Resolves: rhbz#2035003
|
||||||
|
|
||||||
|
* Wed Dec 15 2021 - Andy Walsh <awalsh@redhat.com> - 8.1.0.316-8
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Tue Dec 07 2021 - Andy Walsh <awalsh@redhat.com> - 8.1.0.316-7
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Tue Dec 07 2021 - Andy Walsh <awalsh@redhat.com> - 8.1.0.316-6
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Thu Nov 11 2021 - Andy Walsh <awalsh@redhat.com> - 8.1.0.316-5
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Wed Oct 13 2021 - Andy Walsh <awalsh@redhat.com> - 8.1.0.316-4
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Thu Sep 30 2021 - Andy Walsh <awalsh@redhat.com> - 8.1.0.316-3
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Mon Aug 09 2021 - Andy Walsh <awalsh@redhat.com> - 8.1.0.316-2
|
||||||
|
- Rebased to upstream candidate.
|
||||||
|
- Resolves: rhbz#1955374
|
||||||
|
|
||||||
|
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 8.1.0.316-1.1
|
||||||
|
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||||
|
Related: rhbz#1991688
|
||||||
|
|
||||||
|
* Sat Aug 07 2021 - Andy Walsh <awalsh@redhat.com> - 8.1.0.316-1
|
||||||
|
- Rebased to upstream candidate.
|
||||||
|
- Resolves: rhbz#1955374
|
||||||
|
|
||||||
|
* Thu Jul 29 2021 - Andy Walsh <awalsh@redhat.com> - 8.1.0.264-1
|
||||||
|
- Rebased to upstream candidate.
|
||||||
|
- Related: rhbz#1955374
|
||||||
|
- Fixed GCC implicit-fallthrough errors when building for latest kernel
|
||||||
|
- Resolves: rhbz#1984814
|
||||||
|
|
||||||
|
* Tue May 04 2021 - Andy Walsh <awalsh@redhat.com> - 8.1.0.4-1
|
||||||
|
- Initial build for EL9
|
||||||
|
- Related: rhbz#1955374
|
Loading…
Reference in New Issue
Block a user