# The kernel version you are building for %define kernel 2.4.21-20.0.1.EL # The name of the module you are supplying %define modname agpgart # The version of the module %define modversion 0.99 # The path to the module, after it is installed %define modpath /lib/modules/%{kernel}/kernel/drivers/char/agp # Which revision are we on %define pkgrelease 1.SL # Is this a new module, or are we replacing an existing module # 1 - new module # 0 - replacing an existing module %define newmodule 0 # Optional - what Architecture we are building for #%define thisarch ia32e Name: kernel-module-%{modname}-%{kernel} Summary: %{modname} Kernel Module for the %{kernel} kernel Version: %{modversion} Release: %{pkgrelease} Epoch: 0 License: GPL Packager: Troy Dawson Group: System Environment/Kernel BuildRoot: %{_tmppath}/%{name}-%{version}-root Requires: /boot/vmlinux-%{kernel}, modutils Provides: kernel-module-%{modname} = %{epoch}:%{version} Source0: %{modname}.o.%{kernel} # Optional for if you need to do a different architecture #Source0: %{modname}.o.%{kernel}.%{thisarch} #BuildArchitectures: %{thisarch} %description This package provides a %{modname} kernel module for kernel %{kernel}. %install mkdir -p $RPM_BUILD_ROOT/lib/modules/%{kernel}/kernel/drivers/char/agp/ %if %{newmodule} install -m 644 %{SOURCE0} $RPM_BUILD_ROOT/%{modpath}/%{modname}.o %else install -m 644 %{SOURCE0} $RPM_BUILD_ROOT/%{modpath}/%{modname}.%{version}.%{pkgrelease}.o %endif %post %if %{newmodule} depmod -ae %{kernel} >/dev/null 2>&1 || : %else if ! [ -f %{modpath}/%{modname}.original.o ] ; then mv %{modpath}/%{modname}.o %{modpath}/%{modname}.original.o fi cp -f %{modpath}/%{modname}.%{version}.%{pkgrelease}.o %{modpath}/%{modname}.o depmod -ae %{kernel} >/dev/null 2>&1 || : %endif %postun %if %{newmodule} depmod -ae %{kernel} >/dev/null 2>&1 || : %else if [ "$1" = "0" ] ; then if ! [ -f %{modpath}/%{modname}.original.o ] ; then mv %{modpath}/%{modname}.o %{modpath}/%{modname}.original.o fi cp -f %{modpath}/%{modname}.%{version}.%{pkgrelease}.o %{modpath}/%{modname}.o depmod -ae %{kernel} >/dev/null 2>&1 || : fi %endif %files %if %{newmodule} %{modpath}/%{modname}.o %else %{modpath}/%{modname}.%{version}.%{pkgrelease}.o %endif ############################################################################### ### ### mymodule change log ### ############################################################################### %changelog * Wed Dec 08 2004 Troy Dawson 1.SL - created the generic module spec file for easy customization