summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexey Galakhov2015-10-07 17:13:27 +0200
committerAlexey Galakhov2015-10-07 17:14:09 +0200
commitf65f63c26ad094ce5003a43ffa82e8d204f61178 (patch)
tree2873b953b8103f8ca6414cab4fc25897dc26066a
parenta715a9ecce0533e856dd662801b322a3b4debedf (diff)
downloadaur-f65f63c26ad094ce5003a43ffa82e8d204f61178.tar.gz
Add DKMS build
-rw-r--r--PKGBUILD39
-rw-r--r--dkms.conf7
-rw-r--r--mcp2210-dkms-git.install15
-rw-r--r--mcp2210-git.install2
4 files changed, 53 insertions, 10 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 955836e5e3df..ea2a225e0b5e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,22 +1,24 @@
# Maintainer: Alexey Galakhov <agalakhov@gmail.com>
pkgbase=mcp2210-git
-pkgname=(mcp2210-git mcp2210-utils-git)
-pkgver="v0.1.r27.gfc8d532"
+pkgname=(mcp2210-git mcp2210-dkms-git mcp2210-utils-git)
+pkgver=v0.1.r28.gea416ae
pkgver() {
- cd "mcp2210-linux"
- git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
+ cd "mcp2210-linux"
+ git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
}
-pkgrel=1
+pkgrel=2
pkgdesc="A kernel module for Microchip MCP2210 USB-to-SPI bridge"
url="https://github.com/agalakhov/mcp2210-linux"
license=("GPL")
arch=('i686' 'x86_64' 'armv7h')
depends=('linux')
-makedepends=('linux-headers')
-install=$pkgname.install
-source=(git://github.com/agalakhov/mcp2210-linux.git)
-md5sums=('SKIP')
+makedepends=('linux-headers' 'dkms')
+source=( git://github.com/agalakhov/mcp2210-linux.git
+ dkms.conf
+ )
+sha256sums=('SKIP'
+ '8f56d80fceeac1ed7fe786e16718c054212fd939dcac54b7976984127305ae53')
build() {
_kernver=$(pacman -Q linux | sed -r 's#.* ([0-9]+\.[0-9]+).*#\1#')
@@ -27,6 +29,8 @@ build() {
}
package_mcp2210-git() {
+ install=mcp2210-git.install
+ conflicts=('mcp2210')
_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)
@@ -39,7 +43,24 @@ package_mcp2210-git() {
sed -i "s|extramodules-.*-ARCH|extramodules-$_kernver-ARCH|" "$startdir/$pkgname.install"
}
+package_mcp2210-dkms-git() {
+ install=mcp2210-dkms-git.install
+ conflicts=('mcp2210' 'mcp2210-git')
+ depends=('dkms')
+ install -Dm644 dkms.conf "${pkgdir}"/usr/src/${pkgbase}-${pkgver}/dkms.conf
+
+ # Set name and version
+ sed -e "s/@PKGBASE@/${pkgbase}/" \
+ -e "s/@PKGVER@/${pkgver}/" \
+ -i "${pkgdir}"/usr/src/${pkgbase}-${pkgver}/dkms.conf
+
+ cp -r mcp2210-linux/* "${pkgdir}"/usr/src/${pkgbase}-${pkgver}/
+ make -C "${pkgdir}"/usr/src/${pkgbase}-${pkgver}/ clean
+ #rm -r "${pkgdir}"/usr/src/${pkgbase}-${pkgver}/user
+}
+
package_mcp2210-utils-git() {
+ conflicts=('mcp2210-utils')
cd "mcp2210-linux"
install -Dm644 user/libmcp2210.so "$pkgdir/usr/lib/libmcp2210.so"
install -Dm755 user/mcp2210-util "$pkgdir/usr/bin/mcp2210-util"
diff --git a/dkms.conf b/dkms.conf
new file mode 100644
index 000000000000..843d869bc499
--- /dev/null
+++ b/dkms.conf
@@ -0,0 +1,7 @@
+PACKAGE_NAME="@PKGBASE@"
+PACKAGE_VERSION="@PKGVER@"
+MAKE[0]="'make' KERNELDIR='/lib/modules/$kernelver/build' modules"
+CLEAN="make clean"
+BUILT_MODULE_NAME[0]="mcp2210"
+DEST_MODULE_LOCATION[0]="/kernel/drivers/misc"
+AUTOINSTALL="yes"
diff --git a/mcp2210-dkms-git.install b/mcp2210-dkms-git.install
new file mode 100644
index 000000000000..7e5d21164f7f
--- /dev/null
+++ b/mcp2210-dkms-git.install
@@ -0,0 +1,15 @@
+post_install() {
+ dkms install mcp2210-git/${1%%-*}
+}
+
+pre_upgrade() {
+ pre_remove ${2%%-*}
+}
+
+post_upgrade() {
+ post_install ${1%%-*}
+}
+
+pre_remove() {
+ dkms remove mcp2210-git/${1%%-*} --all
+}
diff --git a/mcp2210-git.install b/mcp2210-git.install
index 6cda7d993d31..a936d9bec955 100644
--- a/mcp2210-git.install
+++ b/mcp2210-git.install
@@ -1,5 +1,5 @@
rebuild_module_dependencies() {
- EXTRAMODULES='extramodules-4.1-ARCH'
+ EXTRAMODULES='extramodules-4.2-ARCH'
depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
}