We are looking for a volunteer to take over maintainership! Please see issue #50 if you are interested in volunteering, or just want the latest information.
This script avoided the need to illegally redistribute Spotify binaries
by downloading the Linux client .deb
from
repository.spotify.com,
converting it to .rpm
format, and then installing it along with some
evil hacks to provide the necessary libraries where Spotify expects
them to be.
Currently this code is broken. Work to fix it, such as PR #37 has stalled and seems unlikely to resume any time soon.
In the mean time, you may find the following alternatives useful:
- megamaced/spotify-easyrpm: Download, convert and install the Spotify for Linux package
- Spotify Web Player
- the PackMan installer which is based on a patched version of this code - see below for details
spotify-make
The hope is that we ultimately reach a unified solution which reuses the combined efforts of as many people as possible, in an efficient and collaborative manner.
This installer is conveniently pre-packaged on PackMan. The easiest way to use it is as follows:
- Install the
spotify-installer
package from PackMan via 1-click install (you can also find the button on this page), or via YaST and/or zypper. - Run
install-spotify
as a non-root user (e.g. from any terminal program).
Alternatively, if we fix some known issues, you will be able to skip PackMan and use it as follows:
- Download the
install-spotify.sh
script - Download
spotify-client.spec
and place it in/usr/src/packages/SPECS
- (optional) Read the source to make sure it's not going to pwn your computer.
- Make the script executable, e.g. from a terminal, type
chmod +x install-spotify.sh
- Run it as a non-root user, e.g. from a terminal type
./install-spotify.sh
The installer uses sudo
for operations which require root privileges, so
you may be prompted for a password during the install.
Please see CONTRIBUTING.md
.
There's a new browser-based Spotify player accessible via https://play.spotify.com/ or https://apps.facebook.com/get-spotify/.
However, it does not seem to be generally available yet, and is missing many features compared to the standalone Linux client.
This is not all my own work. The following people deserve credit and thanks for some of the code in this installer:
- Armin on the Spotify community forums, who wrote the original version.
- Marguerite Su who provided an initial
.spec
file and helped eventually convince me it was worth moving away fromalien
.
Huge thanks also to the relatively anonymous Spotify employees such as parbo who have been donating some of their free time to make the Linux client available. No thanks go to Spotify middle/upper management for consistently refusing to invest the small amount of resources required to even acknowledge their Linux-based customers, let alone support them.
This installer does not contain any material whatsoever copyrighted by Spotify:
install-spotify.sh
is a derivative of Armin's original version which he posted it without any copyright notice, so I unless I hear otherwise I'll assume it's in the public domain.spotify-client.spec
is a derivative of Marguerite Su's originalspotify.spec
, the header of which seems to imply that it's MIT-licensed (since the pristine package the header refers to is either Spotify or non-existent, depending on how you look at it).spotify-installer.spec
is all my work.
Therefore I think it's fair to say the overall license is MIT (i.e. less ambiguously, the X11 license).
I hope it's kind of obvious from the above. But since you got me on the soapbox ...
<rant length="very long">
Web forums breed endless technological misery. They are bloated, slow, clunky quagmires which result in long meandering threads of unstructured communication. Trying to install Spotify after every distribution upgrade typically involves the following steps:
- google for something like 'spotify opensuse 12.2'
- wade through a huge number of hits from web forum threads or blog post or wiki page, many of which are too old to be useful
- select the most promising looking hit
- wade through a long forum thread or web page
- re-live other people's trial-and-error experiences
- realise that most people on this thread don't really know what they're doing and no-one fully figured it out
- repeat steps 3--6 a few times
- observe that every man and his dog has come up with their own partial solution which is similar but slightly different to the next person's, due to various gotchas which apply in some cases but not others
- scream "I don't care, I just want the ****ing thing to work!" a few times
- mentally recombine several different nuggets of information
- experiment a bit
... and eventually maybe you get it to work. If you're really lucky Spotify might only segfault occasionally!
(If I was rms, now would be the time to point out that this is inevitable karma for trying to use freedom-denying software; sadly I do not possess as much integrity as him though.)
I've been working closely with Linux since 1995 and even with a lot of experience I find process this painful and frustrating every time. So I can't imagine how annoyed Linux newbies must get when they want to do something as conceptually simple as installing Spotify on an rpm-based distro, and find that they have to struggle through this crap. It flies against all conventional wisdom regarding best practices in software development and deployment.
Going through this yet again after this latest upgrade to openSUSE 12.2 was the straw that broke the camel's back (Fedora 16 was the penultimate straw...) So let's take a stand. We can and will do better! Barring an unexpected miracle from Spotify management where they suddenly decide to stop ignoring their Linux user base, the solution is relatively simple. We just need to treat the problem with respect, i.e. just like any other free or open source software project out there - it deserves standard best practices. That means an automated deployment mechanism which is tracked properly using decentralized version control, a bug tracker, and a collaborative platform which allows anyone to chip in and help in a structured fashion. Fortunately github is totally mind-bendingly awesome at this, and free! So let's use it!
</rant>