summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO8
-rw-r--r--.gitignore7
-rw-r--r--70-wooting.rules15
-rw-r--r--PKGBUILD40
-rw-r--r--wootility-appimage.install3
-rw-r--r--wooting.rules83
6 files changed, 49 insertions, 107 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 5a776f069a2b..fd9ad1068f2e 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,21 +1,19 @@
pkgbase = wootility-appimage
pkgdesc = Utility for configuring Wooting keyboards (binary AppImage version)
pkgver = 3.6.16
- pkgrel = 4
+ pkgrel = 5
url = https://wooting.io/wootility
install = wootility-appimage.install
arch = x86_64
arch = x86_64_v3
license = unknown
- makedepends = p7zip
depends = fuse2
provides = wootility
conflicts = wootility
- noextract = wootility-3.6.16.AppImage
options = !strip
source = https://s3.eu-west-2.amazonaws.com/wooting-update/wootility-linux-latest/wootility-3.6.16.AppImage
- source = wooting.rules
+ source = 70-wooting.rules
b2sums = 79a32462cb3f375344ace2a4785c950854b8a7dd027d9c1e7c24696135f641d1d88f56ccbc2dfadc53d278e291bf11735d81d860e57b83cb981366d4930bf641
- b2sums = 32611a6c0eafc122862b97693d402d8b6111ccccb1b920119c9bbd550833dccb14201cff8121487d2de1114f1a3de45163b22f4e6fb77b342562a3c441c72efc
+ b2sums = 80b4a516f8aafb6eada36cdde59295f2358b22e6cc28b1a21b0b5f22a59bcfabc63bba956d23544faca5fd76a1c4b4c1ff98ada41e7c9ad015d48c7c436dbac1
pkgname = wootility-appimage
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..2d46cdc04617
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,7 @@
+*
+!.gitignore
+!.SRCINFO
+!PKGBUILD
+!*.rules
+!*.install
+!*.service
diff --git a/70-wooting.rules b/70-wooting.rules
new file mode 100644
index 000000000000..2ea36da2b730
--- /dev/null
+++ b/70-wooting.rules
@@ -0,0 +1,15 @@
+# Wooting One Legacy
+SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff01", TAG+="uaccess"
+SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff01", TAG+="uaccess"
+# Wooting One update mode
+SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2402", TAG+="uaccess"
+
+# Wooting Two Legacy
+SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff02", TAG+="uaccess"
+SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff02", TAG+="uaccess"
+# Wooting Two update mode
+SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2403", TAG+="uaccess"
+
+# Generic Wootings
+SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", TAG+="uaccess"
+SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", TAG+="uaccess"
diff --git a/PKGBUILD b/PKGBUILD
index 4983cbdc5f7d..cd489d762b19 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,41 +1,49 @@
# Maintainer: Frederik “Freso” S. Olesen <archlinux@freso.dk>
+# Contributor: Shayne Hartford <shayneehartford@gmail.com>
+
_pkgname=wootility
pkgname=${_pkgname}-appimage
pkgver=3.6.16
-pkgrel=4
+pkgrel=5
pkgdesc='Utility for configuring Wooting keyboards (binary AppImage version)'
arch=('x86_64' 'x86_64_v3')
url='https://wooting.io/wootility'
license=('unknown')
depends=('fuse2')
-makedepends=('p7zip')
provides=("${_pkgname}")
conflicts=("${_pkgname}")
options=(!strip)
_appimage="${_pkgname}-${pkgver}.AppImage"
install=$pkgname.install
source=("https://s3.eu-west-2.amazonaws.com/wooting-update/wootility-linux-latest/${_appimage}"
- 'wooting.rules')
-noextract=("${_appimage}")
+ '70-wooting.rules')
b2sums=('79a32462cb3f375344ace2a4785c950854b8a7dd027d9c1e7c24696135f641d1d88f56ccbc2dfadc53d278e291bf11735d81d860e57b83cb981366d4930bf641'
- '32611a6c0eafc122862b97693d402d8b6111ccccb1b920119c9bbd550833dccb14201cff8121487d2de1114f1a3de45163b22f4e6fb77b342562a3c441c72efc')
+ '80b4a516f8aafb6eada36cdde59295f2358b22e6cc28b1a21b0b5f22a59bcfabc63bba956d23544faca5fd76a1c4b4c1ff98ada41e7c9ad015d48c7c436dbac1')
prepare() {
- 7z x "${_appimage}" 'wootility.desktop' 'usr/share/icons' > /dev/null
+ # Copying AppImage in case $SRCDEST is mounted with noexec
+ cp ${_appimage} ${_appimage}.copy
+ chmod +x ${_appimage}.copy
+ ./${_appimage}.copy --appimage-extract ${_pkgname}.desktop
+ ./${_appimage}.copy --appimage-extract ${_pkgname}.png
+ ./${_appimage}.copy --appimage-extract usr/share/icons
+ rm ${_appimage}.copy
}
build() {
- sed -i -E "s|Exec=AppRun|Exec=${_pkgname}|" wootility.desktop
- # Fix permissions; .AppImage permissions are 700 for all directories
- chmod -R a-x+rX usr
+ sed -i -E "s|Exec=AppRun|Exec=${_pkgname}|" squashfs-root/${_pkgname}.desktop
+ sed -i -E "s|Name=.*$|Name=Wootility|" squashfs-root/${_pkgname}.desktop
}
package() {
- install -Dpm755 "${_appimage}" "${pkgdir}/opt/${_pkgname}/${_appimage}"
- install -d "${pkgdir}/usr/bin"
- ln -s "../../opt/${_pkgname}/${_appimage}" "${pkgdir}/usr/bin/${_pkgname}"
- install -Dpm644 'wootility.desktop' "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
- install -d "${pkgdir}/usr/share/icons"
- cp -a usr/share/icons/hicolor "${pkgdir}/usr/share/icons/hicolor"
- install -Dpm644 'wooting.rules' "${pkgdir}/usr/lib/udev/rules.d/wooting.rules"
+ install -Dpm755 "${_appimage}" "${pkgdir}/opt/${_pkgname}/${_appimage}"
+ install -d "${pkgdir}/usr/bin"
+ ln -s "../../opt/${_pkgname}/${_appimage}" "${pkgdir}/usr/bin/${_pkgname}"
+
+ # Install desktop entry and icon
+ install -Dpm644 "squashfs-root/${_pkgname}.desktop" "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
+ install -Dpm644 "squashfs-root/${_pkgname}.png" "${pkgdir}/usr/share/icons/hicolor/512x512/apps/${_pkgname}.png"
+
+ # Install udev rules
+ install -Dpm644 "70-wooting.rules" "${pkgdir}/usr/lib/udev/rules.d/70-wooting.rules"
}
diff --git a/wootility-appimage.install b/wootility-appimage.install
index aee2f49ecf3a..baffe52bc48a 100644
--- a/wootility-appimage.install
+++ b/wootility-appimage.install
@@ -1,7 +1,4 @@
post_install() {
- echo 'Your user needs to be a member of the "input" group.'
- echo 'https://wiki.archlinux.org/title/Users_and_groups#Group_management'
- echo
echo 'To turn off the “Would you like to integrate ….AppImage with your system?”'
echo 'notifications on every launch of Wootility, see:'
echo 'https://github.com/AppImage/AppImageSpec/blob/master/draft.md#desktop-integration'
diff --git a/wooting.rules b/wooting.rules
deleted file mode 100644
index 3c7414ecf596..000000000000
--- a/wooting.rules
+++ /dev/null
@@ -1,83 +0,0 @@
-# Wooting One Legacy
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff01", MODE:="0660", GROUP="input"
-SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff01", MODE:="0660", GROUP="input"
-# Wooting One update mode
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2402", MODE:="0660", GROUP="input"
-
-# Wooting Two Legacy
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff02", MODE:="0660", GROUP="input"
-SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff02", MODE:="0660", GROUP="input"
-# Wooting Two update mode
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2403", MODE:="0660", GROUP="input"
-
-# Wooting One
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1100", MODE:="0660", GROUP="input"
-SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1100", MODE:="0660", GROUP="input"
-# Wooting One Alt-gamepad mode
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1101", MODE:="0660", GROUP="input"
-SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1101", MODE:="0660", GROUP="input"
-# Wooting One 2nd Alt-gamepad mode
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1102", MODE:="0660", GROUP="input"
-SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1102", MODE:="0660", GROUP="input"
-
-# Wooting Two
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1200", MODE:="0660", GROUP="input"
-SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1200", MODE:="0660", GROUP="input"
-# Wooting Two Alt-gamepad mode
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1201", MODE:="0660", GROUP="input"
-SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1201", MODE:="0660", GROUP="input"
-# Wooting Two 2nd Alt-gamepad mode
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1202", MODE:="0660", GROUP="input"
-SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1202", MODE:="0660", GROUP="input"
-
-# Wooting Lekker
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1210", MODE:="0660", GROUP="input"
-SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1210", MODE:="0660", GROUP="input"
-# Wooting Lekker Alt-gamepad mode
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1211", MODE:="0660", GROUP="input"
-SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1211", MODE:="0660", GROUP="input"
-# Wooting Lekker 2nd Alt-gamepad mode
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1212", MODE:="0660", GROUP="input"
-SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1212", MODE:="0660", GROUP="input"
-
-# Wooting Lekker update mode
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="121f", MODE:="0660", GROUP="input"
-
-# Wooting Two HE
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1220", MODE:="0660", GROUP="input"
-SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1220", MODE:="0660", GROUP="input"
-# Wooting Two HE Alt-gamepad mode
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1221", MODE:="0660", GROUP="input"
-SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1221", MODE:="0660", GROUP="input"
-# Wooting Two HE 2nd Alt-gamepad mode
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1222", MODE:="0660", GROUP="input"
-SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1222", MODE:="0660", GROUP="input"
-
-# Wooting Two HE update mode
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="122f", MODE:="0660", GROUP="input"
-
-# Wooting 60HE
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1300", MODE:="0660", GROUP="input"
-SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1300", MODE:="0660", GROUP="input"
-# Wooting 60HE Alt-gamepad mode
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1301", MODE:="0660", GROUP="input"
-SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1301", MODE:="0660", GROUP="input"
-# Wooting 60HE 2nd Alt-gamepad mode
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1302", MODE:="0660", GROUP="input"
-SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1302", MODE:="0660", GROUP="input"
-
-# Wooting 60HE update mode
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="130f", MODE:="0660", GROUP="input"
-
-# Wooting 60HE (ARM)
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1310", MODE:="0660", GROUP="input"
-SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1310", MODE:="0660", GROUP="input"
-# Wooting 60HE (ARM) Alt-gamepad mode
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1311", MODE:="0660", GROUP="input"
-SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1311", MODE:="0660", GROUP="input"
-# Wooting 60HE (ARM) 2nd Alt-gamepad mode
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1312", MODE:="0660", GROUP="input"
-SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1312", MODE:="0660", GROUP="input"
-
-# Wooting 60HE (ARM) update mode
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="131f", MODE:="0660", GROUP="input"