Gentoo Archives: gentoo-dev

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: Thoughts about broken package handling
Date: Sun, 26 Jun 2011 04:24:19
Message-Id: pan.2011.06.26.04.23.14@cox.net
In Reply to: [gentoo-dev] Thoughts about broken package handling by Stuart Longland
1 Stuart Longland posted on Sun, 26 Jun 2011 12:59:05 +1000 as excerpted:
2
3 > Currently we have three packages that handle this separately:
4 > - revdep-rebuild (handles packages broken by soname changes, etc)
5 > - python-updater (handles Python module rebuilds after upgrading Python)
6 > - perl-cleaner (handles Perl module rebuilds after upgrading Perl)
7 >
8 > My bugbear at the moment, is often a package is broken for more than one
9 > reason in my situation, and I find myself having to manhandle the
10 > package lists generated by the above three, building each package
11 > one-by-one, until I manage to rebuild them all.
12
13 I've gone thru that once on my netbook, and will likely be doing it again
14 every 4-8 months, as I don't keep it as updated as my workstation (which
15 I try to update weekly to daily).
16
17 At 6-8 months it's doable, but requires patience... Much beyond that and
18 doing a new stage install might well be easier.
19
20 > Issues are complicated further when [portage] fails to calculate
21 > dependencies [due to python breakage, etc]...
22
23 > The thing I see is that all three are fixing essentially the same
24 > problem: package breakage due to a change in the dependencies. I think
25 > there is scope for a single package, or better yet, Portage extension,
26 > that handles all three cases.
27 >
28 > Concept:
29 >
30 > Tool will be written in separate modules to handle:
31 > - ELF soname change breakage
32 > - Python module updates
33 > - Perl module updates
34 > - other checks that can cause broken packages...
35
36 > [The combined list] is then passed to the package manager...
37
38 > three modes for rebuilds:
39 > - All-in-one-hit [current]
40 > - One-by-one [if portage chokes on the big list]
41 > - Dump the list: allows people to handle it with their own tools
42 >
43 > I might see if I can rough something up, but that's what I'm thinking
44 > of. It has been an irritation for me for quite some time.
45 >
46 > Thoughts,
47
48 I'm sure most users will find this VERY useful. I know I will, in no
49 small part because while I've integrated revdep-rebuild into my regular
50 update routine, the perl and python rebuilders don't get run as
51 regularly. If there was a single tool that could scan all three sets,
52 plus be modular enough to expand to others as necessary...
53
54 That's even for routine updates. For the longer term updates, the second
55 and third modes would be a HUGE help, particularly as they could allow
56 etc-updates or other config and other not-automatically-package-install-
57 triggered updates at critical points as well, something the first mode
58 doesn't really handle.
59
60 --
61 Duncan - List replies preferred. No HTML msgs.
62 "Every nonfree program has a lord, a master --
63 and if you use the program, he is your master." Richard Stallman