1 |
Karl Trygve Kalleberg wrote: [Fri Aug 10 2001, 02:18:11PM EDT] |
2 |
> The problem with not using XML is that we have to make yet another file |
3 |
> format parser, which we will have to maintain. |
4 |
> |
5 |
> What's more, for other people to be able to make use of the description |
6 |
> files, they'll have to concoct their own parsers or use ours. If we want |
7 |
> them to use ours, we will have to make bindings for it to Perl, Python, |
8 |
> C, C++ and Java, preferrably other languages as well. |
9 |
> |
10 |
> We get all this for free when using XML, since it's widely supported by |
11 |
> all non-trivial (and many trivial) languages. |
12 |
> |
13 |
> However, it's a pain in the butt to write/edit and to some extend more |
14 |
> difficult to read than a format tuned for human reading. |
15 |
> |
16 |
> This is a known problem with no perfect solution. In fact, XML (or S-exp) |
17 |
> is as close as we've gotten to date. |
18 |
|
19 |
How hard could it really be to simply fill in an XML template? Seems to |
20 |
me that most package description files will be created by copying one |
21 |
from another package, the modifying to suit the new package. That |
22 |
doesn't sound difficult at all. |
23 |
|
24 |
An additional win with XML description files is that they can be read |
25 |
and rewritten easily by automated tools (without YAFFP, as you |
26 |
mentioned). This becomes important when a new potential field is |
27 |
created for the description files. A tool can scan over the portage |
28 |
tree, snarf in each description file, and spit out a new one with the |
29 |
additional field. |
30 |
|
31 |
Why would we do this? To maintain the fill-in-the-template approach... |
32 |
The next time the package is revised, the author would undoubtedly |
33 |
notice the empty item in the description file, and presumedly would fill |
34 |
it in. |
35 |
|
36 |
> In my opinion, we really attack this problem from the completely wrong |
37 |
> end: we start by describing not only tools/technology we want to use, |
38 |
> but also the specific storage of the data before we even know what we |
39 |
> want to extend Portage with in the long term. |
40 |
|
41 |
Agreed. What follows are my gut responses to your list. |
42 |
|
43 |
> Better package descriptions is just one little part of it all. We also |
44 |
> want a graphical package tool, |
45 |
|
46 |
IMHO, this can wait. A front-end text-based tool is sufficient for the |
47 |
moment. Attempts at graphical front-ends for either debs or rpms have |
48 |
largely resulted in implementations that lag behind the text-based |
49 |
tools. |
50 |
|
51 |
> bug reporting, |
52 |
> feature requests, |
53 |
|
54 |
There are free web systems for managing these. Why would they be |
55 |
integrated into the portage system? |
56 |
|
57 |
> regression testing, |
58 |
|
59 |
This isn't a package management activity, but something that can be |
60 |
handled on the individual package level. Portage would be the wrong |
61 |
place to implement this since the regression testing needs to be sent |
62 |
back upstream to the package maintainer. |
63 |
|
64 |
> an automatic package verifier that catches many of |
65 |
> the nasty things (like ebuild foo install installing in /usr instead |
66 |
> of ${D}/usr), |
67 |
|
68 |
The correct solution to this is to run the install portions of an ebuild |
69 |
with reduced permissions. I realize this has issues, though. I assume |
70 |
that's why it's not in the system yet, but I think of everything |
71 |
mentioned here, it's the most important. |
72 |
|
73 |
> bindings/exports of the package database to tools |
74 |
> outside Portage, etc, etc. |
75 |
|
76 |
Indeed this is important. (Sorry to be in disagreement on the other |
77 |
points.) |
78 |
|
79 |
> We seem to be at a stage where our entire user population is extremely |
80 |
> well-versed in unix, have a lot of experience to bring to the table, |
81 |
> and are prepared to suffer some major restructurings in vital parts of |
82 |
> the system (mainly Portage). |
83 |
> |
84 |
> If anybody have any thoughts on this, we should get them all out now. |
85 |
> I'll try to maintain them in some form for design document on the |
86 |
> gentoo.org. |
87 |
|
88 |
Great! |
89 |
|
90 |
Aron |