Hello community,

here is the log from the commit of package perl-GDGraph for openSUSE:Factory 
checked in at 2017-01-22 00:17:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-GDGraph (Old)
 and      /work/SRC/openSUSE:Factory/.perl-GDGraph.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-GDGraph"

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-GDGraph/perl-GDGraph.changes        
2013-10-03 07:27:02.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-GDGraph.new/perl-GDGraph.changes   
2017-01-22 00:17:26.518488417 +0100
@@ -1,0 +2,58 @@
+Wed Nov 23 15:01:18 UTC 2016 - co...@suse.com
+
+- remove GDGraph-trim_miter.diff as still not upstream
+
+-------------------------------------------------------------------
+Wed Nov 23 06:29:46 UTC 2016 - co...@suse.com
+
+- updated to 1.54
+   see /usr/share/doc/packages/perl-GDGraph/CHANGES
+
+  1.54 21 Nov 2016
+  
+  - Disable two Y axes alignment when any y[12]_{min,max}_value is defined
+    RT#62665
+
+-------------------------------------------------------------------
+Sat Jul  9 05:19:18 UTC 2016 - co...@suse.com
+
+- updated to 1.53
+   see /usr/share/doc/packages/perl-GDGraph/CHANGES
+
+  1.53 08 Jul 2016
+  
+  - Fix 'Illegal division by zero' when x_min_value and x_max_value
+    are defined and x_tick_number set to 'auto' RT#73185
+    Thanks to Bob Rogers, https://github.com/ruz/GDGraph/pull/12
+
+-------------------------------------------------------------------
+Sun Feb  7 10:00:57 UTC 2016 - co...@suse.com
+
+- updated to 1.52
+   see /usr/share/doc/packages/perl-GDGraph/CHANGES
+
+  1.52 28 Jan 2016
+  
+  - y1_min_range and y2_min_range instead of min_range_1 and min_range_2,
+    niether were documented before.
+  - Update documentation in regards to all *_min_range options available.
+
+-------------------------------------------------------------------
+Sat Jan  2 09:46:15 UTC 2016 - co...@suse.com
+
+- updated to 1.51
+   see /usr/share/doc/packages/perl-GDGraph/CHANGES
+
+-------------------------------------------------------------------
+Sat May  2 09:21:57 UTC 2015 - co...@suse.com
+
+- updated to 1.49
+   see /usr/share/doc/packages/perl-GDGraph/CHANGES
+
+  1.49
+  
+  - fix to Z-axis color filling in 3D pie charts (Debian Bug #489184)
+  - bump ExtUtils::MakeMaker dependency
+  - tiny improvement in the code of the samples
+
+-------------------------------------------------------------------

Old:
----
  GDGraph-1.48.tar.gz
  GDGraph-trim_miter.diff

New:
----
  GDGraph-1.54.tar.gz
  cpanspec.yml

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-GDGraph.spec ++++++
--- /var/tmp/diff_new_pack.oSCoWF/_old  2017-01-22 00:17:27.082408595 +0100
+++ /var/tmp/diff_new_pack.oSCoWF/_new  2017-01-22 00:17:27.086408029 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-GDGraph
 #
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,41 +17,37 @@
 
 
 Name:           perl-GDGraph
-%define cpan_name GDGraph
-Version:        1.48
+Version:        1.54
 Release:        0
-Url:            http://cpan.org/modules/by-module/GD/
-Summary:        Package to generate charts, using Lincoln Stein's GD.pm
-License:        GPL-1.0+ or Artistic-1.0
+%define cpan_name GDGraph
+Summary:        Produces charts with GD
+License:        (Artistic-1.0 or GPL-1.0+) and GPL-2.0+
 Group:          Development/Libraries/Perl
-BuildRequires:  ImageMagick
-BuildRequires:  libtiff-devel
+Url:            http://search.cpan.org/dist/GDGraph/
+Source0:        
http://www.cpan.org/authors/id/R/RU/RUZ/%{cpan_name}-%{version}.tar.gz
+Source1:        cpanspec.yml
+BuildArch:      noarch
+BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  perl
 BuildRequires:  perl-macros
-BuildRequires:  xorg-x11-devel
+BuildRequires:  perl(Capture::Tiny) >= 0.30
 BuildRequires:  perl(GD) >= 1.18
 BuildRequires:  perl(GD::Text) >= 0.80
+BuildRequires:  perl(Test::Exception) >= 0.400000
+BuildRequires:  perl(Test::More) >= 0.88
 Requires:       perl(GD) >= 1.18
 Requires:       perl(GD::Text) >= 0.80
-Source:         %{cpan_name}-%{version}.tar.gz
-Patch:          %{cpan_name}-trim_miter.diff
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-BuildArch:      noarch
 %{perl_requires}
 
 %description
-This is GDGraph, a package to generate charts, using Lincoln Stein's
-GD.pm. See the documentation for some history and more information.
-
+Produces charts with GD
 
 %prep
-%setup -n %{cpan_name}-%{version}
-%patch -p1
+%setup -q -n %{cpan_name}-%{version}
 
 %build
-%{__perl} Makefile.PL OPTIMIZE="$RPM_OPT_FLAGS -Wall" INSTALLDIRS=vendor
+%{__perl} Makefile.PL INSTALLDIRS=vendor
 %{__make} %{?_smp_mflags}
-%{__make} samples
 
 %check
 %{__make} test
@@ -61,11 +57,8 @@
 %perl_process_packlist
 %perl_gen_filelist
 
-%clean
-rm -rf $RPM_BUILD_ROOT
-
 %files -f %{name}.files
-%defattr(-, root, root)
-%doc README*
+%defattr(-,root,root,755)
+%doc CHANGES Dustismo.LICENSE Dustismo_Sans.ttf README samples
 
 %changelog

++++++ GDGraph-1.48.tar.gz -> GDGraph-1.54.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/CHANGES new/GDGraph-1.54/CHANGES
--- old/GDGraph-1.48/CHANGES    2013-08-02 13:55:31.000000000 +0200
+++ new/GDGraph-1.54/CHANGES    2016-11-21 13:22:08.000000000 +0100
@@ -1,3 +1,38 @@
+1.54 21 Nov 2016
+
+- Disable two Y axes alignment when any y[12]_{min,max}_value is defined
+  RT#62665
+
+1.53 08 Jul 2016
+
+- Fix 'Illegal division by zero' when x_min_value and x_max_value
+  are defined and x_tick_number set to 'auto' RT#73185
+  Thanks to Bob Rogers, https://github.com/ruz/GDGraph/pull/12
+
+1.52 28 Jan 2016
+
+- y1_min_range and y2_min_range instead of min_range_1 and min_range_2,
+  niether were documented before.
+- Update documentation in regards to all *_min_range options available.
+
+1.51 27 Dec 2015
+
+- fix shadows rendering on cumulative bar charts
+  thanks to https://github.com/Tordek
+  see https://github.com/ruz/GDGraph/pull/4
+
+1.50 27 Dec 2015
+
+- run samples as part of test suite to make sure no sample crashes
+  thanks to https://github.com/tynovsky
+- properly define test requirements using newer MakeMaker
+
+1.49 11 Mar 2015
+
+- fix to Z-axis color filling in 3D pie charts (Debian Bug #489184)
+- bump ExtUtils::MakeMaker dependency
+- tiny improvement in the code of the samples
+
 1.48 02 Aug 2013
 
 - no code changes, just release enginering cleanup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/Graph/axestype.pm 
new/GDGraph-1.54/Graph/axestype.pm
--- old/GDGraph-1.48/Graph/axestype.pm  2013-07-05 16:46:04.000000000 +0200
+++ new/GDGraph-1.54/Graph/axestype.pm  2016-11-21 12:57:19.000000000 +0100
@@ -1520,13 +1520,13 @@
 
     # First, calculate some decent values
     if ( $self->{two_axes} ) 
-    {   # XXX this is almost certainly a bug: this key is not set anywhere
-        my $min_range_1 = defined($self->{min_range_1})
-                ? $self->{min_range_1}
-                : $self->{min_range};
-        my $min_range_2 = defined($self->{min_range_2})
-                ? $self->{min_range_2}
-                : $self->{min_range};
+    {
+        my $min_range_1 = defined($self->{y1_min_range})
+                ? $self->{y1_min_range}
+                : $self->{y_min_range};
+        my $min_range_2 = defined($self->{y2_min_range})
+                ? $self->{y2_min_range}
+                : $self->{y_min_range};
 
         my(@y_min, @y_max);
         for my $nd (1 .. $self->{_data}->num_sets)
@@ -1584,11 +1584,10 @@
         {
             ($self->{true_x_min}, $self->{true_x_max}) = 
                 $self->{_data}->get_min_max_x;
-            ($self->{x_min}, $self->{x_max}, $self->{x_tick_number}) =
-                _best_ends($self->{true_x_min}, $self->{true_x_max},
-                        @$self{'x_tick_number','x_min_range'});
- 
         }
+        ($self->{x_min}, $self->{x_max}, $self->{x_tick_number}) =
+            _best_ends($self->{true_x_min}, $self->{true_x_max},
+                    @$self{'x_tick_number','x_min_range'});
     }
 
     # Overwrite these with any user supplied ones
@@ -1607,7 +1606,10 @@
     $self->{x_min}    = $self->{x_min_value}  if defined $self->{x_min_value};
     $self->{x_max}    = $self->{x_max_value}  if defined $self->{x_max_value};
 
-    if ($self->{two_axes})
+    if (
+        $self->{two_axes} && !defined $self->{y1_min_value} && !defined 
$self->{y2_min_value}
+        && !defined $self->{y1_max_value} && !defined $self->{y2_max_value}
+    )
     {
         # If we have two axes, we need to make sure that the zero is at
         # the same spot.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/Graph/bars.pm 
new/GDGraph-1.54/Graph/bars.pm
--- old/GDGraph-1.48/Graph/bars.pm      2013-06-28 14:47:49.000000000 +0200
+++ new/GDGraph-1.54/Graph/bars.pm      2015-12-27 17:47:19.000000000 +0100
@@ -145,6 +145,39 @@
             $self->{_data}->error);
 
     my $topvalues = $self->_top_values;
+    #
+    # Draw all shadows.
+    for my $i (0 .. $#values) 
+    {
+        my $value = $values[$i];
+        next unless defined $value;
+
+        my $l = $self->_get_bottom($ds, $i);
+        my ($r, $xp) = $self->val_to_pixel($i + 1, $value, $ds);
+
+        # calculate top and bottom of bar
+        my ($t, $b);
+        my $window = $self->{x_step} - $self->{bargroup_spacing};
+
+        if (ref $self eq 'GD::Graph::mixed' || $self->{overwrite})
+        {
+            $t = $xp - $window/2 + $bar_s + 1;
+            $b = $xp + $window/2 - $bar_s;
+        }
+        else
+        {
+            $t = $xp 
+                - $window/2
+                + ($ds - 1) * $window/$self->{_data}->num_sets
+                + $bar_s + 1; # GRANTM thinks this +1 should be conditional on 
bargroup_spacing being absent
+            $b = $xp 
+                - $window/2
+                + $ds * $window/$self->{_data}->num_sets
+                - $bar_s;
+        }
+
+        $self->_draw_shadow($ds, $i, $value, $topvalues, $l, $t, $r, $b);
+    }
 
     for my $i (0 .. $#values) 
     {
@@ -189,8 +222,6 @@
         }
 
         # draw the bar
-        $self->_draw_shadow($ds, $i, $value, $topvalues, $l, $t, $r, $b);
-
         if ($value < 0) { ($r,$l) = ($l,$r) } 
 
         $self->{graph}->filledRectangle($l, $t, $r, $b, $dsci)
@@ -229,7 +260,39 @@
         $ds_adj   =  grep { $_  eq 'bars' } @types[0..$ds-1];
     }
 
-    for (my $i = 0; $i < @values; $i++) 
+    # Draw all shadows.
+    for my $i (0 .. $#values) 
+    {
+        my $value = $values[$i];
+        next unless defined $value;
+
+        my $bottom = $self->_get_bottom($ds, $i);
+        my ($xp, $t) = $self->val_to_pixel($i + 1, $value, $ds);
+        my ($l, $r);
+        my $window = $self->{x_step} - $self->{bargroup_spacing};
+
+        if ($self->{overwrite})
+        {
+            $l = $xp - $window/2 + $bar_s + 1;
+            $r = $xp + $window/2 - $bar_s;
+        }
+        else
+        {
+            $l = $xp 
+                - $window/2
+                + ($ds_adj - 1) * $window/$bar_sets
+                + $bar_s + 1; # GRANTM thinks this +1 should be conditional on 
bargroup_spacing being absent
+            $r = $xp 
+                - $window/2
+                + $ds_adj * $window/$bar_sets
+                - $bar_s;
+        }
+
+        $self->_draw_shadow($ds, $i, $value, $topvalues, $l, $t, $r, $bottom);
+    }
+
+    # Then all bars.
+    for my $i (0 .. $#values) 
     {
         my $value = $values[$i];
         next unless defined $value;
@@ -272,7 +335,6 @@
         }
 
         # draw the bar
-        $self->_draw_shadow($ds, $i, $value, $topvalues, $l, $t, $r, $bottom);
 
         if ($value < 0) { ($bottom,$t) = ($t,$bottom) } 
         $self->{graph}->filledRectangle($l, $t, $r, $bottom, $dsci)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/Graph/pie.pm 
new/GDGraph-1.54/Graph/pie.pm
--- old/GDGraph-1.48/Graph/pie.pm       2013-06-22 23:40:11.000000000 +0200
+++ new/GDGraph-1.54/Graph/pie.pm       2015-12-27 17:43:41.000000000 +0100
@@ -244,6 +244,7 @@
 
     for (my $i = 0; $i < @values; $i++)
     {
+        next unless $values[$i];
         # Set the data colour
         my $dc = $self->set_clr_uniq($self->pick_data_clr($i + 1));
 
@@ -355,7 +356,7 @@
             # Ah, but if this wraps all the way around the back
             # then both pieces of the front need to be filled.
             # sbonds.
-            if ($pa > $pb ) 
+            if ($pa >= $pb ) 
             {
                 # This takes care of the left bit on the front
                 # Since we know exactly where we are, and in which
@@ -391,9 +392,8 @@
         }
         elsif ( # both in back, but wrapping around the front
                 # CONTRIB kedlubnowski, Dan Rosendorf 
-            $pa > 90 && $pb > 90 && $pa >= $pb
-            or $pa < -90 && $pb < -90 && $pa >= $pb
-            or $pa < -90 && $pb > 90
+            $pa >= $pb && ($pa < 0 || $pb > 0)
+            or $pa < 0 && $pb > 0
         ) 
         {   
             $pa=$ANGLE_OFFSET - 180;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/Graph.pm new/GDGraph-1.54/Graph.pm
--- old/GDGraph-1.48/Graph.pm   2013-08-02 13:55:50.000000000 +0200
+++ new/GDGraph-1.54/Graph.pm   2016-11-21 13:22:07.000000000 +0100
@@ -32,7 +32,7 @@
 package GD::Graph;
 
 ($GD::Graph::prog_version) = '$Revision: 1.55 $' =~ /\s([\d.]+)/;
-$GD::Graph::VERSION = '1.48';
+$GD::Graph::VERSION = '1.54';
 
 use strict;
 use GD;
@@ -1191,10 +1191,7 @@
 
 =item y_max_value, y_min_value
 
-Maximum and minimum value displayed on the y axis. If two_axes is a
-true value, then y1_min_value, y1_max_value (for the left axis),
-and y2_min_value, y2_max_value (for the right axis) take precedence
-over these.
+Maximum and minimum value displayed on the y axis.
 
 The range (y_min_value..y_max_value) has to include all the values of
 the data points, or I<GD::Graph> will die with a message.
@@ -1205,6 +1202,30 @@
 
 Default: Computed from data sets.
 
+=item y1_max_value, y1_min_value, y2_max_value, y2_min_value
+
+Maximum and minimum values for left (y1) and right (y2) axes when
+B<two_axes> is a true value. Take precedence over y_min_value
+and y_max_value.
+
+By default 0 of the left axis is aligned with 0 of the right axis,
+it's not true if any of these options is defined.
+
+Otherwise behaviour and default values are as with y_max_value and y_min_value.
+
+=item y_min_range, y1_min_range, y2_min_range
+
+Minimal range between min and max values on y axis that is used to adjust
+computed y_min_value and y_max_value.
+
+B<NOTE> that author of the feature implemented this for two_axes case only,
+patches are wellcome to expand over one y axis.
+
+If two_axes is a true value, then y1_min_range and y2_min_range take
+precedence over y_min_range value.
+
+Default: undef
+
 =item axis_space
 
 This space will be left blank between the axes and the tick value text.
@@ -1341,6 +1362,12 @@
 The minimum and maximum value to use for the X axis.
 Default: computed.
 
+=item x_min_range
+
+Minimal range of x axis.
+
+Default: undef
+
 =item x_number_format
 
 See y_number_format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/MANIFEST new/GDGraph-1.54/MANIFEST
--- old/GDGraph-1.48/MANIFEST   2013-08-02 13:56:27.000000000 +0200
+++ new/GDGraph-1.54/MANIFEST   2016-11-21 13:22:58.000000000 +0100
@@ -84,6 +84,8 @@
 t/images/logo_ping_noext
 t/images/logo_xbm_noext
 t/images/logo_xpm_noext
+t/samples.t
+t/tickets/73185-div-by-zero.t
 t/use.t
 META.yml                                 Module YAML meta-data (added by 
MakeMaker)
 META.json                                Module JSON meta-data (added by 
MakeMaker)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/META.json new/GDGraph-1.54/META.json
--- old/GDGraph-1.48/META.json  2013-08-02 13:56:27.000000000 +0200
+++ new/GDGraph-1.54/META.json  2016-11-21 13:22:58.000000000 +0100
@@ -6,7 +6,7 @@
       "Ruslan Zakirov <ruslan.zaki...@gmail.com>"
    ],
    "dynamic_config" : 1,
-   "generated_by" : "ExtUtils::MakeMaker version 6.72, CPAN::Meta::Converter 
version 2.131560",
+   "generated_by" : "ExtUtils::MakeMaker version 7.2, CPAN::Meta::Converter 
version 2.150005",
    "license" : [
       "perl_5"
    ],
@@ -24,7 +24,12 @@
    "prereqs" : {
       "build" : {
          "requires" : {
-            "ExtUtils::MakeMaker" : "0"
+            "ExtUtils::MakeMaker" : "6.76"
+         }
+      },
+      "configure" : {
+         "requires" : {
+            "ExtUtils::MakeMaker" : "6.76"
          }
       },
       "runtime" : {
@@ -32,6 +37,14 @@
             "GD" : "1.18",
             "GD::Text" : "0.80"
          }
+      },
+      "test" : {
+         "requires" : {
+            "Capture::Tiny" : "0.30",
+            "FindBin" : "0",
+            "Test::Exception" : "0.40",
+            "Test::More" : "0.88"
+         }
       }
    },
    "release_status" : "stable",
@@ -46,5 +59,6 @@
          "web" : "https://github.com/ruz/GDGraph";
       }
    },
-   "version" : "1.48"
+   "version" : "1.54",
+   "x_serialization_backend" : "JSON::PP version 2.27300"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/META.yml new/GDGraph-1.54/META.yml
--- old/GDGraph-1.48/META.yml   2013-08-02 13:56:27.000000000 +0200
+++ new/GDGraph-1.54/META.yml   2016-11-21 13:22:58.000000000 +0100
@@ -5,22 +5,29 @@
   - 'Benjamin Warfield <bwarfi...@cpan.org>'
   - 'Ruslan Zakirov <ruslan.zaki...@gmail.com>'
 build_requires:
-  ExtUtils::MakeMaker: 0
+  Capture::Tiny: '0.30'
+  ExtUtils::MakeMaker: '6.76'
+  FindBin: '0'
+  Test::Exception: '0.40'
+  Test::More: '0.88'
+configure_requires:
+  ExtUtils::MakeMaker: '6.76'
 dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 6.72, CPAN::Meta::Converter version 
2.131560'
+generated_by: 'ExtUtils::MakeMaker version 7.2, CPAN::Meta::Converter version 
2.150005'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
-  version: 1.4
+  version: '1.4'
 name: GDGraph
 no_index:
   directory:
     - t
     - inc
 requires:
-  GD: 1.18
-  GD::Text: 0.80
+  GD: '1.18'
+  GD::Text: '0.80'
 resources:
   bugtracker: http://rt.cpan.org/Public/Dist/Display.html?Name=GDGraph
   repository: git://github.com/ruz/GDGraph.git
-version: 1.48
+version: '1.54'
+x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/Makefile.PL new/GDGraph-1.54/Makefile.PL
--- old/GDGraph-1.48/Makefile.PL        2013-08-02 13:14:47.000000000 +0200
+++ new/GDGraph-1.54/Makefile.PL        2016-11-21 12:28:12.000000000 +0100
@@ -3,7 +3,7 @@
  
 #--- Distribution section ---
  
-use ExtUtils::MakeMaker;
+use ExtUtils::MakeMaker 6.76;
 use Config;
  
 #use ExtUtils::Manifest;
@@ -27,6 +27,22 @@
             ):()
         ),
 
+        BUILD_REQUIRES   => {
+            'ExtUtils::MakeMaker' => '6.76',
+        },
+        CONFIGURE_REQUIRES   => {
+            'ExtUtils::MakeMaker' => '6.76',
+        },
+        TEST_REQUIRES => {
+            'Capture::Tiny'       => '0.30',
+            'Test::Exception'     => '0.40',
+            'FindBin'             => '0',
+            'Test::More'          => '0.88',
+        },
+        test => {
+            RECURSIVE_TEST_FILES => 1,
+        },
+
         'PREREQ_PM'     => { 
             'GD'           => '1.18', 
             'GD::Text'      => '0.80',
@@ -89,5 +105,8 @@
 directory with `make samples` or by going into that directory, and
 just running `make`.
 If that fails, please read samples/Makefile.
+UPDATE: Running the examples is part of the test procedure now. You
+are still encouraged to run check them out to learn from them and
+to see the ouput images.
 END
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/make_index.pl 
new/GDGraph-1.54/samples/make_index.pl
--- old/GDGraph-1.48/samples/make_index.pl      2013-06-20 18:51:51.000000000 
+0200
+++ new/GDGraph-1.54/samples/make_index.pl      2016-11-21 12:28:12.000000000 
+0100
@@ -26,16 +26,24 @@
     print HTML start_html($titles{$sgroup}),
                h1($titles{$sgroup}), start_table();
 
-    foreach my $num (1..9)
+    my @samples = map  { $_->[0] }
+                 sort { $a->[1] <=> $b->[1] } 
+                 map  { s/\.pl$//; [$_, /${sgroup}(\d+)/] } glob 
"${sgroup}[1-9].pl";
+
+    foreach my $sample (@samples)
     {
-       foreach my $img ("$sgroup$num.$EXT", "$sgroup$num-h.$EXT")
+       my @images = reverse sort  glob "${sample}*.$EXT";
+       warn ("No $EXT sample images found for $sample.pl") unless @images;
+       foreach my $img (@images)
        {
            if (-f $img)
            {
                print HTML Tr(
-                   td(a({href => "$sgroup$num.pl"},"$sgroup$num.pl")),
+                   td(a({href => "$sample.pl"},"$sample.pl")),
                    td(img({src => "$img", border => 0}))
                    );
+           } else {
+                   warn("$img error: $!");
            }
        }
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample11.pl 
new/GDGraph-1.54/samples/sample11.pl
--- old/GDGraph-1.48/samples/sample11.pl        2013-06-20 23:01:06.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample11.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -40,3 +40,5 @@
     save_chart($my_graph, $name);
 }
 
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample12.pl 
new/GDGraph-1.54/samples/sample12.pl
--- old/GDGraph-1.48/samples/sample12.pl        2013-06-20 23:01:06.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample12.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -36,3 +36,5 @@
     $my_graph->plot(\@data);
     save_chart($my_graph, $name);
 }
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample13.pl 
new/GDGraph-1.54/samples/sample13.pl
--- old/GDGraph-1.48/samples/sample13.pl        2013-06-20 23:01:06.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample13.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -32,3 +32,5 @@
     $my_graph->plot(\@data);
     save_chart($my_graph, $name);
 }
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample14.pl 
new/GDGraph-1.54/samples/sample14.pl
--- old/GDGraph-1.48/samples/sample14.pl        2013-06-20 23:01:06.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample14.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -20,6 +20,7 @@
 
 my @names = qw/sample14 sample14-h/;
 
+my $path = $ENV{GDGRAPH_SAMPLES_PATH} ? $ENV{GDGRAPH_SAMPLES_PATH} : '';
 for my $my_graph (GD::Graph::bars->new(600,400),
                   GD::Graph::hbars->new(600,400))
 {
@@ -49,7 +50,7 @@
 
        bar_spacing         => 1,
 
-       logo                => 'logo.' . GD::Graph->export_format,
+       logo                => "${path}logo." . GD::Graph->export_format,
        logo_position       => 'BR',
 
        transparent         => 0,
@@ -88,3 +89,5 @@
     $my_graph->plot($data) or die $my_graph->error;
     save_chart($my_graph, $name);
 }
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample15.pl 
new/GDGraph-1.54/samples/sample15.pl
--- old/GDGraph-1.48/samples/sample15.pl        2013-06-20 23:01:06.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample15.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -36,3 +36,5 @@
     $my_graph->plot(\@data);
     save_chart($my_graph, $name);
 }
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample16.pl 
new/GDGraph-1.54/samples/sample16.pl
--- old/GDGraph-1.48/samples/sample16.pl        2013-06-26 14:19:31.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample16.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -52,3 +52,5 @@
     $my_graph->plot(\@data);
     save_chart($my_graph, $name);
 }
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample17.pl 
new/GDGraph-1.54/samples/sample17.pl
--- old/GDGraph-1.48/samples/sample17.pl        2013-06-20 23:01:06.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample17.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -38,3 +38,5 @@
     $my_graph->plot(\@data) or die $my_graph->error;
     save_chart($my_graph, $name);
 }
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample18.pl 
new/GDGraph-1.54/samples/sample18.pl
--- old/GDGraph-1.48/samples/sample18.pl        2013-06-20 23:01:06.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample18.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -98,3 +98,5 @@
     save_chart($graph, $name);
 }
 
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample19.pl 
new/GDGraph-1.54/samples/sample19.pl
--- old/GDGraph-1.48/samples/sample19.pl        2013-06-22 23:40:11.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample19.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -20,6 +20,8 @@
 
 my @names = qw/sample19 sample19-h/;
 
