[plug] Do I need a custom PPA ?

Andrew Cooks acooks at gmail.com
Mon Feb 2 10:48:26 UTC 2015

Hi Euan, Brad and other Ubuntu/Debian developers

On Fri, Jan 30, 2015 at 3:03 PM, Brad Campbell <brad at fnarfbargle.com> wrote:

> Andrew, when I bump up against that problem I just grab the deb sources
> for the version I need, and build it on the OS that I need it for.
> Sometimes a bit of makefile hacking is required (like for pre-multiarch
> systems and post-multiarch packages) but generally it *just works*.
> Just start with an apt-get build-dep libn3l and start from there.

Thanks, that helped, sort-of...

Travis is a build system that works with projects on github. The point of
the exercise is to automatically build my project (jittertrap) after every
git push, using Travis, in whatever the Travis infrastructure provides
(Ubuntu 12.04).

I don't want to include a copy of libnl with my code, so I need to tell
Travis about that. So, using a very similar process to building a debian
package, I tell Travis that my package has some dependencies and where to
find them. Why Travis decided to build it's own thing, instead of using the
Debian source package description file (.dsc), is beyond me, but fine.
Moving on.

Ubuntu 12.04 doesn't have a version of libnl3 that works for me, so I need
to backport a more recent package that I can tell Travis to use. The
backported package has to be in a public package repo for Travis to be able
to use it, so this is where the PPA comes in.

I've created a PPA [1] and started the backporting process. It seems like
the easy way to do this is with 'backportpackage' [2]. The fun part is
dealing with the dependencies...

If you look at the PPA, you'll see some other packages there, because the
new 'libnl-3' depends on other new packages that had to be backported as
* a newer 'dh-exec' (no problems).
* a newer 'linux-libc-dev' dependency, provided by the 'linux' source
package, which depends on...
** a newer 'libiberty' (no problems)
** a newer 'libunwind' (no problems)

With the build dependencies for 'linux' satisfied, the backport could
begin. Three-and-a-half hours later (on the launchpad infrastructure), the
build succeeds, but the upload fails.

*sigh*   :(

I guess I needed to learn about Ubuntu packaging anyway and overall it
seems like a good system, but why do I need to rebuild the entire kernel
and all the wonderful little packages that the 'linux' source package
produces, just to get some newer header files?



1. https://launchpad.net/~acooks/+archive/ubuntu/libnl3-backport
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.plug.org.au/pipermail/plug/attachments/20150202/5268c9e5/attachment.html>

More information about the plug mailing list