diff --git a/virtCCA_driver.spec b/virtCCA_driver.spec index 8c00ba31fee19446fe6ff634f961c63d2610bae7..5ec3c285d27a4410cca672d16e4ea7f10776e25c 100644 --- a/virtCCA_driver.spec +++ b/virtCCA_driver.spec @@ -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 - 0.1.3-5 +- Type:bugfix +- DESC:Use weak-modules to decouple kernel modules from kernel versions + * Mon June 3 2024 tujipei - 0.1.3-4 - Type:bugfix - DESC:Clean the scanned security problem for the sealing key code