launchpad-dev team mailing list archive
-
launchpad-dev team
-
Mailing list archive
-
Message #06141
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