Hello community,

here is the log from the commit of package perl-Image-Info for openSUSE:Factory 
checked in at 2017-07-17 09:12:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Image-Info (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Image-Info.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Image-Info"

Mon Jul 17 09:12:36 2017 rev:13 rq:510430 version:1.41

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Image-Info/perl-Image-Info.changes  
2017-04-06 11:01:01.021193134 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Image-Info.new/perl-Image-Info.changes     
2017-07-17 09:12:38.095457194 +0200
@@ -1,0 +2,20 @@
+Thu Jul 13 05:36:59 UTC 2017 - co...@suse.com
+
+- updated to 1.41
+   see /usr/share/doc/packages/perl-Image-Info/CHANGES
+
+  2017-07-12  Slaven Rezic  <sla...@rezic.de>
+  
+      Release 1.41
+  
+      Stable release with the change in 1.40_50
+  
+      Additionally more diagnostics in t/string.t
+  
+  2017-06-30  Slaven Rezic  <sla...@rezic.de>
+  
+      Release 1.40_50
+  
+      Support iTXt chunks in PNGs (RT #122285) (by Nicholas Clark)
+
+-------------------------------------------------------------------

Old:
----
  Image-Info-1.40.tar.gz

New:
----
  Image-Info-1.41.tar.gz

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

Other differences:
------------------
++++++ perl-Image-Info.spec ++++++
--- /var/tmp/diff_new_pack.5bnP8Q/_old  2017-07-17 09:12:38.647379452 +0200
+++ /var/tmp/diff_new_pack.5bnP8Q/_new  2017-07-17 09:12:38.647379452 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           perl-Image-Info
-Version:        1.40
+Version:        1.41
 Release:        0
 %define cpan_name Image-Info
 Summary:        Extract meta information from image files

++++++ Image-Info-1.40.tar.gz -> Image-Info-1.41.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Image-Info-1.40/CHANGES new/Image-Info-1.41/CHANGES
--- old/Image-Info-1.40/CHANGES 2017-03-21 20:03:38.000000000 +0100
+++ new/Image-Info-1.41/CHANGES 2017-07-12 18:30:10.000000000 +0200
@@ -1,5 +1,19 @@
 Revision history for Image::Info
 
+2017-07-12  Slaven Rezic  <sla...@rezic.de>
+
+    Release 1.41
+
+    Stable release with the change in 1.40_50
+
+    Additionally more diagnostics in t/string.t
+
+2017-06-30  Slaven Rezic  <sla...@rezic.de>
+
+    Release 1.40_50
+
+    Support iTXt chunks in PNGs (RT #122285) (by Nicholas Clark)
+
 2017-03-21  Slaven Rezic  <sla...@rezic.de>
 
     Release 1.40
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Image-Info-1.40/MANIFEST new/Image-Info-1.41/MANIFEST
--- old/Image-Info-1.40/MANIFEST        2017-03-21 20:04:48.000000000 +0100
+++ new/Image-Info-1.41/MANIFEST        2017-07-12 18:33:12.000000000 +0200
@@ -10,6 +10,9 @@
 img/gps.jpg
 img/graph.svg
 img/interlace.png              Interlaced PNG example
+img/itxt.png
+img/itxt2.png
+img/itxt3.png
 img/le.tif
 img/no-thumbnail.jpg
 img/segfault.tif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Image-Info-1.40/META.json 
new/Image-Info-1.41/META.json
--- old/Image-Info-1.40/META.json       2017-03-21 20:04:47.000000000 +0100
+++ new/Image-Info-1.41/META.json       2017-07-12 18:33:09.000000000 +0200
@@ -54,5 +54,5 @@
          "url" : "git://github.com/eserte/image-info.git"
       }
    },
-   "version" : "1.40"
+   "version" : "1.41"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Image-Info-1.40/META.yml new/Image-Info-1.41/META.yml
--- old/Image-Info-1.40/META.yml        2017-03-21 20:04:47.000000000 +0100
+++ new/Image-Info-1.41/META.yml        2017-07-12 18:33:08.000000000 +0200
@@ -32,4 +32,4 @@
   perl: 5.006
 resources:
   repository: git://github.com/eserte/image-info.git
-version: 1.40
+version: 1.41
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Image-Info-1.40/SIGNATURE 
new/Image-Info-1.41/SIGNATURE
--- old/Image-Info-1.40/SIGNATURE       2017-03-21 20:04:50.000000000 +0100
+++ new/Image-Info-1.41/SIGNATURE       2017-07-12 18:33:16.000000000 +0200
@@ -15,16 +15,16 @@
 Hash: SHA256
 
 SHA1 c82d6187bf83f92dcd4a4ba9ab8341c3edcc094a .gitignore
-SHA1 04f7fd20cb175f0758e39b68b2c5dd2d5c9ae627 CHANGES
+SHA1 30179eb10d6d5b5f894cb424f2a592ce1b7f6a2d CHANGES
 SHA1 517bff80bcf518746150086148acaf8cfa37a17d CREDITS
-SHA1 cdfc42491a4cdaa42af14d791cb39e775f719de7 MANIFEST
+SHA1 adb208ecc37e5a45556f6ae090c48780b4c0a1d4 MANIFEST
 SHA1 7508fd127843a69e30ba4f58f4b4e769f20d49e2 MANIFEST.SKIP
-SHA1 dda9f065f9ecdea3906a2067a159c0b74eacaafb META.json
-SHA1 a75ffc6dd80c91f4392f61fe83339f1293a6c5c7 META.yml
+SHA1 df5eecea3876ed09a9bc7edb43ed04baca247d8f META.json
+SHA1 47d1b66847b5776a936651495c8b56eea79d2f43 META.yml
 SHA1 fd14642d591e132078fc91a8e54a4a4fed927f46 Makefile.PL
 SHA1 0184503d850cb0d34d0cfe26bd5af84d4cf97dbc README
 SHA1 36ea8eabe5ac80acc416411aae77b60e1480de1b TODO
-SHA1 aa6df64a66d09be89a4faf4fb3bfe2f3f38666b4 dev/Info.pm.tmpl
+SHA1 b3990f7beb41b8f3f4bc5415b1bb2782a12c63d9 dev/Info.pm.tmpl
 SHA1 c11e7408bd16d35b2116ee47eaac4f08266be902 dev/build.pl
 SHA1 38b386e67725abff64ea00abb8e92c46f38e2f59 exifdump
 SHA1 0e2ed058a8e6b748c639b08064f6782c4f51d643 img/bad-exif-1.jpg
@@ -33,6 +33,9 @@
 SHA1 49a6dcd04263d15377be6e7ced44f4e3ce01437c img/gps.jpg
 SHA1 4243d003552c27c110b75ca121294d5edddc62a8 img/graph.svg
 SHA1 07f4778b513d5c951c1878c376fba49ff0ecd644 img/interlace.png
+SHA1 33558c6666a3e1918b80d3a4d644a186d0e44b0d img/itxt.png
+SHA1 4a3ce1019593f1f1334f02a0722cba6e22a2b3e4 img/itxt2.png
+SHA1 402ba907d6dcb2c27e1b9a57268b387bc7c00eab img/itxt3.png
 SHA1 979ea4a5afe76a6532fe21a2724c3dfc8405bb2a img/le.tif
 SHA1 5274644b89b81daafccd469ff024e9b22a677db1 img/no-thumbnail.jpg
 SHA1 acccfe940ec2abc5bb18787c212f1ba2340793a1 img/segfault.tif
@@ -66,12 +69,12 @@
 SHA1 e6fe98aa5a30dbd290668cffa515aebaf14828fa lib/Bundle/Image/Info/SVG.pm
 SHA1 fa3a601365ec108901e991a8148b62c2bf3dd62b lib/Bundle/Image/Info/XBM.pm
 SHA1 7ae5950ba4474e8099068ca6122e67cadce60842 lib/Bundle/Image/Info/XPM.pm
-SHA1 9e06b296127fc0182f8202268bc2719bf2ac0417 lib/Image/Info.pm
+SHA1 ebc888ef584605a606ed8d8b6cdf2ce1ec30e295 lib/Image/Info.pm
 SHA1 6991a957bacde9d3b873184d90d910d083f5f403 lib/Image/Info/BMP.pm
 SHA1 0996bffe073126dceb72c04dc5b3002c78c24d56 lib/Image/Info/GIF.pm
 SHA1 fb628cb66c566ab66a1b7953a1bb29cfde1c79c7 lib/Image/Info/ICO.pm
 SHA1 cb662c31e3429214bdc9f1e7b65fac2c4198f689 lib/Image/Info/JPEG.pm
-SHA1 b94748d648cc5161e327b78aa5e4ac668120868b lib/Image/Info/PNG.pm
+SHA1 9aaff0bcddae56a1da3bc7dd04e5086760e5fe4c lib/Image/Info/PNG.pm
 SHA1 1b69276ab386d1795469773d6af70ff510c15feb lib/Image/Info/PPM.pm
 SHA1 badd075bff5f88975bcbff1eb2d4cdf84fe5a2ca lib/Image/Info/SVG.pm
 SHA1 c8aa83ad22ff1684a40bae3f37fccc358842b1d1 
lib/Image/Info/SVG/XMLLibXMLReader.pm
@@ -90,10 +93,10 @@
 SHA1 ba1cf7c01b0de6f449a90815bf7db5a3b1645e3d t/jpg_corruptchunk.t
 SHA1 3443c36fd2dbc7f58599cf175e0793c5e8601ea9 t/jpg_hang.t
 SHA1 026bdd691c1971289451e147b8ecf1c99463e74d t/jpg_ignore_thumbnail.t
-SHA1 966b714313073d7e04fdc55526ca42424117758c t/png.t
+SHA1 bbc65b35f47f361eeac8ba0e0da8fb0c645aa18c t/png.t
 SHA1 cc217a37ee14356bb57e4ea32c1eda94d1a2d8c9 t/pod.t
 SHA1 ddac1596c132f80e81355cc048def2733163a9aa t/pod_cov.t
-SHA1 e70d2cdc9d3e744ff309fba229a656a401bd5ec4 t/string.t
+SHA1 710bb49a5428b9b0301ec451f8d869b58937b746 t/string.t
 SHA1 4d729b6d3f3d747a817657053b03f6deb0ce2de4 t/svg.t
 SHA1 1e8a42e9b7d911936853446ef907f8f74072d08f t/tiff.t
 SHA1 76e7e08522799dc0f39896c8925aff1d42b09da4 t/tiff_e.t
@@ -109,11 +112,11 @@
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
-iQEcBAEBCAAGBQJY0XlQAAoJEN1GkmBlfE8/NnQH/1lw2qbKyuC3CmKvPvQuip9Q
-I+MzOb8JLfSGSw7ZnOOa8vAK+YYdmWoRs8X+M8d8NJAJZ77swNqQvBRaC1Rks32H
-fgrZYrIWW7arIhijqevNVhqKABLbs+3nHQ2jZs0wFFHnBt0oJ6xZ3tWTwGQ5WaLe
-oYH2E3mrAjAJLQIcOf+vLu11lREp1AazSWKd6D/CMnzF6UCR7nefYrgTy/FiVtRs
-NYnnLIjU0pHnMnHCl/8noFebYqByC2FO1dqK+Au5sQGarpF1z1ymAU+nUect3Lyj
-/myNbXVQobuMbkM+kqHM8L+Jd+83KBLstoW7LkSjG4lf/qJCKb6BpC6+YFY4lMs=
-=llPA
+iQEcBAEBCAAGBQJZZk9JAAoJEN1GkmBlfE8/bVkH/iq2dcpdzLXrlH6y8uaEkQbO
+i2Hu0TgUCwMo1yBHVxJlzfp3JmGfeBSWkjuYCg1PpF77mxdhwpxUw+NhB4fh+CxF
+aRLfGo0a7qdOgPXGEOQ9FuWKC9Bf7/iXs2U43E8tFpTjFUjLF84uVrh+Vi7oBo0R
+qaE+MqiyQK+23NkEmAi1e8tXXBimDkMXpbioSrpDLn2hIjk7Xrv0zlXR/2zJ4n68
+dVpEWoKk7r/63Yr/p/GvHtBm52BBOTBdAP0j6RsGrNyRzoa/mQXMWoQS3nYB7pVO
+dEFWQypyu4bxij4rRg9pEJcEEwrGWff7EGGn+7R7iWByPCOqf1SU5EaJ8K+m3Ok=
+=vN3K
 -----END PGP SIGNATURE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Image-Info-1.40/dev/Info.pm.tmpl 
new/Image-Info-1.41/dev/Info.pm.tmpl
--- old/Image-Info-1.40/dev/Info.pm.tmpl        2017-03-21 20:03:08.000000000 
+0100
+++ new/Image-Info-1.41/dev/Info.pm.tmpl        2017-07-12 18:27:44.000000000 
+0200
@@ -18,7 +18,7 @@
 use strict;
 use vars qw($VERSION @EXPORT_OK);
 
-$VERSION = '1.40';
+$VERSION = '1.41';
 
 require Exporter;
 *import = \&Exporter::import;
Binary files old/Image-Info-1.40/img/itxt.png and 
new/Image-Info-1.41/img/itxt.png differ
Binary files old/Image-Info-1.40/img/itxt2.png and 
new/Image-Info-1.41/img/itxt2.png differ
Binary files old/Image-Info-1.40/img/itxt3.png and 
new/Image-Info-1.41/img/itxt3.png differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Image-Info-1.40/lib/Image/Info/PNG.pm 
new/Image-Info-1.41/lib/Image/Info/PNG.pm
--- old/Image-Info-1.40/lib/Image/Info/PNG.pm   2017-03-19 21:14:28.000000000 
+0100
+++ new/Image-Info-1.41/lib/Image/Info/PNG.pm   2017-06-30 19:16:49.000000000 
+0200
@@ -20,7 +20,7 @@
 use strict;
 use vars qw/$VERSION/;
 
-$VERSION = 1.02;
+$VERSION = 1.03;
 
 # Test for Compress::Zlib (for reading zTXt chunks)
 my $have_zlib = 0;
@@ -29,6 +29,13 @@
     $have_zlib++;
 };
 