+my $path = $ENV{GDGRAPH_SAMPLES_PATH} ? $ENV{GDGRAPH_SAMPLES_PATH} : '';
+
 for my $my_graph (GD::Graph::bars->new(600,400),
                  GD::Graph::hbars->new(600,400))
 {
@@ -56,7 +58,7 @@
 
        bar_spacing         => 1,
 
-       logo                => 'logo.' . GD::Graph->export_format,
+       logo                => "${path}logo." . GD::Graph->export_format,
        logo_position       => 'BR',
 
        transparent         => 0,
@@ -95,3 +97,5 @@
     $my_graph->plot($data) or die $my_graph->error;
     save_chart($my_graph, $name);
 }
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample1A.pl 
new/GDGraph-1.54/samples/sample1A.pl
--- old/GDGraph-1.48/samples/sample1A.pl        2013-06-22 23:40:11.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample1A.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -39,3 +39,5 @@
     $my_graph->plot(\@data);
     save_chart($my_graph, $name);
 }
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample1B.pl 
new/GDGraph-1.54/samples/sample1B.pl
--- old/GDGraph-1.48/samples/sample1B.pl        2013-06-22 23:40:11.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample1B.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -41,3 +41,5 @@
        save_chart($graph,$name);
 }
 
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample21.pl 
new/GDGraph-1.54/samples/sample21.pl
--- old/GDGraph-1.48/samples/sample21.pl        2013-06-21 10:09:33.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample21.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -31,3 +31,5 @@
     save_chart($graph, $name);
 }
 
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample22.pl 
new/GDGraph-1.54/samples/sample22.pl
--- old/GDGraph-1.48/samples/sample22.pl        2013-06-20 23:01:06.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample22.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -25,3 +25,5 @@
 $graph->set_legend( 'left axis', 'right axis' );
 $graph->plot(\@data);
 save_chart($graph, $name);
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample23.pl 
new/GDGraph-1.54/samples/sample23.pl
--- old/GDGraph-1.48/samples/sample23.pl        2013-06-20 23:01:06.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample23.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -94,3 +94,5 @@
 $graph->plot(\@data);
 save_chart($graph, 'sample23');
 
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample29.pl 
new/GDGraph-1.54/samples/sample29.pl
--- old/GDGraph-1.48/samples/sample29.pl        2013-06-20 18:51:51.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample29.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -2,7 +2,7 @@
 use GD::Graph::area;
 require 'save.pl';
 
