Gentoo Archives: gentoo-dev

From: Thomas Sachau <tommy@g.o>
To: gentoo-dev@l.g.o
Cc: Stuart Longland <redhatter@g.o>
Subject: Re: [gentoo-dev] Thoughts about broken package handling
Date: Sun, 26 Jun 2011 11:49:00
Message-Id: 4E071C72.6000701@gentoo.org
In Reply to: [gentoo-dev] Thoughts about broken package handling by Stuart Longland
1 chrome://messenger/locale/messengercompose/composeMsgs.properties:
2 > Hi all,
3 >
4 > I've been busy for the past month or two, busy updating some of my
5 > systems. In particular, the Yeeloong I have, hasn't seen attention in a
6 > very long time. Soon as I update one part however, I find some swath of
7 > packages break because of a soname change, anything Python-related stops
8 > working because of a move from Python 2.6 to 2.7, or Perl gets updated.
9 >
10 > Currently we have three packages that handle this separately:
11 > - revdep-rebuild (handles packages broken by soname changes, etc)
12 > - python-updater (handles Python module rebuilds after upgrading Python)
13 > - perl-cleaner (handles Perl module rebuilds after upgrading Perl)
14
15 I am thinking about a solution for those similar to current ruby idea and already implemented for
16 cross-compilation in my multilib-portage branch of portage. The very short version:
17
18 Set the needed details in the ebuilds, where needed, in case of revdep-rebuild, either adjust the
19 SLOT var for each change requiring a rebuild of depending packages or using some new var, e.g.
20 API_SLOT for this. Ebuilds depending on packages like python or perl should define the range of
21 versions they support.
22
23 Now portage generates a (use_expanded) list of USE flags for depending packages, e.g. for a package
24 depending on python-2.6 and 2.7 it adds something like PYTHON_DEPEND="pyhon26 python27" to the list
25 of USE flags. If there is only one dependency installed (like perl or changing libs), this could be
26 a hidden USE flag.
27
28 When the dependency is now updated, the USE flags will change, so in case of portage, a --newuse
29 will catch those changes and shows those packages in the list of packages, that need to be emerged
30 again.
31
32 In case of slotted dependencies (like python, ruby or php), this would also allow the user to define
33 per package, if he wants support for one or more slots of e.g. python.

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-dev] Thoughts about broken package handling Stuart Longland <redhatter@g.o>
Re: [gentoo-dev] Thoughts about broken package handling Arfrever Frehtes Taifersar Arahesis <Arfrever@g.o>