Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

However, there are cases when the standard version doesn't cut it. An important service might require ita newer version, or a specific local policy demands a certain patch.specific patch.

In that case you have no other choice than to use custom software. 

If you're going to create custom software, chances are that you need to install it on multiple systems. That's why it is a good idea to distribute and manage them using the same tool as the distro: apt-get.

For Ubuntu, most of the time you can find newer versions on Launchpad's Personal Package Archive. 

We keep a repository of our custom Ubuntu software packages at http://ubuntu.terena.net. Since there is no private/commercial/etc software in this repository, we might move this to Launchpad some day.

When creating your own versions, you are responsible for updating the packages and the repository.

Since this can happen very infrequently, I detailed the steps the steps to (re)create the packages and the repository below as documentation. This example uses the Modmellon module for apache.

 

  • Build package:

    Code Block
    languagebash
    apt-get install build-essential dpkg-dev devscripts (one time only)
    dget http://non-gnu.uvt.nl/debian/wheezy/libapache2-mod-auth-mellon/libapache2-mod-auth-mellon_0.6.0-1.dsc
    dpkg-source -x libapache2-mod-auth-mellon_0.6.0-1.dsc
    cd libapache2-mod-auth-mellon-0.6.0
    dch -i (Add note why rebuild was done)
    dpkg-buildpackage -kE6EF488D -B
    (install any missing libs etc)
    dpkg-buildpackage -kE6EF488D -B
  • Collect all debs and prepare archive 

    Code Block
    languagebash
    cp ../*deb ~/debs/
    cd ~/apt
    reprepro --ask-passphrase -Vb . includedeb precise ~/debs/*deb
  • Sync the dists and pool directories to the web server: 

    Code Block
    Download the description
    language

 

  • bash
    rsync -av dists pool godzilla:/pub/www/ubuntu.terena.net/

...