removal of arch-all packages while there are arch-specific packages dependent on it results in uninstallable binaries

Bug #34086 reported by LaMont Jones
24
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
Critical
Julian Edwards
Ubuntu
Invalid
Undecided
Unassigned

Bug Description

it is not uncommon for architectures to be out-of-sync with i386 in their package building, and there are situations where this can be days (due to FTBFS issues, etc).

In situations where an architecture specific package depends (directly or indirectly) on a specific version of an architecture independant package, it becomes uninstallable. The case in point is libgcj6, although there are several others.

If architecture foo (==hppa in our current example) has not built gcj-4.0 yet, and i386's gcj-4.0 enters the archive:

libgcj6_4.0.2-7ubuntu3_hppa.deb Depends: gcj-4.0-base (= 4.0.2-7ubuntu3), libgcj-common (>= 4.0.2-6), ...

libgcj-common_4.0.2-9ubuntu1 Depends: gcj-4.0-base (>= 4.0.2-8)

and the only way to resolve it is to visit the morgue and find libgcj-common_4.0.2-7ubuntu3_all.deb.

Having the still-needed version of libgcj-common remain in the archive (which could be as simple as "don't toss arch-all debs until all architectures have built the new version of the source package") would at least allow us to avoid the visit to the morgue.

Note that gettext Depends libgcj6, and debhelper Depends gettext, so this particular instance of the issue is blazingly painful.

Related branches

Revision history for this message
LaMont Jones (lamont) wrote :

Note that DAK didn't do this either, so this is a feature request.

Dafydd Harries (daf)
Changed in launchpad-publisher:
status: Unconfirmed → Confirmed
Revision history for this message
Celso Providelo (cprov) wrote :

Good canddate for discussion in Paris. Thank you Lamont.

Changed in launchpad-publisher:
status: Confirmed → Unconfirmed
Revision history for this message
Celso Providelo (cprov) wrote :

Lamont, we ended not discussing this at all. Is it still worth doing after all this time, I can preview that making 'domination' aware of reversed deps is not going to be easy.

Changed in soyuz:
status: New → Incomplete
Revision history for this message
Celso Providelo (cprov) wrote :

And bug #209515 request pretty much the same thing for PPA domain.

Celso Providelo (cprov)
Changed in soyuz:
importance: Low → Wishlist
status: Incomplete → Triaged
tags: added: soyuz-publish
Celso Providelo (cprov)
Changed in soyuz:
importance: Wishlist → Low
Revision history for this message
Robert Collins (lifeless) wrote :

High: we support ARM as a primary arch and it often hits this.

summary: - morguing arch-all packages can result in uninstallable binaries
+ removal of arch-all packages while there are arch-specific packages
+ dependent on it results in uninstallable binaries
Changed in launchpad:
importance: Low → High
Revision history for this message
Michael Casadevall (mcasadevall) wrote :

So I'd like to blow the dust on this bug, and like to get this implemented; archive skewing has caused considerable issues with reliably building images on ARM, and prevented our daily image builds from succeeding and has caused us to miss multiple milestones due to the extensive build time required for some ARM packages like libreoffice.

Debian has done work in implementing this in dak, so it might be possible to look at their implementation on a sane way to implement this in Soyuz: http://ftp-master.debian.org/wiki/projects/arch-all-tracking/

Revision history for this message
Adam Conrad (adconrad) wrote :

Julian and I discussed this at length over lunch yesterday, and came to the conclusion that the correct (though, admittedly, more difficult to implement) solution should be to make arch:all a proper (but special-cased) architecture in Soyuz, thus allowing us to give arch:all packages their own BPRs and only garbage-collect them when the source is superseded.

Happy to discuss this further and help the Launchpad team spec out a proper LEP for it once we feel like we're ready to move on implementation.

Revision history for this message
Francis J. Lacoste (flacoste) wrote :

This was escalated on the stakeholders list on behalf of the ARM team. Although the "proper" solution seems like "feature-scope" work that would outside of the maintenance-squad mandate, we should look if there is a dirt-cheap work-around that could work, otherwise, we should write a LEP to take through the stakeholders process for feature-squad assignment.

Changed in launchpad:
importance: High → Critical
tags: added: escalated
Changed in launchpad:
status: Triaged → In Progress
Revision history for this message
Robert Collins (lifeless) wrote :

@rreynoso45 I'm so glad you're working on this. I've marked it as assigned to you for clarity. If you need any help or mentoring please just ask here, on our IRC channel (irc.freenode.net, #launchpad-dev) or the mailing list (https://launchpad.net/~launchpad-dev).

Changed in launchpad:
assignee: nobody → Rachel Reynoso (rreynoso45)
Revision history for this message
Robert Collins (lifeless) wrote :

Looks like Rachel may be confused (based on a separate question bac pointed me at) rather than working on this; toggling the metadata back - if you are actually working on it please feel free to reset appropriately.

Changed in launchpad:
status: In Progress → Triaged
assignee: Rachel Reynoso (rreynoso45) → nobody
Revision history for this message
Christian Reis (kiko) wrote :

Why is the easy solution (a special-case check when removing the files from the archive) not a good idea?

Revision history for this message
Robert Collins (lifeless) wrote :

It may be; this is scheduled to be worked on by a maintenance squad, but so is a lot of stuff; we can reasonably expect team red to pick it up shortly when they wrap up derived distros.

Brad Figg (brad-figg)
tags: added: rls-mgr-o-tracking
Revision history for this message
Jeroen T. Vermeulen (jtv) wrote :

I suspect removal from the archive is too late a stage to handle this properly. But good news: as of just a few weeks, the Dominator supports multiple live versions of the same package in the same context. So one of the long-standing obstacles may now be out of the way.

Revision history for this message
Julian Edwards (julian-edwards) wrote : Re: [Bug 34086] Re: removal of arch-all packages while there are arch-specific packages dependent on it results in uninstallable binaries

On Tuesday 04 October 2011 12:15:03 you wrote:
> I suspect removal from the archive is too late a stage to handle this
> properly. But good news: as of just a few weeks, the Dominator supports
> multiple live versions of the same package in the same context. So one
> of the long-standing obstacles may now be out of the way.

Removal is far too late indeed, they need to remain in the index.

Changed in launchpad:
status: Triaged → In Progress
assignee: nobody → Julian Edwards (julian-edwards)
杨敏 (mandy9337)
Changed in launchpad:
assignee: Julian Edwards (julian-edwards) → 杨敏 (mandy9337)
status: In Progress → Confirmed
Changed in ubuntu:
status: New → Invalid
William Grant (wgrant)
Changed in launchpad:
assignee: 杨敏 (mandy9337) → Julian Edwards (julian-edwards)
status: Confirmed → In Progress
tags: added: rls-mgr-p-tracking
removed: rls-mgr-o-tracking
Revision history for this message
Launchpad QA Bot (lpqabot) wrote :
tags: added: qa-needstesting
Changed in launchpad:
status: In Progress → Fix Committed
Revision history for this message
William Grant (wgrant) wrote :

This breaks domination between arch-indep and arch-specific binaries. http://paste.ubuntu.com/711550/ is a test that shows this.

I'm reverting this and landing the new test.

tags: added: bad-commit-14159 qa-bad
removed: qa-needstesting
William Grant (wgrant)
Changed in launchpad:
status: Fix Committed → In Progress
Revision history for this message
Launchpad QA Bot (lpqabot) wrote :
tags: added: qa-needstesting
removed: qa-bad
Changed in launchpad:
status: In Progress → Fix Committed
tags: added: qa-ok
removed: qa-needstesting
William Grant (wgrant)
Changed in launchpad:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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