Skip to content

rootfs: install the AYANEO 3 udev rule in the install target - #556

Merged
ShadowApex merged 2 commits into
ShadowBlip:mainfrom
matmartinez:ayaneo-udev-rule-install
Oct 6, 2026
Merged

ShadowApex merged 2 commits into
ShadowBlip:mainfrom
matmartinez:ayaneo-udev-rule-install

Conversation

@matmartinez

Copy link
Copy Markdown
Contributor

rootfs/usr/lib/udev/rules.d/70-ayaneo-modules.rules has been in the tree
since #536, but rootfs/Makefile's install target never installs it, so
make install doesn't place it under $(PREFIX)/lib/udev/rules.d/. Every
other file in rootfs/ is installed by that target; this one was missed.

The practical effect: distro packages built via make install (Bazzite's
Terra package among them) ship OpenGamepadUI without the rule, so the AYANEO
3 plugin's eject / reset / controller_power sysfs attributes stay
root-only and the plugin can't perform a module eject without the user
dropping the rule into /etc/udev/rules.d/ by hand. With the rule installed
(to /usr/lib/udev/rules.d/ when PREFIX=/usr) eject works out of the box.

This adds the rule to the install target (and removes it in uninstall),
following the same install -Dm644 … $(PREFIX)/lib/… pattern as the systemd
user units directly above it.

Verified that the install line lands the rule at
$(PREFIX)/lib/udev/rules.d/70-ayaneo-modules.rules (i.e.
/usr/lib/udev/rules.d/… for a system install).

Note for packagers: the file now reaches the build root, but a spec/recipe
that enumerates %files explicitly (rather than globbing the install tree)
will also need to list the new path to include it in the package.

70-ayaneo-modules.rules has been in the tree since ShadowBlip#536 but the install
target never installs it, so make install (and packages built from it)
ship without it. Add it to install/uninstall, matching the systemd user
unit pattern, so the AYANEO 3 plugin's eject/reset/controller_power sysfs
attributes are writable out of the box.

@ShadowApex ShadowApex left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The RPM build is currently failing with this change:
https://github.com/ShadowBlip/OpenGamepadUI/actions/runs/36744549618/job/111245124550#step:3:10071

Once you update the RPM spec with this new file, the build should pass.

@matmartinez

Copy link
Copy Markdown
Contributor Author

Thanks — fixed in 83b67b8. The spec's %files enumerates paths explicitly, so the rule that make install now drops under /usr/lib/udev/rules.d/ was landing unpackaged; I've added it to the list right after the systemd user units. This is the packager case I'd flagged in the PR description, now handled in-tree. CI should be green on the next run.

@ShadowApex
ShadowApex merged commit 0db5812 into ShadowBlip:main Oct 6, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants