* Marvin Humphrey <mar...@rectangular.com> [2012-05-30 21:25]:
> there are only loose module files in @INC. The association with the
> distro and its metadata is severed upon installation AFAIK.

Yes. Precisely.

And that association is loose anyway, because the correlation of modules
and distributions can change at any time.

I have an article half-written about how versions should be assigned to
modules to make the CPAN infrastructure run optimally smoothly, as well
as why, that I want to publish so I can stop repeating myself.

But in the meantime, the gist is:

1. Put a version number in every single file.
2. Always use the same version in all files within a distribution.

(Probably (most reasonably) you’ll use the same version in all the files
as for the distribution itself. Though that is the *one* place where you
can actually diverge without spoiling the machinery. Fairly useless, of
course.)

Thus,

* Phillip Moore <w.phillip.mo...@gmail.com> [2012-05-30 21:05]:
> Isn't it the intention of:
>
>    all_from q{lib/NetApp.pm};
>
> to avoid the need to replicate this information in N different files?

*If* that is the case, then the intention is misguided.

> Any other workaround/solutions?

As has been mentioned, Dist::Zilla is your best bet.

Up until recently it was the case that all CPAN toolchain authors seemed
to assume an unwritten rule that the use cases for authors and users of
modules (creating and installing packages, resp.) should for some reason
be met by the same exact tool. Now creating author functionality using
EUMM is obviously painful so M::B was a reaction… that never got it all
that right for authors, IMO. But then for users neither. But the deeper
failure is that it didn’t decouple these disparate use cases.

Really what you want is to use Dist::Zilla (or something else of the
sort that is yet to be written!) as an author, and then create packages
that use EUMM as an installer (because it is well tested and works). And
maybe someday in the future something akin to Module::Build::Tiny will
be able to take over the role of the installer, which should really be
much smaller than EUMM, and pure Perl too.

</rant>

Regards,
-- 
Aristotle Pagaltzis // <http://plasmasturm.org/>

Reply via email to