Gentoo Archives: gentoo-pms

From: Brian Harring <ferringb@×××××.com>
To: Micha?? G??rny <mgorny@g.o>
Cc: gentoo-pms@l.g.o
Subject: Re: [gentoo-pms] [PATCH] Make it clear that PMs are allowed to handle 'invalid' names.
Date: Sun, 23 Sep 2012 14:13:28
Message-Id: 20120923141316.GM5384@localhost
In Reply to: Re: [gentoo-pms] [PATCH] Make it clear that PMs are allowed to handle 'invalid' names. by "Michał Górny"
1 On Sun, Sep 23, 2012 at 09:35:19AM +0200, Micha?? G??rny wrote:
2 > On Sat, 22 Sep 2012 18:24:40 -0700
3 > Brian Harring <ferringb@×××××.com> wrote:
4 >
5 > > On Sun, Sep 23, 2012 at 12:41:06AM +0200, Micha?? G??rny wrote:
6 > > > ---
7 > > > names.tex | 6 ++++--
8 > > > 1 file changed, 4 insertions(+), 2 deletions(-)
9 > > >
10 > > > diff --git a/names.tex b/names.tex
11 > > > index decc8f4..5a3866f 100644
12 > > > --- a/names.tex
13 > > > +++ b/names.tex
14 > > > @@ -2,8 +2,10 @@
15 > > >
16 > > > \section{Restrictions upon Names}
17 > > >
18 > > > -No name may be empty. Package managers must not impose fixed upper
19 > > > boundaries upon the length of any -name. A package manager should
20 > > > indicate or reject any name that is invalid according to these
21 > > > rules. +No name may be empty. Package managers must not impose
22 > > > fixed upper +boundaries upon the length of any name. A package
23 > > > manager should +indicate or reject any name that is invalid
24 > > > according to these rules. +Package managers are allowed to accept
25 > > > names not following those rules.
26 > >
27 > > "Here's some rules. You must abide by them. Or you can ignore them."
28 >
29 > That's wording ulm suggested, mine was more liberal.
30 >
31 > The idea is that it is enough to *warn* about them but if package
32 > manager *can* handle them, it should.
33
34 Jesus, do you folks even get compatibility?
35
36 This breaks existing PMs. You can't retroactively make every version
37 that's out there convert it into a warning. That's the fucking point
38 of this.
39
40 Solve that, this issue goes away, and I/other shut up.
41
42
43 > > Offhand, and frankly I'm kind of pissed I had to even do this legwork
44 > > because your noisy fucking ass couldn't be bothered to do the
45 > > the necessary legwork looking at sources (god forbid rather
46 > > than chattering like a poop-flinging monkey, someone fire up a term
47 > > and go grep'ing and reading sources); right now, changing the rule
48 > > that way means that a package name of 'diffball-1' would break on
49 > > portage, pkgcore, and paludis. In other words, as has been said,
50 > > all current versions, and likely versions from years ago, *will*
51 > > go boom if they encounter this.
52 >
53 > You could've just asked.
54
55 I did.
56
57 Also, I shouldn't have to ask "You're completely invaliding a rule.
58 You *did* make sure this didn't break shit, right?". Just the same as
59 I shouldn't have to tell folk "please don't aim the shotgun at your
60 foot."
61
62 Same thing here, skated right on past the point of breakage.
63
64
65 > > Minimally, pkgcore and paludis, current versions see this anywhere,
66 > > they *will* throw an exception because its broken data- to make it
67 > > into the vdb is either corruption of the disk, or corruption of the
68 > > VDB by a broken PM implementation. Both things have to be flagged,
69 > > even though it sucks, and that's what we do.
70 >
71 > No.
72
73 Dude, you cannot say 'no' when I state how the PMs work /now/.
74
75 Seriously, emerge -p dev-util/diffball-1a alone for christ sake.
76
77
78 > User is free to use 'invalid' package names whenever he likes
79 > and 'break' the system whenever he likes. PMS should not encourage to
80 > lift this freedom for the sake of compatibility.
81
82 A user is free to break shit all they want on their system. It /is/
83 their system after all.
84
85 You aren't trying to mandate that; were it limited to people pulling
86 shit like EAPI=4-python, doing it outside PMS spec, ok, annoying, but
87 ok.
88
89 You want PMS EAPI's to allow this, to retroactively allow behaviour
90 that breaks all compliant PMS.
91
92 Do you even understand what compatibility means?
93
94
95 > Much like POSIX doesn't prohibit systems from accepting any characters
96 > outside the portable character set for filenames. If you use them, you
97 > don't expect 100% portability.
98
99 Posix doesn't go changing standards that actively break compliant
100 versions (and in the case where they, which is stupidly rare and
101 corner case tightening of rules, they sure as hell don't break all
102 implementations out there). The fact you're pointing at posix, and
103 missing this very, *very* core rule understanding of posix is frankly
104 kind of scary.
105
106
107 > 'Be conservative in what you send, and liberal in what you accept'
108
109 How I wish you'd actually take that quote to heart when it came to
110 your emails discussions.
111
112 I also wish you understand what you referenced; the point there is to
113 write software up front to be lenient if possible when meaning is
114 clear, in the name of having things work. Key words "having things
115 work"; you point at the quote while proposing we break shit.
116
117 People who bust out quotes rarely actually understand them, let alone
118 would they be doing so if they were right.
119
120 -Harring