Package alsa-utils: wrong path for alsactl in udev rules

REPRODUCIBILITY: Always upon installation
OS VERSION: Tested in 4.5.0.21
HARDWARE: Pinephone Pro
UI LANGUAGE: English
REGRESSION: (no idea, it’s the first device + version I am using that has alsa-utils pre-installed).

DESCRIPTION:

Package alsa-utils comes with a udev rule that expects alsactl to be installed in /sbin/alsactl, but the spec file installs all executable in /usr/bin/ and /usr/sbin/

PRECONDITIONS:

A device whose installation includes alsa-utils is needed (obviously). In my case, that’s PinePhone Pro running the community native port of SailfishOS.

STEPS TO REPRODUCE:

  1. Install SailfishOS
  2. Boot
  3. Check the content of logs with journalctl, and check the content of rpm -ql alsa-utils

EXPECTED RESULT:

No error message should happen.

ACTUAL RESULT:

  • journalctl shows a file not found error when udev tries to run that rule.
  • rpm -ql alsa-utils confirms that it is installed as /usr/sbin/altactl, not /sbin/alsactl as the udev rule expects it.

MODIFICATIONS:

Happens with stock community SailfishOS straight out of a fresh flash, no customiation involved.

ADDITIONAL INFORMATION:

Possible work-around:

ln -s /usr/sbin/aslactl /sbin

This could be also handled in the spec file and added permanently to the rpm.
(or the udev rules could be updated).

3 Likes

Just mentioning that there is a fix merged for this in alsa-utils repo [alsa-utils] Fix alsactl path in udev rules. JB#61167 by mlehtima · Pull Request #3 · sailfishos/alsa-utils · GitHub

1 Like