Index: Makefile =================================================================== --- /dev/null +++ Makefile @@ -0,0 +1 @@ +include ../Makefile.common Index: abi_used_libs =================================================================== --- /dev/null +++ abi_used_libs @@ -0,0 +1,6 @@ +libc.so.6 +libgcc_s.so.1 +libm.so.6 +libpthread.so.0 +libstdc++.so.6 +libusb-1.0.so.0 Index: files/01-makefile.patch =================================================================== --- /dev/null +++ files/01-makefile.patch @@ -0,0 +1,22 @@ +diff --git a/Makefile b/Makefile +index 157a690..391fe44 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,12 +14,12 @@ SOURCES := $(wildcard *.cpp) $(wildcard */*.cpp) + OBJECTS := $(patsubst %.cpp,%.o,$(SOURCES)) firmware.o + DEPENDENCIES := $(OBJECTS:.o=.d) + +-PREFIX := /usr/local ++PREFIX := /usr + BINDIR := $(PREFIX)/bin +-UDEVDIR := /lib/udev/rules.d +-MODLDIR := /lib/modules-load.d +-MODPDIR := /lib/modprobe.d +-SYSDDIR := /lib/systemd/system ++UDEVDIR := /usr/lib/udev/rules.d ++MODLDIR := /usr/lib/modules-load.d ++MODPDIR := /usr/lib/modprobe.d ++SYSDDIR := /usr/lib/systemd/system + + .PHONY: all + all: xow Index: files/02-service.patch =================================================================== --- /dev/null +++ files/02-service.patch @@ -0,0 +1,16 @@ +diff --git a/install/service.in b/install/service.in +index 04d690f..a26ffe5 100644 +--- a/install/service.in ++++ b/install/service.in +@@ -1,8 +1,10 @@ + [Unit] + Description=Xbox One Wireless Dongle Driver ++BindsTo=dev-xow.device ++After=dev-xow.device + + [Service] +-Type=idle ++Type=simple + ExecStart=#BINDIR#/xow + DynamicUser=true + Restart=always Index: files/03-udev.patch =================================================================== --- /dev/null +++ files/03-udev.patch @@ -0,0 +1,15 @@ +diff --git a/install/udev.rules b/install/udev.rules +index 4538a87..e1734d1 100644 +--- a/install/udev.rules ++++ b/install/udev.rules +@@ -1,4 +1,6 @@ + # Make dongles and uinput accessible to all users +-SUBSYSTEM=="usb", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="02e6", MODE="0666" +-SUBSYSTEM=="usb", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="02fe", MODE="0666" +-KERNEL=="uinput", SUBSYSTEM=="misc", MODE="0666" ++ACTION!="remove", SUBSYSTEM=="usb", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="02e6", MODE="0666", SYMLINK+="xow", TAG+="systemd", ENV{SYSTEMD_WANTS}="xow.service" ++ACTION!="remove", SUBSYSTEM=="usb", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="02fe", MODE="0666", SYMLINK+="xow", TAG+="systemd", ENV{SYSTEMD_WANTS}="xow.service" ++ACTION=="remove", SUBSYSTEM=="usb", ENV{Product}="45e/2e6/*", TAG+="systemd" ++ACTION=="remove", SUBSYSTEM=="usb", ENV{Product}="45e/2fe/*", TAG+="systemd" ++KERNEL=="uinput", SUBSYSTEM=="misc", MODE="0666" +\ No newline at end of file Index: files/04-modprobe.patch =================================================================== --- /dev/null +++ files/04-modprobe.patch @@ -0,0 +1,10 @@ +diff --git a/install/modprobe.conf b/install/modprobe.conf +index 11da85a..efad34a 100644 +--- a/install/modprobe.conf ++++ b/install/modprobe.conf +@@ -1 +1,3 @@ +-blacklist mt76x2u ++# Bind dongle to non-existent module to prevent the mt76x2u driver from loading ++alias usb:v045Ep02E6d*dc*dsc*dp*ic*isc*ip*in* xow_blacklist ++alias usb:v045Ep02FEd*dc*dsc*dp*ic*isc*ip*in* xow_blacklist +\ No newline at end of file Index: files/series =================================================================== --- /dev/null +++ files/series @@ -0,0 +1,4 @@ +01-makefile.patch +02-service.patch +03-udev.patch +04-modprobe.patch Index: package.yml =================================================================== --- /dev/null +++ package.yml @@ -0,0 +1,20 @@ +name : xow +version : 0.4 +release : 1 +source : + - https://github.com/medusalix/xow/archive/v0.4.tar.gz : 76140d8b521310cdcce2fa3f8226ab1a770a380ccbc921954958f4e2fa6269cc +license : + - GPL-2.0-or-later + - Distributable +component : system.utils +summary : Userspace Driver for Xbox One Wireless Dongle +description: | + xow is a Linux user mode driver for the Xbox One wireless dongle. +builddeps : + - pkgconfig(libusb-1.0) +setup : | + %apply_patches +build : | + %make BUILD=RELEASE +install : | + %make_install Index: pspec_x86_64.xml =================================================================== --- /dev/null +++ pspec_x86_64.xml @@ -0,0 +1,39 @@ + + + xow + + Kaktuspalme + martin@kaktuspalme.ch + + GPL-2.0-or-later + Distributable + system.utils + Userspace Driver for Xbox One Wireless Dongle + xow is a Linux user mode driver for the Xbox One wireless dongle. + + https://getsol.us/sources/README.Solus + + + xow + Userspace Driver for Xbox One Wireless Dongle + xow is a Linux user mode driver for the Xbox One wireless dongle. + + system.utils + + /usr/bin/xow + /usr/lib/modprobe.d/xow-blacklist.conf + /usr/lib/modules-load.d/xow-uinput.conf + /usr/lib/systemd/system/xow.service + /usr/lib/udev/rules.d/99-xow.rules + + + + + 2020-05-20 + 0.4 + Packaging update + Kaktuspalme + martin@kaktuspalme.ch + + + \ No newline at end of file