-print STDERR "Processing sample23\n";
+print STDERR "Processing sample29\n";
 
 @data = ( 
     ["1st","2nd","3rd","4th","5th","6th","7th", "8th", "9th"],
@@ -29,3 +29,5 @@
 $my_graph->plot(\@data);
 save_chart($my_graph, 'sample23');
 
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample31.pl 
new/GDGraph-1.54/samples/sample31.pl
--- old/GDGraph-1.48/samples/sample31.pl        2013-06-21 10:09:33.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample31.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -30,3 +30,5 @@
 $my_graph->plot(\@data);
 save_chart($my_graph, 'sample31');
 
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample41.pl 
new/GDGraph-1.54/samples/sample41.pl
--- old/GDGraph-1.48/samples/sample41.pl        2013-06-21 10:09:33.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample41.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -33,3 +33,5 @@
 $my_graph->plot(\@data);
 save_chart($my_graph, 'sample41');
 
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample42.pl 
new/GDGraph-1.54/samples/sample42.pl
--- old/GDGraph-1.48/samples/sample42.pl        2013-06-20 23:01:06.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample42.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -3,7 +3,9 @@
 
 print STDERR "Processing sample42\n";
 
-@data =  read_data_from_csv("sample42.dat")
+my $path = $ENV{GDGRAPH_SAMPLES_PATH} ? $ENV{GDGRAPH_SAMPLES_PATH} : '';
+
+@data =  read_data_from_csv("${path}sample42.dat")
        or die "Cannot read data from sample42.dat";
 
 $my_graph = new GD::Graph::linespoints( );
@@ -50,3 +52,5 @@
        return @d;
 }
 
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample51.pl 
new/GDGraph-1.54/samples/sample51.pl
--- old/GDGraph-1.48/samples/sample51.pl        2013-06-20 23:01:06.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample51.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -30,3 +30,5 @@
 $my_graph->plot(\@data);
 save_chart($my_graph, 'sample51');
 
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample52.pl 
new/GDGraph-1.54/samples/sample52.pl
--- old/GDGraph-1.48/samples/sample52.pl        2013-06-26 14:19:31.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample52.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -38,3 +38,5 @@
 $my_graph->plot(\@data);
 save_chart($my_graph, 'sample52');
 
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample53.pl 
new/GDGraph-1.54/samples/sample53.pl
--- old/GDGraph-1.48/samples/sample53.pl        2013-06-20 23:01:06.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample53.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -3,8 +3,10 @@
 use GD::Graph::Data;
 require 'save.pl';
 
