Build ppa package
Filed under: Debian, Development, Linux, Ubuntu
To build a package for ppa distribution, you need some tools. To “cross compile” for releases, for example i386 and amd64 packages on the same machine, takes some more work with schroot, dchroot etc. I’ll start with explaining how to create a “local” package for your own host, I’ll add another entry on how to do an i386 package from amd64. Everything is done on ubuntu 14.04 amd64 machine in this case, and I’m rebuilding dbus.
In short you need:
- apt-get install build-essentials dpkg-buildroot schroot gpg
- gpg –gen-key
- apt-get build-dep dbus
- mkdir dbus-amd64 && cd dbus-amd64
- apt-get source dbus
- export DEB_SIGN_KEYID=
- cd dbus-directory
- make changes.
- dch -i
- dpkg-source –commit
- dpkg-buildroot -i -I
If you plan on publishing your deb packages to launchpad or some such, you need to create an account and add a ppa. This is simple and done via the http://www.launchpad.net webpage. The webpage also gives you good upload information. Note that they require signed files, so signing must work for you first.
8. Create account on launchpad.
9. Export the gpg generated key to hkp://keyserver.ubuntu.com:11371 (easiest to do via Passwords and Keys tool
10. Import the key to launchpad using the key fingerprint.
11. Create a new PPA from the launchpad dashboard
12. dput ppa: dbus_1.6.18-0ubuntu4.4_source.changes
The package will be built by launchpad on its own, this may take some time..
Dpkg and apt-get reading database is really slow [fixed]
I’ve had problems many times with the “reading database” step in deb package based systems getting really slow. Today it took over 1,5 minute on a quad core machine with 4 gig ram, which is simply over the top for me.
Within 5 minutes of searching I found this:
http://antti-juhani.kaijanaho.fi/newblog/archives/521
So a total of 7 minutes later, it takes me less than 2 seconds to install small packages again. I should’ve found this earlier :-).