Distributions with dots in

acme on 2004-03-24T09:27:21

OK ok ok, I know the nice thing about CPAN is that anyone can upload anything. But sometimes I wonder, I really do.

So I've been playing with CPAN Testers. It's had this longstanding feature where it didn't support distributions with dots in their name. This feature was because I create files named after the distribution, so I want to be strict as to what I accept. Anyway, I decided to do some research:

sqlite> select dist, count(*) from reports where dist like "%.%" group by dist;
download.phpfilePOE-Component-PXR  1         
Net-ITE.pm                         2         
download.phpfilePOE-Filter-XML     1         
new.spirit                         8         
CGI.pm                             315       
download.phpfilePXR                1         
Math.SimpleInterest                1         
Net_SSLeay.pm                      58        
apache.authznetldap                3         
et_SSLeay.pm                       1         
Net_TCLink.pm                      8         
HTML-Macro.1                       9         
RDBMS.pm                           2         
perlSGML.1997Sep                   6         
So there are obviously a few wrong tester reports in there. But I don't understand why CGI distributions aren't called CGI-3.04.tar.gz instead of CGI.pm-3.04.tar.gz (and likewise for Net_SSLeay.pm-1.25.tar.gz - and what's with the underscore?). Why don't these people "make dist" like the rest of us? Answers on a postcard please...


RTFM

barbie on 2004-03-24T12:20:26

It's not just make dist that people have a problem with. Recently there is a distribution that uses Module::Install. Because the author doesn't follow the instructions, which are clearly laid out in the POD, we get a broken distribution, if you don't have Module::Install installed on the target machine.

There have been several authors, since starting the CPAN testing experience, where I've had to prod to do make dist. Thankfully, most have complied.

RTFM?

WebDragon on 2004-03-24T17:46:50

How can you not RTFM the first time you do this ? No author can claim they came to Perl instinctively knowing how to do this. Even *I* hesitated doing one as I found the docs a little confusing, until stumbling across a quick tip in the Cookbook that brought it all together for me. Once you've grasped the basic concepts, how can you NOT do 'make dist' ? Especially if you're using things like Module::Signature to sign your dists?

*shudder* I don't wanna hear anymore. 'fraid of clowns. . .

CGI.pm

bart on 2004-03-24T23:48:11

CGI.pm is one module people are having a love/hate relationship with... Just like Perl is not CGI, in the same way, CGI is not CGI.pm. Yes, it's the module that hijacked the name, but it's not the only game in town. (It is probably not even the best game in town.)

In the same way, for example, I insist on calling (Microsoft) SQL Server, "MS SQL", because SQL is not Microsoft's to own. It's one implementation of an SQL database server.

Re:CGI.pm

barbie on 2004-03-25T14:07:33

I think you've missed the point of what Acme was saying.

The convention for the distribution name is to use the package name, as opposed to the file name. Although it's only a convention, perhaps it should be a bit more than that. As Acme's list shows there are several authors who have their own way of naming things. To make it easier to index and create metadata, and thus search for the packages & distributions, following a convention or standard makes the process all the more easier.

Plenty of authors also have their variations for numbering, which also can make it confusing. Most use the Perl convention of 1.001001, while others use the current date (with and without month names), or a(lpha)/b(eta), or even what appear to be MD5 strings!

Perhaps we are overdue for a standard naming convention for distributions, which the CPAN/PAUSE admins can incorporate into the upload process. It might also help to have a simple distribution checker, so as to stop people uploading distributions which are broken or have missing files. Though that might be problematic with distros with multiple Makefile/Build files. Just a thought.