# 1. Definições de controle iniciais %if 0%{?fedora} %global buildforkernels akmod %endif %global debug_package %{nil} %global akmod_name google-coral %global kmodsrc_name google-coral-kmodsrc # 2. Invocação do kmodtool (Exatamente como no VirtualBox/NVIDIA) # Note que usamos a macro %{expand:...} para garantir a injeção do código %{?kmodtool_prefix} %{expand:%(kmodtool --target %{_target_cpu} --repo rpmfusion --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } Name: google-coral-kmod Version: 1.0 Release: 61%{?dist} Summary: Kernel module for Google Coral Edge TPU License: GPLv2 URL: https://github.com/google/gasket-driver Source1: 99-google-coral.rules Source2: google-coral.conf Source5: google-coral-group.conf # 3. AkmodsBuildRequires (Estrutura idêntica à do VirtualBox) %global AkmodsBuildRequires %{_bindir}/kmodtool, %{kmodsrc_name} = %{version}, xz, time, gcc, make, kernel-devel, elfutils-libelf-devel, systemd-devel, systemd-rpm-macros BuildRequires: %{AkmodsBuildRequires} # 4. Invocação adicional para kernels específicos (caso existam) %{!?kernels:BuildRequires: buildsys-build-rpmfusion-kerneldevpkgs-%{?buildforkernels:%{buildforkernels}}%{!?buildforkernels:current}-%{_target_cpu} } %description Package to manage Google Coral Edge TPU kernel modules. Follows NVIDIA and VirtualBox packaging standards for RPM Fusion. %package -n akmod-%{akmod_name} Summary: Akmod package for %{akmod_name} kernel module(s) Requires: akmods kmodtool Requires: %{kmodsrc_name} = %{version} Provides: akmod(%{akmod_name}) = %{version}-%{release} %description -n akmod-%{akmod_name} This package installs the infrastructure to build Google Coral modules. %prep # Verificação do kmodtool (Padrão NVIDIA) %{?kmodtool_check} # Prepara o diretório de build (Padrão VirtualBox: setup -T -c) %setup -q -T -c -n %{name}-%{version} %build # Vazio %install # A macro akmod_install busca o tarball no kmodsrc %{?akmod_install} # Instalação de arquivos extras mkdir -p %{buildroot}%{_udevrulesdir} install -p -m 0644 %{SOURCE1} %{buildroot}%{_udevrulesdir}/99-google-coral.rules mkdir -p %{buildroot}%{_sysconfdir}/modules-load.d install -p -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/modules-load.d/google-coral.conf mkdir -p %{buildroot}%{_sysusersdir} install -p -m 0644 %{SOURCE5} %{buildroot}%{_sysusersdir}/google-coral.conf %pre -n akmod-%{akmod_name} %sysusers_create_package %{akmod_name} %{SOURCE5} %post -n akmod-%{akmod_name} %{_sbindir}/akmods --force --akmod %{akmod_name} &>/dev/null || : %files -n akmod-%{akmod_name} %{_udevrulesdir}/99-google-coral.rules %{_sysconfdir}/modules-load.d/google-coral.conf %{_sysusersdir}/google-coral.conf