1 |
Ciaran McCreesh <ciaran.mccreesh <at> googlemail.com> writes: |
2 |
|
3 |
> |
4 |
> On Sat, 16 May 2009 21:58:10 +0000 (UTC) |
5 |
> Mark Bateman <couldbe <at> soon.com> wrote: |
6 |
> > "The current way of specifying the EAPI in ebuilds is flawed" |
7 |
> > That is not defining the problem, that is an opening statement. |
8 |
> |
9 |
> That is the problem. |
10 |
No, that is a summary of the problem. Not once has the actual problem been |
11 |
described or documented. It has been requested multiple times by multiple |
12 |
people and yet a description detailing the problem has yet to materialise. |
13 |
Repeated use of *problem* doesn't suddenly expand on the definition of the word |
14 |
*problem* to encompass details needed in a technical proposal within a GLEP. |
15 |
If you do not understand the problems associated with determining the EAPI of |
16 |
an ebuild before sourcing it, please stop championing this GLEP until someone |
17 |
does provide a complete breakdown of the process. |
18 |
|
19 |
Until such information is provided continued discussion of this GLEP is not |
20 |
going to progress since words like *obviously* are substituted for actual |
21 |
facts, a substitution which does not provide anything new to this discussion |
22 |
|
23 |
> > "In order to get the EAPI the package manager needs to source the |
24 |
> > ebuild, which itself needs the EAPI in the first place." |
25 |
> > It then describes "a" mechanism utilising an ebuild |
26 |
> > (source /usr/portage...) to obtain the EAPI from within the ebuild |
27 |
> > (EAPI=...). Using this method the entire content of GLEP55 is |
28 |
> > accurate. |
29 |
> > |
30 |
> > However, this is not the only method to determine the EAPI of an |
31 |
> > ebuild that exists and as such the viability of GLEP55 as the best |
32 |
> > solution is brought into question |
33 |
> |
34 |
> Yes, it is the only method. |
35 |
No it is the only method you are willing to accept, there is a big difference. |
36 |
Many people have mentioned in passing other means of determining the EAPI of |
37 |
an ebuild pre-sourcing (thus allowing the PM to source the correct eclass |
38 |
or flag up warnings...) YET they have just been shot down with no |
39 |
actual technical reason, except "they do not involve coding the EAPI |
40 |
into the filename". Please provide detailed technical description of |
41 |
the problem, as has been requested by a number of people, as well as |
42 |
providing details of why in-filename encoding of EAPI is technically |
43 |
as well as practically the best solution. |
44 |
|
45 |
|
46 |
|
47 |
> |
48 |
> > Where is it defined that the ebuild must be sourced 1st? |
49 |
> > Why does the ebuild have to be sourced 1st? |
50 |
> |
51 |
> Such things are obviously true to anyone with a basic understanding of |
52 |
> the domain. |
53 |
So you are unable to actually reference any credible source of information to |
54 |
back up your claims then. |
55 |
|
56 |
> |
57 |
> > GLEP55 explicitly states that the EAPI to be recorded in the file |
58 |
> > extension, while, as this thread has shown, a number of methods can |
59 |
> > be used to source the EAPI version of the ebuild *without* the need |
60 |
> > of actually source'ing the ebuild (grep, sed, metacache) all of which |
61 |
> > are viable solutions to the problem, the problem that is so obvious |
62 |
> > it doesn't actually have to be defined |
63 |
> |
64 |
> Except that that isn't true. With the current rules, an ebuild has to |
65 |
> be sourced to get EAPI. And you can't just say "use the metadata |
66 |
> cache", since the package manager has to know how to generate the |
67 |
> metadata cache in the first place. |
68 |
> |
69 |
> Please make sure you're familiar with the basics of how metadata works |
70 |
> before commenting any further. |
71 |
> |
72 |
What has my understanding or lack of understanding of "metadata" have to do |
73 |
with my statement that other means exist to determine the EAPI of an ebuild |
74 |
before sourcing said ebuild? This is meant to be a discussion about "The |
75 |
fallacies of GLEP55" |
76 |
|
77 |
Refusal to accept any other possible solution as well as refusal to discuss any |
78 |
other solution to the problem, all wrapped up in an awe of supremacy on the |
79 |
matter (without ONCE providing details) is not beneficial to Gentoo in finding |
80 |
the best solution. |
81 |
|
82 |
Simple fact is there are many methods available to determine the EAPI of an |
83 |
ebuild without having to encode it in the filename (or its extension). |
84 |
In fact you yourself have mentioned that eclasses change the EAPI |
85 |
http://article.gmane.org/gmane.linux.gentoo.devel/61255 |
86 |
"But eclasses have tried changing it. This is something people have |
87 |
done, not some hypothetical." |
88 |
So the need to have it actually encoded in the filename is not needed, since |
89 |
other method's of actually setting the EAPI exist and work. |
90 |
|
91 |
Blindly dismissing a solution without actually providing any technical |
92 |
information of the problem AS well as why a *proposed* solution isn't the best |
93 |
is of no benefit to solving the problem |
94 |
|
95 |
For instance SheBangs are very useful |
96 |
|
97 |
FILE:test1.py |
98 |
#!/usr/bin/python2.5 |
99 |
#-*- coding: utf-8 -*- |
100 |
def bin(number,count): |
101 |
return '0b'+"".join([str((number >> y) & 1) for y in range(count-1,-1,-1)]) |
102 |
|
103 |
print 'hello world ',bin(170,8) |
104 |
|
105 |
FILE:test2.py |
106 |
#!/usr/bin/python2.6 |
107 |
#-*- coding: utf-8 -*- |
108 |
print('hello world',bin(170)) |
109 |
|
110 |
|
111 |
executing ./test1 and ./test2 both work WHILE "python2.5 test2.py" fails on |
112 |
NameError. |
113 |
There is no need for the python version to be encoded into the filename (like |
114 |
*.py-2.6) and yet it still works. |