Hello community, here is the log from the commit of package perl-Code-DRY for openSUSE:Factory checked in at 2019-05-13 14:51:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Code-DRY (Old) and /work/SRC/openSUSE:Factory/.perl-Code-DRY.new.5148 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Code-DRY" Mon May 13 14:51:52 2019 rev:5 rq:702482 version:0.07 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Code-DRY/perl-Code-DRY.changes 2019-04-15 11:52:51.162570065 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Code-DRY.new.5148/perl-Code-DRY.changes 2019-05-13 14:51:55.406997823 +0200 @@ -1,0 +2,9 @@ +Fri May 10 05:03:39 UTC 2019 - Stephan Kulow <[email protected]> + +- updated to 0.07 + see /usr/share/doc/packages/perl-Code-DRY/Changes + + 0.07 + - fix bugs found on OpenBSD + +------------------------------------------------------------------- Old: ---- Code-DRY-0.06.tar.gz New: ---- Code-DRY-0.07.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Code-DRY.spec ++++++ --- /var/tmp/diff_new_pack.90uSWj/_old 2019-05-13 14:51:56.230999898 +0200 +++ /var/tmp/diff_new_pack.90uSWj/_new 2019-05-13 14:51:56.234999908 +0200 @@ -17,7 +17,7 @@ Name: perl-Code-DRY -Version: 0.06 +Version: 0.07 Release: 0 %define cpan_name Code-DRY Summary: Cut-and-Paste-Detector for Perl code ++++++ Code-DRY-0.06.tar.gz -> Code-DRY-0.07.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Code-DRY-0.06/Build.PL new/Code-DRY-0.07/Build.PL --- old/Code-DRY-0.06/Build.PL 2014-08-14 22:07:15.000000000 +0200 +++ new/Code-DRY-0.07/Build.PL 2019-05-09 20:02:11.000000000 +0200 @@ -9,7 +9,7 @@ } my %recommends = (); -my %configure_requires = ('perl' => '5.8.0', 'Module::Build' => '0.19', ); +my %configure_requires = ('perl' => '5.3.0', 'Module::Build' => '0.19', ); my %build_requires = ( 'ExtUtils::CBuilder' => 0, 'TAP::Harness' => 0 ); my %requires = ( %configure_requires, %build_requires ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Code-DRY-0.06/Changes new/Code-DRY-0.07/Changes --- old/Code-DRY-0.06/Changes 2019-04-13 16:34:28.000000000 +0200 +++ new/Code-DRY-0.07/Changes 2019-05-09 20:02:11.000000000 +0200 @@ -1,5 +1,8 @@ Revision history for Perl extension Code::DRY. +0.07 + - fix bugs found on OpenBSD + 0.06 - fix a test for older Perls diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Code-DRY-0.06/DRY.xs new/Code-DRY-0.07/DRY.xs --- old/Code-DRY-0.06/DRY.xs 2019-04-12 10:39:04.000000000 +0200 +++ new/Code-DRY-0.07/DRY.xs 2019-05-09 20:02:11.000000000 +0200 @@ -161,7 +161,9 @@ for (i = 0; i < n; ++i) { isa[*sa++] = i; } - LCP[0] = 0; + if (n > 0) { + LCP[0] = 0; + } RETVAL = 0; MYOUTPUT: OUTPUT: @@ -197,11 +199,10 @@ PREINIT: unsigned int *lcp = LCP+1; const unsigned int *sa = SA +1; -INIT: - int c; unsigned lastb; unsigned file_limit; unsigned lastFilelimit; +INIT: CODE: { const unsigned maxbound = av_len(boundaries); @@ -226,73 +227,79 @@ return; } lastb = SvIV(*av_fetch(boundaries, maxbound, 0)); - for (c = maxbound-1; c >= 0; --c) { - unsigned thisb; - if (!av_exists(boundaries, c)) { + + { + int c; + for (c = maxbound-1; c >= 0; --c) { + unsigned thisb; + if (!av_exists(boundaries, c)) { #ifdef DEBUG_FILECLIP fprintf(stderr, "file boundary at (%u) is empty slot, abort\n", c); #endif - return; - } - thisb = SvIV(*av_fetch(boundaries, c, 0)); - - if (thisb >= lastb) { + return; + } + thisb = SvIV(*av_fetch(boundaries, c, 0)); + + if (thisb >= lastb) { #ifdef DEBUG_FILECLIP fprintf(stderr, "file boundary at (%u) is not greater (%u) than previous one: (%u), abort\n", c, thisb, lastb); #endif - return; - } - lastb = thisb; + return; + } + lastb = thisb; + } } - /* now make sure that (*sa + *lcp - 1) does not extend past their file boundary */ lastFilelimit = ~0; - for (c = 1; c < n; ++c) { - - const unsigned int offset = *sa; - unsigned left = 0; - unsigned right = maxbound; - unsigned minlcp; - - if (0 == right) { - file_limit = 0; - } else { - - unsigned test = (left + right) / 2; - - file_limit = 0; - while (left < right) { - unsigned this_fileend; - unsigned previous_fileend; - if (((test > 0 && (previous_fileend = SvIV(*av_fetch(boundaries, test-1, 0))) < offset) || test == 0) - && offset <= (this_fileend = SvIV(*av_fetch(boundaries, test, 0)))) { - file_limit = this_fileend; - break; - } - - if (test > 0 && previous_fileend >= offset) { - right = test; - test = (left + right ) / 2; - } else { - left = test; - test = (left + right + 1) / 2; - } - } - } + { + int c; + for (c = 1; c < n; ++c) { - /* if previous entry is shorter than current lcp -> adjust */ - /* if current entry is shorter than current lcp -> adjust */ - minlcp = min(*lcp, 1+ min(lastFilelimit - *(sa -1), file_limit - *(sa))); - if (*lcp > minlcp) { + const unsigned int offset = *sa; + unsigned left = 0; + unsigned right = maxbound; + unsigned minlcp; + + if (0 == right) { + file_limit = 0; + } else { + + unsigned test = (left + right) / 2; + + file_limit = 0; + while (left < right) { + unsigned this_fileend; + unsigned previous_fileend; + if (((test > 0 && (previous_fileend = SvIV(*av_fetch(boundaries, test-1, 0))) < offset) || test == 0) + && offset <= (this_fileend = SvIV(*av_fetch(boundaries, test, 0)))) { + file_limit = this_fileend; + break; + } + + if (test > 0 && previous_fileend >= offset) { + right = test; + test = (left + right ) / 2; + } else { + left = test; + test = (left + right + 1) / 2; + } + } + } + + /* if previous entry is shorter than current lcp -> adjust */ + /* if current entry is shorter than current lcp -> adjust */ + minlcp = min(*lcp, 1+ min(lastFilelimit - *(sa -1), file_limit - *(sa))); + if (*lcp > minlcp) { #ifdef DEBUG_FILECLIP fprintf(stderr, "at %u: offset (%u) + lcp(%u) -1 >= file limit(%u) or offset(%u) + lcp(%u) - 1 >= file limit(%u) -> set lcp from %u to %u\n", c, *(sa - 1), *lcp, lastFilelimit, *sa, *lcp, file_limit, *lcp, minlcp); #endif - *lcp = minlcp; - } - lastFilelimit = file_limit; - ++sa; - ++lcp; + *lcp = minlcp; + } + lastFilelimit = file_limit; + ++sa; + ++lcp; + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Code-DRY-0.06/META.json new/Code-DRY-0.07/META.json --- old/Code-DRY-0.06/META.json 2019-04-13 16:36:46.000000000 +0200 +++ new/Code-DRY-0.07/META.json 2019-05-09 20:02:11.000000000 +0200 @@ -1,40 +1,52 @@ { - "abstract" : "Cut-and-Paste-Detector for Perl code ", + "abstract" : "XS Version of Code::DRY", "author" : [ - "hexcoder <[email protected]>" + "Heiko Eißfeldt <[email protected]>" ], "dynamic_config" : 1, - "generated_by" : "ExtUtils::MakeMaker version 7.0401, CPAN::Meta::Converter version 2.150010", + "generated_by" : "Module::Build version 0.4224", "license" : [ - "unknown" + "perl_5" ], "meta-spec" : { "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", "version" : "2" }, "name" : "Code-DRY", - "no_index" : { - "directory" : [ - "t", - "inc" - ] - }, "prereqs" : { "build" : { "requires" : { - "ExtUtils::MakeMaker" : "0" + "ExtUtils::CBuilder" : "0", + "TAP::Harness" : "0" } }, "configure" : { "requires" : { - "ExtUtils::MakeMaker" : "0" + "Module::Build" : "0.19", + "perl" : "v5.3.0" } }, "runtime" : { - "requires" : {} + "requires" : { + "ExtUtils::CBuilder" : "0", + "Module::Build" : "0.19", + "TAP::Harness" : "0", + "perl" : "v5.3.0" + } + } + }, + "provides" : { + "Code::DRY" : { + "file" : "lib/Code/DRY.pm", + "version" : "0.07" } }, "release_status" : "stable", - "version" : "0.06", + "resources" : { + "license" : [ + "http://dev.perl.org/licenses/" + ] + }, + "version" : "0.07", "x_serialization_backend" : "JSON::PP version 2.27300" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Code-DRY-0.06/META.yml new/Code-DRY-0.07/META.yml --- old/Code-DRY-0.06/META.yml 2019-04-13 16:36:46.000000000 +0200 +++ new/Code-DRY-0.07/META.yml 2019-05-09 20:02:11.000000000 +0200 @@ -1,22 +1,30 @@ --- -abstract: 'Cut-and-Paste-Detector for Perl code ' +abstract: 'XS Version of Code::DRY' author: - - 'hexcoder <[email protected]>' + - 'Heiko Eißfeldt <[email protected]>' build_requires: - ExtUtils::MakeMaker: '0' + ExtUtils::CBuilder: '0' + TAP::Harness: '0' configure_requires: - ExtUtils::MakeMaker: '0' + Module::Build: '0.19' + perl: v5.3.0 dynamic_config: 1 -generated_by: 'ExtUtils::MakeMaker version 7.0401, CPAN::Meta::Converter version 2.150010' -license: unknown +generated_by: 'Module::Build version 0.4224, CPAN::Meta::Converter version 2.150010' +license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html version: '1.4' name: Code-DRY -no_index: - directory: - - t - - inc -requires: {} -version: '0.06' +provides: + Code::DRY: + file: lib/Code/DRY.pm + version: '0.07' +requires: + ExtUtils::CBuilder: '0' + Module::Build: '0.19' + TAP::Harness: '0' + perl: v5.3.0 +resources: + license: http://dev.perl.org/licenses/ +version: '0.07' x_serialization_backend: 'CPAN::Meta::YAML version 0.012' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Code-DRY-0.06/lib/Code/DRY.pm new/Code-DRY-0.07/lib/Code/DRY.pm --- old/Code-DRY-0.06/lib/Code/DRY.pm 2019-04-13 16:34:49.000000000 +0200 +++ new/Code-DRY-0.07/lib/Code/DRY.pm 2019-05-09 20:02:11.000000000 +0200 @@ -23,7 +23,7 @@ ); -our $VERSION = '0.06'; +our $VERSION = '0.07'; require XSLoader; XSLoader::load( 'Code::DRY', $VERSION ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Code-DRY-0.06/salcpis.c new/Code-DRY-0.07/salcpis.c --- old/Code-DRY-0.06/salcpis.c 2019-04-12 10:38:27.000000000 +0200 +++ new/Code-DRY-0.07/salcpis.c 2019-05-09 20:02:11.000000000 +0200 @@ -321,8 +321,11 @@ sais_index_type start, end, stack_end; // for inducing the LCP-values sais_index_type *D; // store beginnings of buckets (not CURRENT beginnings!) - if ((D = SAIS_MYMALLOC(k, sais_index_type)) == NULL) { exit(-1); } // TODO: check if D is necessary!!! (first write to bucket=>0) sais_index_type *LastW; // store last written L or S-suffix for every bucket + sais_index_type *TranslateSigma; // general to effective alphabet ([0..k-1] |--> [0..sigma-1]) + sais_index_type *LastOcc; // store last occurrences of characters + sais_index_type sigma = 0; // (true) alphabet size + if ((D = SAIS_MYMALLOC(k, sais_index_type)) == NULL) { exit(-1); } // TODO: check if D is necessary!!! (first write to bucket=>0) if ((LastW = SAIS_MYMALLOC(k, sais_index_type)) == NULL) { exit(-1); } for (i = 0; i < k; ++i) LastW[i] = n-1; // point to $ // todo: move memory management to sais_main @@ -341,14 +344,11 @@ //LCP[0] = 0; // Variant 3: stack - sais_index_type sigma = 0; // (true) alphabet size - sais_index_type *TranslateSigma; // general to effective alphabet ([0..k-1] |--> [0..sigma-1]) if ((TranslateSigma = SAIS_MYMALLOC(k, sais_index_type)) == NULL) { exit(-1); } for (i = 0; i < k; ++i) { // calculate effective alphabet size TranslateSigma[i] = sigma; // (also stores values for unused characters) if (C[i] > 0) ++sigma; // count characters } - sais_index_type *LastOcc; // store last occurrences of characters if ((LastOcc = SAIS_MYMALLOC(sigma, sais_index_type)) == NULL) { exit(-1); } for (i = 0; i < sigma; ++i) LastOcc[i] = -1; // init with impossible values diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Code-DRY-0.06/t/10_helper.t new/Code-DRY-0.07/t/10_helper.t --- old/Code-DRY-0.06/t/10_helper.t 2019-04-12 12:55:51.000000000 +0200 +++ new/Code-DRY-0.07/t/10_helper.t 2019-05-09 20:02:11.000000000 +0200 @@ -84,7 +84,8 @@ # Link file tests SKIP: { - my $can_hardlink = link 't/00_lowlevel.t', 'xt/hardlink'; + my $can_hardlink; + eval { $can_hardlink = link 't/00_lowlevel.t', 'xt/hardlink'; 1 }; skip('this OS does not seem to support hard links', 1) if (!$can_hardlink); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Code-DRY-0.06/xt/manifest.t new/Code-DRY-0.07/xt/manifest.t --- old/Code-DRY-0.06/xt/manifest.t 2013-03-07 08:28:28.000000000 +0100 +++ new/Code-DRY-0.07/xt/manifest.t 2019-05-09 20:02:11.000000000 +0200 @@ -10,4 +10,4 @@ eval "use Test::CheckManifest 0.9"; plan skip_all => "Test::CheckManifest 0.9 required" if $@; -ok_manifest(); +ok_manifest({'exclude' => ['/_build'], 'filter' => [qr{salcpis.o|DRY\.(?:c|o|xs|bs)}xms]});
