On Sun Aug 03 16:00:19 2014, DMUEY wrote:
Show quoted text> On Sun Aug 03 12:57:30 2014, ETHER wrote:
> > On 2014-08-02 16:51:26, DMUEY wrote:
> > > This transaction appears to have no content
> >
> > How would this be useful? it looks like the META file is only used
> > for
> > the name of the dist and its version, and that's going to be the same
> > in META and MYMETA.
>
> thanks, sorry if the the terseness of my note-to-self RT seemed
> confusing.
>
> You are right they are essentially identical. However, I am seeing
> reports where sometimes there is only a MYMETA and no META file.
>
> In that case we want to fall back to MYMETA for the lookup.
This is because with the current MakeMaker MYMETA.json and MYMETA.yml will be created right away after perl Makefile.PL is run, but META* files will be generated only during distribution generation
(make dist)
From the docs:
Module Meta-Data (META and MYMETA)
Long plaguing users of MakeMaker based modules has been the problem of getting basic information about the module out of
the sources without running the Makefile.PL and doing a bunch of messy heuristics on the resulting Makefile. Over the
years, it has become standard to keep this information in one or more CPAN Meta files distributed with each distribution.
The original format of CPAN Meta files was YAML and the corresponding file was called META.yml. In 2010, version 2 of the
CPAN::Meta::Spec was released, which mandates JSON format for the metadata in order to overcome certain compatibility
issues between YAML serializers and to avoid breaking older clients unable to handle a new version of the spec. The
CPAN::Meta library is now standard for accessing old and new-style Meta files.
If CPAN::Meta is installed, MakeMaker will automatically generate META.json and META.yml files for you and add them to your
MANIFEST as part of the ’distdir’ target (and thus the ’dist’ target). This is intended to seamlessly and rapidly populate
CPAN with module meta-data. If you wish to shut this feature off, set the "NO_META" "WriteMakefile()" flag to true.
At the 2008 QA Hackathon in Oslo, Perl module toolchain maintainers agreed to use the CPAN Meta format to communicate post-
configuration requirements between toolchain components. These files, MYMETA.json and MYMETA.yml, are generated when
Makefile.PL generates a Makefile (if CPAN::Meta is installed). Clients like CPAN or CPANPLUS will read these files to see
what prerequisites must be fulfilled before building or testing the distribution. If you wish to shut this feature off,
set the "NO_MYMETA" "WriteMakeFile()" flag to true.
Therefore if this module is used "make test" will fail but "make disttest" will work.