!9 [sync] PR-8: Use weak-modules to decouple kernel modules from kernel versions

From: @openeuler-sync-bot 
Reviewed-by: @lixiaomingg 
Signed-off-by: @lixiaomingg
This commit is contained in:
openeuler-ci-bot 2024-07-17 02:59:24 +00:00 committed by Gitee
commit 0839267489
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F

View File

@ -5,7 +5,7 @@
Name : virtCCA_driver
Summary : virtCCA driver is some drivers for TEE specific function.
Version : 0.1.3
Release : 4
Release : 5
ExclusiveArch: aarch64
License : GPLV2
Group : System/Kernel
@ -13,12 +13,12 @@ URL : https://gitee.com/openeuler/virtCCA_driver.git
Source0 : https://gitee.com/openeuler/virtCCA_driver/repository/archive/%{name}-v%{version}.tar.gz
BuildRoot : %{_tmppath}/%{name}-v%{release}-build
BuildRequires: gcc kernel-devel kernel-headers kernel glibc glibc-devel glib2-devel cmake rpm
Requires : kmod
%global debug_package %{nil}
%define kmod_1_name tmm_driver
%define kmod_2_name sealing_key
%define kernel %(ver=`rpm -qa|grep kernel-devel`;echo ${ver#*kernel-devel-})
%define drivers_path /usr/lib/modules/%{kernel}/kernel/drivers
%description
%{name} module
@ -31,27 +31,40 @@ cd %_builddir/%{name}-v%{version}/
make KERNEL_DIR=/usr/src/kernels/%{kernel}
%install
mkdir -p %{buildroot}/lib/modules/%{name}
install -m 0640 %_builddir/%{name}-v%{version}/%{kmod_1_name}/src/%{kmod_1_name}.ko %{buildroot}/lib/modules/%{name}
install -m 0640 %_builddir/%{name}-v%{version}/%{kmod_2_name}/src/%{kmod_2_name}.ko %{buildroot}/lib/modules/%{name}
mkdir -p %{buildroot}/lib/modules/%{kernel}/extra
install -m 0640 %_builddir/%{name}-v%{version}/%{kmod_1_name}/src/%{kmod_1_name}.ko %{buildroot}/lib/modules/%{kernel}/extra
install -m 0640 %_builddir/%{name}-v%{version}/%{kmod_2_name}/src/%{kmod_2_name}.ko %{buildroot}/lib/modules/%{kernel}/extra
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root)
%attr(0640,root,root) /lib/modules/%{name}/*
%attr(0640,root,root) /lib/modules/%{kernel}/extra/*
%post
mkdir -p %{drivers_path}/%{name}
cp /lib/modules/%{name}/* %{drivers_path}/%{name}
depmod %{kernel}
if [[ "$1" = "1" || "$1" = "2" ]] ; then
echo "installing %{kmod_1_name}.ko"
if [ -e /sbin/weak-modules ] ; then
echo "/lib/modules/%{kernel}/extra/%{kmod_1_name}.ko" | /sbin/weak-modules --add-module --no-initramfs
fi
echo "installed %{kmod_1_name}.ko"
fi
%postun
rm -rf %{drivers_path}/%{name}
depmod %{kernel}
if [[ "$1" = "0" ]] ; then
echo "removing %{kmod_1_name}.ko"
if [ -e /sbin/weak-modules ] ; then
echo "/lib/modules/%{kernel}/extra/%{kmod_1_name}.ko" | /sbin/weak-modules --remove-module --no-initramfs
fi
echo "removed %{kmod_1_name}.ko"
fi
%changelog
* Mon Jul 15 2024 tujipei<tujipei@huawei.com> - 0.1.3-5
- Type:bugfix
- DESC:Use weak-modules to decouple kernel modules from kernel versions
* Mon June 3 2024 tujipei<tujipei@huawei.com> - 0.1.3-4
- Type:bugfix
- DESC:Clean the scanned security problem for the sealing key code