-GD::Graph::colour::read_rgb("rgb.txt") or 
-       die "Cannot read colours from rgb.txt";
+my $path = $ENV{GDGRAPH_SAMPLES_PATH} ? $ENV{GDGRAPH_SAMPLES_PATH} : '';
+
+GD::Graph::colour::read_rgb("${path}rgb.txt") or
+       die "Cannot read colours from ${path}rgb.txt";
 
 print STDERR "Processing sample53\n";
 
@@ -45,3 +47,5 @@
 $my_graph->plot($data) or die $my_graph->error;
 save_chart($my_graph, 'sample53');
 
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample54.pl 
new/GDGraph-1.54/samples/sample54.pl
--- old/GDGraph-1.48/samples/sample54.pl        2013-06-20 23:01:06.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample54.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -3,8 +3,9 @@
 
 print STDERR "Processing sample54\n";
 
-@data = read_data("sample54.dat") 
-       or die "Cannot read data from sample54.dat";
+my $path = $ENV{GDGRAPH_SAMPLES_PATH} ? $ENV{GDGRAPH_SAMPLES_PATH} : '';
+@data = read_data("${path}sample54.dat")
+       or die "Cannot read data from ${path}sample54.dat";
 
 $my_graph = new GD::Graph::lines();
 
@@ -60,3 +61,5 @@
        return @d;
 }
 
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample55.pl 
new/GDGraph-1.54/samples/sample55.pl
--- old/GDGraph-1.48/samples/sample55.pl        2013-06-20 23:01:06.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample55.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -31,3 +31,5 @@
 $my_graph->plot(\@data);
 save_chart($my_graph, 'sample55');
 
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample56.pl 
new/GDGraph-1.54/samples/sample56.pl
--- old/GDGraph-1.48/samples/sample56.pl        2013-06-20 23:01:06.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample56.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -3,8 +3,9 @@
 
 print STDERR "Processing sample56 (experimental)\n";
 
