feat(xpadneo): Add stable builds and update licenses (#10579) (#11175)

* feat(xpadneo): Add stable builds and update licenses

* feat(xpadneo): Add stable builds and update licenses

(cherry picked from commit 40110d6538)

Co-authored-by: Gilver <roachy@fyralabs.com>
This commit is contained in:
Raboneko
2026-04-11 21:02:20 -05:00
committed by GitHub
parent 8cd8ec9a21
commit 2dd0384ddc
23 changed files with 270 additions and 75 deletions
@@ -1,26 +0,0 @@
<component type="driver">
<id>io.github.xpadneo</id>
<name>xpadneo</name>
<pkgname>xpadneo</pkgname>
<summary>Advanced Linux Driver for Xbox One Wireless Controller (shipped with Xbox One S)</summary>
<description>
<p>
Wireless Drivers for the Xbox One and Series S|X controllers.
Across all models, xpadneo won't support audio features of the controllers because the firmware doesn't support audio in Bluetooth mode. In the future, xpadneo may support audio when USB and dongle support will be added.
</p>
</description>
<url type="homepage">https://atar-axis.github.io/xpadneo/</url>
<metadata_license>CC0-1.0</metadata_license>
<!-- gplv3 -->
<project_license>GPL-3.0</project_license>
<developer id="atar-axis.github.io">
<name>Florian Dollinger</name>
</developer>
<provides>
<!-- /devices/virtual/misc/uhid/0005:045E:02FD.0008/input/input27 -->
<modalias>usb:v045Ep02FDd0008dc00dsc00dp00ic03isc00ip00in00</modalias>
</provides>
</component>
@@ -0,0 +1,9 @@
project pkg {
rpm {
spec = "xpadneo-nightly-kmod.spec"
}
labels {
mock = 1
updbranch = 1
}
}
@@ -1,16 +1,16 @@
%global commit 45f39820edc2c3fc5605bfe4daea471263678ed1
%global commit d8f6e10395b2fa5f036a9f5e0f62a5b910b9edd9
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commitdate 20260411
%global commitdate 20260410
%global ver 0.10.2
%define buildforkernels akmod
%global debug_package %{nil}
%global modulename xpadneo
Name: %{modulename}-kmod
Version: %{ver}^%{commitdate}git.%{shortcommit}
Name: %{modulename}-nightly-kmod
Version: %{ver}^%{commitdate}git%{shortcommit}
Release: 1%{?dist}
Summary: Advanced Linux Driver for Xbox One Wireless Gamepad
License: GPL-3.0
License: GPL-2.0-only AND GPL-3.0-or-later
URL: https://atar-axis.github.io/xpadneo
Source0: https://github.com/atar-axis/xpadneo/archive/%{commit}.tar.gz#/xpadneo-%{shortcommit}.tar.gz
BuildRequires: kmodtool
@@ -18,20 +18,19 @@ BuildRequires: systemd-rpm-macros
Requires: akmods
Requires: bluez
Requires: bluez-tools
Requires: %{modulename} = %{?epoch:%{epoch}:}%{version}
Requires: %{modulename}-akmod-modules = %{?epoch:%{epoch}:}%{version}
Requires: %{modulename}-nightly-kmod-common = %{?epoch:%{epoch}:}%{version}
Requires: %{modulename}-nightly-akmod-modules = %{?epoch:%{epoch}:}%{version}
Conflicts: dkms-%{modulename}
Provides: %{modulename}-kmod
Packager: Gilver E. <roachy@fyralabs.com>
%{expand:%(kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) }
%{expand:%(kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) }
%description
Advanced Linux Driver for Xbox One Wireless Gamepad.
%prep
%{?kmodtool_check}
kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null
kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null
%autosetup -p1 -n %{modulename}-%{commit}
@@ -56,5 +55,7 @@ done
%{?akmod_install}
%changelog
* Sat Apr 11 2026 Gilver E. <roachy@fyralabs.com> - 0.10.2^45f3982git20260411
- Separated nightly builds into their own packages
* Thu Feb 27 2025 Gilver E. <rockgrub@disroot.org>
- Package refactoring for alternative DKMS package compatibility
+10
View File
@@ -0,0 +1,10 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "dkms-xpadneo-nightly.spec"
}
labels {
mock = 1
updbranch = 1
}
}
@@ -0,0 +1,69 @@
%global commit 45f39820edc2c3fc5605bfe4daea471263678ed1
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commitdate 20260411
%global ver 0.10.2
%global modulename xpadneo
Name: dkms-%{modulename}-nightly
Version: %{ver}^%{commitdate}git%{shortcommit}
Release: 1%{?dist}
Summary: Advanced Linux Driver for Xbox One Wireless Gamepad
License: GPL-2.0-only AND GPL-3.0-or-later
URL: https://atar-axis.github.io/%{modulename}
Source0: https://github.com/atar-axis/%{modulename}/archive/%{commit}.tar.gz#/%{modulename}-%{shortcommit}.tar.gz
Source1: dkms-%{modulename}.conf
Source2: no-weak-modules.conf
BuildRequires: sed
Requires: bluez
Requires: bluez-tools
Requires: %{modulename}-kmod-common = %{?epoch:%{epoch}:}%{version}
Requires: dkms
Conflicts: akmod-%{modulename}
BuildArch: noarch
Packager: Gilver E. <roachy@fyralabs.com>
%description
Advanced Linux Driver for Xbox One Wireless Gamepad.
%prep
%autosetup -p1 -n %{modulename}-%{commit}
cp -f %{SOURCE1} hid-xpadneo/src/dkms.conf
sed -i -e 's/__VERSION_STRING/%{version}/g' hid-xpadneo/src/dkms.conf
sed -i -e 's/$(VERSION)/v%{version}/g' hid-xpadneo/src/Makefile
%build
%install
# Create empty tree:
mkdir -p %{buildroot}%{_usrsrc}/%{modulename}-%{version}/
cp -fr hid-xpadneo/src/* %{buildroot}%{_usrsrc}/%{modulename}-%{version}/
%if %{defined fedora}
# Do not enable weak modules support in Fedora (no kABI):
install -Dpm644 %{SOURCE2} %{buildroot}%{_sysconfdir}/dkms/%{modulename}.conf
%endif
%post
dkms add -m %{modulename} -v %{version} -q --rpm_safe_upgrade || :
# Rebuild and make available for the currently running kernel:
dkms build -m %{modulename} -v %{version} -q || :
dkms install -m %{modulename} -v %{version} -q --force || :
%preun
# Remove all versions from DKMS registry:
dkms remove -m %{modulename} -v %{version} -q --all --rpm_safe_upgrade || :
%files
%{_usrsrc}/%{modulename}-%{version}
%if %{defined fedora}
%{_sysconfdir}/dkms/%{modulename}.conf
%endif
%changelog
* Sat Apr 11 2026 Gilver E. <roachy@fyralabs.com> - 0.10.2^45f3982git20260411
- Separated nightly builds into their own packages
* Thu Feb 27 2025 Gilver E. <rockgrub@disroot.org>
- Initial package
@@ -0,0 +1,9 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "xpadneo-nightly.spec"
}
labels {
nightly = 1
}
}
@@ -0,0 +1,60 @@
%global commit 45f39820edc2c3fc5605bfe4daea471263678ed1
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commitdate 20260411
%global ver 0.10.2
%global appid io.github.atar_axis.xpadneo
Name: xpadneo-nightly
Version: %{ver}^%{commitdate}git%{shortcommit}
Release: 3%{?dist}
Summary: Advanced Linux Driver for Xbox One Wireless Gamepad common files
License: GPL-2.0-only AND GPL-3.0-or-later
URL: https://atar-axis.github.io/xpadneo
Source0: https://github.com/atar-axis/xpadneo/archive/%{commit}.tar.gz#/xpadneo-%{shortcommit}.tar.gz
BuildRequires: make
BuildRequires: sed
BuildRequires: systemd-rpm-macros
Requires: %{name}-kmod = %{?epoch:%{epoch}:}%{version}
Provides: %{name}-kmod-common = %{?epoch:%{epoch}:}%{version}
Obsoletes: %{name}-kmod-common < %{?epoch:%{epoch}:}0.9.7^20241224git.8d20a23-5%{?dist}
BuildArch: noarch
Packager: Gilver E. <roachy@fyralabs.com>
%description
Advanced Linux Driver for Xbox One Wireless Gamepad common files.
%package akmod-modules
Summary: Modules for Akmods
Requires: %{name}-kmod = %{?epoch:%{epoch}:}%{version}
BuildArch: noarch
%description akmod-modules
Akmods modules for the akmod-%{name} package.
%prep
%autosetup -p1 -n xpadneo-%{commit}
/usr/bin/sed -nE '/^BUILT_MODULE_NAME/{s@^.+"(.+)"@\1@; s|-|_|g; p}' hid-xpadneo/dkms.conf.in > xpadneo.conf
%install
%{__make} install-all PREFIX="%{buildroot}" ETC_PREFIX="%{_prefix}/lib" VERSION="%{version}"
# Akmods modules
install -Dm644 xpadneo.conf -t %{buildroot}%{_modulesloaddir}
%files
%license LICENSE.md
# Let RPM handle the docs
%doc %{_docdir}/xpadneo/*
%{_modprobedir}/xpadneo.conf
%{_udevrulesdir}/60-xpadneo.rules
%{_udevrulesdir}/70-xpadneo-disable-hidraw.rules
%{_metainfodir}/%{appid}.metainfo.xml
%files akmod-modules
%{_modulesloaddir}/xpadneo.conf
%changelog
* Sat Apr 11 2026 Gilver E. <roachy@fyralabs.com> - 0.10.2^45f3982git20260411
- Separated nightly builds into their own packages
* Fri Mar 07 2025 Gilver E. <rockgrub@disroot.org>
- Package refactoring
@@ -0,0 +1,3 @@
import "andax/bump_extras.rhai" as bump;
rpm.version(bump::madoguchi("xpadneo", labels.branch));
@@ -0,0 +1,59 @@
%define buildforkernels akmod
%global debug_package %{nil}
%global modulename xpadneo
Name: %{modulename}-kmod
Version: 0.10.2
Release: 1%{?dist}
%if 0%{?fedora} <= 45
Epoch: 1
%endif
Summary: Advanced Linux Driver for Xbox One Wireless Gamepad
License: GPL-2.0-only AND GPL-3.0-or-later
URL: https://atar-axis.github.io/xpadneo
Source0: https://github.com/atar-axis/xpadneo/archive/refs/tags/v%{version}.tar.gz
BuildRequires: kmodtool
BuildRequires: systemd-rpm-macros
Requires: akmods
Requires: bluez
Requires: bluez-tools
Requires: %{modulename} = %{?epoch:%{epoch}:}%{version}
Requires: %{modulename}-akmod-modules = %{?epoch:%{epoch}:}%{version}
Conflicts: dkms-%{modulename}
Provides: %{modulename}-kmod
Packager: Gilver E. <roachy@fyralabs.com>
%{expand:%(kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) }
%description
Advanced Linux Driver for Xbox One Wireless Gamepad.
%prep
%{?kmodtool_check}
kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null
%autosetup -p1 -n %{modulename}-%{version}
for kernel_version in %{?kernel_versions}; do
mkdir _kmod_build_${kernel_version%%___*}
cp -fr hid-xpadneo/src/* _kmod_build_${kernel_version%%___*}
done
%build
for kernel_version in %{?kernel_versions}; do
pushd _kmod_build_${kernel_version%%___*}/
%make_build -C "${kernel_version##*___}" M=$(pwd) VERSION="v%{version}" modules
popd
done
%install
for kernel_version in %{?kernel_versions}; do
mkdir -p %{buildroot}/%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/
install -p -m 0755 _kmod_build_${kernel_version%%___*}/*.ko \
%{buildroot}/%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/
done
%{?akmod_install}
%changelog
* Sat Apr 11 2026 Gilver E. <roachy@fyralabs.com> - 1:0.10.2-1
- Initial stable package
@@ -0,0 +1,6 @@
PACKAGE_NAME="xpadneo"
PACKAGE_VERSION="__VERSION_STRING"
AUTOINSTALL="yes"
BUILT_MODULE_NAME[0]="hid-xpadneo"
DEST_MODULE_LOCATION[0]="/extra"
@@ -1,20 +1,19 @@
%global commit 45f39820edc2c3fc5605bfe4daea471263678ed1
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commitdate 20260411
%global ver 0.10.2
%global debug_package %{nil}
%global modulename xpadneo
Name: dkms-%{modulename}
Version: %{ver}^%{commitdate}git.%{shortcommit}
Version: 0.10.2
Release: 1%{?dist}
%if 0%{?fedora} <= 45
Epoch: 1
%endif
Summary: Advanced Linux Driver for Xbox One Wireless Gamepad
License: GPL-3.0
License: GPL-2.0-only AND GPL-3.0-or-later
URL: https://atar-axis.github.io/%{modulename}
Source0: https://github.com/atar-axis/%{modulename}/archive/%{commit}.tar.gz#/%{modulename}-%{shortcommit}.tar.gz
Source0: https://github.com/atar-axis/xpadneo/archive/refs/tags/v%{version}.tar.gz
Source1: %{name}.conf
Source2: no-weak-modules.conf
BuildRequires: sed
Provides: %{modulename}-kmod
Requires: bluez
Requires: bluez-tools
Requires: %{modulename} = %{?epoch:%{epoch}:}%{version}
@@ -28,7 +27,7 @@ Packager: Gilver E. <roachy@fyralabs.com>
Advanced Linux Driver for Xbox One Wireless Gamepad.
%prep
%autosetup -p1 -n %{modulename}-%{commit}
%autosetup -p1 -n %{modulename}-%{version}
cp -f %{SOURCE1} hid-xpadneo/src/dkms.conf
@@ -43,7 +42,7 @@ sed -i -e 's/$(VERSION)/v%{version}/g' hid-xpadneo/src/Makefile
mkdir -p %{buildroot}%{_usrsrc}/%{modulename}-%{version}/
cp -fr hid-xpadneo/src/* %{buildroot}%{_usrsrc}/%{modulename}-%{version}/
%if 0%{?fedora}
%if %{defined fedora}
# Do not enable weak modules support in Fedora (no kABI):
install -Dpm644 %{SOURCE2} %{buildroot}%{_sysconfdir}/dkms/%{modulename}.conf
%endif
@@ -60,10 +59,10 @@ dkms remove -m %{modulename} -v %{version} -q --all --rpm_safe_upgrade || :
%files
%{_usrsrc}/%{modulename}-%{version}
%if 0%{?fedora}
%if %{defined fedora}
%{_sysconfdir}/dkms/%{modulename}.conf
%endif
%changelog
* Thu Feb 27 2025 Gilver E. <rockgrub@disroot.org>
- Initial package
* Sat Apr 11 2026 Gilver E. <roachy@fyralabs.com> - 1:0.10.2-1
- Initial stable package
@@ -0,0 +1 @@
NO_WEAK_MODULES="yes"
@@ -0,0 +1,3 @@
import "andax/bump_extras.rhai" as bump;
rpm.version(bump::madoguchi("xpadneo", labels.branch));
@@ -3,7 +3,4 @@ project pkg {
rpm {
spec = "xpadneo.spec"
}
labels {
nightly = 1
}
}
@@ -0,0 +1 @@
rpm.version(gh("atar-axis/xpadneo"));
@@ -1,16 +1,16 @@
%global commit 45f39820edc2c3fc5605bfe4daea471263678ed1
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commitdate 20260411
%global ver 0.10.2
%global appid io.github.atar_axis.xpadneo
Name: xpadneo
Version: %{ver}^%{commitdate}git.%{shortcommit}
Version: 0.10.2
Release: 1%{?dist}
%if 0%{?fedora} <= 45
Epoch: 1
%endif
Summary: Advanced Linux Driver for Xbox One Wireless Gamepad common files
License: GPL-3.0
License: GPL-2.0-only AND GPL-3.0-or-later
URL: https://atar-axis.github.io/%{name}
Source0: https://github.com/atar-axis/%{name}/archive/%{commit}.tar.gz#/%{name}-%{shortcommit}.tar.gz
Source1: io.github.%{name}.metainfo.xml
Source0: https://github.com/atar-axis/xpadneo/archive/refs/tags/v%{version}.tar.gz
BuildRequires: make
BuildRequires: sed
BuildRequires: systemd-rpm-macros
Requires: %{name}-kmod = %{?epoch:%{epoch}:}%{version}
@@ -31,33 +31,27 @@ BuildArch: noarch
Akmods modules for the akmod-%{name} package.
%prep
%autosetup -p1 -n %{name}-%{commit}
/usr/bin/sed -nE '/^BUILT_MODULE_NAME/{s@^.+"(.+)"@\1@; s|-|_|g; p}' hid-%{name}/dkms.conf.in > %{name}.conf
%autosetup -p1 -n %{name}-%{version}
%{__sed} -nE '/^BUILT_MODULE_NAME/{s@^.+"(.+)"@\1@; s|-|_|g; p}' hid-%{name}/dkms.conf.in > %{name}.conf
%install
# Aliases:
install -Dpm644 hid-%{name}/etc-modprobe.d/%{name}.conf -t %{buildroot}%{_modprobedir}
# UDev rules:
install -Dpm644 hid-%{name}/etc-udev-rules.d/*.rules -t %{buildroot}%{_udevrulesdir}/
# Metadata
install -Dm644 %{SOURCE1} %{buildroot}%{_datadir}/metainfo/io.github.%{name}.metainfo.xml
%{__make} install-all PREFIX="%{buildroot}" ETC_PREFIX="%{_prefix}/lib" VERSION="%{version}"
# Akmods modules
install -Dm644 %{name}.conf -t %{buildroot}%{_modulesloaddir}
%files
%license LICENSE.md LICENSES
%doc docs/*.md
%license LICENSE.md
# Let RPM handle the docs
%doc %{_docdir}/%{name}/*
%{_modprobedir}/%{name}.conf
%{_udevrulesdir}/60-%{name}.rules
%{_udevrulesdir}/70-%{name}-disable-hidraw.rules
%{_datadir}/metainfo/io.github.%{name}.metainfo.xml
%{_metainfodir}/%{appid}.metainfo.xml
%files akmod-modules
%{_modulesloaddir}/%{name}.conf
%changelog
* Fri Mar 07 2025 Gilver E. <rockgrub@disroot.org>
- Package refactoring
* Sat Apr 11 2026 Gilver E. <roachy@fyralabs.com> - 1:0.10.2-1
- Initial stable package