[pdl] 02/05: Inject current Debian packaging
Andreas Tille
tille at debian.org
Fri Jan 15 12:44:38 UTC 2016
This is an automated email from the git hooks/post-receive script.
tille 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/debian-science/packages/pdl.git
More information about the debian-science-commits
mailing list