Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Should I keep META.yml under Version Control?

0 views
Skip to first unread message

Shlomi Fish

unread,
Mar 26, 2005, 1:08:58 PM3/26/05
to Perl Module Authors List
Hi!

I'm maintaining several modules on CPAN:

http://search.cpan.org/~shlomif/

At the moment I'm using ExtUtils::MakeMaker for all of my modules. It
generates and maintains a META.yml file that contains meta-information about
the module. At the moment, I'm keeping it in my version control repository.
However, it constantly changes and I need to re-commit it there.

So my question is: should I keep it there, or is it entirely generated from
other files and I can remove it?

Regards,

Shlomi Fish

---------------------------------------------------------------------
Shlomi Fish shl...@iglu.org.il
Homepage: http://www.shlomifish.org/

Hacker sees bug. Hacker fixes bug.

Sherzod Ruzmetov

unread,
Mar 26, 2005, 1:18:33 PM3/26/05
to Shlomi Fish, Perl Module Authors List
There is no use of, nor benefit from keeping "Makefile", "MANIFEST" and
"META.yml" files under version control.

These files can be re-genrated easily using default Makefile.PL. They are not
required during development of the libraries, nor for their proper
functionality, and are only necessary while distributing them. So keeping them
in Verson control is pointless.


--
Sherzod

Shlomi Fish

unread,
Mar 26, 2005, 1:40:51 PM3/26/05
to module-...@perl.org
On Saturday 26 March 2005 20:18, Sherzod Ruzmetov wrote:
> There is no use of, nor benefit from keeping "Makefile", "MANIFEST" and
> "META.yml" files under version control.
>

Well, "Makefile" is obviously being generated from Makefile.PL. However,
"MANIFEST" is not. I just tried deleting the MANIFEST, and running "perl
Makefile.PL; make dist". I got an empty distribution. One should maintain
MANIFEST manually.

Thanks for your opinion regarding META.yml.

Regards,

Shlomi Fish

--

Ken Williams

unread,
Mar 26, 2005, 2:39:19 PM3/26/05
to Shlomi Fish, module-...@perl.org

On Mar 26, 2005, at 12:40 PM, Shlomi Fish wrote:
> Well, "Makefile" is obviously being generated from Makefile.PL.
> However,
> "MANIFEST" is not. I just tried deleting the MANIFEST, and running
> "perl
> Makefile.PL; make dist". I got an empty distribution. One should
> maintain
> MANIFEST manually.

Try running 'make manifest'. See also MANIFEST.SKIP.

Regarding your original question - I think you're asking "there's a
META.yml file generated. Is it generated?" The answer is yes.

-Ken

Paul Johnson

unread,
Mar 26, 2005, 1:59:51 PM3/26/05
to Shlomi Fish, module-...@perl.org
On Sat, Mar 26, 2005 at 08:40:51PM +0200, Shlomi Fish wrote:

> On Saturday 26 March 2005 20:18, Sherzod Ruzmetov wrote:
> > There is no use of, nor benefit from keeping "Makefile", "MANIFEST" and
> > "META.yml" files under version control.
> >
>
> Well, "Makefile" is obviously being generated from Makefile.PL. However,
> "MANIFEST" is not. I just tried deleting the MANIFEST, and running "perl
> Makefile.PL; make dist". I got an empty distribution. One should maintain
> MANIFEST manually.

make manifest

> Thanks for your opinion regarding META.yml.

You can manually add information to META.yml which cannot be generated
automatically. If you do so, then keeping it under version control is
sensible.

--
Paul Johnson - pa...@pjcj.net
http://www.pjcj.net

José Castro

unread,
Mar 28, 2005, 7:17:39 AM3/28/05
to Paul Johnson, Shlomi Fish, module-...@perl.org
* Paul Johnson (pa...@pjcj.net) wrote:
> On Sat, Mar 26, 2005 at 08:40:51PM +0200, Shlomi Fish wrote:
>
> > On Saturday 26 March 2005 20:18, Sherzod Ruzmetov wrote:
> > > There is no use of, nor benefit from keeping "Makefile", "MANIFEST" and
> > > "META.yml" files under version control.
> > >
> >
> > Well, "Makefile" is obviously being generated from Makefile.PL. However,
> > "MANIFEST" is not. I just tried deleting the MANIFEST, and running "perl
> > Makefile.PL; make dist". I got an empty distribution. One should maintain
> > MANIFEST manually.
>
> make manifest

