[pdl] 01/09: Inject current Debian packaging

Bas Couwenberg sebastic at debian.org
Sun Jun 12 13:46:04 UTC 2016


This is an automated email from the git hooks/post-receive script.

sebastic pushed a commit to branch master
in repository pdl.

commit 978d1a9e5bc7b8a50a24a5c61be5080c228662f2
Author: Andreas Tille <tille at debian.org>
Date:   Fri Jan 15 13:24:10 2016 +0100

    Inject current Debian packaging
---
 debian/changelog                                   |  65 ++++++++
 debian/control                                     |  15 +-
 debian/extract_testsuite_results_from_buildlog.pl  |  12 ++
 debian/f77conf.pl                                  |   1 +
 debian/filter-test.pl                              |  47 ++++++
 .../patches/build-pdl-wrapper-via-makefile.patch   |  58 +++++++
 debian/patches/callext_compile_options.patch       |  17 ++
 debian/patches/doc_dirlist.patch                   |  57 +++++++
 debian/patches/dumper_gnukfreebsd.patch            |  20 +++
 debian/patches/fix_manifest.patch                  |  24 +++
 debian/patches/fix_pod2man_errors.patch            |  95 +++++++++++
 debian/patches/minuit_default_integer_8.patch      | 176 +++++++++++++++++++++
 debian/patches/series                              |   9 ++
 debian/patches/slatec_default_integer_8.patch      | 109 +++++++++++++
 debian/patches/testsuite_fixes.patch               | 118 ++++++++++++++
 debian/pdl.dirs                                    |   1 +
 debian/pdl.docs                                    |   2 +-
 debian/pdl.install.in                              |   3 +
 debian/pdl.links.in                                |   4 +
 debian/pdl.lintian-overrides.in                    |   9 ++
 debian/pdl.postinst.in                             |  47 ++++++
 debian/pdl.triggers.in                             |   2 +
 debian/perldl.conf                                 |  19 +--
 debian/rules                                       |  31 ++--
 debian/which_tests_failed.pl                       | 107 +++++++++++++
 25 files changed, 1016 insertions(+), 32 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 998cee5..8024826 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,68 @@
