Spotify client

Latest Spotify client re-packaged from the Ubuntu packages for supported Fedora and RHEL/CentOS distributions.spotify-client

Supported distributions:

  • Fedora – i686/x86_64
  • RHEL/CentOS – x86_64

This repository does not require any additional repository be enabled on your system.

Package information

This package tries to comply as maximum to the Fedora Packaging Guidelines; this means the packages has debuginfo packages, default Fedora’s GCC compile time options (where possible) and standard locations for binaries, data and docs.

The provided client is binary only and compiled for Ubuntu, so the Fedora package de-assembles the original Ubuntu package and moves all files in the appropriate places.

The spotify binary has a RUNPATH of its origin folder. It requires an OpenSSL 1.0 library and a FFMpeg 0.10.6 library compiled with minimum options (no external dependencies) for local file playback and conversion. There are a couple of caveats:

  • The OpenSSL 1.0 library breaks Steam if it is picked up automatically from the system path. It can be loaded from the RUNPATH in its private folder.
  • The FFMpeg library is loaded ONLY on the system path libraries, ignoring the RUNPATH.

Due to this, I’ve removed the RUNPATH from the binary, put all the libraries in its private folder and made sure that only the spotify binary can access them.

$ cd /usr/lib64/spotify-client
$ ls -l lib*
lrwxrwxrwx. 1 root root        23 Mar  1 19:21 libavcodec.so.53 -> libavcodec.so.53.61.100
-rwxr-xr-x. 1 root root   6986488 Mar  1 19:21 libavcodec.so.53.61.100
lrwxrwxrwx. 1 root root        24 Mar  1 19:21 libavformat.so.53 -> libavformat.so.53.32.100
-rwxr-xr-x. 1 root root   1190864 Mar  1 19:21 libavformat.so.53.32.100
lrwxrwxrwx. 1 root root        22 Mar  1 19:21 libavutil.so.51 -> libavutil.so.51.35.100
-rwxr-xr-x. 1 root root    136424 Mar  1 19:21 libavutil.so.51.35.100
-rwxr-xr-x. 1 root root 113496288 Apr 10 11:00 libcef.so
-rwxr-xr-x. 1 root root   1864256 Mar  1 19:23 libcrypto.so.1.0.0
lrwxrwxrwx. 1 root root        23 Mar  1 19:21 libpostproc.so.52 -> libpostproc.so.52.0.100
-rwxr-xr-x. 1 root root     97808 Mar  1 19:21 libpostproc.so.52.0.100
-rwxr-xr-x. 1 root root    402056 Mar  1 19:23 libssl.so.1.0.0
lrwxrwxrwx. 1 root root        24 Mar  1 19:21 libswresample.so.0 -> libswresample.so.0.6.100
-rwxr-xr-x. 1 root root     36392 Mar  1 19:21 libswresample.so.0.6.100
-rwxr-xr-x. 1 root root     92464 Apr 14 14:47 libwidevinecdmadapter.so
$ chrpath -l spotify
spotify: no rpath or runpath tag found.

Installation

To install the repository on a supported Fedora distribution, run as root the following command:

dnf config-manager --add-repo=https://negativo17.org/repos/fedora-spotify.repo

To do the same on CentOS/RHEL:

yum-config-manager --add-repo=https://negativo17.org/repos/epel-spotify.repo

Then, to install the client and its data files, perform the following command:

# yum -y install spotify-client

Bugs

The address for contacting me is in the package’s changelog.

318 thoughts to “Spotify client”

  1. Hi, thank you for the amazing work you did! How about the possibility to install it without root permission? I tried unpacking the rpm but it seems quite complicated to make everything work easily.

    1. Well it installs like any other package, with root permissions because it is in /usr but you execute it as your user. If you just want a tarball, just unpack the RPM or the original DEB file in one folder and put in there also the dependent libraries the other spotify-* packages, which are different per distribution.

Leave a Reply