Superseded binaries shown as FULLYBUILT_PENDING

Bug #378876 reported by William Grant
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
Medium
Michael Nelson

Bug Description

I just uploaded a new xserver-xorg-input-synaptics source to my PPA. It built, producing the xserver-xorg-input-synaptics binary. This binary was previously built by xfree86-driver-synaptics, which remains in the same series in that archive, with its binaries superseded. That's all fine.

However, Archive:+index and getBuildSummariesForSourceIds are of the opinion that the old builds for xfree86-driver-synaptics are FULLYBUILT_PENDING. There are no Pending binary publications in this archive.

Changed in soyuz:
assignee: nobody → Michael Nelson (michael.nelson)
importance: Undecided → Medium
milestone: none → 2.2.6
status: New → Triaged
tags: added: ppa trivial ui
Revision history for this message
Michael Nelson (michael.nelson) wrote :

Hi William,

I couldn't find a cause in the ui code, so Celso had a look and thought that this was actually a result of bug 381756. Did you resurrect any deleted sources for that package?

I'll mark it as a dupe, but if you're certain that this is not the case, un-mark it and I'll take another look.

Revision history for this message
William Grant (wgrant) wrote :

No - neither of those sources were ever deleted (as you can see on https://edge.launchpad.net/~wgrant/+archive/ppa).

You could probably reproduce on dogfood by uploading first xfree86-driver-synaptics 1.1.0-0ppa2, letting it build, and then uploading xserver-xorg-input-synaptics 1.1.1~git20090510-1ubuntu1~wgrant2.

Revision history for this message
Celso Providelo (cprov) wrote :

The repository state is fine, xserver-xorg-input-synaptics 1.1.1~git20090510-1ubuntu1~wgrant2 binaries superseded the xfree86-driver-synaptics 1.1.0-0ppa2 ones, so the later source is *cruft* (published but not needed anymore since none of its binaries are published).

This is a useful piece of information for archive administrators, we currently run into troubles once a while calculating this for the primary archive; however I'm not sure it is needed in the PPA domain.

I think we can do either of:

 1. Ignore this condition and make the source FULLYBUILT;
 2. Introduce a new build status FULLYBUILT_CRUFT and present it in the UI accordingly.

(my vote is 2)

What would you prefer ?

Revision history for this message
Julian Edwards (julian-edwards) wrote : Re: [Bug 378876] Re: Superseded binaries shown as FULLYBUILT_PENDING

It needs to be something like FULLYBUILT_SUPERSEDED, I don't like the use of
"cruft" here.

Revision history for this message
William Grant (wgrant) wrote :

I think #2 is good - it should probably be made obvious that those binaries aren't actually the ones in the archive.

Changed in soyuz:
milestone: 2.2.6 → 2.2.7
Changed in soyuz:
status: Triaged → In Progress
Revision history for this message
Michael Nelson (michael.nelson) wrote :

OK, after chatting with wgrant, I think I understand this situation a bit better now. To summarise this for a non/new Debian developer (please correct me if I'm wrong):

1. Upload MySourcePackage 0.1.0
2. Upload PotentiallyRelatedOrOutdatedPackage 0.3.1

So PotentiallyRelatedOrOutdatedPackage is Published.

Now, if MySourcePackage produces the binary 'some_tool' (v. 0.3.1) and PotentiallyRelatedOrOutdatedPackage 0.3.1 also produces the 'some_tool' binary, but v. 0.3.0, then we have the situation where the SPPH is fullybuilt, but the binary will never be published.

BUT, isn't it also possible that PotentiallyRelatedOrOutdatedPackage might produce 20 binaries, only one of which is superseded? In which case, does it really make sense to describe this SPPH in the UI as FULLYBUILT_SUPERSEDED, as some of its binaries (perhaps all but one) are published. Or perhaps this situation is possible but not likely?

Secondly, we would need to issue a second query for every SPPH that has unpublished records. Currently if the SPPH is FULLYBUILT, we request all the unpublished builds for that SPPH (expensive query). To implement option (2), for every SPPH that has unpublished builds, we'd need to issue a second query to see if there is already a later BPPH for this binary (although that query should be cheap).

Third, we'd need a new icon to represent this state right? (At least, I can't see anything slightly relevant at https://edge.launchpad.net/+graphics .) I'll ping beuno today.

Revision history for this message
William Grant (wgrant) wrote :

That's not quite right. I think some_tool 0.3.0 will fail to upload in the situation you gave, but I couldn't be sure.

The situation this bug is about goes something like this:

1. Upload SP1 1.0.
2. SP1 1.0 builds, producing BP 1.0.
3. Publisher runs. The archive now contains SP 1.0, and BP 1.0.
3. Upload SP2 2.0
4. SP2 2.0 builds, producing BP 2.0.
5. Publisher runs. The archive now contains SP2 2.0, BP 2.0, and SP1 1.0, but not SP1 1.0's binary (BP 1.0).

That is, both sources are published, but one has missing binaries. The one with missing binaries currently shows up as FULLYBUILT_PENDING - it should be FULLYBUILT_SUPERSEDED.

Revision history for this message
Michael Nelson (michael.nelson) wrote :

Ah, so I misinterpreted when Celso said "so the later source is *cruft*". OK. I'm guessing then that Celso meant "so the older source is *cruft*" or similar.

Revision history for this message
Michael Nelson (michael.nelson) wrote :

So after chatting with Celso about this, so that we can fix this now without waiting for a new icon, we'll implement (1) 'Ignore this condition and make the source FULLYBUILT' for the moment. When we have an icon to represent cruft, we can add the new status and display it in the UI.

Revision history for this message
Diogo Matsubara (matsubara) wrote : Bug fixed by a commit

Fixed in devel r8906.

Changed in soyuz:
status: In Progress → Fix Committed
Changed in soyuz:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.