spotifyd
spotifyd copied to clipboard
Systemd service looks for binary in /usr/bin but cargo installs to ~/.cargo/bin.
Description
The service file found at contrib/spotifyd.service tries to find the spotifyd binary from /usr/bin but installation instructions cause the binary to install at ~/.cargo/bin. When the user tries to enable the service via systemctl --user enable spotifyd.service --now it fails to start the service.
To Reproduce
- Clone the repository.
- Follow the installation instructions from the wiki (
cargo build --release && cargo install --path . --locked). - Follow the systemd instructions from the wiki (
cp contrib/spotifyd.service ~/.config/systemd/user). - Attempt to start the service (
systemctl --user enable spotifyd.service --now).
Expected behavior
The service starts and the device is visible as a speaker in other spotify clients on the same network.
Logs No logs, sorry.
Compilation flags
- [ ] dbus_mpris
- [ ] dbus_keyring
- [ ] alsa_backend
- [ ] portaudio_backend
- [ ] pulseaudio_backend
- [x] rodio_backend
Versions (please complete the following information):
- OS: Fedora Linux Asahi Remix 39 (Workstation Edition)
- Spotifyd: 357e1476fd4e987b82d00ac7b70891d1730509e8
- cargo: cargo 1.77.2 (e52e36006 2024-03-26)
I have not used the Rust toolchain before but I believe, by default, cargo install does not install to /usr/bin. The user can specify the --root argument to change the install path. However, I think the spotifyd.service executable path should reference the default cargo install path.