1 |
On Sun, Sep 23, 2012 at 12:41:06AM +0200, Micha?? G??rny wrote: |
2 |
> --- |
3 |
> names.tex | 6 ++++-- |
4 |
> 1 file changed, 4 insertions(+), 2 deletions(-) |
5 |
> |
6 |
> diff --git a/names.tex b/names.tex |
7 |
> index decc8f4..5a3866f 100644 |
8 |
> --- a/names.tex |
9 |
> +++ b/names.tex |
10 |
> @@ -2,8 +2,10 @@ |
11 |
> |
12 |
> \section{Restrictions upon Names} |
13 |
> |
14 |
> -No name may be empty. Package managers must not impose fixed upper boundaries upon the length of any |
15 |
> -name. A package manager should indicate or reject any name that is invalid according to these rules. |
16 |
> +No name may be empty. Package managers must not impose fixed upper |
17 |
> +boundaries upon the length of any name. A package manager should |
18 |
> +indicate or reject any name that is invalid according to these rules. |
19 |
> +Package managers are allowed to accept names not following those rules. |
20 |
|
21 |
"Here's some rules. You must abide by them. Or you can ignore them." |
22 |
|
23 |
This patch really doesn't deserve a response on that alone. |
24 |
|
25 |
|
26 |
Honestly, it's a stupid minor wart of PMS names that's a pain in the |
27 |
ass to remove, and was added at the time (going from memory, but this |
28 |
should be accurate) because portage internally used a combined cp/cpv |
29 |
parser, and didn't pass in context as to whether or not a version was |
30 |
needed- and the code consuming that results didn't enforce |
31 |
version/non-version matching operator. Meaning an atom of |
32 |
'dev-util/diffball-1' portage would be view as 'dev-util/diffball'. |
33 |
|
34 |
|
35 |
Annoying? Fuck Yes. Worth removing? Sure, after scoping the |
36 |
breakage, and figuring out the implications for code that doesn't |
37 |
support the new rules in light of the fact the vdb's package names |
38 |
rules are *unversioned*. That's the real problem here, not setting |
39 |
some "well we'll just block it from being usable in gentoo-x86; |
40 |
problem solved!". |
41 |
|
42 |
Offhand, and frankly I'm kind of pissed I had to even do this legwork |
43 |
because your noisy fucking ass couldn't be bothered to do the |
44 |
the necessary legwork looking at sources (god forbid rather |
45 |
than chattering like a poop-flinging monkey, someone fire up a term |
46 |
and go grep'ing and reading sources); right now, changing the rule |
47 |
that way means that a package name of 'diffball-1' would break on |
48 |
portage, pkgcore, and paludis. In other words, as has been said, |
49 |
all current versions, and likely versions from years ago, *will* |
50 |
go boom if they encounter this. |
51 |
|
52 |
In portages case, the exact consequence are hard to state- their |
53 |
design isn't exactly centralized, but whacky/fantactistcally/daffy |
54 |
results should be expected. Minimally it spots the borkedness, but to |
55 |
identify exactly what it'll do in each case requires checking each |
56 |
case; as said, they don't have a centralizd handling. |
57 |
|
58 |
Minimally, pkgcore and paludis, current versions see this anywhere, |
59 |
they *will* throw an exception because its broken data- to make it |
60 |
into the vdb is either corruption of the disk, or corruption of the |
61 |
VDB by a broken PM implementation. Both things have to be flagged, |
62 |
even though it sucks, and that's what we do. |
63 |
|
64 |
For portage, go figure out the results; I already know it flags |
65 |
'diffball-1' as a bad package name, the full way that causes |
66 |
explosions, don't know, but I've already burnt 20 minutes doing |
67 |
legwork you should've done, so now you need to go do the legwork for |
68 |
your fucking proposal. |
69 |
|
70 |
~harring |