Spotifyd / spotifyd

A spotify daemon
https://spotifyd.rs
GNU General Public License v3.0
9.68k stars 444 forks source link

Systemd service looks for binary in /usr/bin but cargo installs to ~/.cargo/bin. #1286

Open benjaminpotter opened 1 month ago

benjaminpotter commented 1 month ago

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

  1. Clone the repository.
  2. Follow the installation instructions from the wiki (cargo build --release && cargo install --path . --locked).
  3. Follow the systemd instructions from the wiki (cp contrib/spotifyd.service ~/.config/systemd/user).
  4. 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

Versions (please complete the following information):

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.