Martin Pool's blog

Avoiding "not permitted to upload" errors from PPAs

Morten asked today on irc about an error I have hit before myself: you go to upload your new package to a PPA, and get an odd message of Not permitted to upload to the RELEASE pocket in a series in the 'CURRENT' state.

What this means is that your upload was trying to go into the Ubuntu distribution, rather than into a PPA, and you're not authorized to put it there. The underlying reason is that the command line for dput, the tool for uploading source packages, is

dput [options] [host] package.changes ...

It's easy to forget the optional host parameter and if it's omitted it uploads into the Ubuntu archive.

There is a pretty easy (if crude) way to disable this behaviour, by adding these lines to your ~/.dput.cf:

[DEFAULT]
default_host_main = notspecified

[notspecified]
fqdn = SPECIFY.A.PPA.NAME

Tips for Launchpad PPAs

Launchpad has relatively new (well, a few months old) feature called Personal Package Archives.

PPAs have been taken up quite a lot by people making variations of packages in Ubuntu. One common situation is that developers will put pacakages with a proposed fix for a bug up into their PPA to let people try it out and confirm the bug is fixed.

I have been using them this week to make packages of Bazaar.

It's a pretty nice service; with probably less hassle than setting it up ourselves we have a nice apt archive that can be uploaded to by anyone in our team, and that rebuilds across several supported architectures. I hope with a bit more scripting we will be building these automatically on each release.

One piece of advice is to create a team specifically for packaging. PPAs as the name implies are owned by people or teams, so the URLs people put into their apt sources are bound to that team. So if, maybe later on, you want to allow more people, or indeed fewer people, to upload to the archive that can most easily be accomplished by making a specific team for it in the first place. Team memberships is transitive so you can always add your whole project's team to the PPA team. I put ours under ~bzr but it would have been better to use ~bzr-ppa. Or indeed, to allow for several different types of archive, maybe ~bzr-ppa-stable.

(More later, it's after 6 and enough for a week.)

About Launchpad betas

Launchpad.net has a fairly complex system by which new code is gradually exposed to a larger audience. This is managed through Bazaar branches, and automatic merging between them.

As this has evolved there has been a little confusion between launchpad.net, edge, beta, staging and so on. So to explain this there is now a help page about Launchpad beta testing.

Archives 2008: May Apr Feb 2007: Jul May Feb Jan 2006: Dec Nov Oct Sep Aug Jul Jun Jan 2005: Sep Aug Jul Jun May Apr Mar Feb Jan 2004: Dec Nov Oct Sep Aug Jul Jun May Apr Mar Feb Jan 2003: Dec Nov Oct Sep Aug Jul Jun May