Re: Need help improving my Kwalitee
# from David Cantrell # on Wednesday 23 July 2008 13:10: I know, after testing every single module on the CPAN, that more modules don't work because of Module::Build bugs than because of ExtUtils::MakeMaker bugs, so if EU::MM is too broken then M::B has to also be too broken because it is *more* broken. Which is a shame, cos M::B is a good idea. Please report M::B bugs in RT. http://rt.cpan.org/Public/Dist/Display.html?Name=Module-Build Thanks, Eric -- Anyone who has the power to make you believe absurdities has the power to make you commit injustices. --Voltaire --- http://scratchcomputing.com ---
Re: Need help improving my Kwalitee
I've been reading this thread with some interest. Bill, I agree that if you don't want to try M::B and you're happy with EU::MM then by all means stick with it. But I do want to defend M::B's reason for existence. It's true IMO that the main problem with EU::MM is its reliance on 'make', but not for the reasons already discussed in this thread. I [mostly] agree that platform differences in make dialects aren't really a big deal. The biggest problem with EU::MM is its whole paradigm: it has to squeeze all its functionality and abstractions through the little pigeonhole of Makefile syntax. That has lots of yucky implications, e.g. customization becomes difficult (if not downright dangerous), all actions must be performed via shell commands (which *do* vary wildly in syntax on different platforms), and trying to understand the dependency graph of the Makefile, which IMO is what Makefiles are *for*, is an exercise in headbanging. I'm sure it must have seemed like a good idea at the time EU::MM was written[1] to use 'make' for building Perl distributions, but IMO the bang we get for it is way less than the buck it takes from us. -Ken [1] Actually, it wasn't so much written as extracted through the nose of various scripts misc. other code that was hanging around during the transition from perl4 to perl5.
Re: Need help improving my Kwalitee
You can bundle a Build.PL (Module::Build) and use it to generate the dist, and you'll get a shiny meta file :) Or you can drop EU::MM and use only M::B which has some transition mechanism for EU::MM users. However I prefer to use a native Makefile.PL... Original-Nachricht Datum: Mon, 21 Jul 2008 17:53:38 -0700 Von: Bill Ward [EMAIL PROTECTED] An: module-authors@perl.org Betreff: Re: Need help improving my Kwalitee On Mon, Jul 21, 2008 at 3:56 PM, Thomas Klausner [EMAIL PROTECTED] wrote: Hi! On Mon, Jul 21, 2008 at 02:57:20PM -0700, Bill Ward wrote: My module Number::Format has some red areas in its Kwalitee report http://cpants.perl.org/dist/kwalitee/Number-Format When I release 1.60, I tried to fix a lot of the kwalitee issues with the previous version, 1.52. However, it appears that some of my fixes didn't work. For example, my META.yml file was barebones in 1.52, and I wanted to bring it up to modern standards. I could not find any tool that would help me generate it, so I cobbled one together by hand using examples from other modules. Yet I still see dings against the kwalitee there. Maybe cpants_lint.pl (comes with Module::CPANTS::Anaylse) is helpfull. Although I have to admit that there are some nasty bugs in cpants ATM, and I'm still low on tuits. I will spend some time on cpants before YAPC, though... I looked into installing Module::CPANTS::Analyse but it has a zillion dependencies, most of which I'm not familiar with. I generally try to avoid installing Perl modules without good reason, and prefer those that are not heavily dependent on others because it can make it horribly difficult to debug problems... but I will think about it. -- GMX startet ShortView.de. Hier findest Du Leute mit Deinen Interessen! Jetzt dabei sein: http://www.shortview.de/[EMAIL PROTECTED]
Re: Need help improving my Kwalitee
On 07/21/2008 10:57 PM, Bill Ward wrote: My module Number::Format has some red areas in its Kwalitee report http://cpants.perl.org/dist/kwalitee/Number-Format When I release 1.60, I tried to fix a lot of the kwalitee issues with the previous version, 1.52. However, it appears that some of my fixes didn't work. For example, my META.yml file was barebones in 1.52, and I wanted to bring it up to modern standards. I could not find any tool that would help me generate it, so I cobbled one together by hand using examples from other modules. Yet I still see dings against the kwalitee there. I let EU::MM generate my META.yml files for me. I hit problems getting it to include the licence field, as some old EU::MM installs choked on the LICENCE field (they were too old to recognise it - we're talking quite old, but still in use so I'd still rather my module build didn't die on them). To get round that, I use the following in my Makefile.PL : WriteMakefile( ...snipped the normal params... # include the LICENSE param, as long as EU::MM is new enough to # support it: ($ExtUtils::MakeMaker::VERSION = 6.3002 ? (LICENSE = perl) : (), ); Also, how do I test the kwalitee without releasing a new version and waiting for CPANTS to find it? I wish the CPANTS site had instructions on how to install the Kwalitee code on my own box for pre-release testing. I see a number of modules in CPAN that relate to kwalitee but am not sure which one(s) I need. As Thomas already said, cpants_lint.pl from the Module::CPANTS::Analyse distribution will do the job nicely for you. Yes, it has some dependencies, but I don't see that as a good reason to avoid installing a new module. Avoiding wheel re-invention is kind of the point of CPAN, so it's hardly surprising to rely on several modules rather than pointlessly re-implement them in your own distribution :) Cheers Dave P
Re: Need help improving my Kwalitee
I'm not interested in Module::Build. I've checked your Makefile.PL and you're not doing anything special with it (like subclassing or XS stuff, etc.), so it'll be straight forward to add Module::Build support to your module. And since M::B is in core starting with 5.10, I think it's the way to go (although I know there are haters of M::B in the Perl world). Original-Nachricht Datum: Wed, 23 Jul 2008 01:20:28 -0700 Von: Bill Ward [EMAIL PROTECTED] An: Burak Gürsoy [EMAIL PROTECTED] CC: module-authors@perl.org Betreff: Re: Need help improving my Kwalitee I'm not interested in Module::Build. I'm a stickler for tradition. Test::More is a little new-fangled for me but I've grudgingly adopted it... On Wed, Jul 23, 2008 at 1:15 AM, Burak Gürsoy [EMAIL PROTECTED] wrote: You can bundle a Build.PL (Module::Build) and use it to generate the dist, and you'll get a shiny meta file :) Or you can drop EU::MM and use only M::B which has some transition mechanism for EU::MM users. However I prefer to use a native Makefile.PL... Original-Nachricht Datum: Mon, 21 Jul 2008 17:53:38 -0700 Von: Bill Ward [EMAIL PROTECTED] An: module-authors@perl.org Betreff: Re: Need help improving my Kwalitee On Mon, Jul 21, 2008 at 3:56 PM, Thomas Klausner [EMAIL PROTECTED] wrote: Hi! On Mon, Jul 21, 2008 at 02:57:20PM -0700, Bill Ward wrote: My module Number::Format has some red areas in its Kwalitee report http://cpants.perl.org/dist/kwalitee/Number-Format When I release 1.60, I tried to fix a lot of the kwalitee issues with the previous version, 1.52. However, it appears that some of my fixes didn't work. For example, my META.yml file was barebones in 1.52, and I wanted to bring it up to modern standards. I could not find any tool that would help me generate it, so I cobbled one together by hand using examples from other modules. Yet I still see dings against the kwalitee there. Maybe cpants_lint.pl (comes with Module::CPANTS::Anaylse) is helpfull. Although I have to admit that there are some nasty bugs in cpants ATM, and I'm still low on tuits. I will spend some time on cpants before YAPC, though... I looked into installing Module::CPANTS::Analyse but it has a zillion dependencies, most of which I'm not familiar with. I generally try to avoid installing Perl modules without good reason, and prefer those that are not heavily dependent on others because it can make it horribly difficult to debug problems... but I will think about it. -- GMX startet ShortView.de. Hier findest Du Leute mit Deinen Interessen! Jetzt dabei sein: http://www.shortview.de/[EMAIL PROTECTED] -- GMX Kostenlose Spiele: Einfach online spielen und Spaß haben mit Pastry Passion! http://games.entertainment.gmx.net/de/entertainment/games/free/puzzle/6169196
Re: Need help improving my Kwalitee
--- On Wed, 23/7/08, Burak Gürsoy [EMAIL PROTECTED] wrote: I'm not interested in Module::Build. I've checked your Makefile.PL and you're not doing anything special with it (like subclassing or XS stuff, etc.), so it'll be straight forward to add Module::Build support to your module. And since M::B is in core starting with 5.10, I think it's the way to go (although I know there are haters of M::B in the Perl world). If we had started with Module::Build from day one instead of ExtUtil::MakeMaker, life would be a better place as many MB issues would have been long resolved[1]. Regrettably, this isn't the case, so people ignore the theoretical technical superiority of the MB idea and instead focus on the fact that it doesn't do what they want. We'll ignore the fact that many features that people want for EMM have not been added because while they're trivial in MB, they're a nightmare for EMM[2] This has now led to others building competing systems which support different features and people are falling back to EMM as safe, but if I have complex build needs, it's anything but :( Cheers, Ovid 1. 'PREFIX', for example, has been the bane of many developers who work on build systems (there are plenty of us), but people who consume the modules generally don't care that it's broken because *they're* not the ones who have to do the hard work. http://www.perlmonks.org/?node_id=458436 (that's from Schwern and the language is not safe for work). 2. For each OS and OS version, take the number of different make programs and their different, subtly incompatible formats and features and you can get an idea of the scope of the problem. -- Buy the book - http://www.oreilly.com/catalog/perlhks/ Tech blog- http://use.perl.org/~Ovid/journal/ Twitter - http://twitter.com/OvidPerl Official Perl 6 Wiki - http://www.perlfoundation.org/perl6
Re: Need help improving my Kwalitee
On Wed, Jul 23, 2008 at 4:28 AM, Burak Gürsoy [EMAIL PROTECTED] wrote: I'm not interested in Module::Build. I've checked your Makefile.PL and you're not doing anything special with it (like subclassing or XS stuff, etc.), so it'll be straight forward to add Module::Build support to your module. And since M::B is in core starting with 5.10, I think it's the way to go (although I know there are haters of M::B in the Perl world). Lots of people are still on 5.8 or 5.6 so being in core from 5.10 isn't good enough. But to my mind, the may problem with M::B is that it's moving away from the traditional Unix concept of using make to install things. And I'm not willing to go there.
Re: Need help improving my Kwalitee
Bill Ward wrote: But to my mind, the may problem with M::B is that it's moving away from the traditional Unix concept of using make to install things. And I'm not willing to go there. Just as a counterpoint, I refuse to use EU::MM in new code. It's too broken and there's no reason to use a non-perl tool when you don't have to.
Re: Need help improving my Kwalitee
Bill Ward [EMAIL PROTECTED] writes: But to my mind, the may problem with M::B is that it's moving away from the traditional Unix concept of using make to install things. A lot of Perl is about platform-independence. Probably even more than other languages that occupied this cliché ad nauseam. make is not. Kind regards, Steffen -- Steffen Schwigon [EMAIL PROTECTED]
Re: Need help improving my Kwalitee
Elliot Shank wrote: Bill Ward wrote: But to my mind, the may problem with M::B is that it's moving away from the traditional Unix concept of using make to install things. And I'm not willing to go there. Avoiding something because it's not what you're used to strikes me as being a bit silly. If I thought like that then I'd still be suffering Windows cos it used to be what I was used to. Just as a counterpoint, I refuse to use EU::MM in new code. It's too broken and there's no reason to use a non-perl tool when you don't have to. As a counter-counter-point, if you're going to refuse to use EU::MM because it's too broken, you have to refuse to use Module::Build for the same reason. I know, after testing every single module on the CPAN, that more modules don't work because of Module::Build bugs than because of ExtUtils::MakeMaker bugs, so if EU::MM is too broken then M::B has to also be too broken because it is *more* broken. Which is a shame, cos M::B is a good idea. -- David Cantrell | Cake Smuggler Extraordinaire fdisk format reinstall, doo-dah, doo-dah; fdisk format reinstall, it's the Windows way
Re: Need help improving my Kwalitee
On Wed, Jul 23, 2008 at 1:06 PM, Steffen Schwigon [EMAIL PROTECTED] wrote: Bill Ward [EMAIL PROTECTED] writes: But to my mind, the may problem with M::B is that it's moving away from the traditional Unix concept of using make to install things. A lot of Perl is about platform-independence. Probably even more than other languages that occupied this cliché ad nauseam. make is not. Platform independence is not a priority for me. All that really means is Windows compatible since Mac OS and Linux are Unix variants these days, and the only other widely used OS is Microsoft, which I have no desire to encourage. Legacy mainframe/minicomputer OS's are of no interest to me either, and are mostly either obsolete or Unix-compatible anyway.
Re: Need help improving my Kwalitee
David Cantrell wrote: As a counter-counter-point, if you're going to refuse to use EU::MM because it's too broken, you have to refuse to use Module::Build for the same reason. Ah. Ok, I'll use nothing.
Re: Need help improving my Kwalitee
Elliot Shank wrote: David Cantrell wrote: As a counter-counter-point, if you're going to refuse to use EU::MM because it's too broken, you have to refuse to use Module::Build for the same reason. Ah. Ok, I'll use nothing. Well done! Ten out of ten for deliberately misunderstanding! -- David Cantrell | Hero of the Information Age Irregular English: ladies glow; gentlemen perspire; brutes, oafs and athletes sweat
Re: Need help improving my Kwalitee
On Wed, Jul 23, 2008 at 2:09 PM, David Cantrell [EMAIL PROTECTED] wrote: Even if you only care about Unix-a-likes, you still need to remember that GNU make, Sun make, SGI make, etc are only partially compatible. Then consider that GNU software tends to break in stupid ways from one release to another, and older versions of make may support fewer features than whatever version you (and Schwern) are developing against. GNU have even managed to break *cp* and *rm* from one release to the next, so I treat GNU make with suspicion - it's far more complex, so far more likely to get a visit from the Fuckup Fairy. True, but those kinds of problems are really rather rare, especially if you stay away from the bleeding edge, and tend to only crop up in esoteric situations. The uses of make that EU::MM generates are pretty standard and ordinary, and pretty much the same for all modules. Anyway, I've never had it break on me.
Need help improving my Kwalitee
My module Number::Format has some red areas in its Kwalitee report http://cpants.perl.org/dist/kwalitee/Number-Format When I release 1.60, I tried to fix a lot of the kwalitee issues with the previous version, 1.52. However, it appears that some of my fixes didn't work. For example, my META.yml file was barebones in 1.52, and I wanted to bring it up to modern standards. I could not find any tool that would help me generate it, so I cobbled one together by hand using examples from other modules. Yet I still see dings against the kwalitee there. Also, how do I test the kwalitee without releasing a new version and waiting for CPANTS to find it? I wish the CPANTS site had instructions on how to install the Kwalitee code on my own box for pre-release testing. I see a number of modules in CPAN that relate to kwalitee but am not sure which one(s) I need.
Re: Need help improving my Kwalitee
Hi! On Mon, Jul 21, 2008 at 02:57:20PM -0700, Bill Ward wrote: My module Number::Format has some red areas in its Kwalitee report http://cpants.perl.org/dist/kwalitee/Number-Format When I release 1.60, I tried to fix a lot of the kwalitee issues with the previous version, 1.52. However, it appears that some of my fixes didn't work. For example, my META.yml file was barebones in 1.52, and I wanted to bring it up to modern standards. I could not find any tool that would help me generate it, so I cobbled one together by hand using examples from other modules. Yet I still see dings against the kwalitee there. Maybe cpants_lint.pl (comes with Module::CPANTS::Anaylse) is helpfull. Although I have to admit that there are some nasty bugs in cpants ATM, and I'm still low on tuits. I will spend some time on cpants before YAPC, though... Also, how do I test the kwalitee without releasing a new version and waiting for CPANTS to find it? I wish the CPANTS site had instructions on how to install the Kwalitee code on my own box for pre-release testing. I see a number of modules in CPAN that relate to kwalitee but am not sure which one(s) I need. Gabor recently asked me to write up how to set up a complete CPANTS testing thingy (that tests all of CPAN). I've starte this, but it's currently only available from svn: http://code.google.com/p/cpants/source/browse/trunk/Module-CPANTS-ProcessCPAN/lib/Module/CPANTS/ProcessCPAN.pm -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Need help improving my Kwalitee
On Mon, Jul 21, 2008 at 3:56 PM, Thomas Klausner [EMAIL PROTECTED] wrote: Hi! On Mon, Jul 21, 2008 at 02:57:20PM -0700, Bill Ward wrote: My module Number::Format has some red areas in its Kwalitee report http://cpants.perl.org/dist/kwalitee/Number-Format When I release 1.60, I tried to fix a lot of the kwalitee issues with the previous version, 1.52. However, it appears that some of my fixes didn't work. For example, my META.yml file was barebones in 1.52, and I wanted to bring it up to modern standards. I could not find any tool that would help me generate it, so I cobbled one together by hand using examples from other modules. Yet I still see dings against the kwalitee there. Maybe cpants_lint.pl (comes with Module::CPANTS::Anaylse) is helpfull. Although I have to admit that there are some nasty bugs in cpants ATM, and I'm still low on tuits. I will spend some time on cpants before YAPC, though... I looked into installing Module::CPANTS::Analyse but it has a zillion dependencies, most of which I'm not familiar with. I generally try to avoid installing Perl modules without good reason, and prefer those that are not heavily dependent on others because it can make it horribly difficult to debug problems... but I will think about it.