Gentoo Archives: gentoo-dev

From: Mark Bateman <couldbe@××××.com>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: The fallacies of GLEP55
Date: Sun, 17 May 2009 04:07:51
Message-Id: loom.20090517T030714-575@post.gmane.org
In Reply to: Re: [gentoo-dev] Re: The fallacies of GLEP55 by Ciaran McCreesh
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.

Replies

Subject Author
Re: [gentoo-dev] Re: The fallacies of GLEP55 Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>