public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] Thoughts about broken package handling
@ 2011-06-26  2:59 Stuart Longland
  2011-06-26  4:23 ` [gentoo-dev] " Duncan
                   ` (5 more replies)
  0 siblings, 6 replies; 22+ messages in thread
From: Stuart Longland @ 2011-06-26  2:59 UTC (permalink / raw
  To: gentoo-dev

Hi all,

I've been busy for the past month or two, busy updating some of my
systems.  In particular, the Yeeloong I have, hasn't seen attention in a
very long time.  Soon as I update one part however, I find some swath of
packages break because of a soname change, anything Python-related stops
working because of a move from Python 2.6 to 2.7, or Perl gets updated.

Currently we have three packages that handle this separately:
- revdep-rebuild (handles packages broken by soname changes, etc)
- python-updater (handles Python module rebuilds after upgrading Python)
- perl-cleaner (handles Perl module rebuilds after upgrading Perl)

My bugbear at the moment, is often a package is broken for more than one
reason in my situation, and I find myself having to manhandle the
package lists generated by the above three, building each package
one-by-one, until I manage to rebuild them all.

Or sometimes a package being rebuilt by revdep-rebuild fails because of
a Python module, I'll manually merge that module, then play another
round of Russian Roulette to see which package gets shot down next.

Issues are complicated further when revdep-rebuild or whatever tool,
passes the list to Portage, and it fails to calculate dependencies... I
just had one before where revdep-rebuild failed because there were no
ebuilds to satisfy:

	sys-devel/gcc:i686-pc-linux-gnu-4.4.5

I've worked around this by picking up the list generated by
revdep-rebuild (in /var/cache/... ), and using a bash while read loop to
pass each package individually to emerge for building.

How well is this cleanup trio working?  It works, but I think it could
improve.

The thing I see is that all three are fixing essentially the same
problem: package breakage due to a change in the dependencies.  I think
there is scope for a single package, or better yet, Portage extension,
that handles all three cases.

Concept:

Tool will be written in separate modules to handle:
- ELF soname change breakage
- Python module updates
- Perl module updates
- other checks that can cause broken packages...

Each check is run in order, generating a list of packages that should be
rebuilt.

Having generated this list, it is then evaluated to sort the candidate
packages into a suitable order for rebuilding.

This is then passed to the package manager... three modes for rebuilds:
- All-in-one-hit rebuild: What the tools presently do now.
- One-by-one rebuild: For each package in the list, build each one
individually... useful if Portage coughs up an error otherwise
- Dump the list: allows people to handle it with their own tools

I might see if I can rough something up, but that's what I'm thinking
of.  It has been an irritation for me for quite some time.

Thoughts,
-- 
Stuart Longland (aka Redhatter, VK4MSL)      .'''.
Gentoo Linux/MIPS Cobalt and Docs Developer  '.'` :
. . . . . . . . . . . . . . . . . . . . . .   .'.'
http://dev.gentoo.org/~redhatter             :.'

I haven't lost my mind...
  ...it's backed up on a tape somewhere.



^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2011-06-29 12:26 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-26  2:59 [gentoo-dev] Thoughts about broken package handling Stuart Longland
2011-06-26  4:23 ` [gentoo-dev] " Duncan
2011-06-26  5:44 ` [gentoo-dev] " Benedikt Böhm
2011-06-26  5:53   ` Kent Fredric
2011-06-26 12:27   ` Stuart Longland
2011-06-26 12:41     ` Patrick Lauer
2011-06-26 14:31     ` [gentoo-dev] " Duncan
2011-06-26 14:42       ` Fabian Groffen
2011-06-27  3:31         ` Duncan
2011-06-27  5:45         ` Ciaran McCreesh
2011-06-27 16:44           ` Graham Murray
2011-06-28  4:54             ` Kent Fredric
2011-06-28  6:17               ` Ciaran McCreesh
2011-06-28 11:25                 ` Peter Volkov
2011-06-28  6:51               ` [gentoo-dev] REMOVE Stelios Boulios
     [not found]               ` <19112.5501798981$1309243833@news.gmane.org>
2011-06-28  8:14                 ` [gentoo-dev] REMOVE Duncan
2011-06-26  6:51 ` [gentoo-dev] Thoughts about broken package handling Kent Fredric
2011-06-26 11:48 ` Thomas Sachau
2011-06-26 12:34   ` Stuart Longland
2011-06-29 12:25   ` Arfrever Frehtes Taifersar Arahesis
2011-06-26 15:30 ` Philip Webb
2011-06-26 23:49 ` Stefan Behte

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox