I had been making fixes to my own copy of the source, but this new
upstream does it better.

I've started with the AUR mt7601-git PKGBUILD, and added dkms.

I also fixed dkms to actually work.
This commit is contained in:
Peter Chinetti 2015-06-15 22:00:32 -05:00
parent 9a811214b6
commit 998e4be5f3
3 changed files with 35 additions and 88 deletions

View file

@ -1,41 +1,30 @@
pkgname=dkms-mt7601 # Maintainer of AUR mt7601-git package: Cyker Way < cykerway at gmail dot com >
pkgver=v3.0.0.4
pkgrel=2
pkgdesc="Driver for Ralink MT7601 chipset wireless adaptors"
arch=('any')
url="http://www.ralinktech.com"
license=('GPL')
depends=('dkms' 'linux-headers')
conflicts=()
install=${pkgname}.install
options=(!strip)
_pkgname="mt7601"
source=("https://ddaygold.github.io/DPO_MT7601U_LinuxSTA_3.0.0.4_20150203.pfc.tar.bz2"
"dkms.conf")
md5sums=('75ba9f00abb288db8cbbdfdd87dee2e4' _gitname=mt7601
'f07b4518d0f1190e0c72230137afadb4') pkgname=dkms-mt7601
pkgver=2015.06.08
pkgrel=1
pkgdesc="Linux driver for MediaTek MT7601U chip with patch for stability and performance"
arch=('any')
url="https://github.com/porjo/$_gitname"
license=('GPL')
install=dkms-mt7601.install
depends=('linux>3.19' 'dkms' 'linux-headers>3.19')
makedepends=('git')
options=(!strip)
source=("git+${url}.git" "dkms.conf")
md5sums=('SKIP' 'fee0be459a26a0c9f4a8afcd7ec0a2a6')
pkgver() {
cd "$srcdir/$_gitname"
git log -1 --format="%cd" --date=short | sed 's|-|.|g'
}
package() { package() {
cp dkms.conf "$srcdir/$_gitname/src"
# Change src dir name cd "$srcdir/$_gitname/src"
mv ${srcdir}/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913 ${srcdir}/$_pkgname-$pkgver mkdir -p "$pkgdir/usr/src/mt7601-$pkgver"
cp -r . "$pkgdir/usr/src/mt7601-$pkgver"
installDir="$pkgdir/usr/src/$_pkgname-$pkgver" install -Dm644 RT2870STA.dat "$pkgdir/etc/Wireless/RT2870STA/RT2870STA.dat"
install -dm755 "$installDir"
install -m644 "$srcdir/dkms.conf" "$installDir"
install -dm755 "$pkgdir/etc/modprobe.d"
cd "${srcdir}/${_pkgname}-${pkgver}/"
for d in `find . -type d`
do
install -dm755 "$installDir/$d"
done
for f in `find . -type f -o -type l`
do
install -m644 "${srcdir}/${_pkgname}-${pkgver}/$f" "$installDir/$f"
done
} }

View file

@ -1,55 +1,11 @@
post_install (){ post_install() {
dkms install "mt7601/2015.06.08"
MODULE="mt7601"
VERSION="v3.0.0.4"
# TODO: replace /usr/src with a variable.
SRCDIR=/usr/src/$MODULE-$VERSION
dkms add -m $MODULE -v $VERSION
dkms build -m $MODULE -v $VERSION
dkms install -m $MODULE -v $VERSION
# This file is read form a hardcoded location.
# Can we put this in a standard location?
PARAMSDIR="/etc/Wireless/RT2870STA"
mkdir -p $PARAMSDIR
cp $SRCDIR/RT2870STA.dat $PARAMSDIR
depmod -a $(uname -r)
modprobe -a mt7601Usta
} }
pre_upgrade(){ post_upgrade() {
pre_remove
}
post_upgrade(){
post_install post_install
} }
pre_remove (){ pre_remove() {
_inmemory=$(/usr/bin/lsmod | /usr/bin/grep mt7601) dkms remove "mt7601/2015.06.08" --all
if [ ! -z "$_inmemory" ]; then
/usr/bin/rmmod mt7601 &> /dev/null
fi
_line=$(dkms status -m mt7601)
if echo "$_line" | grep -E 'added|built|installed'; then
version=$(echo "$_line" | sed 's/mt7601,\([^,]*\)[,:].*/\1/;t;d')
dkms remove -m mt7601 -v $version --all
fi
rm -rf /etc/Wireless/RT2870STA
rmdir --ignore-fail-on-non-empty /etc/Wireless
} }
post_remove () {
/sbin/depmod -a
}
op=$1
shift
$op $*

View file

@ -1,8 +1,10 @@
PACKAGE_NAME="mt7601" PACKAGE_NAME="mt7601"
PACKAGE_VERSION="v3.0.0.4" PACKAGE_VERSION="2015.06.08"
AUTOINSTALL="yes" AUTOINSTALL="yes"
CLEAN[0]="make clean"
MAKE[0]="make" MAKE[0]="make"
BUILT_MODULE_NAME[0]="mt7601Usta" BUILT_MODULE_NAME[0]="mt7601Usta"