← Back to team overview

launchpad-dev team mailing list archive

Re: Url change for binary package builds

 

On Sunday 09 January 2011 23:23:33 Tim Penhey wrote:
> Hi Julian,
> 
> https://code.launchpad.net/~thumper/launchpad/fix-recipe-build-
> oops/+merge/45319 changes the location of source package recipe builds to
> be under the archive (PPA) to be like binary package builds.
> 
> However to do this, I changed the id that is used at the end of +build from
> being the id for the binary package build to be the id of the build farm
> job. This means that both binary package builds and source package builds
> can share the url space of ~person/+archive/foo/+build/id.
> 
> I have general agreement from wgrant and SteveK, but it was suggested that
> you get a final OK to make sure that we don't break something unknown.
> 
> The builds are exported, but the URLs don't make up the WADL, and so can
> change under the covers.  We are effectively moving from one opaque
> identifier to another.  It was suggested that perhaps we may be breaking
> some old book marked build URLs, but it was also brought up that
> historical build records aren't all that interesting that someone might
> bookmark one.
> 
> Thoughts?

Howdy Tim

I think moving the SPR builds is a great thing to do, but I don't think we 
should be changing the existing URL.

There's 3 reasons for that:

1. /builders/build/NNNNN redirects to the right place, for both PPAs and 
Ubuntu.  It would stop redirecting to the right place for PPAs.  This is a 
super-useful URL for buildd-admins when someone gives them a build ID to look 
at.
2. URLs with build IDs would now refer to two different types of ID depending 
on whether it's Ubuntu or a PPA.  Inconsistency is bad.
3. I know for sure that people keep build IDs around to refer to later.  We 
can't change this so that ID is no longer referenced in a URL.

Also, I'm not convinved about the API argument since some admittedly crazy 
people might have serialized the API's build object to use in a later session.  
Its URL would be invalidated or at worst point to the wrong build.

Instead, I think we need to come up with a new URL that we can redirect to 
from the old one - this is Launchpad policy I think, anyway.

+build is such an awesome identifier that I am really struggling to come up 
with a new one though.  I thought of +job but that's not really capturing the 
essence of the object, perhaps +buildjob even though it's a little longer.

If we do that we'd need to also redirect the Ubuntu build URLs to a +buildjob.  
That means we need this sort of thing:

 * /ubuntu/+source/choqok/0.9.92-0ubuntu1/+build/2021361
 => /ubuntu/+source/choqok/0.9.92-0ubuntu1/+buildjob/NNNNN

 * /builders/build/12345
 => /ubuntu/+source/choqok/0.9.92-0ubuntu1/+buildjob/NNNNN
   OR ~user/+archive/ppa/+buildjob/NNNNN

 * ~user/+archive/ppa/+build/12345
 => ~user/+archive/ppa/+buildjob/NNNNN

Then everything will DTRT.  I hope.

 * It'd also be nice to then also have a 
  /builders/buildjob/12345
  to get a shortcut URL for the new IDs.

I'm happy to chat more about this if you have concerns.

Cheers.



References