Gentoo Archives: gentoo-dev

From: Aron Griffis <agriffis@×××××××.com>
To: gentoo-dev@××××××××××.org
Subject: Re: [gentoo-dev] additional files in portage tree [Improving Portage]
Date: Fri, 17 Aug 2001 14:04:20
Message-Id: 20010817160415.D20226@zk3.dec.com
In Reply to: Re: [gentoo-dev] additional files in portage tree [Improving Portage] by Karl Trygve Kalleberg
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