Wednesday, September 15, 2010

New Thing today: build a tarball

I'm no longer running Amarok from GIT! Today was tagging for 2.3.2 (yay!), and Nightrose needed tarball testers. A tarball is "A package of files gathered together using the tar utility." ( To clarify, once the developers agree that Amarok is ready to release, it is tagged, and compressed for testing, then available to the distribution packagers.

I've never participated in the tarball testing, because I didn't know how, and didn't like the idea of ditching my git version. However, in the last six months, building from git has become almost second nature. Leo Franchi (lfranchi) helpfully explained how to build from a tarball, in three easy steps. Step one, download. If you have never used wget, it is worthwhile learning, because it is super EASY and FAST. In this case, the command was
cd ~/kde/src/
~/kde/src$ wget
Once it downloaded, oh so quickly, it was time to untar the file, thus:
~/kde/src$ tar xf amarok-2.3.2.tar.bz2
And then build as usual:
cd $HOME/kde/build/amarok
~/kde/build/amarok$ cmake -DCMAKE_INSTALL_PREFIX=$HOME/kde -DCMAKE_BUILD_TYPE=debugfull $HOME/kde/src/amarok
(I did cmake in case it was needed, perhaps it isn't)
~/kde/build/amarok$ make -j3 && make install
In a very few minutes, it was built and running successfully!

Thanks to all the Amarok developers who have helped me learn how to help out this year.

Note: because I was already running Amarok built from git, all the directories were set up, and dependencies installed. If you are building an app from a tarball for the first time, it will be a bit more complicated, as you must set up your directories and install any dependencies too. There is usually a README file (text file) which you can open and use as your guide to installation.


  1. There was a one article in Slashdot on this year about tarballs. Question was are tarballs needed anymore as a main distribution method from upstream to downstream (distributors)?

    And as many said, the GIT really has made tarball for distributors very meaningless. But for single users the tarball is great. As you can just grap it almost with any tool. While GIT actually throws tarball away by the way that developers can just inform to distributors what GIT version they should get.

    As the source code is the software, tarball are just nice package to distribute the source code as it is. But GIT makes tarballs meaningless in the hands of the advanced person.

  2. Perhaps once all of KDE is on GIT, that will work. Until then, while we have a mixed system, I'm betting tarballs will continue to be used.

  3. Update: Build phonon 4.4.3 from the tarball:

    cd ~/kde/src/
    ~/kde/src$ wget
    tar xf phonon-4.4.3.tar.bz2
    cd phonon-4.4.3 && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=debugfull $HOME/kde/src/phonon-4.4.3
    sudo make install