+pdl (1:2.007-4) unstable; urgency=high
+
+  * Fix "problems upgrading from wheezy due to triggers"; print warning
+    to STDERR if doc index could not be updated instead of causing
+    postinst failure. (Closes: #729220)
+    This will apply only in subsequent releases, as the upgrade problem
+    is caused by the pdl package in wheezy.
+    Cloned bug to perl (#773323), in order to have a 'Breaks: pdl (<<1:2.007)'
+    for smooth wheezy->jessie updates.
+    Changes to pdl.postinst have been tested by backporting to wheezy's pdl
+    version, which solved the wheezy->jessie upgrade issues.
+
+ -- Henning Glawe <glaweh at debian.org>  Wed, 17 Dec 2014 10:29:01 +0100
+
+pdl (1:2.007-3) unstable; urgency=low
+
+  * Acknowledge NMU
+  * For the time being, always use 64bit integers in Fortran libs
+    slatec and minuit by default, as debian perl packages switched
+    to ivsize=8 on all arches, implying a 64bit index type in PDL
+
+ -- Henning Glawe <glaweh at debian.org>  Wed, 24 Sep 2014 20:14:23 +0200
+
+pdl (1:2.007-2.1) unstable; urgency=medium
+
+  [ gregor herrmann ]
+  * Non-maintainer upload.
+  * Fix "hardcodes /usr/lib/perl5":
+    - rename files in debian/ which contain "/usr/lib/perl5" to .in, replace
+      "/usr/lib/perl5" with a variable
+    - create original files from debian/rules, replacing the variable with
+      the current value of $Config{vendorarch}
+    (Closes: #752351)
+
+ -- Damyan Ivanov <dmn at debian.org>  Mon, 04 Aug 2014 07:54:19 +0000
+
+pdl (1:2.007-2) unstable; urgency=low
+
+  * successfully built with gcc 4.8 (closes: #701335, #713346)
+  * add build log evalution helpers to source package: extract
+    test suite output from buildlog, cross-refernce test/subtest
+    failures between architectures
+  * use shell to join stderr into stdout while running test suite
+  * fix Dumper.pm on kfreebsd: 'gnukfreebsd' was assumed as a bsd
+    userland, which disabled/broke calls to 'uuencode' and 'uudecode'
+  * fix debian/filter-test.pl, which cut the test log too early
+    due to a too-unspecific regex
+  * prefer F77Conf over ExtUtils::F77 in t/flexraw_fortran.t in order
+    to prevent test failures on kfreebsd* and hurd*
+
+ -- Henning Glawe <glaweh at debian.org>  Mon, 11 Nov 2013 13:34:09 +0100
+
+pdl (1:2.007-1) unstable; urgency=low
+
+  * new upstream release
+  * upstream now builds with gcc 4.8 and perl 5.18 (closes: #721589)
+  * disable PDL::FFTW and PDL::Graphics::PLplot, both are depreciated
+    upstream and are available as separate module distributions
+  * make successful testsuite run mandatory
+  * include /usr/share/perl5/PDL in trigger modify upstream's
+    scantree.pl to accept comma-separated directory lists
+    (closes: #681937)
+
+ -- Henning Glawe <glaweh at debian.org>  Thu, 07 Nov 2013 09:23:38 +0100
+
 pdl (1:2.4.11-4) unstable; urgency=low
 
   * fix pdl versioned dep in dh_pdl
diff --git a/debian/control b/debian/control
index a316ee4..dfe6f2f 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: pdl
 Section: math
 Priority: optional
 Maintainer: Henning Glawe <glaweh at debian.org>
-Standards-Version: 3.9.3
+Standards-Version: 3.9.4
 Build-Depends:
  gfortran,
  dpkg-dev (>= 1.16.1~),
@@ -10,10 +10,8 @@ Build-Depends:
  libncurses-dev,
  perl (>= 5.8.0-3),
  debhelper (>= 9),
- libplplot-dev,
  libinline-perl (>= 0.43),
  libgsl0-dev,
- fftw-dev,
  libxext-dev,
  libhdf4-alt-dev | libhdf4g-dev,
  libproj-dev | proj,
@@ -21,7 +19,7 @@ Build-Depends:
  libgd2-xpm-dev,
  libastro-fits-header-perl,
  sharutils,
- libopengl-perl (>= 0.65),
+ libopengl-perl (>= 0.6702),
  libxi-dev,
  libxmu-dev,
  freeglut3-dev,
@@ -37,7 +35,6 @@ Depends:
  ${perl:Depends},
  libterm-readkey-perl,
  ${shlibs:Depends},
- libopengl-perl (>=0.62),
  ${misc:Depends}
 Recommends:
  libterm-readline-gnu-perl | libterm-readline-perl-perl
@@ -46,11 +43,15 @@ Suggests:
  netpbm | imagemagick,
  libastro-fits-header-perl,
  libinline-perl,
- libplplot-dev,
  doc-base,
  libextutils-f77-perl,
  proj-bin | proj,
- libdevel-repl-perl (>=1.003011)
+ libdevel-repl-perl (>=1.003011),
+ libopengl-perl (>= 0.6702),
+ libhdf4-0-alt,
+ libgl1-mesa-glx | libgl1,
+ libpdl-fftw-perl,
+ libpdl-graphics-plplot-perl
 Conflicts: r-pdl
 Replaces: r-pdl
 Provides:
diff --git a/debian/extract_testsuite_results_from_buildlog.pl b/debian/extract_testsuite_results_from_buildlog.pl
new file mode 100755
index 0000000..3843a96
--- /dev/null
+++ b/debian/extract_testsuite_results_from_buildlog.pl
@@ -0,0 +1,12 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+my $hot=0;
+while (<>) {
+    last if (/^END test verbose/);
+    if (/^BEGIN test verbose/) {
+        $hot = 1;
+        next;
+    }
+    print if ($hot);
+}
diff --git a/debian/f77conf.pl b/debian/f77conf.pl
index d27f9ae..93d7a55 100644
--- a/debian/f77conf.pl
+++ b/debian/f77conf.pl
@@ -35,6 +35,7 @@ sub cflags {
   my $fflags = '';
   $fflags = $ENV{FFLAGS} if (defined $ENV{FFLAGS});
   $fflags.=' -fPIC';
+  $fflags.=' -fdefault-integer-8';
   return($fflags);
 }
 
diff --git a/debian/filter-test.pl b/debian/filter-test.pl
new file mode 100755
index 0000000..c93ed7d
--- /dev/null
+++ b/debian/filter-test.pl
@@ -0,0 +1,47 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+
+my @cmdline=('make','TEST_VERBOSE=1','LC_ALL=C');
+push @cmdline,"LDFLAGS=$ENV{LDFLAGS}" if (defined $ENV{LDFLAGS});
+push @cmdline,'test';
+push @cmdline,'2>&1';
+
+my $cmdline=join(' ', at cmdline);
+
+open(my $fh_test,'-|',$cmdline);
+my $hot=0;
+my $last_enter_dir;
+my $debug = 0;
+print "BEGIN test verbose\n";
+while (<$fh_test>) {
+	if (/^make\[\d+\]: Entering directory/) {
+		$last_enter_dir=$_;
+		$hot=0;
+		next;
+	}
+	if (/\"test_harness\(/) {
+		$hot=2;
+		if ($debug) {
+			print "ADDHOT: " . $last_enter_dir;
+		} else {
+			print $last_enter_dir;
+		}
+	}
+	if ($hot) {
+		$hot-- if ($hot < 2);
+		if ($debug) {
+			print "   HOT: " . $_;
+		} else {
+			print;
+		}
+		if (/^Result:\s*(?:PASS|FAIL)/) {
+			$hot--;
+		}
+	} elsif ($debug) {
+		print "  COLD: " . $_ unless ($hot);
+	}
+}
+print "END test verbose\n";
+my $status=close($fh_test);
+exit($status ? 0 : 1);
diff --git a/debian/patches/build-pdl-wrapper-via-makefile.patch b/debian/patches/build-pdl-wrapper-via-makefile.patch
new file mode 100644
index 0000000..e1ca960
--- /dev/null
+++ b/debian/patches/build-pdl-wrapper-via-makefile.patch
@@ -0,0 +1,58 @@
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -508,7 +508,7 @@
+ my $cleanup = 'pdl perldl pdldoc pdldoc.db pdldoc.pod perldl.pod ';
+ 
+ if($^O !~ /mswin32/i) {
+-      $cleanup = 'pdl.c ' . $cleanup;
++      $cleanup = 'pdl.c pdl.o ' . $cleanup;
+ }
+ 
+ 
+@@ -709,6 +709,21 @@
+ 
+ 	    if($Config{make} =~ /\bdmake/i) {
+ 		foreach $target (@$list) {
++			if ($target eq 'pdl') {
++				next if ($^O =~ /mswin32/i);
++				push @m, "
++all :: $target
++	\$(NOECHO) \$(NOOP)
++
++$target: $target.o
++	mkdir -p blib/bin
++	\$(LD) -o blib/bin/$target $target.o
++
++$target.c: $plfile
++	\$(PERLRUNINST) $plfile $target
++";
++				next;
++	}
+ 		    push @m, "
+ all :: $target
+ 	\$(NOECHO) \$(NOOP)
+@@ -726,7 +741,9 @@
+ 	    # why it still doesn't. (CED 2012-11-12)
+ 		    my $compilestr;
+ 		    if($plfile eq "pdl.PL" && $Config{make} !~ /\bnmake/i) {
+-			$compilestr = "\n\t\$(CC) -o pdl pdl.c\n";
++			$compilestr = "\n\t\$(CC) \$(CFLAGS) \$(CPPFLAGS) -c -o pdl.o pdl.c\n";
++			$compilestr.= "\t\$(LD) -o pdl pdl.o\n";
++            $compilestr.= "\tcp -a pdl blib/bin\n";
+ 		    } else {
+ 			$compilestr = "";
+ 		    }
+--- a/pdl.PL
++++ b/pdl.PL
+@@ -84,11 +84,4 @@
+ nosubs
+   ;
+ 
+-use Config;
+-my $dir = 'blib/bin';
+-#manually create directory. Older versions of EU::MM (at least as late
+-#as 6.17 which ships with perl 5.8.6) don't automatically create it.
+-mkdir $dir unless -e $dir && -d $dir;
+-`$Config{cc} -o $dir/pdl pdl.c`;
+-
+ exit 0;
diff --git a/debian/patches/callext_compile_options.patch b/debian/patches/callext_compile_options.patch
new file mode 100644
index 0000000..ca14cc1
--- /dev/null
+++ b/debian/patches/callext_compile_options.patch
@@ -0,0 +1,17 @@
+--- a/t/callext.t
++++ b/t/callext.t
+@@ -34,8 +34,12 @@
+ my $out   = File::Spec->catfile('t', 'callext.'.$Config{dlext});
+ 
+ # Compile the code
+-
+-callext_cc($cfile, "-I$inc", '', $out);
++my $cflags="-I$inc";
++$cflags.=" $ENV{CPPFLAGS}" if (defined $ENV{CPPFLAGS});
++$cflags.=" $ENV{CFLAGS}" if (defined $ENV{CFLAGS});
++my $ldflags='';
++$ldflags.=" $ENV{LDFLAGS}" if (defined $ENV{LDFLAGS});
++callext_cc($cfile, $cflags, $ldflags, $out);
+ 
+ my $y = sequence(5,4)+2;  # Create PDL
+ my $x = $y*20+100;        # Another
diff --git a/debian/patches/doc_dirlist.patch b/debian/patches/doc_dirlist.patch
new file mode 100644
index 0000000..388cbee
--- /dev/null
+++ b/debian/patches/doc_dirlist.patch
@@ -0,0 +1,57 @@
+--- a/Doc/scantree.pl
++++ b/Doc/scantree.pl
+@@ -8,39 +8,42 @@
+ $opt_v = 0;
+ 
+ getopts('v');
+-$dir = shift @ARGV;
++$dirarg = shift @ARGV;
+ $outdb  = shift @ARGV;
+ $outindex  = shift @ARGV;
+ 
+-unless (defined $dir) {
+-	($dir = $INC{'PDL.pm'}) =~ s/PDL\.pm$//i;
++unless (defined $dirarg) {
++	($dirarg = $INC{'PDL.pm'}) =~ s/PDL\.pm$//i;
+ 	umask 0022;
+-	print "DIR = $dir\n";
++	print "DIR = $dirarg\n";
+ }
++my @dirs = split /,/,$dirarg;
+ unless (defined $outdb) {
+-	$outdb = "$dir/PDL/pdldoc.db";
++	$outdb = "$dirs[0]/PDL/pdldoc.db";
+ 	print "DB  = $outdb\n";
+ }
+ 
+ $currdir = getcwd;
+ 
+-chdir $dir or die "can't change to $dir";
+-$dir = getcwd;
+-
+ unlink $outdb if -e $outdb;
+ $onldc = new PDL::Doc();
+ $onldc->outfile($outdb);
+-$onldc->scantree($dir."/PDL",$opt_v);
+-$onldc->scan($dir."/PDL.pm",$opt_v);
+ 
+-chdir $currdir;
++foreach $dir (@dirs) {
++    chdir $dir or die "can't change to $dir";
++    $dir = getcwd;
++
++    $onldc->scantree($dir."/PDL",$opt_v);
++    $onldc->scan($dir."/PDL.pm",$opt_v) if (-s $dir."/PDL.pm");
++    chdir $currdir;
++}
+ 
+ print STDERR "saving...\n";
+ $onldc->savedb();
+ @mods = $onldc->search('module:',['Ref'],1);
+ @mans = $onldc->search('manual:',['Ref'],1);
+ @scripts = $onldc->search('script:',['Ref'],1);
+-$outdir = "$dir/PDL";
++$outdir = "$dirs[0]/PDL";
+ # ($outdir = $INC{'PDL.pm'}) =~ s/\.pm$//i;
+ $outindex="$outdir/Index.pod" unless (defined $outindex);
+ unlink $outindex if -e $outindex;  # Handle read only file
diff --git a/debian/patches/dumper_gnukfreebsd.patch b/debian/patches/dumper_gnukfreebsd.patch
new file mode 100644
index 0000000..df29ba1
--- /dev/null
+++ b/debian/patches/dumper_gnukfreebsd.patch
@@ -0,0 +1,20 @@
+--- a/IO/Dumper.pm
++++ b/IO/Dumper.pm
+@@ -118,7 +118,7 @@
+   # make sure not to use uuencode/uudecode
+   # on MSWin32 systems (it doesn't work)
+   # Force Convert::UU for BSD systems to see if that fixes uudecode problem
+-  if ($^O !~ /(MSWin32|bsd)$/) {
++  if (($^O !~ /(MSWin32|bsd)$/) or ($^O eq 'gnukfreebsd')) {
+      $PDL::IO::Dumper::uudecode_ok = &$checkprog('uudecode') and &$checkprog('uuencode') and ($^O !~ /MSWin32/);
+   }
+ 
+@@ -424,7 +424,7 @@
+ # so we go this way for now as it is less-likely to break things
+ #
+ my $uudecode_string = "|uudecode";
+-$uudecode_string .= " -s" if $^O =~ m/darwin|((free|open)bsd)|dragonfly/;
++$uudecode_string .= " -s" if (($^O =~ m/darwin|((free|open)bsd)|dragonfly/) and ($^O ne 'gnukfreebsd'));
+ 
+ sub PDL::IO::Dumper::uudecode_PDL {
+     my $lines = shift;
diff --git a/debian/patches/fix_manifest.patch b/debian/patches/fix_manifest.patch
new file mode 100644
index 0000000..8d655cd
--- /dev/null
+++ b/debian/patches/fix_manifest.patch
@@ -0,0 +1,24 @@
+--- a/MANIFEST
++++ b/MANIFEST
+@@ -650,8 +650,6 @@
+ debian/copyright
+ debian/dh_pdl
+ debian/f77conf.pl
+-debian/fix_man_encoding.sed
+-debian/fix_man_name.sed
+ debian/patches/series
+ debian/pdl.dirs
+ debian/pdl.doc-base
+--- a/MANIFEST.SKIP
++++ b/MANIFEST.SKIP
+@@ -267,3 +267,10 @@
+ ~$
+ ^work
+ ^pdl.*-log.txt$
++^\.pc/.*$
++^debian/pdl/.*$
++^debian/dh_pdl\.1$
++^debian/files$
++^debian/pdl\.debhelper\.log$
++^debian/pdl\..*\.debhelper$
++^debian/pdl\.substvars$
diff --git a/debian/patches/fix_pod2man_errors.patch b/debian/patches/fix_pod2man_errors.patch
new file mode 100644
index 0000000..c5ec87f
--- /dev/null
+++ b/debian/patches/fix_pod2man_errors.patch
@@ -0,0 +1,95 @@
+--- a/Basic/Pod/PP.pod
++++ b/Basic/Pod/PP.pod
+@@ -347,7 +347,7 @@
+ For the above situation, my compiler tells me:
+ 
+  ...
+- test.pd:15: error: ‘rmp’ undeclared (first use in this function)
++ test.pd:15: error: 'rmp' undeclared (first use in this function)
+  ...
+ 
+ In my example script (called test.pd), line 15 is exactly the line at which
+--- a/Basic/Complex/complex.pd
++++ b/Basic/Complex/complex.pd
+@@ -20,6 +20,8 @@
+ 
+ 
+ pp_addpm {At => Top}, <<'EOD';
++=encoding utf8
++
+ =head1 NAME
+ 
+ PDL::Complex - handle complex numbers
+@@ -72,7 +74,7 @@
+ 
+ =item *
+ 
+-This module has received some testing by Vanuxem Gr�gory
++This module has received some testing by Vanuxem Grégory
+ (g.vanuxem at wanadoo dot fr). Please report any other errors you
+ come across!
+ 
+--- a/Lib/Func.pm
++++ b/Lib/Func.pm
+@@ -1,3 +1,4 @@
++=encoding utf-8
+ 
+ =head1 NAME
+ 
+@@ -931,7 +932,7 @@
+ to form C<PDL::Func>. Comments greatly appreciated on the
+ current implementation, as it is not too sensible.
+ 
+-Thanks to Robin Williams, Halld�r Olafsson, and Vince McIntyre.
++Thanks to Robin Williams, Halldór Olafsson, and Vince McIntyre.
+ 
+ =head1 AUTHOR
+ 
+--- a/Basic/Slices/slices.pd
++++ b/Basic/Slices/slices.pd
+@@ -169,7 +169,7 @@
+ dimension and C<$ind> has more than 0 dimensions, they must agree in
+ a threading sense.
+ 
+-C<index1d> uses a single active dim in C<$ind> to produce a list of
++=item C<index1d> uses a single active dim in C<$ind> to produce a list of
+ indexed values in the 0 dim of the output - it is useful for
+ collapsing C<$source> by indexing with a single row of values long
+ C<$source>'s 0 dimension.  The output has the same number of dims as
+@@ -178,11 +178,13 @@
+ C<$ind> and $<source> both have more than 1 dim, then all dims higher
+ than 0 must agree in a threading sense.
+ 
+-C<index2d> works like C<index> but uses separate piddles for X and Y
++=item C<index2d> works like C<index> but uses separate piddles for X and Y
+ coordinates.  For more general N-dimensional indexing, see the
+ L<PDL::NiceSlice> syntax or L<PDL::Slices> (in particular C<slice>,
+ C<indexND>, and C<range>).
+ 
++=back
++
+ These functions are two-way, i.e. after
+ 
+  $c = $a->index(pdl[0,5,8]);
+--- a/Lib/Transform/Cartography/Cartography.pm
++++ b/Lib/Transform/Cartography/Cartography.pm
+@@ -323,7 +323,7 @@
+ 
+ =item dup - if true, the meridian at the far boundary is duplicated.
+ 
+-==back 
++=back
+ 
+ =cut
+ 
+--- a/Basic/Ufunc/ufunc.pd
++++ b/Basic/Ufunc/ufunc.pd
+@@ -801,7 +801,7 @@
+ percentile must be between 0.0 and 1.0.  When the specified percentile
+ falls between two values, the nearest data value is the result.
+ The algorithm implemented is from the textbook version described
+-first at L< http://en.wikipedia.org/wiki/Percentile>.
++first at L<http://en.wikipedia.org/wiki/Percentile>.
+ 
+ By using L<xchg|PDL::Slices/xchg> etc. it is possible to use
+ I<any> dimension.
diff --git a/debian/patches/minuit_default_integer_8.patch b/debian/patches/minuit_default_integer_8.patch
new file mode 100644
index 0000000..2089c10
--- /dev/null
+++ b/debian/patches/minuit_default_integer_8.patch
@@ -0,0 +1,176 @@
+Index: pdl-2.007/Lib/Minuit/FCN.c
+===================================================================
+--- pdl-2.007.orig/Lib/Minuit/FCN.c	2013-09-21 13:45:48.000000000 +0000
++++ pdl-2.007/Lib/Minuit/FCN.c	2014-09-25 07:43:14.000000000 +0000
+@@ -35,15 +35,15 @@
+ #endif 
+ 
+ static SV* mnfunname;
+-static int ene;
++static long long ene;
+ 
+-void FCN(int* npar,double* grad,double* fval,double* xval,int* iflag,double* futil);
++void FCN(long long* npar,double* grad,double* fval,double* xval,long long* iflag,double* futil);
+ 
+-void FCN(int* npar,double* grad,double* fval,double* xval,int* iflag,double* futil){
++void FCN(long long* npar,double* grad,double* fval,double* xval,long long* iflag,double* futil){
+ 
+   SV* funname;
+ 
+-  int count,i;
++  long long count,i;
+   double* x;
+ 
+   I32 ax ; 
+@@ -54,7 +54,7 @@
+   pdl* pxval;
+   SV* pxvalsv;
+   
+-  int ndims;
++  long long ndims;
+   PDL_Indx *pdims;
+ 
+   dSP;
+Index: pdl-2.007/Lib/Minuit/minuit.pd
+===================================================================
+--- pdl-2.007.orig/Lib/Minuit/minuit.pd	2013-08-07 11:52:26.000000000 +0000
++++ pdl-2.007/Lib/Minuit/minuit.pd	2014-09-25 08:33:12.469144306 +0000
+@@ -6,18 +6,18 @@
+ #include<string.h>
+ #include "FCN.c"
+ 
+-extern void MNINIT(int*,int*,int*);
+-extern void MNSETI(char*,int);
+-extern void MNPARM(int*,char*,double*,double*,double*,double*,int*,int);
+-extern void MNEXCM(void* f,char*,double*,int*,int*,double* futil,int);
+-extern void MNPOUT(int*,char*,double*,double*,double*,double*,int*,int);
+-extern void MNSTAT(double*,double*,double*,int*,int*,int*);
+-extern void MNEMAT(double*,int*); /* Matrix here! */
+-extern void MNERRS(int*,double*,double*,double*,double*);
+-extern void MNCONT(void* f,int*,int*,int*,double*,double*,int*,double* futil);
++extern void MNINIT(long long*,long long*,long long*);
++extern void MNSETI(char*,long);
++extern void MNPARM(long long*,char*,double*,double*,double*,double*,long long*,long);
++extern void MNEXCM(void* f,char*,double*,long long*,long long*,double* futil,long);
++extern void MNPOUT(long long*,char*,double*,double*,double*,double*,long long*,long);
++extern void MNSTAT(double*,double*,double*,long long*,long long*,long long*);
++extern void MNEMAT(double*,long long*); /* Matrix here! */
++extern void MNERRS(long long*,double*,double*,double*,double*);
++extern void MNCONT(void* f,long long*,long long*,long long*,double*,double*,long long*,double* futil);
+ 
+-extern void ABRE(int*,char*,char*,int,int);
+-extern void CIERRA(int*);
++extern void ABRE(long*,char*,char*,long,long);
++extern void CIERRA(long long*);
+ ');                   
+ 		      # add C code to the section preceding 
+ 		      # the first MODULE keyword
+@@ -367,7 +367,7 @@
+ ');
+ 
+ pp_def('mninit',
+-        Pars => 'int a();int b(); int c();',
++        Pars => 'longlong a();longlong b(); longlong c();',
+         Code => 'MNINIT($P(a),$P(b),$P(c));
+       ');
+ pp_addxs('','
+@@ -375,7 +375,7 @@
+ mnseti(str)
+ 	char* str;
+ 	CODE:
+-	 int largo;
++	 long largo;
+ 	 largo = strlen(str);
+ 	 MNSETI(str,largo);
+ ');
+@@ -388,14 +388,14 @@
+ #       ');  
+ 
+ pp_def('mn_abre',
+-        Pars => 'int l();',
++        Pars => 'longlong l();',
+         OtherPars => 'char* nombre; char* mode;',
+         Code => '
+-         int l1,l2; l1 = strlen($COMP(nombre)); l2 = strlen($COMP(mode));
++         long l1,l2; l1 = strlen($COMP(nombre)); l2 = strlen($COMP(mode));
+          ABRE($P(l),$COMP(nombre),$COMP(mode),l1,l2);
+ ');
+ pp_def('mn_cierra',
+-        Pars => 'int l();',
++        Pars => 'longlong l();',
+         Code => 'CIERRA($P(l));'
+ );
+ 
+@@ -449,9 +449,9 @@
+ ');
+ 
+ pp_def('mnparm',
+-       Pars => 'int a(); double b(); double c(); double d(); double e(); int [o] ia()',
++       Pars => 'longlong a(); double b(); double c(); double d(); double e(); longlong [o] ia()',
+        OtherPars => "char* str",
+-       Code => ' int largo; largo=strlen($COMP(str));
++       Code => ' long largo; largo=strlen($COMP(str));
+                  MNPARM($P(a),$COMP(str),$P(b),$P(c),$P(d),$P(e),$P(ia),largo);
+        ');
+ 
+@@ -487,10 +487,10 @@
+ ');
+ 
+ pp_def('mnexcm',
+-	Pars =>'double a(n); int ia(); int [o] ib();',
+-	OtherPars => 'char* str; SV* funcion; int numelem;',
++	Pars =>'double a(n); longlong ia(); longlong [o] ib();',
++	OtherPars => 'char* str; SV* funcion; IV numelem;',
+ 	Code => 'double zero;
+-        int largo; largo=strlen($COMP(str));
++        long largo; largo=strlen($COMP(str));
+         ene = $COMP(numelem);
+ 	zero = 0.0;
+ 	mnfunname = $COMP(funcion);
+@@ -525,7 +525,7 @@
+ ');
+ 
+ pp_def('mnpout',
+-	Pars => 'int ia(); double [o] a(); double [o] b(); double [o] c(); double [o] d();int [o] ib();',
++	Pars => 'longlong ia(); double [o] a(); double [o] b(); double [o] c(); double [o] d();longlong [o] ib();',
+ 	OtherPars => 'SV* str;',
+ 	Code => 'STRLEN largo; SV* tempo; char* uuu;
+ 	tempo = SvRV($COMP(str));
+@@ -551,7 +551,7 @@
+   }
+ ');
+ pp_def('mnstat',
+-        Pars => 'double [o] a(); double [o] b(); double [o] c(); int [o] ia(); int [o] ib(); int [o] ic();',
++        Pars => 'double [o] a(); double [o] b(); double [o] c(); longlong [o] ia(); longlong [o] ib(); longlong [o] ic();',
+         Code => 'MNSTAT($P(a),$P(b),$P(c),$P(ia),$P(ib),$P(ic));
+        ');
+ 
+@@ -579,7 +579,7 @@
+ ');
+ pp_def('mnemat',
+         Pars => 'double [o] mat(n,n);',
+-        Code => 'int numrows; numrows = $SIZE(n);
++        Code => 'long long numrows; numrows = $SIZE(n);
+         MNEMAT($P(mat),&numrows);
+        ');
+ 
+@@ -607,7 +607,7 @@
+   }
+ ');
+ pp_def('mnerrs',
+-	Pars => 'int ia(); double [o] a(); double [o] b(); double [o] c(); double [o] d();',
++	Pars => 'longlong ia(); double [o] a(); double [o] b(); double [o] c(); double [o] d();',
+         Code => 'MNERRS($P(ia),$P(a),$P(b),$P(c),$P(d));
+        ');
+ 
+@@ -641,8 +641,8 @@
+ ');
+ 
+ pp_def('mncont',
+-        Pars => 'int ia(); int ib(); int ic(); double [o] a(n); double [o] b(n); int [o] id();',
+-        OtherPars => 'SV* funcion; int numelem;',
++        Pars => 'longlong ia(); longlong ib(); longlong ic(); double [o] a(n); double [o] b(n); longlong [o] id();',
++        OtherPars => 'SV* funcion; IV numelem;',
+         Code => ' double zero;
+ 	zero = 0.0; 
+         mnfunname = $COMP(funcion);
diff --git a/debian/patches/series b/debian/patches/series
index 8b13789..563575e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,10 @@
 
+build-pdl-wrapper-via-makefile.patch
+fix_pod2man_errors.patch
+callext_compile_options.patch
+doc_dirlist.patch
+dumper_gnukfreebsd.patch
+fix_manifest.patch
+testsuite_fixes.patch
+slatec_default_integer_8.patch
+minuit_default_integer_8.patch
diff --git a/debian/patches/slatec_default_integer_8.patch b/debian/patches/slatec_default_integer_8.patch
new file mode 100644
index 0000000..f4fe40e
--- /dev/null
+++ b/debian/patches/slatec_default_integer_8.patch
@@ -0,0 +1,109 @@
+--- a/Lib/Slatec/slatec.pd
++++ b/Lib/Slatec/slatec.pd
+@@ -369,7 +369,7 @@
+ 	  (($_->[0] eq "Mat" or $_->[0] eq "FuncRet")
+            and join '',@{$_}[1,2,3]) or
+ 	  (($_->[0] eq "IntFlag" or $_->[0] eq "FortranIndex" or $_->[0] eq "CheckFlag")
+-           and "int ".join '',@{$_}[1,2,3]) or
++           and "longlong ".join '',@{$_}[1,2,3]) or
+ 	  die "Invalid ppars ",(join ',',@$_),"\n";
+       }
+     } @args2;
+@@ -417,12 +417,12 @@
+     my @ifincode;
+     foreach ( @args2 ) {
+       if ( $_->[0] eq "Incfd" ) {
+-	  push @ifincode, "int _" . lc($_->[0]) . " = 1;";
++	  push @ifincode, "long long _" . lc($_->[0]) . " = 1;";
+       } elsif ( $_->[0] eq "CheckFlag" ) {
+-	  push @ifincode, "int _" . lc($_->[0]) . " = \$$_->[2]();";
++	  push @ifincode, "long long _" . lc($_->[0]) . " = \$$_->[2]();";
+       } elsif ( $_->[0] eq "FortranIndex" ) {
+ 	  # convert from C to F77 index
+-	  push @ifincode, "int _$_->[2] = \$$_->[2]() + 1;"
++	  push @ifincode, "long long _$_->[2] = \$$_->[2]() + 1;"
+       }
+     }
+ 
+@@ -502,7 +502,7 @@
+ 	$h = float($h);
+ 	rs($h, 
+ 		(my $eigval=PDL->null),
+-		(long (pdl (1))),(my $eigmat=PDL->null),
++		(longlong (pdl (1))),(my $eigmat=PDL->null),
+ 		(my $fvone = PDL->null),(my $fvtwo = PDL->null),
+ 		(my $errflag=PDL->null)
+ 	);
+@@ -528,7 +528,7 @@
+ 	if(sum($info) > 0) {
+ 		barf("Uninvertible matrix given to inv: $m\n");
+ 	}
+-	gedi($m,$ipvt,(pdl 0,0),(null),(long( pdl (1))));
++	gedi($m,$ipvt,(pdl 0,0),(null),(longlong( pdl (1))));
+ 	$m;
+ }
+ 
+@@ -540,7 +540,7 @@
+ 	if(sum($info) > 0) {
+ 		barf("Uninvertible matrix given to inv: $m\n");
+ 	}
+-	gedi($m,$ipvt,(my $det=null),(null),(long( pdl (10))));
++	gedi($m,$ipvt,(my $det=null),(null),(longlong( pdl (10))));
+ 	return $det->slice('(0)')*10**$det->slice('(1)');
+ }
+ 
+@@ -1569,12 +1569,12 @@
+ #  bar runs across polynomial coefficients.
+ #
+ pp_def('polfit',
+-  Pars => 'x(n); y(n); w(n); int maxdeg(); int [o]ndeg(); [o]eps(); [o]r(n); int [o]ierr(); [o]a(foo); [o]coeffs(bar);[t]xtmp(n);[t]ytmp(n);[t]wtmp(n);[t]rtmp(n)',
++  Pars => 'x(n); y(n); w(n); longlong maxdeg(); longlong [o]ndeg(); [o]eps(); [o]r(n); longlong [o]ierr(); [o]a(foo); [o]coeffs(bar);[t]xtmp(n);[t]ytmp(n);[t]wtmp(n);[t]rtmp(n)',
+   OtherPars => '',
+   Code => '
+-           int maxord;
+-           int ord;
+-           int k;
++           long long maxord;
++           long long ord;
++           long long k;
+            $GENERIC() zero = 0;
+ 
+            $TFD(polfit'.$uscore.',dpolft'.$uscore.')  (&$PRIV(__n_size),$P(x),$P(y),$P(w),$P(maxdeg),$P(ndeg),$P(eps),$P(r),$P(ierr),$P(a)); 
+@@ -1590,9 +1590,9 @@
+   GenericTypes => ['F','D'],
+   HandleBad => 1, 
+   NoBadifNaN => 1,
+-  BadCode => 'int ns = $SIZE(n);
+-              int i;
+-	      int j = 0; 
++  BadCode => 'long long ns = $SIZE(n);
++              long long i;
++	      long long j = 0;
+               if($SIZE(n)<$maxdeg()) {
+                 barf("polfit: Must have at least <n> points to fit <n> coefficients");
+               }
+@@ -1613,9 +1613,9 @@
+                 $ierr() = 2;
+               } else {
+                   /* Found enough good datapoints for a fit -- do the fit */
+-		  int k;
+-		  int ord;
+-		  int maxord;
++		  long long k;
++		  long long ord;
++		  long long maxord;
+                   $GENERIC() zero = 0;
+ 
+                 /* Do the fit */
+--- a/t/slatec.t
++++ b/t/slatec.t
+@@ -237,7 +237,8 @@
+ ( $ismon, $err ) = chcm($x, $f, $d, 1);
+ 
+ ok(($err->getndims==0) & ($err->sum == 0));
+-ok($ismon->get_datatype == 3);
++# HG: datatype has been forced to longlong
++ok($ismon->get_datatype == 5);
+ ok(tapprox($ismon,$ans));
+ 
+ ## Test: chia
diff --git a/debian/patches/testsuite_fixes.patch b/debian/patches/testsuite_fixes.patch
new file mode 100644
index 0000000..a7e819a
--- /dev/null
+++ b/debian/patches/testsuite_fixes.patch
@@ -0,0 +1,118 @@
+Index: pdl-2.007/t/config.t
+===================================================================
+--- pdl-2.007.orig/t/config.t	2013-05-12 20:09:47.000000000 +0000
++++ pdl-2.007/t/config.t	2014-09-25 07:43:14.000000000 +0000
+@@ -19,7 +19,7 @@
+    local $TODO = 'Known_problem sf.net bug #3030998' if ($PDL::Config{SKIP_KNOWN_PROBLEMS} or exists $ENV{SKIP_KNOWN_PROBLEMS} );
+    
+    # generate list of WITH_* keys from PDL::Config
+-   my @keys = grep { /^WITH_/ } keys %PDL::Config;
++   my @keys = sort grep { /^WITH_/ } keys %PDL::Config;
+    foreach my $key ( @keys ) {
+       # there should be no undef values
+       ok( defined $PDL::Config{$key} , "check $key in Config.pm" );
+Index: pdl-2.007/t/flexraw_fortran.t
+===================================================================
+--- pdl-2.007.orig/t/flexraw_fortran.t	2013-09-14 15:07:45.000000000 +0000
++++ pdl-2.007/t/flexraw_fortran.t	2014-09-25 09:04:08.959415513 +0000
+@@ -28,6 +28,8 @@
+ 
+ my $exec = $^O =~ /win32/i ? '.exe' : '';
+ my $null = $^O =~ /win32/i ? ' 2>nul' : ' 2>/dev/null';
++my $F77;
++my $F77flags;
+ 
+ BEGIN{
+ 
+@@ -44,13 +46,30 @@
+    } elsif ($datalen > 70) {
+       plan skip_all => "TEMPDIR path too long for f77 ($datalen chars), skipping all tests";
+    } else {
+-      eval " use ExtUtils::F77; ";
+-      if ( $@ ) {
+-         plan skip_all => "Skip all tests as ExtUtils::F77 not found"; 
+-         exit 0;
++      if (exists $PDL::Config{F77CONF} && -f $PDL::Config{F77CONF}) {
++        print "loading F77 configuration from $PDL::Config{F77CONF}...\n";
++        eval "require '$PDL::Config{F77CONF}'";
++        if ($@ ne "") {
++	  plan skip_all => "F77CONF file not loaded";
++        }
++        $F77 = F77Conf::compiler();
++        $F77flags = F77Conf::cflags();
+       } else {
+-         plan tests => $ntests;
++        eval " use ExtUtils::F77; ";
++        if ( $@ ) {
++           plan skip_all => "Skip all tests as ExtUtils::F77 not found";
++           exit 0;
++        }
++        if ($ExtUtils::F77::VERSION > 1.03) {
++            $F77 = ExtUtils::F77::compiler();
++            $F77flags = ExtUtils::F77::cflags();
++        } else {
++            $F77 = 'f77';
++            $F77flags = '';
++        }
++
+       }
++      plan tests => $ntests;
+    }
+ 
+     # Configuration
+@@ -66,19 +85,6 @@
+ 
+ }
+ 
+-# use ExtUtils::F77;
+-
+-my $F77;
+-my $F77flags;
+-
+-if ($ExtUtils::F77::VERSION > 1.03) {
+-    $F77 = ExtUtils::F77::compiler();
+-    $F77flags = ExtUtils::F77::cflags();
+-} else {
+-    $F77 = 'f77';
+-    $F77flags = '';
+-}
+-
+ sub tapprox {
+     my ($a,$b) = @_;
+     my $c = abs($a->clump(-1)-$b->clump(-1));
+@@ -271,7 +277,7 @@
+ c Program to test i/o of F77 unformatted files
+       program rawtest
+       implicit none
+-      integer i
++      integer*4 i
+       $f77type a($ndata)
+       do i = 1, $ndata
+         a(i) = $val
+@@ -353,7 +359,7 @@
+ c Program to test i/o of F77 unformatted files
+       program rawtest
+       implicit none
+-      integer i
++      integer*4 i
+       $f77type a($ndata)
+       do i = 1, $ndata
+         a(i) = $val
+@@ -403,7 +409,7 @@
+ c Program to test i/o of F77 unformatted files
+       program rawtest
+       implicit none
+-      integer i
++      integer*4 i
+       $f77type a($ndata)
+       do i = 1, $ndata
+         a(i) = $val
+@@ -457,7 +463,7 @@
+ c Program to test i/o of F77 unformatted files
+       program rawtest
+       implicit none
+-      integer i, j
++      integer*4 i, j
+       $f77type a($ndata, $ndata)
+       do i = 1, $ndata
+         do j = 1, $ndata
diff --git a/debian/pdl.dirs b/debian/pdl.dirs
index 921fdee..33d548f 100644
--- a/debian/pdl.dirs
+++ b/debian/pdl.dirs
@@ -1,3 +1,4 @@
 usr/bin
 usr/share/lintian/overrides
+usr/share/perl5/PDL
 var/lib/pdl
diff --git a/debian/pdl.docs b/debian/pdl.docs
index 6141f0b..c93d638 100644
--- a/debian/pdl.docs
+++ b/debian/pdl.docs
@@ -1,4 +1,4 @@
-BUGS
+Bugs.pod
 Known_problems
 README
 TODO
diff --git a/debian/pdl.install.in b/debian/pdl.install.in
new file mode 100644
index 0000000..43f1bf7
--- /dev/null
+++ b/debian/pdl.install.in
@@ -0,0 +1,3 @@
+Doc/scantree.pl @vendorarch@/PDL/Doc/
+Doc/mkhtmldoc.pl @vendorarch@/PDL/Doc/
+debian/dh_pdl usr/bin
diff --git a/debian/pdl.links.in b/debian/pdl.links.in
new file mode 100644
index 0000000..e2a3672
--- /dev/null
+++ b/debian/pdl.links.in
@@ -0,0 +1,4 @@
+/var/lib/pdl/Index.pod /@vendorarch@/PDL/Index.pod
+/var/lib/pdl/pdldoc.db /@vendorarch@/PDL/pdldoc.db
+/var/lib/pdl/html /usr/share/doc/pdl/html
+/usr/share/man/man3/PDL.3pm.gz /usr/share/man/man1/pdl.1.gz
diff --git a/debian/pdl.lintian-overrides.in b/debian/pdl.lintian-overrides.in
new file mode 100644
index 0000000..9a3d677
--- /dev/null
+++ b/debian/pdl.lintian-overrides.in
@@ -0,0 +1,9 @@
+# HG: the html doc is generated in the postinst maintainer script, so lintian
+#     just does not see it
+pdl: doc-base-file-references-missing-file pdl:12 /var/lib/pdl/html/Index.html
+pdl: doc-base-file-references-missing-file pdl:13 /var/lib/pdl/html/*.html
+# there is one long code line in the manpage, which cannot be broken
+pdl: manpage-has-errors-from-man usr/share/man/man3/PDL::FFT.3pm.gz 232: warning [p 2, 3.3i]: can't break line
+# these two images neeed to be in usr/lib
+pdl: image-file-in-usr-lib @vendorarch@/PDL/Transform/Cartography/earth_day.jpg
+pdl: image-file-in-usr-lib @vendorarch@/PDL/Transform/Cartography/earth_night.jpg
diff --git a/debian/pdl.postinst.in b/debian/pdl.postinst.in
new file mode 100644
index 0000000..ba4159b
--- /dev/null
+++ b/debian/pdl.postinst.in
@@ -0,0 +1,47 @@
+#! /bin/sh
+# postinst script for pdl
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postinst> `configure' <most-recently-configured-version>
+#        * <old-postinst> `abort-upgrade' <new version>
+#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+#          <new-version>
+#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+#          <failed-install-package> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+#
+
+case "$1" in
+    configure|triggered)
+        if perl /@vendorarch@/PDL/Doc/scantree.pl /@vendorarch@/,/usr/share/perl5 /var/lib/pdl/pdldoc.db /var/lib/pdl/Index.pod >/dev/null 2>&1 ; then
+           perl /@vendorarch@/PDL/Doc/mkhtmldoc.pl -s "PDL/" /@vendorarch@/PDL /var/lib/pdl/html >/dev/null 2>&1
+           perl /@vendorarch@/PDL/Doc/mkhtmldoc.pl -s "PDL/" /usr/share/perl5/PDL /var/lib/pdl/html >/dev/null 2>&1
+       else
+           echo "Skipping PDL documation update, as the package is not usable at the moment" >&2
+       fi
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/debian/pdl.triggers.in b/debian/pdl.triggers.in
new file mode 100644
index 0000000..e80e6ab
--- /dev/null
+++ b/debian/pdl.triggers.in
@@ -0,0 +1,2 @@
+interest /@vendorarch@/PDL
+interest /usr/share/perl5/PDL
diff --git a/debian/perldl.conf b/debian/perldl.conf
index 1d1809d..f9e3a11 100644
--- a/debian/perldl.conf
+++ b/debian/perldl.conf
@@ -118,7 +118,7 @@
         USE_POGL => undef,
 #       USE_POGL => 0,
 #
-        POGL_VERSION => 0.65,           # minimum compatible OpenGL version
+        POGL_VERSION => 0.6702,           # minimum compatible OpenGL version
 
 #       POGL_WINDOW_TYPE => 'x11',      # use X11+GLX for windows
         POGL_WINDOW_TYPE => 'glut',     # use GLUT for windows
@@ -171,18 +171,13 @@
         GSL_INC => undef, # use gsl-config
 
 # Whether or not to build the PDL::FFTW module
-# false -> don't use
-# true -> force use
-
-        WITH_FFTW => undef,    # Leave it up to PDL to decide
-        
-# Location to search for the FFTW libs
-        FFTW_LIBS => [ '/lib','/usr/lib','/usr/local/lib'],
-
-# Location to find FFTW includes:
-        FFTW_INC => ['/usr/include/','/usr/local/include'],
+# NOTE:  PDL::FFTW has been moved to its own CPAN
+#        distribution and has been deprecated.
+#        Please install from CPAN.
 
-# FFTW Numeric Precision Type to link in: (double or single precision)
+        WITH_FFTW => 0,        # Don't build PDL::FFTW
+        FFTW_LIBS => undef,    # [ '/lib','/usr/lib','/usr/local/lib'],
+        FFTW_INC => undef,     # ['/usr/include/','/usr/local/include'],
         FFTW_TYPE => 'double',
 
 # Whether or not to build the PDL::IO::HDF module
diff --git a/debian/rules b/debian/rules
index 3b0cc0f..704ead7 100755
--- a/debian/rules
+++ b/debian/rules
@@ -12,11 +12,11 @@
 
 unexport DISPLAY
 
-
+WARNING_FLAGS:=-Wall -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-function
 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
-	export DEB_CFLAGS_MAINT_APPEND:=-Wall
+	export DEB_CFLAGS_MAINT_APPEND:=$(WARNING_FLAGS)
 else
-	export DEB_CFLAGS_MAINT_APPEND:=-Wall -ffunction-sections
+	export DEB_CFLAGS_MAINT_APPEND:=$(WARNING_FLAGS) -ffunction-sections
 endif
 
 export DEB_LDFLAGS_MAINT_APPEND:=-Wl,--as-needed
@@ -26,6 +26,8 @@ include /usr/share/dpkg/buildflags.mk
 
 subst_pdlapi  = -Vpdlapi:Provides="`perl -Mblib -MPDL::Config::Debian -e 'print \"pdlapi-$$PDL::Config::Debian::pdl_core_version\n\"'`"
 
+vendorarch := $(shell perl -MConfig -e 'print substr($$Config{vendorarch}, 1)')
+
 configure: configure-stamp
 configure-stamp:
 	dh_testdir
@@ -54,11 +56,8 @@ build-stamp: configure-stamp
 test: test-stamp
 test-stamp: build-stamp
 	dh_testdir
-	@echo "BEGIN test normal"
-	-$(MAKE) TEST_VERBOSE=0 LC_ALL=C test | perl debian/filter-test.pl
-	@echo "END test normal"
 	@echo "BEGIN test verbose"
-	-$(MAKE) TEST_VERBOSE=1 LC_ALL=C test | perl debian/filter-test.pl
+	$(MAKE) TEST_VERBOSE=1 LC_ALL=C test
 	@echo "END test verbose"
 	touch test-stamp
 
@@ -72,7 +71,10 @@ clean:
 	# Add here commands to clean up after the build process.
 	[ ! -f Makefile ] || $(MAKE) distclean
 	rm -f t/callext.o t/callext.so Graphics/TriD/OpenGL/tmp*.h-out \
-	 	Perldl2/pdl2.pod debian/dh_pdl.1
+	 	Perldl2/pdl2.pod debian/dh_pdl.1 \
+	 	debian/pdl.lintian-overrides debian/pdl.install \
+	 	debian/pdl.links debian/pdl.postinst \
+	 	debian/pdl.triggers
 
 install: build test
 	dh_testdir
@@ -82,11 +84,16 @@ install: build test
 
 	# Add here commands to install the package into debian/pdl.
 	$(MAKE) install DESTDIR=$(CURDIR)/debian/pdl
-	cd debian/pdl/usr/share/man/man3 ; mv PDL\:\:Reduce.3pm old.3pm ; sed -f $(CURDIR)/debian/fix_man_name.sed old.3pm > PDL\:\:Reduce.3pm ; rm old.3pm
-	cd debian/pdl/usr/share/man/man3 ; mv PDL\:\:Func.3pm old.3pm ; sed -f $(CURDIR)/debian/fix_man_encoding.sed old.3pm > PDL\:\:Func.3pm ; rm old.3pm
-	cd debian/pdl/usr/share/man/man3 ; mv PDL\:\:Complex.3pm old.3pm ; sed -f $(CURDIR)/debian/fix_man_encoding.sed old.3pm > PDL\:\:Complex.3pm ; rm old.3pm
 	cd debian/pdl; while read f ; do rm -f "$$f" ; done < ../pdl.remove
+	# create placeholder in usr/share/perl5/PDL
+	echo > $(CURDIR)/debian/pdl/usr/share/perl5/PDL/.placeholder
 
+	# set perl vendorarch directory dynamically
+	for f in debian/pdl.lintian-overrides debian/pdl.install \
+	 	debian/pdl.links debian/pdl.postinst \
+	 	debian/pdl.triggers ; do \
+	 	sed -e 's, at vendorarch@,$(vendorarch),g' $$f.in > $$f ; \
+	done
 
 # Build architecture-independent files here.
 binary-indep: build install
@@ -119,7 +126,7 @@ binary-arch: build install
 #	dh_python
 #	dh_makeshlibs
 	dh_installdeb
-	dh_shlibdeps
+	dh_shlibdeps -X OpenGLQ.so
 	dh_gencontrol -- $(subst_pdlapi)
 	dh_md5sums
 	dh_builddeb
diff --git a/debian/which_tests_failed.pl b/debian/which_tests_failed.pl
new file mode 100755
index 0000000..5794262
--- /dev/null
+++ b/debian/which_tests_failed.pl
@@ -0,0 +1,107 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use Getopt::Long;
+my @ignore_test_arg;
+my $debug = 0;
+GetOptions(
+    'ignore=s' => \@ignore_test_arg,
+    'debug=i'  => \$debug,
+);
+ at ignore_test_arg = map { split /\s*,\s*/ } @ignore_test_arg;
+my @ignore_test;
+foreach my $ita (@ignore_test_arg) {
+    my @sub_re = split /\s*:\s*/,$ita;
+    die "syntax error: $ita" if ($#sub_re > 2);
+    my @this_it;
+    for (my $i=0;$i<3;$i++) {
+        push @this_it,(((defined $sub_re[$i]) and ($sub_re[$i] ne '')) ? qr/^$sub_re[$i]$/ : qr/^.*$/);
+    }
+    push @ignore_test,\@this_it;
+    print "will ignore: " . join(':', at this_it) . "\n" if ($debug > 1);
+}
+
+my ($test_script, at planned, at ok, at test_msg, at tidx);
+my %failed_test_summary;
+my %architectures;
+sub eval_test {
+    my @failed_tests;
+    my @failed_msgs;
+    for (my $i=0;$i<=$#ok;$i++) {
+        unless ($ok[$i]) {
+            push @failed_tests,$planned[$i];
+            push @failed_msgs,$test_msg[$i];
+        }
+    }
+    my $arch = $1 if ($ARGV =~ /_([^_\.]+)\.testsuite$/);
+
+    for (my $i=0; $i<=$#failed_tests; $i++) {
+        my @val_tuple = ($test_script,$failed_tests[$i],$arch);
+        my $ignore = 0;
+        foreach my $it (@ignore_test) {
+            my $this_ignore = 1;
+            for (my $i=0;$i<3;$i++) {
+                $this_ignore &= ($val_tuple[$i] =~ $it->[$i]);
+            }
+            if ($this_ignore) {
+                $ignore = 1;
+                print STDERR "ignored '" . join(':', at val_tuple) . "' due to '" . join(':',@{$it}) . "\n" if ($debug > 0);
+                last;
+            }
+        }
+        next if ($ignore);
+#        printf "%-20s %3d %s %s\n",$test_script,$failed_tests[$i],$failed_msgs[$i],$arch;
+        $architectures{$arch}=1 if ($#failed_tests>=0);
+        $failed_test_summary{$test_script}->{$failed_tests[$i]}->{$arch}=1;
+    }
+}
+
+while (<>) {
+    if (/^(t\/.*\.t) \.+\s*skipped:/) {
+        eval_test() if ((defined $test_script) and ($#planned >= 0));
+        $test_script=undef;
+        @planned=();
+        @test_msg=();
+        @ok=();
+        @tidx=();
+        next;
+    }
+    if (/^(t\/.*\.t) \.+\s*$/) {
+        eval_test() if ((defined $test_script) and ($#planned >= 0));
+        $test_script=$1;
+        @planned=();
+        @test_msg=();
+        @ok=();
+        @tidx=();
+        next;
+    }
+    if (/^(\d+)\.\.(\d+)/) {
+        warn "planned was not empty" if ($#planned>=0);
+        @planned=$1 .. $2;
+        @ok = (0) x ($#planned+1);
+        @test_msg=('') x ($#planned+1);
+        for (my $i=0;$i<=$#planned;$i++) {
+            $tidx[$planned[$i]]=$i;
+        }
+        next;
+    }
+    next unless ((defined $test_script) and ($#planned >= 0));
+    if (/^ok\s*(\d+)\s*(.*)/) {
+        my $tidx=$tidx[$1];
+        $ok[$tidx]=1;
+        $test_msg[$tidx]=$2 unless ($2 =~ /^\s*$/);
+    }
+}
+eval_test() if ((defined $test_script) and ($#planned >= 0));
+my @architectures   = sort keys %architectures;
+my $summary_fstring = '%-20s %3d';
+foreach (@architectures) {
+    $summary_fstring .= ' %' . length($_) . 's';
+}
+$summary_fstring.="\n";
+foreach my $tst (sort keys %failed_test_summary) {
+    foreach my $stst (sort { $a <=> $b } keys %{$failed_test_summary{$tst}}) {
+        my @farchitectures= map { ($failed_test_summary{$tst}->{$stst}->{$_} ? $_ : '') } @architectures;
+        printf $summary_fstring,$tst,$stst, at farchitectures;
+    }
+}

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/pdl.git



More information about the Pkg-perl-cvs-commits mailing list