[packages/xboxdrv] new package
jajcus
jajcus at pld-linux.org
Mon Mar 9 13:11:12 CET 2015
commit 1b0a5af23236165da9ad14632efc4cd07096b3e8
Author: Jacek Konieczny <j.konieczny at eggsoft.pl>
Date: Mon Mar 9 13:10:51 2015 +0100
new package
xboxdrv.init | 74 +++++++++++++++++++++++++++++++++++++++++++
xboxdrv.service | 13 ++++++++
xboxdrv.spec | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
xboxdrv.sysconfig | 2 ++
4 files changed, 183 insertions(+)
---
diff --git a/xboxdrv.spec b/xboxdrv.spec
new file mode 100644
index 0000000..ce1a7dc
--- /dev/null
+++ b/xboxdrv.spec
@@ -0,0 +1,94 @@
+Summary: Xbox/Xbox360 USB Gamepad userspace driver
+Name: xboxdrv
+Version: 0.8.5
+Release: 1
+License: GPL v3
+Group: Applications
+Source0: http://pingus.seul.org/~grumbel/xboxdrv/%{name}-linux-%{version}.tar.bz2
+# Source0-md5: 7f20b12361770bbff9414a7c6d522c25
+Source1: %{name}.service
+Source2: %{name}.init
+Source3: %{name}.sysconfig
+URL: http://pingus.seul.org/~grumbel/xboxdrv/
+BuildRequires: rpmbuild(macros) >= 1.228
+Requires(post,preun): /sbin/chkconfig
+BuildRequires: rpmbuild(macros) >= 1.647
+Requires: rc-scripts
+Requires(post,preun,postun): systemd-units >= 38
+BuildRequires: boost-devel
+BuildRequires: dbus-devel
+BuildRequires: glib2-devel
+BuildRequires: libusb-devel
+BuildRequires: pkgconfig
+BuildRequires: scons
+BuildRequires: udev-devel
+BuildRequires: xorg-lib-libX11-devel
+Requires: systemd-units >= 0.38
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+Xboxdrv is a Xbox/Xbox360 gamepad driver for Linux that works in
+userspace. It is an alternative to the xpad kernel driver and has
+support for Xbox1 gamepads, Xbox360 USB gamepads and Xbox360 wireless
+gamepads. The Xbox360 guitar and some Xbox1 dancemats might work too.
+The Xbox 360 racing wheel is not supported, but shouldn't be to hard
+to add if somebody is interested.
+
+Some basic support for the Xbox360 Chatpad on USB controller is
+provided, Chatpad on wireless ones is not supported. The headset is
+not supported, but you can dump raw data from it.
+
+This driver is only of interest if the xpad kernel driver doesn't work
+for you or if you want more configurabity. If the xpad kernel driver
+works for you there is no need to try this driver.
+
+%prep
+%setup -qn %{name}-linux-%{version}
+
+%build
+%scons \
+ BUILD=custom
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1,%{systemdunitdir}} \
+ $RPM_BUILD_ROOT{/etc/sysconfig,/etc/rc.d/init.d}
+
+install xboxdrv $RPM_BUILD_ROOT%{_bindir}
+install xboxdrvctl $RPM_BUILD_ROOT%{_bindir}
+
+install doc/xboxdrv.1 $RPM_BUILD_ROOT%{_mandir}/man1
+
+install %{SOURCE1} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
+install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
+install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post
+%systemd_post %{name}.service
+/sbin/chkconfig --add %{name}
+%service %{name} restart
+
+%preun
+%systemd_preun %{name}.service
+if [ "$1" = "0" ]; then
+ %service -q %{name} stop
+ /sbin/chkconfig --del %{name}
+fi
+
+%postun
+%systemd_reload
+
+%files
+%defattr(644,root,root,755)
+%doc AUTHORS NEWS PROTOCOL README TODO
+%doc doc/sensitivity.png doc/sensitivity.svg doc/xbox360-asciiart.txt
+%doc examples
+%attr(754,root,root) /etc/rc.d/init.d/%{name}
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
+%{systemdunitdir}/%{name}.service
+%attr(755,root,root) %{_bindir}/xboxdrv
+%attr(755,root,root) %{_bindir}/xboxdrvctl
+%{_mandir}/man1/xboxdrv.1*
diff --git a/xboxdrv.init b/xboxdrv.init
new file mode 100644
index 0000000..37205ba
--- /dev/null
+++ b/xboxdrv.init
@@ -0,0 +1,74 @@
+#!/bin/sh
+#
+# xboxdrv Xbox/Xbox360 USB Gamepad Driver
+#
+# chkconfig: 2345 23 77
+# description: Xbox/Xbox360 USB gamepad driver
+
+# Source function library.
+. /etc/rc.d/init.d/functions
+
+# Source xboxdrv configuration
+. /etc/sysconfig/xboxdrv
+
+start() {
+ # Check if the service is already running?
+ if [ ! -f /var/lock/subsys/xboxdrv ]; then
+ msg_starting "xboxdrv"
+ daemon /usr/bin/xboxdrv --daemon --detach --dbus system --pid-file /var/run/xboxdrv.pid $XBOXDRV_OPTIONS
+ RETVAL=$?
+ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/xboxdrv
+ else
+ msg_already_running "xboxdrv"
+ fi
+}
+
+stop() {
+ if [ -f /var/lock/subsys/xboxdrv ]; then
+ msg_stopping "xboxdrv"
+ killproc xboxdrv
+ rm -f /var/lock/subsys/xboxdrv
+ else
+ msg_not_running "xboxdrv"
+ fi
+}
+
+condrestart() {
+ if [ -f /var/lock/subsys/xboxdrv ]; then
+ stop
+ start
+ else
+ msg_not_running "xboxdrv"
+ RETVAL=$1
+ fi
+}
+
+RETVAL=0
+# See how we were called.
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart)
+ stop
+ start
+ ;;
+ try-restart|condrestart)
+ condrestart 0
+ ;;
+ force-reload)
+ condrestart 7
+ ;;
+ status)
+ status xboxdrv
+ exit $?
+ ;;
+ *)
+ msg_usage "$0 {start|stop|restart|try-restart|force-reload|condrestart|status}"
+ exit 3
+esac
+
+exit $RETVAL
diff --git a/xboxdrv.service b/xboxdrv.service
new file mode 100644
index 0000000..f4e6e8e
--- /dev/null
+++ b/xboxdrv.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Xbox/Xbox360 USB Gamepad Driver
+
+[Service]
+Type=dbus
+BusName=org.seul.Xboxdrv
+EnvironmentFile=/etc/sysconfig/xboxdrv
+ExecStartPre=-/sbin/modprobe -r xpad
+ExecStartPre=-/sbin/modprobe uinput
+ExecStart=/usr/bin/xboxdrv --daemon --dbus system $XBOXDRV_OPTIONS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/xboxdrv.sysconfig b/xboxdrv.sysconfig
new file mode 100644
index 0000000..bc6e1d4
--- /dev/null
+++ b/xboxdrv.sysconfig
@@ -0,0 +1,2 @@
+
+XBOXDRV_OPTIONS="--next-controller"
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/xboxdrv.git/commitdiff/1b0a5af23236165da9ad14632efc4cd07096b3e8
More information about the pld-cvs-commit
mailing list