From d662b23690f6f89701693dfb1fe0aac136c033de Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Tue, 4 Dec 2007 11:43:30 +0000 Subject: [PATCH] first attempt downloads 0.9.3.3 and builds from there --- Makefile | 51 ++++++++++++++++++++ madwifi.spec | 128 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 179 insertions(+) create mode 100644 Makefile create mode 100644 madwifi.spec diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..25a9ec3 --- /dev/null +++ b/Makefile @@ -0,0 +1,51 @@ +# $Id$ +CURL := curl -H Pragma: -O -R -S --fail --show-error +SHA1SUM = sha1sum + +# default - overridden by the build +SPECFILE = madwifi.spec + +main.URL := http://dfn.dl.sourceforge.net/sourceforge/madwifi/madwifi-0.9.3.3.tar.bz2 +main.SHA1SUM := 13df0e407de0f5b733e5ff1b660ce2fac048b206 +main.FILE := $(notdir $(main.URL)) + +# Thierry - when called from within the build, PWD is /build +SOURCEFILES := $(main.FILE) + +$(main.FILE): #FORCE + @if [ ! -e "$@" ] ; then echo "$(CURL) $(main.URL)" ; $(CURL) $(main.URL) ; fi + @if [ ! -e "$@" ] ; then echo "Could not download source file: $@ does not exist" ; exit 1 ; fi + @if test "$$(sha1sum $@ | awk '{print $$1}')" != "$(main.SHA1SUM)" ; then \ + echo "sha1sum of the downloaded $@ does not match the one from 'sources' file" ; \ + echo "Local copy: $$(sha1sum $@)" ; \ + echo "In sources: $$(grep $@ sources)" ; \ + exit 1 ; \ + else \ + ls -l $@ ; \ + fi + +sources: $(SOURCEFILES) +.PHONY: sources + +PWD=$(shell pwd) +PREPARCH ?= noarch +RPMDIRDEFS = --define "_sourcedir $(PWD)" --define "_builddir $(PWD)" --define "_srcrpmdir $(PWD)" --define "_rpmdir $(PWD)" +trees: sources + rpmbuild $(RPMDIRDEFS) $(RPMDEFS) --nodeps -bp --target $(PREPARCH) $(SPECFILE) + +srpm: sources + rpmbuild $(RPMDIRDEFS) $(RPMDEFS) --nodeps -bs $(SPECFILE) + +TARGET ?= $(shell uname -m) +rpm: sources + rpmbuild $(RPMDIRDEFS) $(RPMDEFS) --nodeps --target $(TARGET) -bb $(SPECFILE) + +clean: + rm -f *.rpm *.tgz *.bz2 *.gz + +++%: varname=$(subst +,,$@) +++%: + @echo "$(varname)=$($(varname))" ++%: varname=$(subst +,,$@) ++%: + @echo "$($(varname))" diff --git a/madwifi.spec b/madwifi.spec new file mode 100644 index 0000000..becb8a2 --- /dev/null +++ b/madwifi.spec @@ -0,0 +1,128 @@ +# +# madwifi spec file +# +# RPM spec file +# +# Marc E. Fiuczynski +# Copyright (C) 2006 The Trustees of Princeton University +# License is GPL. +# +# $Id: madwifi.spec 1107 2007-12-04 10:16:02Z thierry $ +# + +# kernel_release, kernel_version and kernel_arch are expected to be set by the build to e.g. +# kernel_release : vs2.3.0.29.1.planetlab +# kernel_version : 2.6.22.14 + +%define name madwifi +%define version 0.9.3 +%define subversion 3 + +%define release %{subversion}%{kernel_release}%{?pldistro:.%{pldistro}}%{?date:.%{date}} + +Summary: madwifi Atheros driver +Name: %{name} +Version: %{version} +Release: %{release} +License: GPL +Group: System Environment/Kernel +Source0: %{name}-%{version}.%{subversion}.tar.bz2 +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot + +Vendor: MadWifi +Packager: PlanetLab +Distribution: PlanetLab 4.2 +URL: http://sourceforge.net/projects/madwifi/ + +Requires: coreutils + +%description +madwifi is a new generation driver for the Atheros chipset + +%prep +%setup + +%build +rm -rf $RPM_BUILD_ROOT + +# with the new build, we use the kernel-devel rpm for building +kernel_fullname=%{kernel_version}-%{kernel_release}-%{kernel_arch} +linux=/usr/src/kernels/$kernel_fullname + +%__make KERNELPATH=$linux clean +%__make KERNELPATH=$linux +echo 'r' | %__make KERNELPATH=$linux DESTDIR=$RPM_BUILD_ROOT install + +%install +# Remove depmod files, will be regenerated in %post +rm -f $RPM_BUILD_ROOT/lib/modules/*/modules.* + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root) +%dir /lib/modules/* +/lib/modules/*/net/ath_hal.ko +/lib/modules/*/net/ath_pci.ko +/lib/modules/*/net/ath_rate_sample.ko +/lib/modules/*/net/ath_rate_amrr.ko +/lib/modules/*/net/ath_rate_onoe.ko +/lib/modules/*/net/wlan.ko +/lib/modules/*/net/wlan_acl.ko +/lib/modules/*/net/wlan_ccmp.ko +/lib/modules/*/net/wlan_scan_ap.ko +/lib/modules/*/net/wlan_scan_sta.ko +/lib/modules/*/net/wlan_tkip.ko +/lib/modules/*/net/wlan_wep.ko +/lib/modules/*/net/wlan_xauth.ko +/usr/local/bin/80211debug +/usr/local/bin/80211stats +/usr/local/bin/athchans +/usr/local/bin/athctrl +/usr/local/bin/athdebug +/usr/local/bin/athkey +/usr/local/bin/athstats +/usr/local/bin/wlanconfig +/usr/local/man/man8/80211debug.8 +/usr/local/man/man8/80211stats.8 +/usr/local/man/man8/athchans.8 +/usr/local/man/man8/athctrl.8 +/usr/local/man/man8/athdebug.8 +/usr/local/man/man8/athkey.8 +/usr/local/man/man8/athstats.8 +/usr/local/man/man8/wlanconfig.8 + + +%post +for version in /lib/modules/* ; do + depmod -a $(basename $version) >/dev/null 2>&1 || : +done + +# ask for a reboot + +%preun + +%postun +# 0 = erase, 1 = upgrade +if [ $1 -eq 0 ] ; then + for dir in /lib/modules/* ; do + version=$(basename $dir) + # If we were the only module installed, remove the module dependencies + if [ ! -d $dir/kernel ] ; then + [ -x /sbin/new-kernel-pkg ] && /sbin/new-kernel-pkg --rmmoddep --remove $version + else + depmod -a $version >/dev/null 2>&1 || : + fi + done +fi + +%changelog +* Tue Dec 04 2007 Thierry Parmentelat +- updated to build against kernel-devel + +* Mon Apr 16 2007 Thierry Parmentelat +- imported 0.9.3, re-used Marcs spec file + +* Fri Dec 01 2006 Marc E. Fiuczynski +- Initial release -- 2.43.0