spotifyd icon indicating copy to clipboard operation
spotifyd copied to clipboard

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

Open benjaminpotter opened this issue 1 year ago • 0 comments

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

  • [ ] 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.

benjaminpotter avatar May 28 '24 16:05 benjaminpotter