Amarok Autopackage

Taj Morton tajmorton at gmail.com
Fri Nov 3 18:35:08 UTC 2006


Hey Guys,
Thanks for your work on Amarok--it's a great music player!

I'm emailing just to let you know that I've made Autopackages of Amarok 1.4.4
and its deps (taglib, tunepimp, musicbrainz, and libofa). For those of you who
don't know what Autopackage (http://autopackage.org) is, it's a distro-neutral
packaging system designed to make it easy to install software on Linux. It also
works around binary compatibility problems like C++ ABI differences and linking
X libs statically.

You can download the Amarok 1.4.4 autopackage from
http://www.wildgardenseed.com/Taj/autopackage/amarok/amarok/Amarok%20Audio%20Player%201.4.4.package

To install it, just make it executable and run it. Unless you already have
Autopackage 1.2 on your system, the package will download and install the
autopackage support code, and then install Amarok and its dependencies. If
Amarok is already installed via RPM into the same place where the Autopackage
will be installed (kde-config --prefix), and you're installing as root, then the
RPM will automatically be removed.

I made 2 patches to Amarok for the Autopackage:
1. http://www.wildgardenseed.com/Taj/autopackage/amarok/amarok/loader.patch
This patch forces amarok to run the amarokapp installed in the same location as
the amarok binary. I had to do this because if Amarok is installed into a place
which isn't in the $PATH yet (e.g., installed as user), then amarok will give
the error "couldn't find amarokapp". If /proc/self/exe can't be read, then it
falls back to searching PATH.

2. http://www.wildgardenseed.com/Taj/autopackage/amarok/amarok/xmmswrapper.patch
Hacks the Makefile and makes automake whine. I had to do this because g++-3.3
did something weird when compiling xmmswrapper and it wouldn't link properly
with -O2 or -O1. This patch forces -O0 for xmmswrapper.

Is this package something you're interested in listing on your downloads page?
Or, better, maintaining? Creating autopackages is pretty easy (just run
`makeinstaller`), but the build system will need to have 2 versions of g++
installed (g++-3.2/3.3 and g++-3.4/4.0) so that Autopackage can install the
appropriate binary onto the user. However, getting 2 g++s isn't really too
hard...even if your distro doesn't provide the other version, I found it's
fairly easy to build gcc/g++ and install it into /opt.

Let me know how it works for you!
Cheers,
Taj




More information about the Amarok mailing list