-@data = read_data("sample54.dat") 
-       or die "Cannot read data from sample54.dat";
+my $path = $ENV{GDGRAPH_SAMPLES_PATH} ? $ENV{GDGRAPH_SAMPLES_PATH} : '';
+@data = read_data("${path}sample54.dat")
+       or die "Cannot read data from ${path}sample54.dat";
 
 $my_graph = new GD::Graph::lines();
 
@@ -64,3 +65,5 @@
 
        return @d;
 }
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample57.pl 
new/GDGraph-1.54/samples/sample57.pl
--- old/GDGraph-1.48/samples/sample57.pl        2013-06-20 23:01:06.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample57.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -25,3 +25,5 @@
 $graph->set_legend( 'left axis', 'right axis' );
 $graph->plot(\@data);
 save_chart($graph, $name);
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample58.pl 
new/GDGraph-1.54/samples/sample58.pl
--- old/GDGraph-1.48/samples/sample58.pl        2013-06-26 14:19:31.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample58.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -33,3 +33,5 @@
 
 $graph->plot(\@data);
 save_chart($graph, $name);
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample61.pl 
new/GDGraph-1.54/samples/sample61.pl
--- old/GDGraph-1.48/samples/sample61.pl        2013-06-20 23:01:06.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample61.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -49,3 +49,5 @@
 $my_graph->plot(\@data) or die $my_graph->error;
 save_chart($my_graph, 'sample61');
 
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample62.pl 
new/GDGraph-1.54/samples/sample62.pl
--- old/GDGraph-1.48/samples/sample62.pl        2013-06-20 23:01:06.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample62.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -37,3 +37,5 @@
 $my_graph->plot(\@data);
 save_chart($my_graph, 'sample62');
 
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample63.pl 
new/GDGraph-1.54/samples/sample63.pl
--- old/GDGraph-1.48/samples/sample63.pl        2013-06-20 23:01:06.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample63.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -39,3 +39,5 @@
 $my_graph->plot(\@data) or die $my_graph->error;
 save_chart($my_graph, 'sample63');
 
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample64.pl 
new/GDGraph-1.54/samples/sample64.pl
--- old/GDGraph-1.48/samples/sample64.pl        2013-06-22 23:40:11.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample64.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -59,3 +59,5 @@
 $my_graph->set_legend( qw( incomming outgoing total ) );
 $my_graph->plot(\@data) or die $my_graph->error;
 save_chart($my_graph, 'sample64');
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample71.pl 
new/GDGraph-1.54/samples/sample71.pl
--- old/GDGraph-1.48/samples/sample71.pl        2013-06-20 23:01:06.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample71.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -104,3 +104,5 @@
 
 save_chart($my_graph, 'sample71');
 
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample72.pl 
new/GDGraph-1.54/samples/sample72.pl
--- old/GDGraph-1.48/samples/sample72.pl        2013-06-26 14:19:31.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample72.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -33,3 +33,5 @@
 
 save_chart($my_graph, 'sample72');
 
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample91.pl 
new/GDGraph-1.54/samples/sample91.pl
--- old/GDGraph-1.48/samples/sample91.pl        2013-06-21 10:12:33.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample91.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -28,3 +28,5 @@
 $my_graph->plot(\@data);
 save_chart($my_graph, 'sample91');
 
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample92.pl 
new/GDGraph-1.54/samples/sample92.pl
--- old/GDGraph-1.48/samples/sample92.pl        2013-06-21 10:12:33.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample92.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -27,3 +27,5 @@
 $my_graph->plot(\@data);
 save_chart($my_graph, 'sample92');
 
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample93.pl 
new/GDGraph-1.54/samples/sample93.pl
--- old/GDGraph-1.48/samples/sample93.pl        2013-06-20 23:01:06.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample93.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -23,3 +23,5 @@
 $my_graph->plot(\@data);
 save_chart($my_graph, 'sample93');
 
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample94.pl 
new/GDGraph-1.54/samples/sample94.pl
--- old/GDGraph-1.48/samples/sample94.pl        2013-06-20 23:01:06.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample94.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -33,3 +33,5 @@
 $my_graph->plot(\@data);
 save_chart($my_graph, 'sample94');
 
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/sample95.pl 
new/GDGraph-1.54/samples/sample95.pl
--- old/GDGraph-1.48/samples/sample95.pl        2013-06-22 23:40:11.000000000 
+0200
+++ new/GDGraph-1.54/samples/sample95.pl        2015-12-27 17:43:41.000000000 
+0100
@@ -22,6 +22,8 @@
 
 my @names = qw/sample95 sample95-h/;
 
