Amarok 1.4 is obsolete, but it still is my preferred linux audio player (foobar2k is my choice for windows). I know that there is a newer version out there called amarok2, but as with all of KDE4 it is in my opinion lacking features the previous versions had. Especially the interface is just a big different approach, just look at some screenshots and you will know what I mean.
You might think now: Why don’t I simply install the Amarok 1.4 from the AUR or from kdemod-legacy? The answer is that the AUR version does not build at all with software of newer versions such as gcc and the kdemod build just keeps on crashing. Seriously, I have used the later one for a very long time now, but it keeps on crashing randomly.
Old… one might say stable software… where would you look for that? Debian! My first try was to just use Debians binarys and install them with a PKGBUILD. But it did not work, I don’t remember why exactly, but it had to do with the fact that kde(mod) is installed to /opt/kde on arch and that the libraries weren’t the same.
Yesterday I decided to take a look at chroot again, I already use it for my bundled arch32 installation anyway. I’ve set it up and now amarok is playing without crashing all the time. Awesome!
This is roughly how I did it:
- set up a debian installation in somewhere like /opt/debian and install amarok plus everything else you need via apt-get (eg. python for some plugins)
- copy over some important files, see the arch32 article for details
- create something like /etc/rc.d/debian which contains (adjust to your needs, make sure you mount the folder which has all the music; the mysql sock is used when you try to connect to localhost and dev is for accessing alsa’s dmix):
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
case $1 in
start)
stat_busy „Starting Debian chroot“
mount –bind /var/lib/dbus /opt/debian/var/lib/dbus
mount –bind /proc /opt/debian/proc
mount –bind /tmp /opt/debian/tmp
mount –bind /home /opt/debian/home
mount –bind /dev /opt/debian/dev
ln -f /tmp/mysql.sock /opt/debian/var/run/mysqld/mysqld.sock
add_daemon debian
stat_done
;;
stop)
stat_busy „Stopping Debian chroot“
umount /opt/debian/var/lib/dbus
umount /opt/debian/proc
umount /opt/debian/tmp
umount /opt/debian/home
umount /opt/debian/dev
rm_daemon debian
stat_done
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo „usage: $0 {start|stop|restart}“
esac
exit 0
#!/bin/bash
echo „Starting ROCK stable amarok (from within debian chroot)…“
chroot /opt/debian su thoughtcrime -c „amarok $*“
- And the other one called /usr/bin/amarok, which just calls the previous one with sudo:
#!/bin/bash
sudo /usr/bin/amarok_debian
In the end, I want to warn you that if you use this method, you will not be able to download covers from amazon (note: there are plugins which can do a better job anyway) anymore as well as retrieve artist/song/album information from wikipedia inside of amarok. Why? Because the Web 2.0, fast as it is, just changes and Debian’s amarok does not have the needed patches to keep track of it. KDEmod does, but it is not stable.