# buildforkernels macro hint: when you build a new version or a new release # that contains bugfixes or other improvements then you must disable the # "buildforkernels newest" macro for just that build; immediately after # queuing that build enable the macro again for subsequent builds; that way # a new akmod package will only get build when a new one is actually needed %global buildforkernels current %global debug_package %{nil} Name: bbswitch-kmod Version: 0.8 Release: 1%{?dist} Summary: bbswitch Kernel module(s) Group: System Environment/Kernel License: GPLv2 URL: https://github.com/Bumblebee-Project/bbswitch # Source is downloaded from: # https://github.com/Bumblebee-Project/bbswitch/releases Source0: bbswitch-%{version}.tar.gz Source1: bbswitch.conf BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_bindir}/kmodtool # needed for plague to make sure it builds for i586 and i686 ExclusiveArch: i586 i686 x86_64 ppc ppc64 # get the proper build-sysbuild package from the repo, which # tracks in all the kernel-devel packages BuildRequires: %{_bindir}/kmodtool %{!?kernels:BuildRequires: buildsys-build-rpmfusion-kerneldevpkgs-%{?buildforkernels:%{buildforkernels}}%{!?buildforkernels:current}-%{_target_cpu} } # kmodtool does its magic here %{expand:%(kmodtool --target %{_target_cpu} --repo rpmfusion --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } %description %package -n bbswitch Summary: bbswitch meta package Provides: bbswitch-kmod-common = %{version} %description -n bbswitch meta package %prep # error out if there was something wrong with kmodtool %{?kmodtool_check} # print kmodtool output for debugging purposes: kmodtool --target %{_target_cpu} --repo rpmfusion --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null %setup -q -c -T -a 0 for kernel_version in %{?kernel_versions} ; do cp -a bbswitch-%{version} _kmod_build_${kernel_version%%___*} done %build for kernel_version in %{?kernel_versions}; do make %{?_smp_mflags} -C "${kernel_version##*___}" SUBDIRS=${PWD}/_kmod_build_${kernel_version%%___*} modules done %install rm -rf ${RPM_BUILD_ROOT} for kernel_version in %{?kernel_versions}; do mkdir -p $RPM_BUILD_ROOT/%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/ install -D -m 755 _kmod_build_${kernel_version%%___*}/bbswitch.ko ${RPM_BUILD_ROOT}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/ done %{?akmod_install} install -D -p -m 0644 %{SOURCE1} $RPM_BUILD_ROOT/%{_sysconfdir}/modules-load/bbswitch.conf %clean rm -rf $RPM_BUILD_ROOT %files -n bbswitch %{_sysconfdir}/modules-load/bbswitch.conf %changelog * Fri May 16 2014 Leigh Scott - 0.8-1 - Initial build