# $Id: zaptel.spec,v 1.2 2003/11/25 08:04:00 thor Exp $ # "uname -r" output of the kernel to build for, the running one # if none was specified with "--define 'kernel '" %{!?kernel: %{expand: %%define kernel %(uname -r)}} %define kversion %(echo %{kernel} | sed -e s/smp// -) %define kbase %(echo %{kernel} | sed -e s/-.*// -) %define krelver %(echo %{kversion} | tr -s '-' '_') %define krelease %(echo %{kversion} | sed -e s/%{kbase}-// -) %if %(echo %{kernel} | grep -c smp) %{expand:%%define ksmp -smp} %endif Summary: Driver for the Zaptel telephony adapters. Name: zaptel Version: CVS_20031212 Release: 1.tgm License: GPL Group: System Environment/Kernel URL: ftp://ftp.digium.com/pub/zaptel/ Source0: %{name}-%{version}.tar.bz2 Source1: zaptel-makedev.d.txt Patch0: zaptel-CVS_20031107-nonroot.patch Patch1: zaptel-CVS_20031107-smpspec.patch Patch2: zaptel-CVS_20031107-noppp.patch Patch3: zaptel-CVS_20031212-otherkernel.patch Patch4: zaptel-CVS_20031107-echocancel.patch Patch5: zaptel-CVS_20031107-winmodem.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot BuildRequires: rsync %define ksrc %{_tmppath}/%{name}-%{version}-%{release}-ksrc %description Drivers for Digium's Zaptel-based telephony drivers. The drivers offer support for Pseudo-TDM features. This package contains the Zaptel basic development files and /dev entries. %package -n kernel%{?ksmp}-module-zaptel Summary: Zaptel telephony adapter kernel drivers. Release: %{release}_%{krelver} Group: System Environment/Kernel Requires: zaptel Requires: kernel%{?ksmp} = %{kversion}, /sbin/depmod Provides: kernel-module %{?ksmp:Provides: kernel-module-zaptel = %{version}-%{release}} %description -n kernel%{?ksmp}-module-zaptel Drivers for Digium's Zaptel-based telephony drivers. The drivers offer support for Pseudo-TDM features. This package contains the Zaptel kernel modules for the Linux kernel package %{kversion} (%{_target_cpu}%{?ksmp:, SMP}). %prep %setup -q %patch0 -p1 -b .nonroot %patch1 -p1 -b .smpspec # ALREADY IN SOURCES ||| %patch2 -p1 -b .noppp %patch3 -p1 -b .otherkernel %patch4 -p1 -b .echocancel %patch5 -p1 -b .winmodem %build mkdir -p %ksrc rsync -a /lib/modules/%{kversion}/build/ %{ksrc} pushd %{ksrc} %{__perl} -pi -e 's#%{krelease}custom#%{krelease}%{?ksmp:smp}#' Makefile %{__cp} -f configs/kernel-%{kbase}-%{_target_cpu}%{?ksmp}.config .config %{__make} distclean %{__make} symlinks oldconfig %{__make} dep popd make KINCLUDES=%{ksrc}/include KSMP=%{?ksmp:-D__SMP__} \ ECHO_CANCELLER=-DECHO_CAN_MARK2 %install rm -rf $RPM_BUILD_ROOT mkdir -p %{buildroot}/usr/include/linux mkdir -p %{buildroot}%{_sysconfdir} touch %{buildroot}%{_sysconfdir}/modules.conf # We trick the Makefile into thinking that devfs is being used, # thereby preventing the Makefile from attempting to build devices, # which will fail because the RPM is being built by a non-root user # (as all good RPMs should be.) make install INSTALL_PREFIX=%{buildroot} KERNEL:=%{kernel} DEVFS=fake # Move some of the "installed" files in to better places for RPM use mkdir -p %{buildroot}%{_datadir}/%{name} mv %{buildroot}%{_sysconfdir}/modules.conf %{buildroot}%{_datadir}/%{name} rm %{buildroot}%{_sysconfdir}/modules.conf.bak mkdir -p %{buildroot}%{_sbindir}/ cp ztspeed ztmonitor torisatool %{buildroot}%{_sbindir}/ cp ifup-hdlc ifcfg-hdlc0 %{buildroot}%{_datadir}/%{name} # Install and generate device stuff in a way that makes rpmbuild happy install -m 644 -D %{SOURCE1} %{buildroot}%{_sysconfdir}/makedev.d/zaptel cp -a %{_sysconfdir}/makedev.d/00macros %{buildroot}%{_sysconfdir}/makedev.d /dev/MAKEDEV \ -c %{buildroot}%{_sysconfdir}/makedev.d \ -d %{buildroot}/dev -M zaptel | \ sed -e 's|%{buildroot}||g' -e '/\/dev$/d' > device.list rm -f %{buildroot}%{_sysconfdir}/makedev.d/00macros %clean rm -rf $RPM_BUILD_ROOT rm -rf %{ksrc} %pre /usr/sbin/groupadd -r zaptel > /dev/null 2>&1 || : %post /sbin/ldconfig %postun if [ "$1" -eq "0" ]; then /usr/sbin/groupdel zaptel > /dev/null 2>&1 || : fi %post -n kernel%{?ksmp}-module-zaptel /sbin/depmod -a -F /boot/System.map-%{kernel} %{kernel} >/dev/null 2>&1 || : %files -f device.list %defattr(-,root,root,-) %config(noreplace) /etc/zaptel.conf %doc %{_includedir}/tonezone.h %{_includedir}/linux/* %{_libdir}/*so* %{_sbindir}/* /sbin/* %{_sysconfdir}/makedev.d/zaptel %files -n kernel%{?ksmp}-module-zaptel %defattr(-,root,root,-) /lib/modules/%{kernel}/misc/* %{_datadir}/%{name} %changelog * Wed Dec 10 2003 CVS_20031107-14.tgm - Fixed %files specification not to include /sbin and /dev in files list.. - Added ztspeed, ztmonitor, ifup-hdlc, torisatool, and zaptel.init to package. * Wed Dec 10 2003 CVS_20031107-12.tgm - Modified %pre and %postun to add/del a zaptel group - Modified MAKEDEV defns so that zaptel devices are owned by group zaptel * Tue Dec 9 2003 CVS_20031107-12.tgm - Fixed typo which caused builds to fail for non-SMP kernels * Tue Nov 25 2003 CVS_20031107-11.tgm - Changed build process to set up mirror /usr/src/linux directory from which to configure and build against. * Tue Nov 11 2003 - Initial build, based heavily on Matthias Saou's alsa-driver.spec.