On Feb 16, 2011, at 5:50 PM, martin.zin...@deutsche-boerse.com wrote:

> Concerning Net::DNS, if you look at my original message (+ patch),

I saw it but took a step back and questioned how much of it was necessary.

> you will
> see that I already have a patch for netdns.h (I think a little better than
> your suggestion in this case, since from the comments in the code it looks
> like the author really wants about 4 times the standard value of 256, which
> your patch does not allow)

You could be right.  On the other hand, modifying the definition of a constant 
supplied by a system header may or may not work out as the module author 
expects.

> as well as a fix for the compiler check and the
> initial library creation in Makefile.PL .
> 
> There is some confusing stuff going on with xs  no parameters to
> Makefile.PL .

The have_compiler() function is hopelessly non-portable.  There is one in 
ExtUtils::CBuilder that mostly works though it takes considerable vigilance to 
keep it that way.  Anything simpler is unlikely to work consistently on very 
many platforms, and since EU::CB is in the core, it's h hard to think of a 
reason to roll your own.  Luckily, in this case, the whole thing is avoidable 
by simply passing the -xs option to Makefile.PL so it doesn't try to test for 
the presence of a compiler.

The postamble seems mostly designed to create an object library, but you 
already automatically get [.blib.arch.auto.net.dns]dns.olb, so I don't see why 
you'd want another one with the same objects in it.  Unless you specifically 
require an object library (in addition to the shareable image Perl will be 
using) and the one you already get isn't good enough for some reason, I 
wouldn't bother trying to fix the code that generates it.

My theme here is why bother fixing it if it's not worth fixing and I don't need 
it.

With your changes to netdns.h and the prerequisites installed, I got a 
successful build and all tests but one passing with the minor test nits below 
picked.  The one test that didn't pass was 08-online.t, which seems to time out 
waiting for something at net-dns.org.


--- t/00-load.t;-0      2009-12-30 05:01:39 -0600
+++ t/00-load.t 2011-02-16 20:43:02 -0600
@@ -14,7 +14,7 @@ BEGIN {
     # can't test windows, has registry stuff
 }

-diag("\nThese tests were ran with:\n");
+diag("\nThese tests were run with:\n");
 diag("Net::DNS::VERSION:               ".
      $Net::DNS::VERSION);
 diag("Net::DNS::SEC seems to be available") if $Net::DNS::DNSSEC;
--- t/00-pod.t;-0       2009-12-30 05:01:39 -0600
+++ t/00-pod.t  2011-02-16 20:43:02 -0600
@@ -13,7 +13,7 @@ if ($@) {
        Test::Pod->import;

        my @files;
-       my $blib = File::Spec->catfile(qw(blib lib));
+       my $blib = File::Spec->catdir(qw(blib lib));

        find( sub { push(@files, $File::Find::name) if /\.p(l|m|od)$/}, $blib);

--- t/00-version.t;-0   2009-12-30 05:01:39 -0600
+++ t/00-version.t      2011-02-16 22:38:30 -0600
@@ -7,7 +7,7 @@ use ExtUtils::MakeMaker;
 use strict;

 my @files;
-my $blib = File::Spec->catfile(qw(blib lib));
+my $blib = File::Spec->catdir(qw(blib lib));

 find( sub { push(@files, $File::Find::name) if /\.pm$/}, $blib);

@@ -26,7 +26,7 @@ foreach my $file (@files) {
        my $version = MM->parse_version($file);
        diag("$file\t=>\t$version") if $ENV{'NET_DNS_DEBUG'};
        isnt("$file: $version", "$file: undef", "$file has a version");
-       next if $file =~ /Net\/DNS.pm$/;
+       next if $file =~ /DNS.pm$/i;
        ok ($version>290,"$file: version has reasonable value");
 }



________________________________________
Craig A. Berry
mailto:craigbe...@mac.com

"... getting out of a sonnet is much more
 difficult than getting in."
                 Brad Leithauser

Reply via email to