Of course, `make manifest` *assumes* a bunch of not be accurate.. I
have modules with test files that I don't want in the distribution,
since hey only run in my machine, for instance.

> > Thanks for your opinion regarding META.yml.
>
> You can manually add information to META.yml which cannot be generated
> automatically. If you do so, then keeping it under version control is
> sensible.
>
> --
> Paul Johnson - pa...@pjcj.net
> http://www.pjcj.net

--
Jose Alves de Castro <c...@cpan.org>
http://jose-castro.org/

José Castro

unread,
Mar 28, 2005, 7:19:20 AM3/28/05
to module-...@perl.org
* Jos? Castro (j...@natura.di.uminho.pt) wrote:
> * Paul Johnson (pa...@pjcj.net) wrote:
> > On Sat, Mar 26, 2005 at 08:40:51PM +0200, Shlomi Fish wrote:
> >
> > > On Saturday 26 March 2005 20:18, Sherzod Ruzmetov wrote:
> > > > There is no use of, nor benefit from keeping "Makefile", "MANIFEST" and
> > > > "META.yml" files under version control.
> > > >
> > >
> > > Well, "Makefile" is obviously being generated from Makefile.PL. However,
> > > "MANIFEST" is not. I just tried deleting the MANIFEST, and running "perl
> > > Makefile.PL; make dist". I got an empty distribution. One should maintain
> > > MANIFEST manually.
> >
> > make manifest
>
> Of course, `make manifest` *assumes* a bunch of not be accurate.. I

"a bunch of stuff that might not"

Sherzod Ruzmetov

unread,
Mar 28, 2005, 10:36:02 AM3/28/05
to José Castro, Paul Johnson, Shlomi Fish, module-...@perl.org
Of course, `make manifest` *assumes* a bunch of not be accurate.. I
:have modules with test files that I don't want in the distribution,
:since hey only run in my machine, for instance.
:

This is what I do folks in regards to MANIFEST file. First off, I don't keep it in CVS
repository. But I do keep MANIFEST.skip file in CVS. This file keeps rules governing
MANIFESTation process.

Whenever I want to distribute the work to CPAN I
* tag the current sandbox:
$ cvs tag rel-4_00_01-cpan
* release the sandbox:
$ cvs release CGI-Session
* export it:
$ cvs export -r rel-4_00_01-cpan CGI-Session
* prepare the distribution:
$ perl Makefile.PL
$ make manifest
$ make metafile
$ make dist
$ cpan-upload CGI-Session-4.00_01.tar.gz

If you release too frequently to CPAN that typing above over and over again is painful,
then you can edit Makefile.PL to introduce new targets to the generated "Makefile" then do (for instance):

$ make prepare_distro

Voila. Consult ExtUtils::MakeMaker for details


--
Sherzod B. Ruzmetov <sher...@handalak.com>
<URL: http://author.handalak.com >


Sébastien Aperghis-Tramoni

unread,
Mar 28, 2005, 10:28:44 AM3/28/05
to José Castro
José Castro wrote:

>>>> Well, "Makefile" is obviously being generated from Makefile.PL.
>>>> However, "MANIFEST" is not. I just tried deleting the MANIFEST, and
>>>> running "perl Makefile.PL; make dist". I got an empty distribution.
>>>> One should maintain MANIFEST manually.
>>>
>>> make manifest
>>

>> Of course, `make manifest` *assumes* a bunch of not be accurate.. I
>

> "a bunch of stuff that might not"

This is what MANIFEST.SKIP is for.


Sébastien Aperghis-Tramoni
-- - --- -- - -- - --- -- - --- -- - --[ http://maddingue.org ]
Close the world, txEn eht nepO

0 new messages