Quoth [EMAIL PROTECTED] (Eric Wilhelm): > # from Ben Morrow > # on Thursday 02 October 2008: > > >Being able to install latest.pm[1] and use an installed version > > doesn't help, though. If there's a bug in the section of latest.pm > > that tries to locate the installed copy of itself and use it instead, > > you *still* can't fix it. And since that is the entire functionality > > of latest.pm, there won't ever be any bugs you can fix by installing > > a fixed version. > > That's not what latest.pm does. The caller is expected to setup the > @INC correctly for "use latest" -- *then* latest::import() figures out > where the __THING YOU ACTUALLY WANT TO LOAD__ is.
I think we're in violent agreement here: maybe I wasn't clear enough. Ken said: latest.pm is never installed, the bundled version is used to locate the appropriate copy of M::B to use. Ricardo said: But what if there's a bug in the bundled version? Then we're back to repackaging everything just like with M::I. To avoid this latest.pm should defer to the installed version of itself if it's newer. I said: If there is a bug in latest.pm, being able to install a fixed copy doesn't help. If the bundled version were capable of correctly locating and deferring to the installed version, it could do the same for M::B. If it isn't, then you're screwed anyway. So: I understand that the plan is never to install latest.pm, and I think this is the only correct solution. Of course, latest.pm must be written rather carefully, and the temptation to add features must be resisted: this is bootstrap code only :). > There is nothing in the latest.pm which prevents it *itself* from being > superseded by an installed version I wonder if there should be? If we're running an installed copy of latest.pm instead of the bundled copy, then something has gone wrong; it may be better to let the user know they've done something stupid sooner rather than later. > >[1] IMHO it *really* ought to be called Module::Build::latest, as > >otherwise you're stomping on a top-level pragma namespace for the sake > >of a module that never gets installed. > > If it *were* designed to be installed, then: yes. I don't think it makes any difference. The namespace is still taken: if anyone ever had a latest.pm installed that did something different, *real* chaos would ensue :). Ben -- For far more marvellous is the truth than any artists of the past imagined! Why do the poets of the present not speak of it? What men are poets who can speak of Jupiter if he were like a man, but if he is an immense spinning sphere of methane and ammonia must be silent? [Feynmann] [EMAIL PROTECTED]