Reordering the email a bit... On Sun, Mar 30, 2008 at 03:48:11AM +0100, Ciaran McCreesh wrote: > On Sat, 29 Mar 2008 19:39:02 -0700 > Brian Harring <[EMAIL PROTECTED]> wrote: > > The reason I'm emailing -dev is to ensure there is consensus on > > leaving off an explicit -r0 in the ebuild name- long term, it seems > > folks always followed the rule but it needs to be codified due to > > problems with uniquely identifying the ebuild in the repo. > > Please think things through before asking to have pkgcore's bugs 'fixed' > via specification next time...
Suspected this angle would be raised, and I'm going to be dead clear here- while pkgcore smoked out the addition to the tree (benefit of 3 different implementations), pkgcore shouldn't explode on it. That in of itself is a pkgcore bug, and not what this thread is about. What this email is about is the inconsistancy allowed on disk and the fact explicitly leaving -r0 out of on disk name thus far seems to be an unofficial gentoo-x86 standard. > Uniquely indentifying an ebuild is an issue regardless of whether or > not -r0 is allowed. See PMS section 2.4. Stating that each cpv in a repo must be unique ignores that there are multiple ways to specify certain cpv's due to implicit 0 (both suffix and rev). Frankly it's pretty stupid to state "it must be unique" while allowing multiple ways for people to screw up and violate that constraint. Intentionally allowing gotchas is dumb behaviour- removal of the gotcha is the intention here. > We already allow and use _alpha and _alpha0 (which > mean the same thing) and so on. Add it to the list then; purpose of this thread is to push the uniqueness constraint down to the on disk repo itself, instead of just doing a bit of hand waving that folks can't do it. If it's part of the on disk layout, it's an easier QA check (and easier implementation per PM); KISS basically. > You'd also be forcing special-casing of > eclasses that would otherwise just use PVR in dep strings. Ironically enough, this smoked out another reason for codifying explicit -r0; portage's exported PVR for '1.0-r0' is '1.0', which PMS disagrees w/ portage/pkgcore on . Kind of reinforces the unofficial standard angle to say the least. Either way, in combination with some abuse of versionatior, an -r0 in the ebuild filename *could* make things easier for some eclass hackery if PVR passed through the explicit -r0. Keyword there is 'hack' however- if you have to rely on explicit -r0 to make eclass/PVR abuses simpler, then it's time for some quick compat code. Alternatively, time to adjust portage/pkgcore's PVR to automatically force -r0 in PVR (which is a far more disruptive change imo). This is presuming this is what you're referring to of course- entirely possible the vagueness above is referring to something else, which case please clarify/expand. ~harring
pgpdaP6KiqtDc.pgp
Description: PGP signature