Name: pocketds-userspace Version: 20260430 Release: 20260505220729%{?dist} Summary: AYANEO Pocket DS userspace integration (udev hwdb, InputPlumber, ALSA) License: GPL-2.0-or-later URL: https://github.com/ROCKNIX/distribution Source0: 10-ayaneo.hwdb Source1: 01-ayaneo-controller.yaml Source2: 01-ayaneo-controller-japanese.yaml Source3: ayaneo_mcu_xbox.yaml Source4: ayaneo_mcu_japanese.yaml Source5: 99-namehints.conf # Image-builder content moved out of mkosi.postinst.chroot: Source10: pocketds-toggle-gamepad Source11: pocketds-toggle-joymouse Source12: MODE-TOGGLES.md Source13: 61-pocketds-touchscreens.rules Source15: kwinoutputconfig.json Source16: khotkeysrc Source17: 50-pocketds-printk.conf Source18: 10-wheel-nopasswd BuildArch: noarch # `%%{_udevhwdbdir}` lives in systemd-rpm-macros; the COPR minimal aarch64 # buildroot doesn't pull it in implicitly, so we ask for it explicitly. BuildRequires: systemd-rpm-macros # udev runs hwdb-update from the systemd package. InputPlumber configs are only # meaningful if InputPlumber is present, but we don't hard-require it -- the # files are inert otherwise. Requires: systemd-udev Recommends: inputplumber %description Drops in the device-specific userspace integration files for the AYANEO Pocket DS that ROCKNIX layers in via filesystem/ overlays: * /usr/lib/udev/hwdb.d/10-ayaneo.hwdb -- volume rocker keysyms * /usr/share/inputplumber/devices/*.yaml -- gamepad composition * /usr/share/inputplumber/capability_maps/*.yaml -- MCU-keyed remappings * /etc/alsa/conf.d/99-namehints.conf -- enable extended PCM namehints (replaces ROCKNIX's alsa-lib patch) %prep # nothing -- all sources are dropped in directly %build # nothing to build %install install -D -m 0644 %{SOURCE0} %{buildroot}%{_udevhwdbdir}/10-ayaneo.hwdb install -d %{buildroot}%{_datadir}/inputplumber/devices install -d %{buildroot}%{_datadir}/inputplumber/capability_maps install -m 0644 %{SOURCE1} %{buildroot}%{_datadir}/inputplumber/devices/01-ayaneo-controller.yaml install -m 0644 %{SOURCE2} %{buildroot}%{_datadir}/inputplumber/devices/01-ayaneo-controller-japanese.yaml install -m 0644 %{SOURCE3} %{buildroot}%{_datadir}/inputplumber/capability_maps/ayaneo_mcu_xbox.yaml install -m 0644 %{SOURCE4} %{buildroot}%{_datadir}/inputplumber/capability_maps/ayaneo_mcu_japanese.yaml install -D -m 0644 %{SOURCE5} %{buildroot}%{_sysconfdir}/alsa/conf.d/99-namehints.conf # --- gamepad / joymouse mode toggles (driven by Plasma shortcuts) --- install -D -m 0755 %{SOURCE10} %{buildroot}%{_bindir}/pocketds-toggle-gamepad install -D -m 0755 %{SOURCE11} %{buildroot}%{_bindir}/pocketds-toggle-joymouse install -D -m 0644 %{SOURCE12} %{buildroot}%{_docdir}/%{name}/MODE-TOGGLES.md # --- per-DSI touchscreen output mapping --- install -D -m 0644 %{SOURCE13} %{buildroot}%{_sysconfdir}/udev/rules.d/61-pocketds-touchscreens.rules # --- ALSA UCM profile for SM8550-APS (machine name on the Pocket DS) --- # Pocket DS hardware (codec topology) is identical to the SM8550 HDK # reference board, so just symlink HDK's profile under the APS name. # The conf.d entry pointing into Qualcomm/sm8550/HDK/ is exactly how # the upstream alsa-ucm-conf wires HDK itself — same indirection # matters because Include "/Qualcomm/.../HiFi.conf" paths resolve # from the actual file's directory after symlink resolution. install -d %{buildroot}%{_datadir}/alsa/ucm2/conf.d/sm8550 ln -sf ../../Qualcomm/sm8550/HDK/SM8550-HDK.conf \ %{buildroot}%{_datadir}/alsa/ucm2/conf.d/sm8550/SM8550-APS.conf # --- /etc/skel: shipped to every new user (incl. the default `pocketds`) --- install -d %{buildroot}%{_sysconfdir}/skel/.config install -m 0644 %{SOURCE15} %{buildroot}%{_sysconfdir}/skel/.config/kwinoutputconfig.json install -m 0644 %{SOURCE16} %{buildroot}%{_sysconfdir}/skel/.config/khotkeysrc # --- misc system bits --- install -D -m 0644 %{SOURCE17} %{buildroot}%{_sysconfdir}/sysctl.d/50-pocketds-printk.conf install -D -m 0440 %{SOURCE18} %{buildroot}%{_sysconfdir}/sudoers.d/10-wheel-nopasswd %files %{_udevhwdbdir}/10-ayaneo.hwdb %{_datadir}/inputplumber/devices/01-ayaneo-controller.yaml %{_datadir}/inputplumber/devices/01-ayaneo-controller-japanese.yaml %{_datadir}/inputplumber/capability_maps/ayaneo_mcu_xbox.yaml %{_datadir}/inputplumber/capability_maps/ayaneo_mcu_japanese.yaml %config(noreplace) %{_sysconfdir}/alsa/conf.d/99-namehints.conf # Mode-toggle helpers + doc %{_bindir}/pocketds-toggle-gamepad %{_bindir}/pocketds-toggle-joymouse %doc %{_docdir}/%{name}/MODE-TOGGLES.md # Touchscreen→panel udev mapping %{_sysconfdir}/udev/rules.d/61-pocketds-touchscreens.rules # ALSA UCM profile %{_datadir}/alsa/ucm2/conf.d/sm8550/SM8550-APS.conf # /etc/skel: kwin output layout + custom-shortcut bindings %{_sysconfdir}/skel/.config/kwinoutputconfig.json %{_sysconfdir}/skel/.config/khotkeysrc # Misc system bits %{_sysconfdir}/sysctl.d/50-pocketds-printk.conf %{_sysconfdir}/sudoers.d/10-wheel-nopasswd %post %{?systemd_post} /usr/bin/systemd-hwdb update >/dev/null 2>&1 || : %postun %{?systemd_postun} if [ $1 -eq 0 ]; then /usr/bin/systemd-hwdb update >/dev/null 2>&1 || : fi %changelog * Wed May 06 2026 Pocket DS Maintainers - %{version}-%{release} - Release auto-stamped from build_timestamp; full history in git log