The return of perl5i!

schwern on 2010-01-24T02:00:43

After an extended period in hibernation, perl5i returns to CPAN with a rack of new changes since the last CPAN release. Thanks to Bruno Vecchi, Chas Owens, Darian Patrick, Jeff Lavallee, Michael Greb, rjbs, benh and chromatic for contributing!

Why was it deleted from CPAN? Version numbers. I'd used my usual ISO date integer style versioning but realized pretty quick that I need full X.Y.Z versioning to indicate incompatible changes. Yes, perl5i is planning to be incompatible but without breaking your code!

How? By allowing you to declare what major version of perl5i you rely on. At this point its most likely going to be "use perl5i::2" which has the nice benefit of also allowing you to declare a dependency on perl5i::2. Easy peasy.

The question remains, what should "use perl5i" do? Should it A) load the currently installed version of perl5i? Or B) die with instructions on what to do? A is convenient, but means you'll get (probably unknowingly) walloped by an incompatibility later. B is a little inconvenient, but it makes the planned incompatibilities explicit and visible. The existence of a perl5i command line program (which also works on the #! line) makes A less of a concern if you want to go that route. So likely in short order "use perl5i" won't work any more. But I'd still like your thoughts on the matter.


Schweet

jeremiah on 2010-01-24T13:21:50

I will run and package this for debian.

Re:Schweet

schwern on 2010-01-24T19:57:10

Awesome! That will make it a bit less dep-tastic for Debian users.

Re:Schweet

jeremiah on 2010-01-24T20:14:40

Might take a little while:

Needs the following modules for which there are no debian packages available

- Time::y2038 - autobox::Core - autobox::List::Util - autovivification - autobox::dump - CLASS - DateTime::Format::Epoch

Some of those are easy to package (like CLASS), others might be a little harder. :)

Re:Schweet

jeremiah on 2010-01-25T20:53:24

Well, I packaged CLASS and uploaded it to the debian repos. There is some question if the ftpmasters will accept it, they don't like small packages and this one is not that large.

It is in my personal repo however should anyone want to use that to download CLASS, here is the linke they should add to their sources.list:

# Jeremiah Foster's deb repository:
deb http://www.jeremiahfoster.com/apt sid main contrib non-free
deb-src http://www.jeremiahfoster.com/apt sid main contrib non-free

Re:Schweet

schwern on 2010-01-25T21:03:10

If you make it clear to them that its a dependency of a more useful module I'd think that would sway them. Otherwise they're effectively rejecting perl5i.

Re:Schweet

jeremiah on 2010-01-25T21:07:32

Yeah. This is a known problem unfortunately. We have been down this road with Moose modules. They just have a hard and fast rule that the package has to be a $number SLOC, which is arbitrary I know.

A!

awwaiid on 2010-02-02T04:41:34

I like option A. Because maybe I have some other top-level perl wrapper, so just having the wrapper doesn't make me feel all warm and fuzzy like. :)