Gentoo Archives: gentoo-portage-dev

From: tvali <qtvali@×××××.com>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] DB and binary dependency
Date: Wed, 22 Mar 2006 18:42:34
In Reply to: Re: [gentoo-portage-dev] DB and binary dependency by Patrick Lauer
1 2006/3/22, Patrick Lauer <patrick@g.o>:
2 >
3 > There are a few reasons why this won't work :-)
4 >
5 > First: What if I have assembler? python? perl?
6 > Your example is limited to the C preprocessor.
9 Yes that i did tell there that it's limited to c already :) but bin dep,
10 after all, is limited to lib dependencies and probably just .so files --
11 which means probably not python (as it's too dynamic to programmatically
12 understand, where and which libs are used), not perl (as it doesnt have
13 binaries). So i dont see my version being much worse than bin.
15 If you have an assembler, then everything depends on which one you have. If
16 that's internal assembler of c, everything works fine ;) If that is some
17 macro-assembler, then there is a bit different syntax from c, but other code
18 is basically the same (parsing needed information out from assembler code is
19 not too hard).
21 If that's python, then you cant anymore make it so simple -- there is
22 nothing like #define in python, as it's dynamic. In python, you have several
23 ways -- adding dependencies in classical way; adding a *.c file, which talks
24 about dependancies or making some python script, which is able to tell on
25 what it depends -- the last way has the same weakness with bin dep that it
26 should be downloaded before.
28 About perl, i dont know enough to tell, how it could be used there, but
29 anyway, as it is scripting language, i think that smth similar to py
30 applies.
32 I think that there could be simple dependency builder for packages, which
33 will be compiled, but not for dynamic languages. There is no simple way in
34 dynamic languages for knowing, which libs will be used, even if you know the
35 useflags or have them "built" into pyc files. As code deps are only my
36 thought about repairing the biggest bottleneck in bin-dep - that you cant
37 say anything about deps of a random combination of flags without rebuilding
38 with excactly that combination -, i am not trying to make it usable in
39 dynamic/scripting languages.
41 Second: You'll have to get this depend information applied by upstream
42 > unless you want to patch every file ... and as upstream I'd laugh at
43 > anyone proposing that
46 This is actually simple build. I just told about method, which would allow
47 you to include dependancy metadata directly in c code. It could be
48 "compiled" into current portage dependancy data as well.
50 Third: Since there is no easy way of generating this automatically
51 > you'll have to replicate every bit of dependency information that is in
52 > the ebuilds. That will be much work, you won't keep ebuilds synchronized
53 > to the included dep info ...
56 Data in ebuilds should be generated from that data.
58 So in short, interesting concept, but I don't see how it can work and
59 > how it is an improvement over what we have now. Please don't reinvent
60 > the wheel ;-)
63 Yes, if it comes to wheels, i better try to invent a better wheel, not
64 reinvent an old wheel ;)
66 PS. in my last example, i dont show how useflags are related to #defines.
67 That's because i guess that it must be already described somewhere and have
68 not to be in c code :) I hope it is so ;)
70 Patrick
71 > --
72 > Stand still, and let the rest of the universe move
73 >
74 >
75 > -----BEGIN PGP SIGNATURE-----
76 > Version: GnuPG v1.4.2.2-ecc0.1.6 (GNU/Linux)
77 >
79 > VKWKYb6XcDuugBJSSBFMgc0=
80 > =xD2e
81 > -----END PGP SIGNATURE-----
82 >
83 >
84 >
87 --
88 tvali
90 >From a programmer's point of view, the user is a peripheral that types when
91 you issue a read request. -P. Williams
93 If you think your management doesn't know what it's doing or that your
94 organisation turns out low-quality software crap that embarrasses you, then
95 leave. -Ed Yourdon
97 We all agree on the necessity of compromise. We just can't agree on when
98 it's necessary to compromise. -Larry Wall
100 [ ] -
102 -,_Barry


Subject Author
Re: [gentoo-portage-dev] DB and binary dependency tvali <qtvali@×××××.com>