Gentoo Archives: gentoo-dev

From: Mike Auty <ikelos@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] automated extended information gathering
Date: Sun, 08 Jul 2007 10:50:12
Message-Id: 4690C048.9080102@gentoo.org
In Reply to: Re: [gentoo-dev] automated extended information gathering by Kent Fredric
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA1
3
4 Kent Fredric wrote:
5 >
6 > Ok, I've re-thought some of my ideas and tried to come up with a more
7 > concise explanation
8 > with some practical example syntax. The basic concept of 'check' was
9 > 'this will work even if the package aint installed yet' and info was
10 > 'for working but bust packages only', but that can be superceded with
11 > a CHECKLIST and a conditional driven INFO function.
12 >
13 >
14 >
15 > CHECKLIST="
16 > a? ( some-cat/a-lib )
17 > b? ( some-cat/b-lib )
18 > "
19 >
20 > That would make building a checklist for lazy people as simple as
21 >
22 > CHECKLIST="${RDEPEND}"
23 >
24
25 This seems to be quite a heavy solution just to get a little more
26 information. Info seems much more simple and flexible. If you're
27 having to encode information in the ebuild about "what dependencies to
28 check when you break" then how will you diagnose missing dependencies?
29 From Mike's idea, I envisaged something more along the lines of:
30
31 Bug:
32 "Compilation failed as followed:
33
34 Package X failed to install
35 ...stuff...
36 X.c: ../Y.h not found
37 X.c: ../Z.h not found
38 ...stuff..."
39
40 Response:
41 "Could you please run emerge --info --verbose Y Z and paste the output here"
42
43 Counter-Response:
44 " Lots of useful standard info
45 Y was compiled with USE flags blah
46 Y was compiled from overlay BLAH
47 Y's manifest was not signed
48 Y's internal env included myconf='--disable-something-critical'
49 Z wasn't emerged"
50
51 Speedy response:
52 "Ah, your problem is that for some reason, something-critical was
53 disabled in package Y, and Z wasn't included in the dependencies.
54 Please try this to solve it..."
55
56 It's difficult to think of situations where you'd ask for information
57 from an uninstalled ebuild that you couldn't ask for from installed
58 dependencies, but I'd rather do that manually than try encoding it into
59 the ebuilds and then still have to ask the user to do it manually in
60 some circumstances.
61
62 Most of this could be in a default pkg_info, but it allows for
63 overriding by an eclass, and on a per package basis, without requiring
64 each package writing custom error-locating code. This is, after all,
65 just giving more information, it's not guaranteed to find the error.
66
67 I hope that makes some sense?
68
69 Mike 5:)
70 -----BEGIN PGP SIGNATURE-----
71 Version: GnuPG v2.0.4 (GNU/Linux)
72
73 iD8DBQFGkMBIu7rWomwgFXoRAghUAJ0a/EP6wRQlT2j+GcND5LZoNoqWMwCbBhbR
74 WwvnMHqEgmlz/auL00YvhIQ=
75 =kmNa
76 -----END PGP SIGNATURE-----
77 --
78 gentoo-dev@g.o mailing list