+my $path = $ENV{GDGRAPH_SAMPLES_PATH} ? $ENV{GDGRAPH_SAMPLES_PATH} : '';
+
 for my $my_graph (GD::Graph::bars->new(600,400),
                   GD::Graph::hbars->new(600,400))
 {
@@ -52,7 +54,7 @@
 
        bar_spacing         => 1,
 
-       logo                => 'logo.' . GD::Graph->export_format,
+       logo                => "${path}logo." . GD::Graph->export_format,
        logo_position       => 'BR',
 
        transparent         => 0,
@@ -91,3 +93,5 @@
     $my_graph->plot($data) or die $my_graph->error;
     save_chart($my_graph, $name);
 }
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/samples/save.pl 
new/GDGraph-1.54/samples/save.pl
--- old/GDGraph-1.48/samples/save.pl    2013-06-20 23:01:06.000000000 +0200
+++ new/GDGraph-1.54/samples/save.pl    2015-12-27 17:43:41.000000000 +0100
@@ -2,15 +2,14 @@
 {
        my $chart = shift or die "Need a chart!";
        my $name = shift or die "Need a name!";
-       local(*OUT);
 
        my $ext = $chart->export_format;
 
-       open(OUT, ">$name.$ext") or 
-               die "Cannot open $name.$ext for write: $!";
-       binmode OUT;
-       print OUT $chart->gd->$ext();
-       close OUT;
+       open(my $out, '>', "$name.$ext") or
+               die "Cannot open '$name.$ext' for write: $!";
+       binmode $out;
+       print $out $chart->gd->$ext();
+       close $out;
 }
 
 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/t/samples.t new/GDGraph-1.54/t/samples.t
