Gentoo Archives: gentoo-dev

From: Alec Warner <antarus@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: [RFC] Required Features for $package_manager to Aid... Development!
Date: Sun, 10 Sep 2006 03:59:26
Message-Id: 45038D13.3010406@gentoo.org
In Reply to: Re: [gentoo-dev] Re: [RFC] Required Features for $package_manager to Aid... Development! by Chris Gianelloni
1 Chris Gianelloni wrote:
2 > On Wed, 2006-09-06 at 21:19 -0600, Ryan Hill wrote:
3 >> Elfyn McBratney wrote:
4 >>
5 >>> I've been inspired by the local/global USE flag threads recently
6 >>> posted by Doug (Cardoe), and it got me to thinking... I've recently
7 >>> joined the pkgcore development effort, and was asked by Brian
8 >>> (ferringb) what I'd like to hack on/what my niggles with portage are.
9 >>> My personal one is why updates/ and binpkg mangling takes so long in
10 >>> portage-$current. But I'd like to know, what are everyone elses?
11 >> I've been thinking about this lately too. I think it would be a good
12 >> idea to come up with as many different use cases as we can think of and
13 >> figure out what we can already do, what we would like to do, and the
14 >> best way to do it.
15 >>
16 >>> I know that this topic have been rehashed since the dawn of
17 >>> time^Wgentoo-dev, but these things get lost, opinions change... and
18 >>> since last year, new and viable alternate package managers have
19 >>> cropped up. So, basically I'd like to ask all on this list: - what
20 >>> package manager features would make *your* life easier?
21 >> - current pet peeve is some way of dealing with SRC_URI's that use
22 >> dynamic redirects to the source files (eg.
23 >> http://nwvault.ign.com/fms/Download.php?id=57167 ->
24 >> http://someserver.com/randomlygeneratedhashthatchangeseveryhour/the_HeX_coda_01_v1.3.zip).
25 >> Since the name of the file fetched (the_HeX_coda_01_v1.3.zip) != the
26 >> one in SRC_URI (Download.php?id=57167) portage bombs. right now i have
27 >> to use RESTRICT="fetch" which sucks.
28 >
29 > There's also any SRC_URI that includes an "&"...
30 >
31 > There are some things that I would like to see from a Release
32 > Engineering standpoint. These are things that I would like some way to
33 > obtain, not necessarily from the normal user "front-end" to
34 > $package_manager, but somehow.
35 >
36 > #1. Ability to grab USE from the environment for a machine both before
37 > and after USE_EXPAND is calculated
38 > #2. Ability to ignore environment's USE when doing calculations, such as
39 > the easily grabbing the contents of the "system" target with the default
40 > USE for a profile
41
42 This is possible via USE_ORDER, you can turn whatever stacking you like
43 on or off. It's usage is not supported (as in you break it you fix it);
44 mostly this is to prevent users from futzing with USE_ORDER and then
45 complaining to us about it.
46
47 > #3. Ability to list the stable package versions for a given profile
48 > #4. Ability to list the testing package versions for a given profile
49 > #5. Ability to list the used USE flags in a given set of packages
50 > #6. Ability to list the licenses used in a given set of packages (this
51 > is especially important as we are seeing more and more packages that we
52 > are not allowed to redistribute being used accidentally)
53 > #7. Ability to list the packages that use a given set of licenses
54 > #8. Ability to list the dependency tree for packages, even if some of
55 > the dependencies are masked by keywords, rather than throwing up the
56 > "this package is masked by keywords" error for each one, allowing one to
57 > see *quickly* all of the packages that need keyword changes for a
58 > particular package to have its keywords changed... fex. "emerge
59 > --keywords =kde-base/kde-4.0" should list all of KDE 4.0's dependencies,
60 > and anything that is masked by keywords should show up as "~" or
61 > something... anything masked by package.mask should show up as "M"...
62 > this should have a way of choosing to ignore profile-level masks or not,
63 > also... this is just an example, how we actually get the information
64 > doesn't matter, so long as we can get it...
65
66 This is a tricky one (and often asked for!). The output would be a
67 guess at best though.
68
69 A : Depends on B
70 B-1 : Depends on C
71 B-2 : Depends on C,D,E
72
73 All versions of B are masked; so either you get
74
75 A
76 ~B (Warning B is masked)
77
78 or you get
79
80 A
81 ~B (Warning B is masked)
82 C
83
84 or
85
86 A
87 ~B (Warning B is masked)
88 C
89 D
90 E
91
92 This depends of course on which version of B we choose. This is why
93 this request isn't implemented; there is no good heuristic for making
94 this choice and in complex dependency trees, bad choices lead to bad
95 results.
96
97 One of these days I will write these damn explanations down ;)
98 --
99 gentoo-dev@g.o mailing list

Replies