Package Details: hid-lg-g710-plus-dkms-git r34.8433ee4-5

Git Clone URL: https://aur.archlinux.org/hid-lg-g710-plus-dkms-git.git (read-only)
Package Base: hid-lg-g710-plus-dkms-git
Description: Linux DKMS kernel module allowing use of extra keys and LEDs on the Logitech G710+
Upstream URL: http://github.com/wdouglass/logitech-g710-linux-driver
Keywords: g710 g710+ logitech
Licenses: GPL2
Conflicts: hid-lg-g710-plus, logitech-g710, logitech-g710-kmod-git
Provides: hid-lg-g710-plus
Submitter: forivall
Maintainer: jonpas
Last Packager: jonpas
Votes: 9
Popularity: 0.032836
First Submitted: 2015-04-04 02:50
Last Updated: 2018-10-29 01:43

Latest Comments

1 2 Next › Last »

jonpas commented on 2018-10-29 18:23

Package should now be clean and not throw any DKMS installation errors anymore (now using pacman hooks). Let me know if there are any issues!

jonpas commented on 2018-10-26 01:50

@aereaux Thank you, that is my next cleanup step, just wanted to get it updated first. :)

aereaux commented on 2018-10-26 01:14

You don't need the .install file. It should be automatically handled by the dkms pacman hooks.

forivall commented on 2018-10-25 22:05

Thanks @jonpas. Yeah, sorry for being absent, the computer that I use my 710+ with is usually running Windows for the games. Life gets busy, y'know?

jonpas commented on 2018-10-25 21:52

I have decided to take over as maintainer of this package. Thanks to forivall for maintaining it so far.

I have switched to wdouglass' fork of the driver, which includes fixed compiling (kernel version issue) and adds support for kernel LED API. General cleanup of the package was also performed.

Let me know if anything is broken and I will try to respond in a timely manner.

aereaux commented on 2018-08-11 02:32

@Zeth I think that should work. Only thing is that the patching should probably go in the package() function.

Zeth commented on 2018-08-09 09:11

@Eschwartz: yes, it's gross because I didn't know how to include a file in the src tree. @aereaux: The issue comes from the upstream module code ignoring the kernel version.

I incorporated the suggestions by Eschwartz and found this patch to work better: https://github.com/Wattos/logitech-g710-linux-driver/pull/31/commits/63713452247688de6f660419bb708f437c870bb3

The whole work looks like this:

makefile.patch:

--- a/src/kernel/dkms.conf
+++ b/src/kernel/dkms.conf
@@ -1,8 +1,8 @@
 BUILT_MODULE_NAME=hid-lg-g710-plus
 PACKAGE_NAME=hid-lg-g710-plus
 PACKAGE_VERSION=0.1
-MAKE="make"
-CLEAN="make clean"
+MAKE="make KVERSION=$kernelver"
+CLEAN="make clean KVERSION=$kernelver"
 DEST_MODULE_LOCATION="/updates"
 REMAKE_INITRD=yes
 AUTOINSTALL="yes"

PKGBUILD:

# Maintainer: forivall <forivall@gmail.com>

_pkgbase=hid-lg-g710-plus
_pkgname=${_pkgbase}-dkms
pkgname=${_pkgname}-git
pkgver=r19.ecd2099
pkgrel=3
pkgdesc="Linux dkms kernel module to allow use of extra keys on the Logitech g710+ (logitech-g710-linux-driver)"
arch=('i686' 'x86_64')
url="http://github.com/Wattos/logitech-g710-linux-driver"
license=('GPL2')
depends=('dkms' 'linux-headers')
makedepends=('git')
provides=('hid-lg-g710-plus')
conflicts=('logitech-g710-kmod-git' 'hid-lg-g710-plus' 'logitech-g710')
install='hid-lg-g710-plus-dkms.install'

source=(
  "${_pkgbase}::git://github.com/Wattos/logitech-g710-linux-driver.git"
  "makefile.patch"
)
sha1sums=('SKIP'
          'c7659301e9d326249a2ea220395b0c08818d443b')


pkgver() {
  cd "$srcdir/$_pkgbase"
  printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}

# build() {
#   cd "$srcdir/$_pkgbase"
#   # make
# }

package() {
  cd "$srcdir/$_pkgbase"

  # patch kernel version detection
  patch -p1 -i "$srcdir/makefile.patch"

  local rev="$(git rev-parse --short HEAD)"

  # msg2 "Starting make install..."
  # make DESTDIR="${pkgdir}" install

  # copy dkms.conf
  # install -Dm644 src/kernel/dkms.conf "${pkgdir}/usr/src/${_pkgbase}-$pkg/dkms.conf"

  # copy sources
  msg2 "Copying sources, including dkms.conf..."
  mkdir -p "${pkgdir}/usr/src/"
  cp -r src/kernel "${pkgdir}/usr/src/${_pkgbase}-$pkgver/"

  msg2 "Copying udev rules..."
  mkdir -p "${pkgdir}/etc/udev/rules.d/"
  cp misc/90-logitech-g710-plus.rules "$pkgdir/etc/udev/rules.d/"

  msg2 "Copying .Xmodmap..."
  mkdir -p "${pkgdir}/usr/share/logitech-g710/"
  cp misc/.Xmodmap "${pkgdir}/usr/share/logitech-g710/"
}

# vim:set ts=2 sw=2 et:

When I down-/upgrade linux and linux-headers now, there's no error popping up for me. Can you confirm that?

aereaux commented on 2018-07-13 19:57

This is also still wrong as far as building for the right kernel, as well. When the kernel is updated, the build (in the hook) fails because it is looking for the wrong version. I think the variable you need to use is $kernelver, although I'm not sure that's the only change that might be needed. Anyways, this page might help: https://wiki.archlinux.org/index.php/Dynamic_Kernel_Module_Support#DKMS_package_creation

eschwartz commented on 2018-07-11 05:03

That's utterly gross, what makes this package different from pretty much every other PKGBUILD ever written which uses $srcdir?

The problem with ../../ is that it's completely wrong and at the beginning of the package function (before any cd) will point to a file two directories above the actual PKGBUILD, which makes no sense whatsoever...

$startdir is just wrong because makepkg by design is supposed to unify $startdir and $SRCDEST (which might not be the same) by symlinking everything to $srcdir.

Please read the PKGBUILD(5) manpage and take heed of:

srcdir

  • This contains the directory where makepkg extracts, or copies, all source files.

startdir

  • This contains the absolute path to the directory where the PKGBUILD is located, which is usually the output of $(pwd) when makepkg is started. Use of this variable is deprecated and strongly discouraged.

Zeth commented on 2018-06-26 20:08

Interesting, didn't know that. It works with the relative path on my system but with $srcdir is pointing to hid-lg-g710-plus-dkms-git/src/makefile.patch so it's not working, too. Just found the proper variable: $startdir

--- a/PKGBUILD
+++ b/PKGBUILD
@@ -31,7 +31,7 @@

 package() {
   # patch kernel version detection
-  patch "$srcdir/$_pkgbase/src/kernel/Makefile" < "../../makefile.patch"
+  patch "$srcdir/$_pkgbase/src/kernel/Makefile" < "$startdir/makefile.patch"

   cd "$srcdir/$_pkgbase"

Sorry for that <.<