代码拉取完成,页面将自动刷新
%global pkg ast
%global kernel kernel version
%define pkg_version 1.13.1
%define anolis_release 1
%global debug_package %{nil}
Name: kmod-%{pkg}
Version: %(echo %{kernel} | sed -E 's/-/~/g; s/\.(an|al)[0-9]+$//g')
Release: %{pkg_version}~%{anolis_release}%{?dist}
Summary: ASPEED Graphics DRM Driver
License: LBPLv2+ and MIT
URL: https://www.aspeedtech.com/support_driver/
Source0: kmod-%{pkg}-%{pkg_version}.tar.gz
Epoch: 1
# 安装依赖, 和内核版本对应
Requires: kernel >= %{kernel}
Requires: kmod
Requires(posttrans): %{_sbindir}/depmod
Requires(postun): %{_sbindir}/depmod
Requires(posttrans): %{_sbindir}/weak-modules
Requires(postun): %{_sbindir}/weak-modules
Requires(posttrans): %{_bindir}/sort
Requires(postun): %{_bindir}/sort
# 构建依赖, 和内核版本对应
BuildRequires: kernel-devel = %{kernel}
BuildRequires: kernel-headers = %{kernel}
BuildRequires: elfutils-libelf-devel
BuildRequires: gcc
BuildRequires: kmod
BuildRequires: make
BuildRequires: system-rpm-config
Provides: kmod-%{pkg}-%{kernel}.%{_arch} = %{version}-%{release}
Obsoletes: kmod-%{pkg}-%{kernel}.%{_arch} < %{version}-%{release}
%description
RPM Package for ASPEED Graphics DRM Driver
%prep
%setup -q -n kmod-%{pkg}-%{pkg_version}
%build
pushd src
%{__make} -C /usr/src/kernels/%{kernel}.%{_arch} %{?_smp_mflags} M=$PWD modules
popd
%install
mkdir -p %{buildroot}/lib/modules/%{kernel}.%{_arch}/extra/drivers/gpu/drm/ast
%{__install} -D -t %{buildroot}/lib/modules/%{kernel}.%{_arch}/extra/drivers/gpu/drm/ast src/ast.ko
# Make .ko objects temporarily executable for automatic stripping
find %{buildroot}/lib/modules -type f -name \*.ko -exec chmod u+x \{\} \+
# Generate depmod.conf
%{__install} -d %{buildroot}/%{_sysconfdir}/depmod.d/
for kmod in $(find %{buildroot}/lib/modules/%{kernel}.%{_arch}/extra -type f -name \*.ko -printf "%%P\n" | sort)
do
echo "override $(basename $kmod .ko) * weak-updates/$(dirname $kmod)" >> %{buildroot}/%{_sysconfdir}/depmod.d/%{pkg}.conf
echo "override $(basename $kmod .ko) * extra/$(dirname $kmod)" >> %{buildroot}/%{_sysconfdir}/depmod.d/%{pkg}.conf
done
%clean
%{__rm} -rf %{buildroot}
%post
depmod -a > /dev/null 2>&1
if [ -x "/usr/sbin/weak-modules" ]; then
printf '%s\n' "/lib/modules/%{kernel}.%{_arch}/extra/drivers/gpu/drm/ast/%{pkg}.ko" | /usr/sbin/weak-modules --no-initramfs --add-modules
fi
%preun
echo "/lib/modules/%{kernel}.%{_arch}/extra/drivers/gpu/drm/ast/%{pkg}.ko" >> /var/run/rpm-%{pkg}-modules.list
%postun
depmod -a > /dev/null 2>&1
if [ -x "/usr/sbin/weak-modules" ]; then
modules=( $(cat /var/run/rpm-%{pkg}-modules.list) )
printf '%s\n' "${modules[@]}" | /usr/sbin/weak-modules --no-initramfs --remove-modules
fi
rm /var/run/rpm-%{pkg}-modules.list
%files
%defattr(644,root,root,755)
%license licenses
/lib/modules/%{kernel}.%{_arch}
%config(noreplace) %{_sysconfdir}/depmod.d/%{pkg}.conf
%changelog
* Tue Sep 19 2023 Guixin Liu <kanie@linux.alibaba.com> - 1.13.1
- change spec weak-module (Guixin Liu)
- add Conflicts: kernel < %{kernel} to avoid install unexpected kernel (DengXiewei)
- remove pkgversion in spec (DengXiewei)
- update spec & chmod -x (DengXiewei)
- ast: support ast driver (Guixin Liu)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。