Date: Monday, April 13, 2015 @ 11:17:21 Author: mtorromeo Revision: 131287
upgpkg: r8168 8.039.00-15 Patched r8168 for linux 4.0 compatibility Added: r8168/trunk/linux40.patch Modified: r8168/trunk/PKGBUILD ---------------+ PKGBUILD | 30 ++++++++++++++++++------------ linux40.patch | 14 ++++++++++++++ 2 files changed, 32 insertions(+), 12 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2015-04-13 08:15:07 UTC (rev 131286) +++ PKGBUILD 2015-04-13 09:17:21 UTC (rev 131287) @@ -5,7 +5,7 @@ pkgname=r8168 pkgver=8.039.00 -pkgrel=14 +pkgrel=15 pkgdesc="A kernel module for Realtek 8168 network cards" url="http://www.realtek.com.tw" license=("GPL") @@ -13,18 +13,25 @@ depends=('glibc' 'linux') makedepends=('linux-headers') install=$pkgname.install -source=(https://r8168dl.appspot.com/files/$pkgname-$pkgver.tar.bz2) -sha256sums=('767d922270274e781d8d42493a0021db1cafcb0388ac62564d0c0c3d82703edd') +source=(https://r8168dl.appspot.com/files/$pkgname-$pkgver.tar.bz2 + linux40.patch) +sha256sums=('767d922270274e781d8d42493a0021db1cafcb0388ac62564d0c0c3d82703edd' + 'e6087439b30c8f6c26113c182dd1f95044d918241b1c281b6e84b9a334e68910') +prepare() { + cd "$pkgname-$pkgver" + patch -p1 -i "$srcdir"/linux40.patch +} + build() { - _kernver=$(pacman -Q linux | cut -d . -f 2 | cut -f 1 -d -) - KERNEL_RELEASE=$(cat /usr/lib/modules/extramodules-3.$_kernver-ARCH/version) + _kernver=$(pacman -Q linux | sed -r 's#.* ([0-9]+\.[0-9]+).*#\1#') + KERNEL_VERSION=$(cat /usr/lib/modules/extramodules-$_kernver-ARCH/version) cd "$pkgname-$pkgver" # avoid using the Makefile directly -- it doesn't understand # any kernel but the current. - make -C /usr/lib/modules/$KERNEL_RELEASE/build \ + make -C /usr/lib/modules/$KERNEL_VERSION/build \ SUBDIRS="$srcdir/$pkgname-$pkgver/src" \ EXTRA_CFLAGS="-DCONFIG_R8168_NAPI -DCONFIG_R8168_VLAN" \ modules @@ -31,15 +38,14 @@ } package() { - _kernver=$(pacman -Q linux | cut -d . -f 2 | cut -f 1 -d -) - depends=("linux>=4.${_kernver}" "linux<4.$(expr ${_kernver} + 1)") - KERNEL_VERSION=$(cat /usr/lib/modules/extramodules-4.$_kernver-ARCH/version) + _kernver=$(pacman -Q linux | sed -r 's#.* ([0-9]+\.[0-9]+).*#\1#') + depends=("linux>=$_kernver" "linux<${_kernver/.*}.$(expr ${_kernver/*.} + 1)") + KERNEL_VERSION=$(cat /usr/lib/modules/extramodules-$_kernver-ARCH/version) msg "Kernel = $KERNEL_VERSION" cd "$pkgname-$pkgver" - install -Dm644 src/$pkgname.ko "$pkgdir/usr/lib/modules/extramodules-4.$_kernver-ARCH/$pkgname.ko" + install -Dm644 src/$pkgname.ko "$pkgdir/usr/lib/modules/extramodules-$_kernver-ARCH/$pkgname.ko" find "$pkgdir" -name '*.ko' -exec gzip -9 {} + - sed -i "s|extramodules-.*-ARCH|extramodules-4.$_kernver-ARCH|" "$startdir/$pkgname.install" + sed -i "s|extramodules-.*-ARCH|extramodules-$_kernver-ARCH|" "$startdir/$pkgname.install" } - Added: linux40.patch =================================================================== --- linux40.patch (rev 0) +++ linux40.patch 2015-04-13 09:17:21 UTC (rev 131287) @@ -0,0 +1,14 @@ +diff --git a/src/r8168_n.c b/src/r8168_n.c +index 9d6f231..c4200d0 100755 +--- a/src/r8168_n.c ++++ b/src/r8168_n.c +@@ -3291,6 +3291,9 @@ rtl8168_tx_vlan_tag(struct rtl8168_private *tp, + #if LINUX_VERSION_CODE < KERNEL_VERSION(3,0,0) + tag = (tp->vlgrp && vlan_tx_tag_present(skb)) ? + TxVlanTag | swab16(vlan_tx_tag_get(skb)) : 0x00; ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0) ++ tag = (skb_vlan_tag_present(skb)) ? ++ TxVlanTag | swab16(skb_vlan_tag_get(skb)) : 0x00; + #else + tag = (vlan_tx_tag_present(skb)) ? + TxVlanTag | swab16(vlan_tx_tag_get(skb)) : 0x00;