--- old/GDGraph-1.48/t/samples.t        1970-01-01 01:00:00.000000000 +0100
+++ new/GDGraph-1.54/t/samples.t        2015-12-27 17:43:41.000000000 +0100
@@ -0,0 +1,25 @@
+use strict;
+use warnings;
+
+use Test::More;
+use Test::Exception;
+use FindBin qw($Bin);
+use Capture::Tiny 'capture_stderr';
+
+push @INC, "$Bin/../samples";
+$ENV{GDGRAPH_SAMPLES_PATH} = "$Bin/../samples/";
+
+my @samples = glob("$Bin/../samples/sample*.pl");
+plan tests => 2 * @samples;
+
+for my $sample (@samples) {
+    lives_ok {
+        my $stderr = capture_stderr { require $sample };
+        my ($sample_name) = $sample =~ m{samples/(sample..)};
+        like $stderr, qr/Processing $sample_name/;
+    }
+}
+
+unlink $_ for glob("sample*.gif");
+
+done_testing();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GDGraph-1.48/t/tickets/73185-div-by-zero.t 
new/GDGraph-1.54/t/tickets/73185-div-by-zero.t
--- old/GDGraph-1.48/t/tickets/73185-div-by-zero.t      1970-01-01 
01:00:00.000000000 +0100
+++ new/GDGraph-1.54/t/tickets/73185-div-by-zero.t      2016-11-21 
12:28:12.000000000 +0100
@@ -0,0 +1,19 @@
+use strict;
+use Test::More;
+
+use_ok 'GD::Graph::lines';
+
+my $g = GD::Graph::lines->new();
+$g->set(
+    x_tick_number => 'auto',
+    x_min_value => 100,
+    x_max_value => 800,
+);
+
+$g->set_legend('Thanks to Bob Rogers');
+ok eval { $g->plot([
+    [map 100+$_*10,  1 .. 30],
+    [map rand() - 0.5, 1..30],
+]) } or diag "error: ". ($g->error||$@);
+
+done_testing();

++++++ cpanspec.yml ++++++
---
#description_paragraphs: 3
#no_testing: broken upstream
#sources:
#  - source1
#  - source2
#patches:
#  foo.patch: -p1
#  bar.patch:
#preamble: |-
# BuildRequires:  gcc-c++
#post_prep: |-
# hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s,  *,,g'`
# sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL 
#post_install: |-
# sed on %{name}.files
# Dustismo font is GPL-2.0+ licensed
license: (Artistic-1.0 or GPL-1.0+) and GPL-2.0+ 
#skip_noarch: 1
#custom_build: |-
#./Build build flags=%{?_smp_mflags} --myflag
#custom_test: |-
#startserver && make test
#ignore_requires: Bizarre::Module

Reply via email to