Gentoo Archives: gentoo-dev

From: Joe Peterson <lavajoe@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: Issues regarding glep-55 (Was: [gentoo-council] Re: Preliminary Meeting-Topics for 12 February 2009)
Date: Tue, 24 Feb 2009 16:16:03
Message-Id: 49A41D3F.4010706@gentoo.org
In Reply to: Re: [gentoo-dev] Re: Issues regarding glep-55 (Was: [gentoo-council] Re: Preliminary Meeting-Topics for 12 February 2009) by Richard Freeman
1 Richard Freeman wrote:
2 > I still don't see why we need to be encoding metadata in filenames.
3
4 Correct. GLEP 55 tries to solve a technical implementation issue by
5 exposing meta data in the filename. Extremely bad form/design, IMHO.
6
7 > PERL doesn't care what a file extension is, python doesn't care, bzip2
8 > doesn't care, tar doesn't care, gzip doesn't care, and even ld-linux.so
9 > doesn't care. I'm sure that in at least some of these cases they end up
10 > parsing parts of the file twice - once to figure out what it is, and the
11 > second time to actually handle it. I'm actually hard pressed to think
12 > of any unix-based software that uses the filename to store a mandatory
13 > file format versioning specifier of some kind.
14
15 All good points. I cannot believe there exists no other way to solve
16 this technical issue other than resorting to such a non-Unix-like idea.
17 Obviously all of the software packages cited above endeavor to avoid
18 such nastiness.
19
20 I do not understand why anyone is willing to accept putting version info
21 in the filename/extension. It is inelegant and, frankly, very ugly. I
22 have written more in the past on why I think it is a terrible idea, so I
23 won't repeat it here.
24
25 Suffice to say, if something like GLEP 55 is implemented, I will lose a
26 lot of faith in Gentoo's design, so much so that I will likely join the
27 ranks of those who abandon it, not only as a dev, but also as a user.
28
29 > This seems to me to be a solved problem. You put a header in a file
30 > that tells you how to read the file. Headers are split into fields and
31 > if a program doesn't know what to do with a field it ignores it (or if
32 > the header so instructs it doesn't even try to parse the file). This
33 > should be easy to do and keep the file bash-compatible. Just stick a
34 > comment line close to the top of the file and put whatever you want on
35 > it. You could also stick something in metadata.xml (although this makes
36 > working with ebuilds outside of a repository more difficult). You run
37 > the file through an algorithm to find out what the EAPI is, and then
38 > source it if appropriate.
39 >
40 > Sure, if you make some major change analogous to switching from the .rpm
41 > to the .deb package format then maybe an extension change would make
42 > sense. But, why expose the inner workings of the package file format to
43 > the filesystem?
44
45 +100
46
47 -Joe

Replies