summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorPart Cyborg2019-05-14 10:01:31 -0700
committerPart Cyborg2019-05-14 10:02:08 -0700
commite2fd5ce5e107522f795e09cd5965b1facbb8721c (patch)
tree49c2cde999f7dfa29f31351f924f1b4e332b9b00
downloadaur-e2fd5ce5e107522f795e09cd5965b1facbb8721c.tar.gz
Initial checkin of package
-rw-r--r--.SRCINFO18
-rw-r--r--.gitignore3
-rw-r--r--PKGBUILD41
-rw-r--r--dkms.conf.in18
-rwxr-xr-xdkms.sh.in27
-rw-r--r--vmware-modules-dkms-git.install33
6 files changed, 140 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..b9f514546fcc
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,18 @@
+pkgbase = vmware-modules-dkms-git
+ pkgdesc = vmware-host-modules is a collection of modified vmware host side kernel modules actually build against all modern kernel headers. This package wraps it in a dkms module.
+ pkgver = 1.0
+ pkgrel = 3
+ url = https://github.com/mkubecek/vmware-host-modules
+ install = vmware-modules-dkms-git.install
+ arch = any
+ license = LGPL
+ makedepends = dkms
+ makedepends = git
+ optdepends = vmware-workstation: Required, but using the AUR package is optional
+ source = dkms.conf.in
+ source = dkms.sh.in
+ sha256sums = 57984b4a196e78f7ec0c2557c03810c8c3cf6ae393ae725b97b8ebebcb02e6a1
+ sha256sums = c4d6489274c779e418a5fd4d200c85f24903c7f116d2a6ea457fbc54cdd4c7f1
+
+pkgname = vmware-modules-dkms-git
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..f46de972b6fc
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+pkg/
+src/
+*.xz
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..90687e885f9f
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,41 @@
+# Maintainer: partcyborg <me@partcyb.org>
+# Special thanks to mkubecek for creating the GitHub repository that this sources.
+
+pkgname=vmware-modules-dkms-git
+_gitname=vmware-host-modules
+pkgver=1.0
+pkgrel=3
+pkgdesc="${_gitname} is a collection of modified vmware host side kernel modules actually build against all modern kernel headers. This package wraps it in a dkms module."
+arch=("any")
+license=("LGPL")
+url="https://github.com/mkubecek/${_gitname}"
+options=()
+install=${pkgname}.install
+makedepends=("dkms" "git")
+optdepends=("vmware-workstation: Required, but using the AUR package is optional")
+source=(
+ "dkms.conf.in"
+ "dkms.sh.in"
+)
+sha256sums=(
+ "57984b4a196e78f7ec0c2557c03810c8c3cf6ae393ae725b97b8ebebcb02e6a1"
+ "c4d6489274c779e418a5fd4d200c85f24903c7f116d2a6ea457fbc54cdd4c7f1"
+)
+
+_var_replace() {
+ sed \
+ -e "s/%PKGVER%/${pkgver}/" \
+ -e "s/%DKMSNAME%/${_gitname}/" \
+ "${srcdir}/$1" > "${srcdir}/$2"
+}
+
+prepare() {
+ _var_replace dkms.conf.in dkms.conf
+ _var_replace dkms.sh.in dkms.sh
+}
+
+
+package() {
+ install -Dm644 "$srcdir/dkms.conf" "$pkgdir/usr/src/vmware-host-modules-${pkgver}/dkms.conf"
+ install -Dm755 "$srcdir/dkms.sh" "$pkgdir/usr/src/vmware-host-modules-${pkgver}/dkms.sh"
+}
diff --git a/dkms.conf.in b/dkms.conf.in
new file mode 100644
index 000000000000..63b8ba78e43e
--- /dev/null
+++ b/dkms.conf.in
@@ -0,0 +1,18 @@
+# Author: Matt Wilder (<me@partcyb.org>)
+
+PACKAGE_NAME="%DKMSNAME%"
+PACKAGE_VERSION="%PKGVER%"
+AUTOINSTALL="yes"
+CLEAN[0]="make clean"
+
+MAKE[0]="'make' VM_UNAME=$kernelver"
+
+PRE_BUILD="dkms.sh $dkms_tree $kernelver"
+
+
+BUILT_MODULE_NAME[0]='vmmon'
+BUILT_MODULE_LOCATION[0]='vmmon-only/'
+DEST_MODULE_LOCATION[0]='/kernel/misc'
+BUILT_MODULE_NAME[1]='vmnet'
+BUILT_MODULE_LOCATION[1]='vmnet-only/'
+DEST_MODULE_LOCATION[1]='/kernel/misc'
diff --git a/dkms.sh.in b/dkms.sh.in
new file mode 100755
index 000000000000..18d75bc450d0
--- /dev/null
+++ b/dkms.sh.in
@@ -0,0 +1,27 @@
+#!/bin/sh
+# Author: Matt Wilder (<me@partcyb.org>)
+
+BASEDIR="$1"
+KERNELVER="$(echo $2 | sed 's/\([0-9]\.[0-9]*\).*/\1/')"
+PKGVER="%PKGVER%"
+NAME="%DKMSNAME%"
+DEFAULT_VERSION="15.0.4"
+
+VMWARE_VERSION="$(vmware --version | awk '{print $3}')"
+if [[ -n "$VMWARE_VERSION" ]]; then
+ echo "WARNING: Could not find vmware application to determine version to build against." \
+ " Choosing the latest version as a default"
+ VMWARE_VERSION="$DEFAULT_VERSION"
+fi
+
+TAG="w${VMWARE_VERSION}-k${KERNELVER}"
+
+git checkout "$TAG" 2>&1 >/dev/null
+RES=$?
+
+if [[ "$RES" -gt 0 ]]; then
+ echo "Failed to switch to the correct tag ($TAG) This build will likely fail"
+ exit $RES
+fi
+echo "Switched $NAME repo to tag $TAG"
+
diff --git a/vmware-modules-dkms-git.install b/vmware-modules-dkms-git.install
new file mode 100644
index 000000000000..f69f26480797
--- /dev/null
+++ b/vmware-modules-dkms-git.install
@@ -0,0 +1,33 @@
+# Author: Matt Wilder <me@partcyb.org>
+# vim: set ft=sh:
+
+_clone() {
+ git clone https://github.com/mkubecek/vmware-host-modules /usr/src/vmware-host-modules-${1//-*/}
+}
+
+
+pre_install() {
+ _clone "$1"
+}
+
+
+pre_upgrade() {
+ # Don't clone if this a reinstall
+ # of the same version
+ [[ "${1//-*/}" == "${2//-*/}" ]] || _clone "$1"
+}
+
+post_upgrade() {
+ # Don't remove if this a reinstall
+ # of the same version
+ [[ "${1//-*/}" == "${2//-*/}" ]] || _remove "$2"
+}
+
+post_remove() {
+ _remove "$1"
+}
+
+
+_remove() {
+ rm -rf /usr/src/vmware-host-modules-${1//-*/}
+}