# $Id: ppp-kmod.spec,v 1.25 2009/12/01 15:41:56 slords Exp $ # Define the kmod package name here. %define kmod_name ppp # hint: this can he overridden with "--define kversion foo" on the rpmbuild command line, e.g. # --define "kversion 2.6.16-1.2096_FC5" %{!?kversion: %define kversion 2.6.9-89.0.16.EL} Name: %{kmod_name}-kmod Version: 1.0.2 Release: 7%{?dist} Group: System Environment/Kernel License: GPL Summary: %{kmod_name} kernel modules BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) ExclusiveArch: i586 i686 x86_64 # Sources. Source0: kernel_ppp_mppe-%{version}-src.tgz Source10: kmodtool-%{kmod_name} # Patches. Patch1: ppp-725ad2a8f1358bff885414f5e91d253c99921ddc.patch Patch2: ppp-44315cc76567e2d911d56091665637e305af182d.patch Patch3: ppp-kmod-1.0.2-padfix.patch # Define the variants for each architecture. %define upvar "" %define smpvar smp %ifarch i686 %define hugememvar hugemem %define xenvar xenU %endif %ifarch x86_64 %define largesmpvar largesmp %define xenvar xenU %endif # If kvariants isn't defined on the rpmbuild line, build all variants for this architecture. %{!?kvariants: %define kvariants %{?upvar} %{?smpvar} %{?xenvar} %{?hugememvar} %{?largesmpvar}} # Magic hidden here. %define kmodtool sh %{SOURCE10} %{expand:%(%{kmodtool} rpmtemplate_kmp %{kmod_name} %{kversion} %{kvariants} 2>/dev/null)} %description %{summary}. %prep %setup -q -c pushd kernel_ppp_mppe-%{version} ./pre_build.sh lib/modules/"%{kversion}${kvariant:+$kvariant}"/build . . %{kversion}${kvariant:+$kvariant} %patch1 -p3 %patch2 -p3 %patch3 patch -p1 < patches/linux-2.6.2-pad.patch patch -p1 < patches/02-ppp_generic.c.patch patch -p1 < patches/03-ppp_mppe_compress.c.patch patch -p1 < patches/04-ppp_mppe_compress.c_license.patch popd for kvariant in %{kvariants} ; do cp -a kernel_ppp_mppe-%{version} _kmod_build_$kvariant done %build for kvariant in %{kvariants} ; do # ksrc=%{_usrsrc}/kernels/%{kversion}${kvariant:+-$kvariant}-%{_target_cpu} # pushd _kmod_build_$kvariant # make -C "${ksrc}" modules M=$PWD # popd ksrc=/lib/modules/"%{kversion}${kvariant:+$kvariant}"/build cd _kmod_build_$kvariant # make TOPDIR=${ksrc} modules %{?_smp_mflags} make -C "${ksrc}" SUBDIRS=${PWD} modules %{?_smp_mflags} cd .. done %install export INSTALL_MOD_PATH=$RPM_BUILD_ROOT export INSTALL_MOD_DIR=extra/%{kmod_name} for kvariant in %{kvariants} ; do # ksrc=%{_usrsrc}/kernels/%{kversion}${kvariant:+-$kvariant}-%{_target_cpu} # pushd _kmod_build_$kvariant # make -C "${ksrc}" modules_install M=$PWD # install -d ${INSTALL_MOD_PATH}/usr/lib/debug # popd ksrc=/lib/modules/"%{kversion}${kvariant:+$kvariant}"/build cd _kmod_build_$kvariant make -C ${ksrc} SUBDIRS=`pwd` INSTALL_MOD_PATH=$RPM_BUILD_ROOT modinst_dir='$(MODLIB)/extra/'%{kmod_name} modules_install # make TOPDIR=${ksrc} INSTALL_MOD_PATH=$RPM_BUILD_ROOT INSTALL_MOD_DIR=extra/%{kmod_name}/ modules_install %{?_smp_mflags} cd .. mkdir -p ${INSTALL_MOD_PATH}/usr/share/doc/kmod-%{kmod_name}/%{kversion}/ find ${INSTALL_MOD_PATH}/lib/modules/"%{kversion}${kvariant:+$kvariant}"/ -type f -name \*.ko | sed "s,${INSTALL_MOD_PATH},," \ > ${INSTALL_MOD_PATH}/usr/share/doc/kmod-%{kmod_name}/%{kversion}/"modules${kvariant:+-$kvariant}" done # Strip the module(s). find ${INSTALL_MOD_PATH} -type f -name \*.ko -exec strip --strip-debug \{\} \; # %clean rm -rf $RPM_BUILD_ROOT %changelog * Wed Apr 21 2010 Shad L. Lords 1.0.2-7.sme - Update scriptlets to not call rpm [SME: 5448] * Tue Dec 1 2009 Shad L. Lords 1.0.2-6.sme - Update kmod to fix buffer too small errors [SME: 5628] * Tue Oct 26 2009 Shad L. Lords 1.0.2-5.sme - Make preuninstall script not fail on upgrade * Tue May 26 2009 Shad L. Lords 1.0.2-4.sme - Initial build of the kABI-tracking version from 1.0.4. - Modified spec and kmodtool(-ppp) - Note: weak-modules became available as of CentOS-4.7 - Strip the module(s) added * Thu Feb 5 2009 Shad L. Lords - Fix post scripts [SME: 4864] * Mon May 7 2007 Shad L. Lords - Update to use kmodtool * Fri Dec 01 2006 Shad L. Lords - Initial package.