+# Test for Encode (for reading iTXt chunks)
+my $have_encode = 0;
+eval {
+    require Encode;
+    $have_encode++;
+};
+
 sub my_read
 {
     my($source, $len) = @_;
@@ -132,20 +139,45 @@
            }
            $info->push_info(0, "resolution" => $res)
        }
-       elsif ($type eq "tEXt") {
+       elsif ($type eq "tEXt" || $type eq "zTXt" || $type eq "iTXt") {
            my($key, $val) = split(/\0/, $data, 2);
-           # XXX should make sure $key is not in conflict with any
-           # other key we might generate
-           $info->push_info(0, $key, $val);
-       }
-       elsif ($type eq "zTXt" && $have_zlib) {
-               my($key, $val) = split(/\0/, $data, 2);
-               my($method,$ctext) = split(//, $val, 2);
-               if ($method eq "\0") {
-                   $info->push_info(0, $key, 
Compress::Zlib::uncompress($ctext));
-               } else {
-                   $info->push_info(0, "Chunk-$type" => $data);
-               }
+            my($method,$ctext,$is_i);
+            if ($type eq "iTXt") {
+                ++$is_i;
+                (my $compressed, $method, my $lang, my $trans, $ctext)
+                    = unpack "CaZ*Z*a*", $val;
+                unless ($compressed) {
+                    undef $method;
+                    $val = $ctext;
+                }
+            }
+            elsif ($type eq "zTXt") {
+               ($method,$ctext) = split(//, $val, 2);
+            }
+
+            if (defined $method) {
+                if ($have_zlib && $method eq "\0") {
+                    $val = Compress::Zlib::uncompress($ctext);
+                } else {
+                    undef $val;
+                }
+            }
+
+            if ($is_i) {
+                if ($have_encode) {
+                    $val = Encode::decode("UTF-8", $val);
+                } else {
+                    undef $val;
+                }
+            }
+
+            if (defined $val) {
+                # XXX should make sure $key is not in conflict with any
+                # other key we might generate
+                $info->push_info(0, $key, $val);
+            } else {
+                $info->push_info(0, "Chunk-$type" => $data);
+            }
        }
        elsif ($type eq "tIME" && $len == 7) {
            $info->push_info(0, "LastModificationTime",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Image-Info-1.40/lib/Image/Info.pm 
new/Image-Info-1.41/lib/Image/Info.pm
--- old/Image-Info-1.40/lib/Image/Info.pm       2017-03-21 20:03:49.000000000 
+0100
+++ new/Image-Info-1.41/lib/Image/Info.pm       2017-07-12 18:30:56.000000000 
+0200
@@ -18,7 +18,7 @@
 use strict;
 use vars qw($VERSION @EXPORT_OK);
 
-$VERSION = '1.40';
+$VERSION = '1.41';
 
 require Exporter;
 *import = \&Exporter::import;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Image-Info-1.40/t/png.t new/Image-Info-1.41/t/png.t
--- old/Image-Info-1.40/t/png.t 2009-11-22 20:06:39.000000000 +0100
+++ new/Image-Info-1.41/t/png.t 2017-06-30 19:13:59.000000000 +0200
@@ -7,7 +7,7 @@
 
 BEGIN
    {
-   plan tests => 19;
+   plan tests => 22;
    chdir 't' if -d 't';
    use lib '../lib';
    use_ok ("Image::Info") or die($@);
@@ -60,3 +60,28 @@
           die ("Couldn't read ztxt.png: $!");
        is ($i->{comment}, "some image comment\n", 'ztxt comment');
     }
+
+#############################################################################
+# itxt tests
+SKIP:
+    {
+       skip 'Need Encode for this itxt test', 2
+          if !eval { require Encode; 1 };
+
+       # test files generated with pngcrush, which actually honours the spec:
+       $i = image_info("../img/itxt.png") ||
+          die ("Couldn't read itxt.png: $!");
+       is ($i->{Comment}, "\x{1F42A}", 'itxt comment');
+       # keywords such as Comment are case sensitive.
+
+       skip 'Need Compress::Zlib for this itxt test', 2
+          if !eval { require Compress::Zlib; 1 };
+
+       $i = image_info("../img/itxt2.png") ||
+          die ("Couldn't read itxt2.png: $!");
+       is ($i->{Comment}, "Perl Rules", 'compressed itxt comment');
+
+       $i = image_info("../img/itxt3.png") ||
+          die ("Couldn't read itxt3.png: $!");
+       is ($i->{Comment}, "\x{2E18}Success\x{203D}", 'compressed itxt 
comment');
+   }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Image-Info-1.40/t/string.t 
new/Image-Info-1.41/t/string.t
--- old/Image-Info-1.40/t/string.t      2013-01-28 12:13:22.000000000 +0100
+++ new/Image-Info-1.41/t/string.t      2017-07-02 15:05:24.000000000 +0200
@@ -72,14 +72,15 @@
       my $base = basename $file;
       my $h1 = image_info($file);
 
-      is ($h1->{error}, undef, 'no error');
+      is ($h1->{error}, undef, "no error with $base");
       my $expected_warning = $expected_warnings->{$base};
-      is ($h1->{Warn}, $expected_warning, 'no/expected warning');
+      is ($h1->{Warn}, $expected_warning, "no/expected warning with $base")
+         or do { require Data::Dumper; diag Data::Dumper::Dumper($h1->{Warn}) 
};
 
       my $img = cat($file);
       my $h2 = image_info(\$img);
 
-      is_deeply ($h1, $h2, $file);
+      is_deeply ($h1, $h2, "image_info for $file on file and string yields the 
same");
       } # end inner SKIP
     } # end for each file
   } # end SKIP all block


Reply via email to