diff -Nru libconfig-model-dpkg-perl-2.122/debian/changelog libconfig-model-dpkg-perl-2.125/debian/changelog --- libconfig-model-dpkg-perl-2.122/debian/changelog 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/debian/changelog 2019-07-28 20:50:42.000000000 +0000 @@ -1,3 +1,42 @@ +libconfig-model-dpkg-perl (2.125) unstable; urgency=medium + + * Team upload. + * Add a dependency on debhelper which is used by + Config::Model::Dpkg::Dependency sincd ee144a0. + Thanks to autopkgtests. + * Add lintian override for adding a dependency on debhelper. + + -- gregor herrmann Sun, 28 Jul 2019 17:50:42 -0300 + +libconfig-model-dpkg-perl (2.124) unstable; urgency=medium + + [ gregor herrmann ] + * debian/*: replace ADTTMP with AUTOPKGTEST_TMP. + + [ Dominique Dumont ] + * no longer show confusing warning when old lintian is installed. + Thanks to Clément Hermann for the bug report (Closes: 932409) + * handle debhelper-compat dependency (Closes: 930118) + * better handle LICENSE and README files (See: 929694) + * do not retry to get info from madison for unknown package + * handle and/or license operator coming from licensecheck + * add new virtual package (added with policy 4.3.0) + * control: + * setup new debhelper-compat dependency with cme (dogfooding) + * add dependency on libsort-versions-perl + * comply with policy 4.4.0 + + -- Dominique Dumont Thu, 25 Jul 2019 14:43:07 +0200 + +libconfig-model-dpkg-perl (2.123) experimental; urgency=medium + + * Use XDG_CACHE_HOME to store dependency cache. + Thanks to Guillem Jover for the report (Closes: 899337) + * handle dependency list with leading commas. + Thanks to Xavier Guimard for the bug report (Closes: 923265) + + -- Dominique Dumont Mon, 04 Mar 2019 18:52:00 +0100 + libconfig-model-dpkg-perl (2.122) unstable; urgency=medium * Team upload. diff -Nru libconfig-model-dpkg-perl-2.122/debian/compat libconfig-model-dpkg-perl-2.125/debian/compat --- libconfig-model-dpkg-perl-2.122/debian/compat 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/debian/compat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -12 diff -Nru libconfig-model-dpkg-perl-2.122/debian/control libconfig-model-dpkg-perl-2.125/debian/control --- libconfig-model-dpkg-perl-2.122/debian/control 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/debian/control 2019-07-28 20:50:42.000000000 +0000 @@ -4,7 +4,7 @@ Section: perl Testsuite: autopkgtest-pkg-perl Priority: optional -Build-Depends: debhelper (>= 12~), +Build-Depends: debhelper-compat (= 12), libmodule-build-perl Build-Depends-Indep: bash-completion, libapt-pkg-perl, @@ -14,10 +14,12 @@ libconfig-model-tester-perl (>= 3.006), libexporter-lite-perl, liblog-log4perl-perl, + libmodule-corelist-perl, libmouse-perl, libparse-recdescent-perl, libpath-tiny-perl, libsoftware-licensemoreutils-perl, + libsort-versions-perl, libtest-differences-perl, libtest-exception-perl, libtest-memory-cycle-perl, @@ -28,9 +30,8 @@ libwww-perl, libyaml-perl, lintian, - libmodule-corelist-perl, po-debconf -Standards-Version: 4.3.0 +Standards-Version: 4.4.0 Vcs-Browser: https://salsa.debian.org/perl-team/modules/packages/libconfig-model-dpkg-perl Vcs-Git: https://salsa.debian.org/perl-team/modules/packages/libconfig-model-dpkg-perl.git Rules-Requires-Root: no @@ -39,23 +40,25 @@ Architecture: all Depends: ${misc:Depends}, ${perl:Depends}, + debhelper, libapt-pkg-perl, libarray-intspan-perl, libconfig-model-backend-yaml-perl, libconfig-model-perl (>= 2.122), libexporter-lite-perl, liblog-log4perl-perl, + libmodule-corelist-perl, libmouse-perl, libparse-recdescent-perl, libsoftware-licensemoreutils-perl, + libsort-versions-perl, libtext-autoformat-perl, libtext-levenshtein-damerau-perl, liburi-perl, libwww-perl, libyaml-perl, licensecheck, - lintian, - libmodule-corelist-perl + lintian Recommends: libconfig-model-tkui-perl Enhances: devscripts Description: editor for Dpkg source files with validation diff -Nru libconfig-model-dpkg-perl-2.122/debian/libconfig-model-dpkg-perl.lintian-overrides libconfig-model-dpkg-perl-2.125/debian/libconfig-model-dpkg-perl.lintian-overrides --- libconfig-model-dpkg-perl-2.122/debian/libconfig-model-dpkg-perl.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/debian/libconfig-model-dpkg-perl.lintian-overrides 2019-07-28 20:50:42.000000000 +0000 @@ -0,0 +1,2 @@ +# Config::Model::Dpkg::Dependency uses debhelper for the debhelper compat level +libconfig-model-dpkg-perl: binary-package-depends-on-toolchain-package depends: debhelper diff -Nru libconfig-model-dpkg-perl-2.122/debian/tests/pkg-perl/smoke-env libconfig-model-dpkg-perl-2.125/debian/tests/pkg-perl/smoke-env --- libconfig-model-dpkg-perl-2.122/debian/tests/pkg-perl/smoke-env 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/debian/tests/pkg-perl/smoke-env 2019-07-28 20:50:42.000000000 +0000 @@ -1 +1 @@ -HOME=${ADTTMP} +HOME=${AUTOPKGTEST_TMP} diff -Nru libconfig-model-dpkg-perl-2.122/.gitignore libconfig-model-dpkg-perl-2.125/.gitignore --- libconfig-model-dpkg-perl-2.122/.gitignore 1970-01-01 00:00:00.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/.gitignore 2019-07-28 20:50:42.000000000 +0000 @@ -0,0 +1,6 @@ +Build +MYMETA* +_build +wr_root +blib +*~ diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/Backend/Dpkg/Control.pm libconfig-model-dpkg-perl-2.125/lib/Config/Model/Backend/Dpkg/Control.pm --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/Backend/Dpkg/Control.pm 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/Backend/Dpkg/Control.pm 2019-07-28 20:50:42.000000000 +0000 @@ -102,8 +102,9 @@ s/:\w+//; # remove arch qualifier $_; } + grep { $_ } # skip empty data map { split /\s*[,|]\s*/ , $_->[0] } # extract dependency info from array ref - grep { ref $_ } # skip emtpy data + grep { ref $_ } # skip empty section $section{$found}->@*; } } diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/Backend/DpkgStoreRole.pm libconfig-model-dpkg-perl-2.125/lib/Config/Model/Backend/DpkgStoreRole.pm --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/Backend/DpkgStoreRole.pm 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/Backend/DpkgStoreRole.pm 2019-07-28 20:50:42.000000000 +0000 @@ -21,10 +21,10 @@ foreach my $v_info ( $v_ref->@* ) { if (ref $v_info) { my ($v,$l,$note,@c) = @$v_info; - # $v can be ' foo,' or 'foo, bar, baz'. This depends on input format + # $v can be ' foo,' ' , foo' or 'foo, bar, baz'. This depends on input format # there can only be one comment for all these values (constrained by syntax) $v =~ s/\s*,\s*$//; - $v =~ s/^\s+//; + $v =~ s/^[\s,]+//; my @items = split /\s*,\s*/, $v; my $comment = join("\n", @c); my $item_idx = 0; diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/Backend/DpkgSyntax.pm libconfig-model-dpkg-perl-2.125/lib/Config/Model/Backend/DpkgSyntax.pm --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/Backend/DpkgSyntax.pm 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/Backend/DpkgSyntax.pm 2019-07-28 20:50:42.000000000 +0000 @@ -14,7 +14,7 @@ use base qw/Config::Model::Backend::Any/; -my $logger = get_logger("Backend::DpkgSyntax") ; +my $logger = get_logger("Backend.Dpkg.Syntax") ; sub parse_dpkg_file { my $self = shift ; diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/Dpkg/Compat.pm libconfig-model-dpkg-perl-2.125/lib/Config/Model/Dpkg/Compat.pm --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/Dpkg/Compat.pm 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/Dpkg/Compat.pm 1970-01-01 00:00:00.000000000 +0000 @@ -1,48 +0,0 @@ -package Config::Model::Dpkg::Compat ; - -use 5.10.1; - -use Mouse; -extends 'Config::Model::Value'; - -# extract installed version of debhelper -my $str = `/usr/bin/dpkg -l debhelper`; -my ($version) = ($str =~ /ii\s+debhelper\s+(\d+)/); - -if (not $version) { - die "debhelper package is not installed"; -} - -sub _fetch_std { - goto &_fetch_std_no_check; -} - -sub _fetch_std_no_check { - return $version; -} - -__PACKAGE__->meta->make_immutable; - -1; - -=head1 NAME - -Config::Model::Dpkg::Compat - Compat model - -=head1 SYNOPSIS - - Internal use for Dpkg model - -=head1 DESCRIPTION - -This class is derived from L. Its purpose is to -provide a default value for C parameter using L call. - -=head1 AUTHOR - -Dominique Dumont, dod@debian.org - -=head1 SEE ALSO - -L, -L, diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/Dpkg/Control/Source/StandardVersion.pm libconfig-model-dpkg-perl-2.125/lib/Config/Model/Dpkg/Control/Source/StandardVersion.pm --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/Dpkg/Control/Source/StandardVersion.pm 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/Dpkg/Control/Source/StandardVersion.pm 2019-07-28 20:50:42.000000000 +0000 @@ -5,6 +5,10 @@ use Mouse; extends 'Config::Model::Value'; +use Sort::Versions; +use feature qw/postderef signatures/; +no warnings qw/experimental::postderef experimental::signatures/; + # Debian only module use Lintian::Data; use Lintian::Profile; @@ -25,6 +29,10 @@ return $std_list[0]; } +sub compare_with_last_version ($self, $to_check) { + return versioncmp($to_check, $self->_fetch_std_no_check); +} + __PACKAGE__->meta->make_immutable; 1; @@ -42,6 +50,21 @@ This class is derived from L. Its purpose is to provide a default value for C parameter using Lintian library. +=head1 METHODS + +=head2 compare_with_last_version + +Compare passed version with the latest version of +C. This last version is retrieved from C +package. The comparison is done with L. + +This methods return -1, 0 or 1 depending if the passed version is +older, equal or newer than latest version of C + +Example: + + $self->compare_with_last_version('3.9.1'); # returns -1 + =head1 AUTHOR Dominique Dumont, ddumont [AT] cpan [DOT] org diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/Dpkg/Dependency.pm libconfig-model-dpkg-perl-2.125/lib/Config/Model/Dpkg/Dependency.pm --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/Dpkg/Dependency.pm 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/Dpkg/Dependency.pm 2019-07-28 20:50:42.000000000 +0000 @@ -18,6 +18,7 @@ use Log::Log4perl qw(get_logger :levels); use Module::CoreList; use JSON; +use Path::Tiny; use version ; use Parse::RecDescent ; @@ -45,7 +46,9 @@ c-compiler c-shell cron-daemon + dbus-session-bus debconf-2.0 + default-dbus-session-bus dhcp-client dict-client dict-server @@ -296,6 +299,14 @@ EOG +# extract installed version of debhelper +my $str = `/usr/bin/dpkg -l debhelper`; +my ($current_compat_value) = ($str =~ /ii\s+debhelper\s+(\d+)/); + +if (not $current_compat_value) { + die "debhelper package is not installed"; +} + my $parser ; sub dep_parser { @@ -376,15 +387,69 @@ return ($ok, $new) ; } +sub check_debhelper_compat_version { + my ($self, $apply_fix, $dep_info, $msgs) = @_ ; + my ($oper, $dep_v) = @{ $dep_info->{dep} || []}; + + if ( $self->check_compat_object() ) { + $self->check_compat_object_value($apply_fix, $msgs); + } + + # use the compat value mentioned in debhelper-compat dependency + my $compat_value = defined $dep_v ? ($dep_v =~ s/~$//r) : undef; + + if (not defined $compat_value or $compat_value < $current_compat_value - 1 ) { + if ($apply_fix) { + $dep_info->{dep} = [ '=' , $current_compat_value ]; + my $msg = "changed debhelper-compat version dependency to $current_compat_value"; + $logger->info($msg); + push $msgs->@*, $msg; + } + else { + $self->{nb_of_fixes}++ ; + my $str = defined $compat_value ? "too old ($compat_value)" : 'undefined'; + my $msg = "debhelper-compat dependency version is $str. It should be $current_compat_value"; + $self->add_warning( $msg ); + $logger->info("will warn: $msg (fix++)"); + } + } +} + sub check_debhelper_version { my ($self, $apply_fix, $dep_info, $msgs) = @_ ; - my $dep_name = $dep_info->{name}; my ($oper, $dep_v) = @{ $dep_info->{dep} || []}; - my $dep_string = $self->struct_to_dep($dep_info) ; - my $lintian_dep = Lintian::Relation->new( $dep_string ) ; - $logger->debug("checking '$dep_string' with lintian"); + return unless $self->check_compat_object(); + + $self->check_compat_object_value($apply_fix, $msgs); + # use the compat value mentioned in debhelper dependency + my $original_compat_value = defined $dep_v ? ($dep_v =~ s/~$//r) : undef; + + # check if this value is current + my $compat_value = $self->check_compat_value( $original_compat_value, $apply_fix, $msgs ); + + # transform to new debhelper-compat dependency. We need to check + # if it's necessary because this method is called by apply_fixes + # until no fix can be applied. + if ($dep_info->{name} eq 'debhelper') { + if ($apply_fix) { + $dep_info->{name} = 'debhelper-compat'; + $dep_info->{dep} = [ '=' , $compat_value ]; + my $msg = "changed debhelper dependency to debhelper dependency"; + $logger->info($msg); + push $msgs->@*, $msg; + } + else { + $self->{nb_of_fixes}++ ; + my $msg = "debhelper dependency is deprecated. It should be a dependency for debhelper-compat package"; + $self->add_warning( $msg ); + $logger->info("will warn: $msg (fix++)"); + } + } +} + +sub check_compat_object ($self) { # try to create compat_obj, but do not try twice (hence the exists test) # compat_obj is undef when running with 'cme edit dpkg-control' if (not exists $self->{_compat_obj} ) { @@ -393,35 +458,46 @@ my $c = $self->{_compat_obj} = $self->grab(mode => 'loose', step => "!Dpkg compat") ; $c->register_dependency($self) if defined $c; } + return $self->{_compat_obj} ; +} - return unless defined $self->{_compat_obj}; - +sub check_compat_object_value ($self, $apply_fix, $msgs) { my $compat_value = $self->{_compat_obj}->fetch; - # lintian does not accept space after the version number - my $min_dep = Lintian::Relation->new("debhelper ( >= $compat_value~)") ; - - if ($lintian_dep->implies ($min_dep)) { - $logger->debug($dep_string." -> ".$lintian_dep->unparse." implies ". $min_dep->unparse); - return; + if (defined $compat_value) { + if ($apply_fix) { + $self->{_compat_obj}->clear; + $logger->info("Cleared deprecated compat value"); + push $msgs->@*, "Cleared deprecated compat value"; + } + else { + $self->{nb_of_fixes}++ ; + my $msg = "compat parameter is deprecated. " + . "Please use debhelper-compat dependency. See debhelper(7) for details."; + $self->add_warning( $msg ); + $logger->info("will warn: $msg (fix++)"); + } } +} - $logger->debug("'$dep_string' does not imply debhelper >= $compat_value~"); +sub check_compat_value ($self, $compat_value, $apply_fix, $msgs) { - # $show_rel avoids undef warnings - my $show_rel = join(' ', map { $_ || ''} ($oper, $dep_v)); - my $msg = "should be (>= $compat_value~) not ($show_rel) because compat is $compat_value" ; - if ($apply_fix) { - $dep_info->{dep} = [ '>=', $compat_value.'~' ] ; # notify_change called in check_value - $logger->info("fixed debhelper dependency from " - ."$dep_name $show_rel -> ".$min_dep->unparse." (for compat $compat_value)"); - push $msgs->@*, $msg; - } - else { - $self->{nb_of_fixes}++ ; - $self->add_warning( $msg ); - $logger->info("will warn: $msg (fix++)"); + if (not defined $compat_value or $compat_value < $current_compat_value - 1 ) { + if ($apply_fix) { + my $msg = "Set debhelper dependency version to $current_compat_value~"; + $logger->info($msg); + push $msgs->@*, $msg; + $compat_value = $current_compat_value; + } + else { + $self->{nb_of_fixes}++ ; + my $str = defined $compat_value ? "too old ($compat_value)" : 'undefined'; + my $msg = "debhelper dependency version is $str. It should be $current_compat_value"; + $self->add_warning( $msg ); + $logger->info("will warn: $msg (fix++)"); + } } + return $compat_value; } sub struct_to_dep { @@ -682,6 +758,10 @@ return $self->check_debhelper_version( $apply_fix, $dep_info, $msgs ); } + if ( $pkg eq 'debhelper-compat' ) { + return $self->check_debhelper_compat_version( $apply_fix, $dep_info, $msgs ); + } + my ( $vers_dep_ok, @list ) = $self->check_versioned_dep( $dep_info ); return if $vers_dep_ok; @@ -732,11 +812,16 @@ use vars qw/%cache $use_test_cache/ ; # Set up persistence -my $cache_file_name = $ENV{HOME}.'/.config_model_depend_cache' ; +my $xdg_cache_dir = path($ENV{XDG_CACHE_HOME} || '~/.cache'); + +my $cache_file = $xdg_cache_dir->child('cme_dpkg_dependency') ; # this condition is used during tests if (not $use_test_cache) { - tie %cache => 'DB_File', $cache_file_name, + # remove old cache file, this line can be removed in 2020 + path($ENV{HOME}.'/.config_model_depend_cache')->remove; + + tie %cache => 'DB_File', $cache_file->stringify, } # required to write data back to DB_File @@ -781,17 +866,20 @@ my $url = "$madison_endpoint?package=".uri_escape($pkg_name).'&f&b=deb' ; $self->instance->show_message("Connecting to $madison_host to check $pkg_name versions. Please wait...") ; - my $body = get($url); + my $body = get($url); # returns a json list my $res = []; if (defined $body) { my $ref = extract_madison_info($body); - $self->instance->show_message("got info for $pkg_name") ; + my $msg = $ref->{$pkg_name} ? 'info' : 'no info'; + $self->instance->show_message("got $msg for $pkg_name") ; $res = $ref->{$pkg_name} || []; $logger->debug("pkg info is @$res"); + # unknown package return an empty body, let's not retry twice the same unknown package. + $tried{$pkg_name} = 1; } else { + # HTTP error warn "cannot get data for package $pkg_name from $madison_endpoint.\n" unless defined $body ; - $tried{$pkg_name} = 1; } return $res->@*; diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/BugFiles/Control.pl libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/BugFiles/Control.pl --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/BugFiles/Control.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/BugFiles/Control.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,4 +1,7 @@ -[ +use strict; +use warnings; + +return [ { 'element' => [ 'report-with', diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/BugFiles.pl libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/BugFiles.pl --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/BugFiles.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/BugFiles.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,4 +1,7 @@ -[ +use strict; +use warnings; + +return [ { 'element' => [ 'bug-control', diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Control/Binary.pl libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Control/Binary.pl --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Control/Binary.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Control/Binary.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,4 +1,7 @@ -[ +use strict; +use warnings; + +return [ { 'accept' => [ '.*', diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Control/Source.pl libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Control/Source.pl --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Control/Source.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Control/Source.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,4 +1,7 @@ -[ +use strict; +use warnings; + +return [ { 'accept' => [ '.*', @@ -78,12 +81,17 @@ 'summary' => 'Debian policy version number this package complies to', 'type' => 'leaf', 'value_type' => 'uniline', - 'warn_unless' => { + 'warn_if' => { 'current' => { - 'code' => '$_ eq $self->_fetch_std;', + 'code' => '$self->compare_with_last_version($_) == -1;', 'fix' => '$_ = $self->_fetch_std; # restore default value', 'msg' => 'Current standards version is \'$std_value\'. Please read https://www.debian.org/doc/debian-policy/upgrading-checklist.html for the changes that may be needed on your package to upgrade it from standard version \'$_\' to \'$std_value\'. ' + }, + 'old_lintian' => { + 'code' => '$self->compare_with_last_version($_) == 1;', + 'msg' => 'Current standards version \'$_\' is newer than lintian version ($std_value). Please check your system +' } } }, diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Control.pl libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Control.pl --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Control.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Control.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,4 +1,7 @@ -[ +use strict; +use warnings; + +return [ { 'author' => [ 'Dominique Dumont' diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Copyright/Content.pl libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Copyright/Content.pl --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Copyright/Content.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Copyright/Content.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,4 +1,7 @@ -[ +use strict; +use warnings; + +return [ { 'accept' => [ '.*', diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Copyright/FileLicense.pl libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Copyright/FileLicense.pl --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Copyright/FileLicense.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Copyright/FileLicense.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,4 +1,7 @@ -[ +use strict; +use warnings; + +return [ { 'author' => [ 'Dominique Dumont' @@ -31,12 +34,12 @@ ', 'grammar' => 'check: check: license alternate(s?) -alternate: comma(?) oper license +alternate: comma(?) license_association license comma: \',\' -oper: \'and\' | \'or\' +license_association: \'and\' | \'or\' abbrev: /[^\\s,]+/ -exception: \'with\' abbrev \'exception\' { join(\' \',@item[1..3]); } -license: abbrev exception(?) +license_exception: \'with\' abbrev \'exception\' { join(\' \',@item[1..3]); } +license: abbrev license_exception(?) { # PRD action to check if the license text is provided my $short_name = $item[1] ; $short_name .= \' \'.$item[2][0] if $item[2][0] ; @@ -51,6 +54,7 @@ my $expected = @known_licenses ? "Expected one of the current stand-alone License paragraphs: @known_licenses." : "Did not find any stand-alone License paragraph."; ${$arg[1]} .= "license \'$short_name\' is not declared in a stand-alone License paragraph. $expected" ; + return undef; } } ', 'help' => { diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Copyright/FillBlanks/Pattern.pl libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Copyright/FillBlanks/Pattern.pl --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Copyright/FillBlanks/Pattern.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Copyright/FillBlanks/Pattern.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,4 +1,7 @@ -[ +use strict; +use warnings; + +return [ { 'element' => [ 'copyright', diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Copyright/FillBlanks.pl libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Copyright/FillBlanks.pl --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Copyright/FillBlanks.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Copyright/FillBlanks.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,4 +1,7 @@ -[ +use strict; +use warnings; + +return [ { 'element' => [ 'path', diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Copyright/GlobalLicense.pl libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Copyright/GlobalLicense.pl --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Copyright/GlobalLicense.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Copyright/GlobalLicense.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,4 +1,7 @@ -[ +use strict; +use warnings; + +return [ { 'author' => [ 'Dominique Dumont' diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Copyright/LicenseSpec.pl libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Copyright/LicenseSpec.pl --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Copyright/LicenseSpec.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Copyright/LicenseSpec.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,4 +1,7 @@ -[ +use strict; +use warnings; + +return [ { 'accept' => [ '.*', @@ -35,6 +38,8 @@ # need to cleanup text to mimic cleanup done when copyright # data is read from file chomp($text); + # clear-up license text + $text =~ s!^\\s+!!mg; # work-around a bug in lgpl license text summary... my bad :-/ $text =~ s!^\\.!!mg; } diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Copyright/ScanPatterns/Lists.pl libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Copyright/ScanPatterns/Lists.pl --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Copyright/ScanPatterns/Lists.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Copyright/ScanPatterns/Lists.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,4 +1,7 @@ -[ +use strict; +use warnings; + +return [ { 'element' => [ 'suffixes', diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Copyright/ScanPatterns.pl libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Copyright/ScanPatterns.pl --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Copyright/ScanPatterns.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Copyright/ScanPatterns.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,4 +1,7 @@ -[ +use strict; +use warnings; + +return [ { 'element' => [ 'check', diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Copyright.pl libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Copyright.pl --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Copyright.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Copyright.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,4 +1,7 @@ -[ +use strict; +use warnings; + +return [ { 'accept' => [ '.*', diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Install.pl libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Install.pl --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Install.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Install.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,4 +1,7 @@ -[ +use strict; +use warnings; + +return [ { 'class_description' => 'Contains the list of files to be installed by L', 'element' => [ diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Meta.pl libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Meta.pl --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Meta.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Meta.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,4 +1,7 @@ -[ +use strict; +use warnings; + +return [ { 'author' => [ 'Dominique Dumont' diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/PackageScripts.pl libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/PackageScripts.pl --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/PackageScripts.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/PackageScripts.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,4 +1,7 @@ -[ +use strict; +use warnings; + +return [ { 'element' => [ 'preinst', diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Patches.pl libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Patches.pl --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Patches.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Patches.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,4 +1,7 @@ -[ +use strict; +use warnings; + +return [ { 'author' => [ 'Dominique Dumont' diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Patch.pl libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Patch.pl --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Patch.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Patch.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,4 +1,7 @@ -[ +use strict; +use warnings; + +return [ { 'accept' => [ 'Bug-.*', diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Source/Options.pl libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Source/Options.pl --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Source/Options.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Source/Options.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,4 +1,7 @@ -[ +use strict; +use warnings; + +return [ { 'accept' => [ '.*', diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Source.pl libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Source.pl --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Source.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Source.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,4 +1,7 @@ -[ +use strict; +use warnings; + +return [ { 'author' => [ 'Dominique Dumont' diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Tests/Control.pl libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Tests/Control.pl --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Tests/Control.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Tests/Control.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,4 +1,7 @@ -[ +use strict; +use warnings; + +return [ { 'class_description' => 'describes how autopkgtest interprets and executes tests found in Debian source packages. diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Tests.pl libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Tests.pl --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg/Tests.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg/Tests.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,4 +1,7 @@ -[ +use strict; +use warnings; + +return [ { 'element' => [ 'control', diff -Nru libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg.pl libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg.pl --- libconfig-model-dpkg-perl-2.122/lib/Config/Model/models/Dpkg.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Config/Model/models/Dpkg.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,4 +1,7 @@ -[ +use strict; +use warnings; + +return [ { 'author' => [ 'Dominique Dumont' @@ -16,16 +19,9 @@ }, 'compat', { - 'class' => 'Config::Model::Dpkg::Compat', 'description' => 'compat file defines the debhelper compatibility level', 'type' => 'leaf', - 'value_type' => 'integer', - 'warn_if' => { - 'compat value is too old' => { - 'code' => '$_ < $self->_fetch_std - 1', - 'fix' => '$_ = $self->_fetch_std' - } - } + 'value_type' => 'integer' }, 'control', { diff -Nru libconfig-model-dpkg-perl-2.122/lib/Dpkg/Copyright/Scanner.pm libconfig-model-dpkg-perl-2.125/lib/Dpkg/Copyright/Scanner.pm --- libconfig-model-dpkg-perl-2.122/lib/Dpkg/Copyright/Scanner.pm 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/lib/Dpkg/Copyright/Scanner.pm 2019-07-28 20:50:42.000000000 +0000 @@ -244,6 +244,10 @@ # $l =~ s/\bBSD \((\d) clause\)/BSD-$1-clause/g; # $l =~ s/\bpublic domain\b/public-domain/ig; + # licensecheck uses and/or when a file contains 2 + # licenses. and/or is not a valid syntax for debian/copyright + # file + $l =~ s!and/or!or!g; # # deduplicate license keywords and add 'or' keyword where missing # # this is fragile. may need to change license-check to output license keyword @@ -534,19 +538,23 @@ sub __squash ($h, $p = '') { my %count ; - # find main license info found in LICENCE or COPYING or README - # file - foreach my $info_name (qw/readme copying license/) { - my $re = qr!$info_name[.\w]*$!i; + # find main license info found in LICENSE or COPYING or README + # file. Order is important. Info found in README trumps info found + # in LICENSE, which trumps info found in COPYING. For instance, + # when info is found in README, the files COPYING and LICENSE are + # handled as regular files. + my $found_main_info = 0; + foreach my $info_name (qw/README LICENSE LICENCE COPYING/) { + my $re = qr!^$info_name[.\w]*$!; foreach my $name (sort keys %$h) { if ($name =~ $re) { - my $id = delete $h->{$name}; + my $id = $h->{$name}; next unless $id; # skip files without info - # say "del global lic info $p/$name with $id"; - # using 1 means that info from this file is not easy to override $count{$id} = 1; + $found_main_info++; }; } + last if $found_main_info; } # count the number of times each (c) info is used in this directory. diff -Nru libconfig-model-dpkg-perl-2.122/t/compat.t libconfig-model-dpkg-perl-2.125/t/compat.t --- libconfig-model-dpkg-perl-2.122/t/compat.t 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/t/compat.t 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -use Test::More ; -use Config::Model::Dpkg::Compat; -use Log::Log4perl qw(:easy); -use 5.10.0; - -use warnings; -use strict; - -my $compat = Config::Model::Dpkg::Compat::_fetch_std(); -like($compat, qr/^\d{1,2}$/, "check default compat (found $compat)"); - -done_testing; diff -Nru libconfig-model-dpkg-perl-2.122/t/dependency-check.t libconfig-model-dpkg-perl-2.125/t/dependency-check.t --- libconfig-model-dpkg-perl-2.122/t/dependency-check.t 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/t/dependency-check.t 2019-07-28 20:50:42.000000000 +0000 @@ -1,4 +1,6 @@ # -*- cperl -*- +use warnings; +use strict; BEGIN { # dirty trick to create a Memoize cache so that test will use this instead @@ -24,7 +26,7 @@ foobar => undef, # used to test that unknown package trigger a warning, real cache should not contain undef ); my $t = time ; - map { $_ = "$t $_"} grep {defined $_} values %Config::Model::Dpkg::Dependency::cache ; + do { $_ = "$t $_"} for grep {defined $_} values %Config::Model::Dpkg::Dependency::cache ; } use ExtUtils::testlib; @@ -40,9 +42,6 @@ use Storable qw/dclone/; use 5.10.0; -use warnings; -use strict; - use feature qw/postderef signatures/; no warnings qw/experimental::postderef experimental::signatures/; @@ -62,6 +61,9 @@ } } +# extract installed version of debhelper +my $str = `/usr/bin/dpkg -l debhelper`; +my ($dh_version) = ($str =~ /ii\s+debhelper\s+(\d+)/); my $control_text = <<'EOD' ; Source: libdist-zilla-plugins-cjm-perl @@ -70,7 +72,7 @@ Build-Depends: debhelper, libsdl1.2, dpkg Build-Depends-Indep: libcpan-meta-perl, perl (>= 5.10) | libmodule-build-perl, Maintainer: Debian Perl Group -Uploaders: Dominique Dumont +Uploaders: Dominique Dumont Standards-Version: 4.1.2 Homepage: http://search.cpan.org/dist/Dist-Zilla-Plugins-CJM/ @@ -409,14 +411,21 @@ is($vcs->fetch, $urlb,"fixed $elt URL (was $urla)") ; } -subtest "test debhelper compat interaction" => sub { +sub new_instance { + my $name = shift || die "missing instance name"; + # instance to check one dependency at a time my $unit = $model->instance ( root_class_name => 'Dpkg', root_dir => $wr_dir, - instance_name => "compat-test", + instance_name => $name, ); +} +subtest "test debhelper compat interaction" => sub { + # instance to check one dependency at a time + my $unit = new_instance("compat-test"); + my $root = $unit->config_root; my $compat_obj = $root->grab("compat"); $compat_obj->store(8); @@ -431,19 +440,88 @@ # bump debhelper $compat_obj->store(9); - # check for warnings; - Test::Log::Log4perl->start(); - $wt->warn(qr/debhelper/); - $dh_obj->check; - Test::Log::Log4perl->end("check warnings after compat bump"); - - # apply fixes again $dh_obj->apply_fixes; - is($dh_obj->fetch,'debhelper (>= 9~)',"test fixed debhelper value after compat change"); + is($dh_obj->fetch,"debhelper-compat (= $dh_version)","test fixed debhelper value after compat change"); }; +# need to get last debhelper version +subtest "test debhelper migration" => sub { + my $unit = new_instance("debhelper-migration-test"); + my $root = $unit->config_root; + my $bd0_path = 'control source Build-Depends:0'; + + my $dhc_ok = "debhelper-compat (= $dh_version)"; + + if (not $dh_version) { + die "debhelper package is not installed"; + } + + my @tests = ( + [ undef, { name => "debhelper" } ], + [ 8 , { name => "debhelper", dep => [ '>=', 8 ]} ], + [ 8 , { name => "debhelper", dep => [ '>=', 7 ]} ], + [ 10 , { name => "debhelper", dep => [ '>=', 10 ]} ], + ); + + my $compat = $root->grab('compat'); + my $bd0 = $root->grab($bd0_path); + + # check only debhelper dependency transformation + foreach my $t (@tests) { + my ($c, $dep) = $t->@*; + if (defined $c) { $compat->store($c) } else { $compat->clear; } + my $msgs = []; + my $str = sprintf ("compat: %s dependency: '%s'", map { $_ // 'undef' } ($c, $bd0->struct_to_dep($dep))); + $bd0->check_debhelper_version(1, $dep, $msgs); + is($bd0->struct_to_dep($dep),$dhc_ok,"check dependency value from $str"); + } + + # perform more complete test + $bd0->store("debhelper ( >= 8 )"); + $root->apply_fixes; + is($bd0->fetch, $dhc_ok, "check dependency after apply_fixes"); +}; + +# need to get last debhelper version +subtest "test debhelper-compat" => sub { + my $unit = new_instance("debhelper-compat-test"); + my $root = $unit->config_root; + my $bd0_path = 'control source Build-Depends:0'; + + my $dhc_ok = { name => "debhelper-compat", dep => [ '=', $dh_version ]}; + my $dhc_ok_1 = { name => "debhelper-compat", dep => [ '=', $dh_version - 1]}; + + if (not $dh_version) { + die "debhelper package is not installed"; + } + + my @tests = ( + { name => "debhelper-compat" } , + { name => "debhelper-compat", dep => [ '=', 9 ]}, + $dhc_ok_1, + $dhc_ok + ); + + my $bd0 = $root->grab($bd0_path); + + # check only debhelper dependency transformation + foreach my $dep (@tests) { + my $msgs = []; + my $str = sprintf ("dependency: '%s'", $bd0->struct_to_dep($dep) // 'undef'); + $bd0->check_debhelper_compat_version(1, $dep, $msgs); + my $expected = $dep->{dep}[1] == $dh_version - 1 ? $dhc_ok_1 : $dhc_ok; + is_deeply($dep,$expected,"check dependency value from $str"); + } + + # perform more complete test + $root->load("compat=8"); + $bd0->store("debhelper-compat ( = 8 )"); + $root->apply_fixes; + is($bd0->fetch, $bd0->struct_to_dep($dhc_ok), "check dependency after apply_fixes"); + is($root->grab_value('compat'), undef, "check that compat is removed"); +}; memory_cycle_ok($model, "memory cycles"); diff -Nru libconfig-model-dpkg-perl-2.122/t/dpkg.t libconfig-model-dpkg-perl-2.125/t/dpkg.t --- libconfig-model-dpkg-perl-2.122/t/dpkg.t 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/t/dpkg.t 2019-07-28 20:50:42.000000000 +0000 @@ -143,6 +143,19 @@ like($lic_gpl->fetch,qr!/usr/share/common-licenses/GPL-1! , "retrieved license text summary") ; + +# test that a future standard-version does not trigger a warning. This +# may happen when updating a package while an old version of lintian +# is installed. See #932409 + +Test::Log::Log4perl->start( ); +$tlogger->warn( qr/newer than lintian/i ); +$root->load('control source Standards-Version=1000.1.1'); +$root->apply_fixes; +is($root->grab_value('control source Standards-Version'), '1000.1.1',"Future standards version is not changed"); +Test::Log::Log4perl->end("check that a warning is emitted for unknown Testsuite value"); + + memory_cycle_ok($model, "check memory cycles"); done_testing(); diff -Nru libconfig-model-dpkg-perl-2.122/t/license-short-name.t libconfig-model-dpkg-perl-2.125/t/license-short-name.t --- libconfig-model-dpkg-perl-2.122/t/license-short-name.t 1970-01-01 00:00:00.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/t/license-short-name.t 2019-07-28 20:50:42.000000000 +0000 @@ -0,0 +1,60 @@ +use strict; +use warnings; + +use Config::Model; + +use Config::Model::Tester::Setup qw/init_test setup_test_dir/; +use Path::Tiny; +use 5.10.0; + +use warnings; +use strict; +use Test::More; +use Test::Exception; + +$::_use_log4perl_to_warn = 1; + +my ($model, $trace, $opts) = init_test('rdhint','rdtrace'); + +{ + no warnings qw/once/; + $::RD_HINT = 1 if $opts->{rdhint}; + $::RD_TRACE = 1 if $opts->{rdtrace}; +} + +my $wr_dir = setup_test_dir(); + +$wr_dir->child("debian")->mkpath() ; + +# instance to check one dependency at a time +my $root = $model->instance ( + root_class_name => 'Dpkg::Copyright', + root_dir => $wr_dir, + instance_name => "short-name-test", +)->config_root; + +my $lic = $root->fetch_element('License'); + +foreach my $name (qw/GPL-3+ GPL-2+ Artistic-2.0 BSD-3-clause/,"GPL-3+ with Font exception") { + ok($lic->fetch_with_id($name),"fetch «$name» license object"); +} + +# this license index is not a valid short name. But the check is done +# by short name object, not by this hash element +ok($lic->fetch_with_id("GPL-3+ with Font-exception-2.0"), "check license with bad font exception"); + +print $root->dump_tree if $trace; + +my $short = $root->grab('Files:"etc/fonts/*" License short_name'); +ok($short, "got short_name object"); + +foreach my $name ("GPL-3+","GPL-3+ with Font exception", + "GPL-2+ or Artistic-2.0, and BSD-3-clause") { + ok($short->store($name),"store «$name» short name"); +} + +throws_ok { + $short->store("GPL-3+ with Font-exception-2.0"); +} qr/does not match grammar from model/, "bad short name rejected when storing"; + +done_testing(); diff -Nru libconfig-model-dpkg-perl-2.122/t/model_tests.d/dependency-cache.txt libconfig-model-dpkg-perl-2.125/t/model_tests.d/dependency-cache.txt --- libconfig-model-dpkg-perl-2.122/t/model_tests.d/dependency-cache.txt 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/t/model_tests.d/dependency-cache.txt 2019-07-28 20:50:42.000000000 +0000 @@ -128,9 +128,22 @@ makedev => squeeze 2.3.1-89 wheezy 2.3.1-92 jessie 2.3.1-92 sid 2.3.1-93 mingw-w64-i686-dev => oldstable 2.0.3-1 stable 3.2.0-2 unstable 4.0.5-2 experimental 5.0~rc2-1 mingw-w64-x86-64-dev => oldstable 2.0.3-1 stable-kfreebsd 3.2.0-2 testing 4.0.5-2 experimental 5.0~rc2-1 +mocha => oldstable-kfreebsd 1.20.1-1 oldstable 1.20.1-1 stable 1.20.1-7 testing 4.1.0+ds3-3 unstable 4.1.0+ds3-5 mummer => oldoldstable 3.23~dfsg-2 oldstable 3.23~dfsg-2 oldstable-kfreebsd 3.23~dfsg-2 stable 3.23+dfsg-2 testing 3.23+dfsg-3 unstable 3.23+dfsg-3 muscle => etch 3.60-1 lenny 3.70+fix1-2 squeeze 3.70+fix1-2 wheezy 3.70+fix1-2 sid 3.70+fix1-2 mysql-server => squeeze-security 5.1.73-1 squeeze 5.1.73-1 squeeze-lts 5.1.73-1+deb6u1 jessie-kfreebsd 5.5.42-1 jessie-kfreebsd-p-u 5.5.43-0+deb8u1 wheezy-security 5.5.44-0+deb7u1 wheezy 5.5.44-0+deb7u1 jessie-kfreebsd-security 5.5.44-0+deb8u1 jessie-security 5.5.44-0+deb8u1 jessie 5.5.44-0+deb8u1 stretch 5.6.25-4 sid 5.6.25-4 +node-generic-pool => oldstable-kfreebsd 2.0.3-1 oldstable 2.0.3-1 unstable 3.1.1-1 stable 3.1.1-1 testing 3.1.1-1 +node-marked-man => stable 0.2.0-1 unstable 0.4.0-1 testing 0.4.0-1 +node-mime-types => oldstable-kfreebsd 2.0.2-1 oldstable 2.0.2-1 stable 2.0.2-2 stretch-backports 2.1.20-1~bpo9+1 testing 2.1.21-1 unstable 2.1.21-1 +node-mkdirp => oldstable-kfreebsd 0.5.0-1 oldstable 0.5.0-1 stable 0.5.0-1 stretch-backports 0.5.1-1~bpo9+1 unstable 0.5.1-1 testing 0.5.1-1 +node-optimist => oldstable-kfreebsd 0.3.5-1 oldstable 0.3.5-1 unstable 0.6.1-1 testing 0.6.1-1 stable 0.6.1-1 +node-request => stable 2.26.1-1 oldstable 2.26.1-1 oldstable-kfreebsd 2.26.1-1 stretch-backports 2.88.1-2~bpo9+1 testing 2.88.1-2 unstable 2.88.1-2 +node-sqlite3 => oldstable 2.2.0+ds1-1 oldstable-kfreebsd 2.2.0+ds1-1 stable 3.1.8+ds1-2 unstable 3.1.8+ds1-2+b1 testing 4.0.6+ds1-2 unstable 4.0.6+ds1-2 +node-srs => oldstable 0.3.2+ds1-1+b1 oldstable-kfreebsd 0.3.2+ds1-1+b1 stable 0.4.8+dfsg-3 unstable 0.4.8+dfsg-3+b2 testing 0.4.8+dfsg-4 unstable 0.4.8+dfsg-4 +node-step => oldstable 0.0.5+20111229-1 testing 0.0.5+20111229-1 stable 0.0.5+20111229-1 unstable 0.0.5+20111229-1 oldstable-kfreebsd 0.0.5+20111229-1 +node-underscore => oldstable-kfreebsd 1.7.0~dfsg-1 oldstable 1.7.0~dfsg-1 jessie-backports 1.8.3~dfsg-1~bpo8+1 stable 1.8.3~dfsg-1 testing 1.8.3~dfsg-2 unstable 1.9.1~dfsg-1 +node-zipfile => oldstable 0.5.0+ds-1 oldstable-kfreebsd 0.5.0+ds-1 unstable 0.5.11+ds-2+b1 testing 0.5.12+ds-3 unstable 0.5.12+ds-3 +nodejs => wheezy-backports 0.10.29~dfsg-1~bpo70+1 oldstable 0.10.29~dfsg-2 oldstable-kfreebsd 0.10.29~dfsg-2 unstable 4.6.1~dfsg-1 jessie-backports 4.7.2~dfsg-2~bpo8+1 jessie-backports 4.8.2~dfsg-1~bpo8+1 stable 4.8.2~dfsg-1 stretch-backports 8.11.1~dfsg-2~bpo9+1 unstable 10.15.1~dfsg-5 testing 10.15.1~dfsg-5 opennebula => squeeze-backports 2.0.1-6~bpo60+1 wheezy 3.4.1-3.1 stretch 4.12.3+dfsg-3 sid 4.12.3+dfsg-3 opennebula-common => squeeze-backports 2.0.1-6~bpo60+1 wheezy 3.4.1-3.1 stretch 4.12.3+dfsg-3 sid 4.12.3+dfsg-3 opennebula-dbg => diff -Nru libconfig-model-dpkg-perl-2.122/t/model_tests.d/dpkg-control-examples/npm2deb_package libconfig-model-dpkg-perl-2.125/t/model_tests.d/dpkg-control-examples/npm2deb_package --- libconfig-model-dpkg-perl-2.122/t/model_tests.d/dpkg-control-examples/npm2deb_package 1970-01-01 00:00:00.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/t/model_tests.d/dpkg-control-examples/npm2deb_package 2019-07-28 20:50:42.000000000 +0000 @@ -0,0 +1,49 @@ +Source: node-millstone +Section: javascript +Priority: optional +Maintainer: Debian Javascript Maintainers +Uploaders: David Paleino , + Jérémy Lal +Build-Depends: + debhelper (>= 11~) + , nodejs + , node-underscore + , node-srs + , node-request + , node-zipfile + , node-step + , node-sqlite3 + , node-mime-types + , node-mkdirp + , node-generic-pool + , node-optimist + , node-marked-man + , mocha +Standards-Version: 4.3.0 +Homepage: https://github.com/mapbox/millstone +Vcs-Git: https://salsa.debian.org/js-team/node-millstone.git +Vcs-Browser: https://salsa.debian.org/js-team/node-millstone + +Package: node-millstone +Architecture: all +Depends: + ${misc:Depends} + , nodejs + , node-underscore + , node-srs + , node-request + , node-zipfile + , node-step + , node-sqlite3 + , node-mime-types + , node-mkdirp + , node-generic-pool + , node-optimist +Description: prepare datasources in an MML file for consumption in mapnik + node-millstone localizes datasources found in a node-carto project file + before it is converted into a xml stylesheet usable by mapnik. + . + Mapnik is an OpenSource C++/Python toolkit for developing GIS applications. + . + Node.js is an event-based server-side javascript engine. + diff -Nru libconfig-model-dpkg-perl-2.122/t/model_tests.d/dpkg-control-test-conf.pl libconfig-model-dpkg-perl-2.125/t/model_tests.d/dpkg-control-test-conf.pl --- libconfig-model-dpkg-perl-2.122/t/model_tests.d/dpkg-control-test-conf.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/t/model_tests.d/dpkg-control-test-conf.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,15 +1,14 @@ use Data::Dumper; -use IO::File; use Path::Tiny; use Lintian::Data; use Lintian::Profile; +use Config::Model::Dpkg::Dependency; use strict; use warnings; -our $conf_file_name = "control"; -our $conf_dir = 'debian'; -our $model_to_test = "Dpkg::Control"; +my $conf_file_name = "control"; +my $conf_dir = 'debian'; my $profile = Lintian::Profile->new ('debian'); Lintian::Data->set_vendor($profile); @@ -21,7 +20,7 @@ - xt/release/pod-spell.t - a standard Test::Spelling test" ; -our @tests = ( +my @tests = ( { # t0 @@ -306,25 +305,33 @@ check => { 'source Build-Depends:1' => 'perl:any', } + }, + { + name => 'npm2deb_package', + check => { + 'source Build-Depends:0' => 'debhelper (>= 11~)', + 'source Build-Depends:1' => 'nodejs', + } } ); -my $cache_file = 't/model_tests.d/dependency-cache.txt'; +my $cache_file = path('t/model_tests.d/dependency-cache.txt'); $Config::Model::Dpkg::Dependency::use_test_cache = 1; +untie %Config::Model::Dpkg::Dependency::cache; +%Config::Model::Dpkg::Dependency::cache = (); -my $ch = new IO::File "$cache_file"; -foreach ($ch->getlines) { - chomp; - my ($k,$v) = split m/ => / ; +foreach my $line ($cache_file->lines) { + chomp $line; + next unless $line; + my ($k,$v) = split m/ => /, $line ; $Config::Model::Dpkg::Dependency::cache{$k} = time . ' '. $v ; } -$ch -> close ; END { return if $::DebianDependencyCacheWritten ; my %h = %Config::Model::Dpkg::Dependency::cache ; - map { s/^\d+ //;} values %h ; # remove time stamp + do { s/^\d+ //;} for values %h ; # remove time stamp my $str = join ("\n", map { "$_ => $h{$_}" ;} sort keys %h) ; my $fh = new IO::File "> $cache_file"; @@ -337,4 +344,8 @@ } } -1; +return { + conf_file_name => $conf_file_name, + conf_dir => $conf_dir, + tests => \@tests, +}; diff -Nru libconfig-model-dpkg-perl-2.122/t/model_tests.d/dpkg-copyright-examples/node-gulp libconfig-model-dpkg-perl-2.125/t/model_tests.d/dpkg-copyright-examples/node-gulp --- libconfig-model-dpkg-perl-2.122/t/model_tests.d/dpkg-copyright-examples/node-gulp 1970-01-01 00:00:00.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/t/model_tests.d/dpkg-copyright-examples/node-gulp 2019-07-28 20:50:42.000000000 +0000 @@ -0,0 +1,163 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: gulp +Upstream-Contact: https://github.com/gulpjs/gulp/issues +Source: https://gulpjs.com + +Files: * +Copyright: 2013-2018, Blaine Bublitz , Eric Schoffstall and other contributors + 2013-2016, Fractal +License: Expat + +Files: ansi-colors/* +Copyright: 2015-2017, Brian Woodward. +License: Expat + +Files: arr-filter/index.js +Copyright: 2014-2018, Jon Schlinkert. +License: Expat + +Files: arr-map/* +Copyright: 2014-2018, Jon Schlinkert. +License: Expat + +Files: array-each/index.js +Copyright: 2014-2018, Jon Schlinkert. +License: Expat + +Files: array-initial/* +Copyright: 2014, Jon Schlinkert +License: Expat + +Files: array-initial/index.js +Copyright: 2014, Jon Schlinkert, contributors. +License: Expat + +Files: array-last/* +Copyright: 2014-2018, Jon Schlinkert. +License: Expat + +Files: array-slice/* +Copyright: 2014-2018, Jon Schlinkert. +License: Expat + +Files: array-sort/* +Copyright: 2014-2018, Jon Schlinkert. +License: Expat + +Files: collection-map/* +Copyright: 2014-2018, Jon Schlinkert. +License: Expat + +Files: color-support/* +Copyright: Isaac Z. Schlueter and Contributors +License: ISC + +Files: debian/* +Copyright: 2019, Xavier Guimard + 2016, Pirate Praveen +License: Expat + +Files: default-compare/* +Copyright: 2017, Brian Woodward +License: Expat + +Files: docs/* +Copyright: 2016, Fractal +License: public-domain +Comment: To the extent possible under law, Fractal has waived all copyright + and related or neighboring rights to this work. + +Files: each-props/* +Copyright: 2016, Takayuki Sato +License: Expat + +Files: gulp-cli/completion/bash + gulp-cli/completion/zsh +Copyright: 2012, Tyler Kellen, contributors +License: Expat + +Files: gulp-cli/completion/powershell +Copyright: 2014, Jason Jarrett +License: Expat + +Files: homedir-polyfill/* +Copyright: 2016, Brian Woodward +License: Expat + +Files: is-absolute/* +Copyright: 2014-2017, Jon Schlinkert + 2009-2014, TJ Holowaychuk +License: Expat + +Files: make-iterator/* +Copyright: 2014-2018, Jon Schlinkert. +License: Expat + +Files: matchdep/* +Copyright: 2012, 2013, Tyler Kellen +License: Expat + +Files: matchdep/lib/* +Copyright: 2012, Tyler Kellen +License: Expat + +Files: object-defaults/index.js +Copyright: 2014-2018, Jon Schlinkert. +License: Expat + +Files: object-reduce/index.js +Copyright: 2014-2018, Jon Schlinkert. +License: Expat + +Files: stack-trace/* +Copyright: 2011, Felix Geisendörfer (felix@debuggable.com) +License: Expat + +Files: yargs/* +Copyright: 2014, Contributors (ben@npmjs.com) + 2010, James Halliday (mail@substack.net) +License: Expat + +Files: yargs/lib/levenshtein.js +Copyright: 2011, Andrei Mackenzie +License: Expat + +License: Expat + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + . + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + +License: ISC + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + . + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR + IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +License: public-domain + All the documentation is covered by the CC0 license *(do whatever you want + with it - public domain)* + . + https://creativecommons.org/publicdomain/zero/1.0/ diff -Nru libconfig-model-dpkg-perl-2.122/t/model_tests.d/dpkg-copyright-test-conf.pl libconfig-model-dpkg-perl-2.125/t/model_tests.d/dpkg-copyright-test-conf.pl --- libconfig-model-dpkg-perl-2.122/t/model_tests.d/dpkg-copyright-test-conf.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/t/model_tests.d/dpkg-copyright-test-conf.pl 2019-07-28 20:50:42.000000000 +0000 @@ -2,12 +2,13 @@ use IO::File; use utf8; use Path::Tiny; +use strict; +use warnings; -$conf_file_name = "copyright"; -$conf_dir = 'debian'; -$model_to_test = "Dpkg::Copyright"; +my $conf_file_name = "copyright"; +my $conf_dir = 'debian'; -@tests = ( +my @tests = ( { # t0 log4perl_load_warnings => [[ User => warn => qr/Missing/, (warn => qr/deprecated/) x 3 ]], load_check => 'skip', @@ -365,7 +366,35 @@ # not valid: the License short_name for File:"*" is empty. name => 'by-dh-make-perl', update => { in => path('t/scanner/examples/by-dh-make-perl.in') , quiet => 1 }, - } + }, + + { + name => 'node-gulp-from-scratch', + update => { in => path('t/scanner/examples/node-gulp.in') , quiet => 1 }, + check => { + 'Files:"make-iterator/*" Copyright' => qr/moutjs team/, + 'Files:"make-iterator/*" License short_name' => 'UNKNOWN', + qq!Files:"make-iterator/LICENSE\n make-iterator/index.js" Copyright! + => "2014-2018, Jon Schlinkert.", + qq!Files:"make-iterator/LICENSE\n make-iterator/index.js" License short_name! => "Expat", + } + }, + + { + name => 'node-gulp', + update => { in => path('t/scanner/examples/node-gulp.in') , quiet => 1 }, + check => { + 'Files:"make-iterator/*" Copyright' => qr/moutjs team/, + 'Files:"make-iterator/*" License short_name' => 'Expat', # merged info + qq!Files:"make-iterator/LICENSE\n make-iterator/index.js" Copyright! + => "2014-2018, Jon Schlinkert.", + qq!Files:"make-iterator/LICENSE\n make-iterator/index.js" License short_name! => "Expat", + } + }, ); -1; +return { + conf_file_name => $conf_file_name, + conf_dir => $conf_dir, + tests => \@tests, +}; diff -Nru libconfig-model-dpkg-perl-2.122/t/model_tests.d/dpkg-patches-test-conf.pl libconfig-model-dpkg-perl-2.125/t/model_tests.d/dpkg-patches-test-conf.pl --- libconfig-model-dpkg-perl-2.122/t/model_tests.d/dpkg-patches-test-conf.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/t/model_tests.d/dpkg-patches-test-conf.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,14 +1,8 @@ -use Data::Dumper; -use IO::File; -use File::HomeDir ; +use strict; +use warnings; -$conf_file_name = ''; -$conf_dir = 'debian/patches'; - -$model_to_test = "Dpkg::Patches"; - -@tests = ( - { +my @tests = ( + { name => 'debian-748502' , # required to skip the bad patch (non dep-3) load_check => 'no', @@ -23,5 +17,7 @@ } ); - -1; +return { + conf_dir => 'debian/patches', + tests => \@tests, +}; diff -Nru libconfig-model-dpkg-perl-2.122/t/model_tests.d/dpkg-patch-test-conf.pl libconfig-model-dpkg-perl-2.125/t/model_tests.d/dpkg-patch-test-conf.pl --- libconfig-model-dpkg-perl-2.122/t/model_tests.d/dpkg-patch-test-conf.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/t/model_tests.d/dpkg-patch-test-conf.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,13 +1,12 @@ -use Data::Dumper; -use IO::File; -use File::HomeDir ; +use strict; +use warnings; -$conf_file_name = "some-patch"; +my $conf_file_name = "some-patch"; -$conf_dir = 'debian/patches'; -$model_to_test = "Dpkg::Patch"; +my $conf_dir = 'debian/patches'; +my $model_to_test = "Dpkg::Patch"; -@tests = ( +my @tests = ( { name => 'libperl5i' , backend_arg => $conf_file_name, @@ -73,5 +72,8 @@ } ); - -1; +return { + conf_file_name => $conf_file_name, + conf_dir => $conf_dir, + tests => \@tests, +}; diff -Nru libconfig-model-dpkg-perl-2.122/t/model_tests.d/dpkg-test-conf.pl libconfig-model-dpkg-perl-2.125/t/model_tests.d/dpkg-test-conf.pl --- libconfig-model-dpkg-perl-2.122/t/model_tests.d/dpkg-test-conf.pl 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/t/model_tests.d/dpkg-test-conf.pl 2019-07-28 20:50:42.000000000 +0000 @@ -1,25 +1,27 @@ +use strict; +use warnings; + use Data::Dumper; -use IO::File; -use File::HomeDir ; +use Path::Tiny; use Carp; use Carp::Assert; use Carp::Assert::More; -use strict; -use warnings; use utf8; -use Config::Model::Dpkg::Compat; +use Config::Model::BackendMgr ; +use Config::Model::Dpkg::Dependency; -our $conf_file_name = ""; -our $conf_dir = ''; -our $model_to_test = "Dpkg"; +my $conf_file_name = ""; +my $conf_dir = ''; +my $model_to_test = "Dpkg"; eval { require AptPkg::Config; }; -our $skip = ( $@ or not -r '/etc/debian_version' ) ? 1 : 0; +my $skip = ( $@ or not -r '/etc/debian_version' ) ? 1 : 0; -our $home_for_test = '/home/joe' ; +my $home_for_test = '/home/joe' ; Config::Model::BackendMgr::_set_test_home($home_for_test) ; -my $current_compat = Config::Model::Dpkg::Compat::_fetch_std; +my $str = `/usr/bin/dpkg -l debhelper`; +my ($current_compat) = ($str =~ /ii\s+debhelper\s+(\d+)/); # required to set value that enable creation of dummy changelog: # changelog is computed from my_config email and name which are also @@ -37,6 +39,7 @@ config => "$home_for_test/.config/config-model/dpkg-meta.yml", log => '/debian/changelog', rules => '/debian/rules', + '-compat' => '/debian/compat', ); # returns a sub used to tweak list of debian files @@ -72,7 +75,7 @@ } "old home dir is gone"; } -@tests = ( +my @tests = ( { name => 't0', check => { 'control source Build-Depends-Indep:3' => 'libtest-pod-perl', @@ -81,13 +84,13 @@ 'compat' => 8, }, log4perl_load_warnings => [[ - User => map {(warn => $_)} qr/compat/, qr/source Standards-Version/, qr/Dual dependency/ + User => map {(warn => $_)} qr/source Standards-Version/, qr/compat/, (qr/debhelper/) x 2 , qr/Dual dependency/ ]], }, { name => 't1', log4perl_load_warnings => [[ - User => map {(warn => $_)} qr/compat/, qr/standard/, qr/compat/, qr/canonical/, qr/invalid/ + User => map {(warn => $_)} qr/standard/, qr/compat/, (qr/debhelper/) x 2 , qr/canonical/, qr/invalid/ ]], apply_fix => 1 , load => qq!patches:fix-spelling Description="more spelling details"! @@ -101,9 +104,10 @@ 'patches:glib-single-include Synopsis', "mega patchchoid", 'patches:use-standard-dzil-test Description', "Test is modified in order not to load the Test:Dzil module\nprovided in t/lib", - 'compat' => $current_compat , # test setup and fix - 'control source Build-Depends:0' => "debhelper (>= $current_compat~)" , - },warnings => [ (qr/deprecated/) x 3 ], + 'control source Build-Depends:0' => "debhelper-compat (= $current_compat)" , + }, + file_check_sub => tweak(qw!-compat!), + warnings => [ (qr/deprecated/) x 3 ], }, { @@ -128,6 +132,7 @@ 'bugfiles:libversion bug-control report-with' => 'libreoffice-core', 'bugfiles:libversion bug-control package-status' => 'udev dracut initramfs-tools', }, + file_check_sub => tweak(qw!-compat!), }, { name => 'pan-copyright-from-scratch', @@ -319,33 +324,33 @@ }, ); -my $cache_file = 't/model_tests.d/dependency-cache.txt'; +my $cache_file = path('t/model_tests.d/dependency-cache.txt'); $Config::Model::Dpkg::Dependency::use_test_cache = 1; +untie %Config::Model::Dpkg::Dependency::cache; +%Config::Model::Dpkg::Dependency::cache = (); -my $ch = new IO::File "$cache_file"; -foreach ( $ch->getlines ) { - chomp; - my ( $k, $v ) = split m/ => /; +foreach my $line ( $cache_file->lines ) { + chomp $line; + next unless $line; + my ( $k, $v ) = split m/ => /, $line; $Config::Model::Dpkg::Dependency::cache{$k} = time . ' '. $v; } -$ch->close; END { return if $::DebianDependencyCacheWritten; my %h = %Config::Model::Dpkg::Dependency::cache; - map { s/^\d+ //;} values %h ; # remove time stamp + do { s/^\d+ //;} for (values %h) ; # remove time stamp my $str = join( "\n", map { "$_ => $h{$_}"; } sort keys %h ); - my $fh = new IO::File "> $cache_file"; print "writing back cache file\n"; - if ( defined $fh ) { - - # not a big deal if cache cannot be written back - $fh->print($str); - $fh->close; - $::DebianDependencyCacheWritten = 1; - } + $cache_file->spew($str); + $::DebianDependencyCacheWritten = 1; } -1; +return { + conf_file_name => $conf_file_name, + conf_dir => $conf_dir, + home_for_test => $home_for_test, + tests => \@tests, +}; diff -Nru libconfig-model-dpkg-perl-2.122/t/model_tests.t libconfig-model-dpkg-perl-2.125/t/model_tests.t --- libconfig-model-dpkg-perl-2.122/t/model_tests.t 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/t/model_tests.t 2019-07-28 20:50:42.000000000 +0000 @@ -3,7 +3,7 @@ use warnings; use strict; -use Config::Model::Tester; +use Config::Model::Tester 4.002; $::_use_log4perl_to_warn =1; diff -Nru libconfig-model-dpkg-perl-2.122/t/scanner/examples/libtommath.out libconfig-model-dpkg-perl-2.125/t/scanner/examples/libtommath.out --- libconfig-model-dpkg-perl-2.122/t/scanner/examples/libtommath.out 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/t/scanner/examples/libtommath.out 2019-07-28 20:50:42.000000000 +0000 @@ -1,4 +1,9 @@ Files: * +Copyright: 2004, Sam Hocevar +License: WTFPL-2 + +Files: bn_mp_n_root.c + bn_mp_n_root_ex.c Copyright: *b <= a and (c+1)**b > a License: UNKNOWN diff -Nru libconfig-model-dpkg-perl-2.122/t/scanner/examples/moarvm.out libconfig-model-dpkg-perl-2.125/t/scanner/examples/moarvm.out --- libconfig-model-dpkg-perl-2.122/t/scanner/examples/moarvm.out 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/t/scanner/examples/moarvm.out 2019-07-28 20:50:42.000000000 +0000 @@ -1,6 +1,6 @@ Files: * -Copyright: 1991-2012, Unicode, Inc. -License: UNKNOWN +Copyright: 2012-2015, Jonathan Worthington and others. +License: Artistic-2.0 Files: 3rdparty/* Copyright: 2005-2014, Mike Pall. @@ -65,7 +65,8 @@ Copyright: 1996-2013, Free Software Foundation, Inc. License: GPL-2+ -Files: 3rdparty/libatomic_ops/aclocal.m4 +Files: 3rdparty/libatomic_ops/COPYING + 3rdparty/libatomic_ops/aclocal.m4 Copyright: 1989, 1991, 1994-2013, Free Software Foundation, Inc. License: UNKNOWN @@ -191,6 +192,10 @@ Copyright: StrongLoop, Inc. License: Expat +Files: 3rdparty/libuv/samples/socks5-proxy/LICENSE +Copyright: StrongLoop, Inc. +License: BSD-3-clause or Expat + Files: 3rdparty/libuv/samples/socks5-proxy/getopt.c Copyright: 1987, 1993, 1994, The Regents of the University of California. License: BSD-3-clause @@ -249,7 +254,15 @@ Copyright: Copyright (C) 2012-2014,the MoarVM contributors. See the F file for License: UNKNOWN +Files: src/* +Copyright: 1991-2012, Unicode, Inc. +License: UNKNOWN + Files: src/strings/utf8.c Copyright: 2008-2010, Bjoern Hoehrmann License: Expat +Files: tools/* +Copyright: 1991-2012, Unicode, Inc. +License: UNKNOWN + diff -Nru libconfig-model-dpkg-perl-2.122/t/scanner/examples/node-gulp.in libconfig-model-dpkg-perl-2.125/t/scanner/examples/node-gulp.in --- libconfig-model-dpkg-perl-2.122/t/scanner/examples/node-gulp.in 1970-01-01 00:00:00.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/t/scanner/examples/node-gulp.in 2019-07-28 20:50:42.000000000 +0000 @@ -0,0 +1,390 @@ +./.editorconfig UNKNOWN *No copyright* +./.eslintrc UNKNOWN *No copyright* +./.gitattributes UNKNOWN *No copyright* +./.tidelift.yml UNKNOWN *No copyright* +./.travis.yml UNKNOWN *No copyright* +./CHANGELOG.md UNKNOWN *No copyright* +./CONTRIBUTING.md UNKNOWN *No copyright* +./EXPENSE_POLICY.md UNKNOWN *No copyright* +./LICENSE Expat 2013-2018 Blaine Bublitz , Eric Schoffstall and other contributors +./README.md UNKNOWN *No copyright* +./appveyor.yml UNKNOWN *No copyright* +./index.js UNKNOWN *No copyright* +./package.json UNKNOWN *No copyright* +./.ci/.azure-pipelines-steps.yml UNKNOWN *No copyright* +./.ci/.azure-pipelines.yml UNKNOWN *No copyright* +./.github/ISSUE_TEMPLATE.md UNKNOWN *No copyright* +./.github/support.yml UNKNOWN *No copyright* +./ansi-colors/LICENSE Expat 2015-2017 Brian Woodward. +./ansi-colors/README.md UNKNOWN *No copyright* +./ansi-colors/index.js Expat 2015-2017 Brian Woodward. +./ansi-colors/package.json UNKNOWN *No copyright* +./ansi-wrap/LICENSE Expat 2015 Jon Schlinkert. +./ansi-wrap/README.md UNKNOWN *No copyright* +./ansi-wrap/index.js UNKNOWN *No copyright* +./ansi-wrap/package.json UNKNOWN *No copyright* +./arr-filter/LICENSE Expat 2014-2015, 2017 Jon Schlinkert +./arr-filter/README.md UNKNOWN *No copyright* +./arr-filter/index.js Expat 2014-2015, 2017 Jon Schlinkert. +./arr-filter/package.json UNKNOWN *No copyright* +./arr-map/LICENSE Expat 2015, 2017 Jon Schlinkert +./arr-map/README.md UNKNOWN *No copyright* +./arr-map/index.js Expat 2015, 2017 Jon Schlinkert. +./arr-map/package.json UNKNOWN *No copyright* +./array-each/LICENSE Expat 2015, 2017 Jon Schlinkert +./array-each/README.md UNKNOWN *No copyright* +./array-each/index.js Expat 2015, 2017 Jon Schlinkert. +./array-each/package.json UNKNOWN *No copyright* +./array-initial/.jshintrc UNKNOWN *No copyright* +./array-initial/.npmignore UNKNOWN *No copyright* +./array-initial/.travis.yml UNKNOWN *No copyright* +./array-initial/LICENSE-MIT Expat 2014 Jon Schlinkert, contributors. +./array-initial/README.md Expat 2014 Jon Schlinkert +./array-initial/index.js Expat 2014 Jon Schlinkert, contributors. +./array-initial/package.json UNKNOWN *No copyright* +./array-last/LICENSE Expat 2014-2017 Jon Schlinkert. +./array-last/README.md UNKNOWN *No copyright* +./array-last/index.js Expat 2014-2017 Jon Schlinkert. +./array-last/package.json UNKNOWN *No copyright* +./array-slice/LICENSE Expat 2014-2017 Jon Schlinkert. +./array-slice/README.md UNKNOWN *No copyright* +./array-slice/index.js Expat 2014-2017 Jon Schlinkert. +./array-slice/package.json UNKNOWN *No copyright* +./array-sort/LICENSE Expat 2015-2017 Jon Schlinkert. +./array-sort/README.md UNKNOWN *No copyright* +./array-sort/index.js Expat 2015-2017 Jon Schlinkert. +./array-sort/package.json UNKNOWN *No copyright* +./async-done/LICENSE Expat 2015 Blaine Bublitz, Eric Schoffstall and other contributors +./async-done/README.md UNKNOWN *No copyright* +./async-done/index.d.ts UNKNOWN *No copyright* +./async-done/index.js UNKNOWN *No copyright* +./async-done/package.json UNKNOWN *No copyright* +./async-settle/LICENSE Expat 2014 Blaine Bublitz, Eric Schoffstall and other contributors +./async-settle/README.md UNKNOWN *No copyright* +./async-settle/index.js UNKNOWN *No copyright* +./async-settle/package.json UNKNOWN *No copyright* +./bach/LICENSE Expat 2014 Blaine Bublitz, Eric Schoffstall and other contributors +./bach/README.md UNKNOWN *No copyright* +./bach/index.js UNKNOWN *No copyright* +./bach/package.json UNKNOWN *No copyright* +./bin/gulp.js UNKNOWN *No copyright* +./collection-map/LICENSE Expat 2015, 2017 Jon Schlinkert +./collection-map/README.md UNKNOWN *No copyright* +./collection-map/index.js Expat 2015, 2017 Jon Schlinkert. +./collection-map/package.json UNKNOWN *No copyright* +./color-support/LICENSE ISC Isaac Z. Schlueter and Contributors +./color-support/README.md UNKNOWN *No copyright* +./color-support/bin.js UNKNOWN *No copyright* +./color-support/browser.js UNKNOWN *No copyright* +./color-support/index.js UNKNOWN *No copyright* +./color-support/package.json UNKNOWN *No copyright* +./copy-props/LICENSE Expat 2016 Takayuki Sato +./copy-props/README.md UNKNOWN *No copyright* +./copy-props/index.js UNKNOWN *No copyright* +./copy-props/package.json UNKNOWN *No copyright* +./debian/README.Debian UNKNOWN *No copyright* +./debian/changelog UNKNOWN Update VCS fields to salsa +./debian/clean UNKNOWN *No copyright* +./debian/compat UNKNOWN *No copyright* +./debian/control UNKNOWN *No copyright* +./debian/copyright UNKNOWN -format/1.0/ +./debian/dirs UNKNOWN *No copyright* +./debian/docs UNKNOWN *No copyright* +./debian/gbp.conf UNKNOWN *No copyright* +./debian/install UNKNOWN *No copyright* +./debian/lintian-overrides UNKNOWN *No copyright* +./debian/manpages UNKNOWN *No copyright* +./debian/rules UNKNOWN *No copyright* +./debian/watch UNKNOWN *No copyright* +./default-compare/LICENSE Expat 2017 Brian Woodward. +./default-compare/README.md UNKNOWN *No copyright* +./default-compare/index.js UNKNOWN *No copyright* +./default-compare/package.json UNKNOWN *No copyright* +./default-resolution/LICENSE Expat 2015 Blaine Bublitz, Eric Schoffstall and other contributors +./default-resolution/README.md UNKNOWN *No copyright* +./default-resolution/index.js UNKNOWN *No copyright* +./default-resolution/node-version.js UNKNOWN *No copyright* +./default-resolution/package.json UNKNOWN *No copyright* +./docs/CLI.md UNKNOWN *No copyright* +./docs/FAQ.md UNKNOWN *No copyright* +./docs/README.md UNKNOWN *No copyright* +./docs/documentation-missing.md UNKNOWN *No copyright* +./docs/getting-started.md UNKNOWN *No copyright* +./each-props/LICENSE Expat 2016 Takayuki Sato +./each-props/README.md UNKNOWN *No copyright* +./each-props/index.js UNKNOWN *No copyright* +./each-props/package.json UNKNOWN *No copyright* +./glob-watcher/LICENSE Expat 2017 Blaine Bublitz , Eric Schoffstall and other contributors +./glob-watcher/README.md UNKNOWN *No copyright* +./glob-watcher/index.js UNKNOWN *No copyright* +./glob-watcher/package.json UNKNOWN *No copyright* +./gulp-cli/LICENSE Expat 2015 Blaine Bublitz, Eric Schoffstall and other contributors +./gulp-cli/README.md UNKNOWN *No copyright* +./gulp-cli/gulp.1 UNKNOWN *No copyright* +./gulp-cli/index.js UNKNOWN *No copyright* +./gulp-cli/package.json UNKNOWN *No copyright* +./homedir-polyfill/LICENSE Expat 2016 Brian Woodward +./homedir-polyfill/README.md UNKNOWN *No copyright* +./homedir-polyfill/index.js UNKNOWN *No copyright* +./homedir-polyfill/package.json UNKNOWN *No copyright* +./homedir-polyfill/polyfill.js UNKNOWN *No copyright* +./is-absolute/LICENSE Expat 2014-2017 Jon Schlinkert. / 2009-2014 TJ Holowaychuk +./is-absolute/README.md UNKNOWN *No copyright* +./is-absolute/index.js UNKNOWN *No copyright* +./is-absolute/package.json UNKNOWN *No copyright* +./is-relative/LICENSE Expat 2014-2017 Jon Schlinkert. +./is-relative/README.md UNKNOWN *No copyright* +./is-relative/index.js UNKNOWN *No copyright* +./is-relative/package.json UNKNOWN *No copyright* +./just-debounce/.eslintrc UNKNOWN *No copyright* +./just-debounce/.npmignore UNKNOWN *No copyright* +./just-debounce/LICENSE Expat 2014 Michael Hayes +./just-debounce/README.md UNKNOWN *No copyright* +./just-debounce/index.js UNKNOWN *No copyright* +./just-debounce/package.json UNKNOWN *No copyright* +./just-debounce/test.js UNKNOWN *No copyright* +./last-run/LICENSE Expat 2015 Blaine Bublitz, Eric Schoffstall and other contributors +./last-run/README.md UNKNOWN *No copyright* +./last-run/index.js UNKNOWN *No copyright* +./last-run/package.json UNKNOWN *No copyright* +./make-iterator/LICENSE Expat 2014-2018 Jon Schlinkert. +./make-iterator/README.md UNKNOWN 2012-2013 moutjs team and contributors (http:moutjs.com) +./make-iterator/index.js Expat 2014-2018 Jon Schlinkert. +./make-iterator/package.json UNKNOWN *No copyright* +./matchdep/.jshintrc UNKNOWN *No copyright* +./matchdep/.npmignore UNKNOWN *No copyright* +./matchdep/.travis.yml UNKNOWN *No copyright* +./matchdep/LICENSE-MIT Expat 2013 Tyler Kellen +./matchdep/README.md UNKNOWN *No copyright* +./matchdep/package.json UNKNOWN *No copyright* +./mute-stdout/LICENSE Expat 2015, 2018 Blaine Bublitz and Eric Schoffstall +./mute-stdout/README.md UNKNOWN *No copyright* +./mute-stdout/index.js UNKNOWN *No copyright* +./mute-stdout/package.json UNKNOWN *No copyright* +./now-and-later/LICENSE Expat 2014 Blaine Bublitz, Eric Schoffstall and other contributors +./now-and-later/README.md UNKNOWN *No copyright* +./now-and-later/index.js UNKNOWN *No copyright* +./now-and-later/package.json UNKNOWN *No copyright* +./object-defaults/LICENSE Expat 2014-2015, 2017 Jon Schlinkert +./object-defaults/README.md UNKNOWN *No copyright* +./object-defaults/immutable.js UNKNOWN *No copyright* +./object-defaults/index.js Expat 2014-2015, 2017 Jon Schlinkert. +./object-defaults/mutable.js UNKNOWN *No copyright* +./object-defaults/package.json UNKNOWN *No copyright* +./object-reduce/LICENSE Expat 2014-2015, 2017 Jon Schlinkert +./object-reduce/README.md UNKNOWN *No copyright* +./object-reduce/index.js Expat 2014-2015, 2017 Jon Schlinkert. +./object-reduce/package.json UNKNOWN *No copyright* +./replace-homedir/LICENSE Expat 2017 Blaine Bublitz , Eric Schoffstall and other contributors +./replace-homedir/README.md UNKNOWN *No copyright* +./replace-homedir/index.js UNKNOWN *No copyright* +./replace-homedir/package.json UNKNOWN *No copyright* +./semver-greatest-satisfied-range/LICENSE Expat 2015, 2017 Blaine Bublitz , Eric Schoffstall and other contributors +./semver-greatest-satisfied-range/README.md UNKNOWN *No copyright* +./semver-greatest-satisfied-range/index.js UNKNOWN *No copyright* +./semver-greatest-satisfied-range/package.json UNKNOWN *No copyright* +./stack-trace/.npmignore UNKNOWN *No copyright* +./stack-trace/License Expat 2011 Felix Geisendörfer (felix@debuggable.com) +./stack-trace/Makefile UNKNOWN *No copyright* +./stack-trace/Readme.md UNKNOWN *No copyright* +./stack-trace/package.json UNKNOWN *No copyright* +./stream-exhaust/README.md UNKNOWN *No copyright* +./stream-exhaust/index.js UNKNOWN *No copyright* +./stream-exhaust/package.json UNKNOWN *No copyright* +./stream-exhaust/test.js UNKNOWN *No copyright* +./sver-compat/.npmignore UNKNOWN *No copyright* +./sver-compat/.travis.yml UNKNOWN *No copyright* +./sver-compat/LICENSE Expat 2017 Guy Bedford +./sver-compat/README.md UNKNOWN *No copyright* +./sver-compat/convert-range.js UNKNOWN *No copyright* +./sver-compat/package.json UNKNOWN *No copyright* +./sver-compat/sver.js UNKNOWN *No copyright* +./test/.eslintrc UNKNOWN *No copyright* +./test/dest.js UNKNOWN *No copyright* +./test/index.test.js UNKNOWN *No copyright* +./test/src.js UNKNOWN *No copyright* +./test/watch.js UNKNOWN *No copyright* +./undertaker/LICENSE Expat 2014 Blaine Bublitz, Eric Schoffstall and other contributors +./undertaker/README.md UNKNOWN *No copyright* +./undertaker/index.js UNKNOWN *No copyright* +./undertaker/package.json UNKNOWN *No copyright* +./undertaker-registry/LICENSE Expat 2015, 2017 Blaine Bublitz , Eric Schoffstall and other contributors +./undertaker-registry/README.md UNKNOWN *No copyright* +./undertaker-registry/index.js UNKNOWN *No copyright* +./undertaker-registry/package.json UNKNOWN *No copyright* +./yargs/CHANGELOG.md UNKNOWN *No copyright* +./yargs/LICENSE Expat 2014 Contributors (ben@npmjs.com) / 2010 James Halliday (mail@substack.net) +./yargs/README.md UNKNOWN *No copyright* +./yargs/completion.sh.hbs UNKNOWN *No copyright* +./yargs/index.js UNKNOWN *No copyright* +./yargs/package.json UNKNOWN *No copyright* +./yargs/yargs.js UNKNOWN *No copyright* +./ansi-colors/types/index.d.ts UNKNOWN *No copyright* +./bach/lib/helpers.js UNKNOWN *No copyright* +./bach/lib/parallel.js UNKNOWN *No copyright* +./bach/lib/series.js UNKNOWN *No copyright* +./bach/lib/settleParallel.js UNKNOWN *No copyright* +./bach/lib/settleSeries.js UNKNOWN *No copyright* +./debian/bin/gulp UNKNOWN *No copyright* +./debian/patches/explain-failure.diff UNKNOWN *No copyright* +./debian/patches/fix-failing-tests.patch UNKNOWN *No copyright* +./debian/patches/no-force-local-gulp.patch UNKNOWN *No copyright* +./debian/patches/series UNKNOWN *No copyright* +./debian/source/format UNKNOWN *No copyright* +./debian/upstream/metadata UNKNOWN *No copyright* +./docs/api/README.md UNKNOWN *No copyright* +./docs/api/concepts.md UNKNOWN *No copyright* +./docs/api/dest.md UNKNOWN *No copyright* +./docs/api/last-run.md UNKNOWN *No copyright* +./docs/api/parallel.md UNKNOWN *No copyright* +./docs/api/registry.md UNKNOWN *No copyright* +./docs/api/series.md UNKNOWN *No copyright* +./docs/api/src.md UNKNOWN *No copyright* +./docs/api/symlink.md UNKNOWN *No copyright* +./docs/api/task.md UNKNOWN *No copyright* +./docs/api/tree.md UNKNOWN *No copyright* +./docs/api/vinyl-iscustomprop.md UNKNOWN *No copyright* +./docs/api/vinyl-isvinyl.md UNKNOWN *No copyright* +./docs/api/vinyl.md UNKNOWN *No copyright* +./docs/api/watch.md UNKNOWN *No copyright* +./docs/getting-started/1-quick-start.md UNKNOWN *No copyright* +./docs/getting-started/2-javascript-and-gulpfiles.md UNKNOWN *No copyright* +./docs/getting-started/3-creating-tasks.md UNKNOWN *No copyright* +./docs/getting-started/4-async-completion.md UNKNOWN *No copyright* +./docs/getting-started/5-working-with-files.md UNKNOWN *No copyright* +./docs/getting-started/6-explaining-globs.md UNKNOWN *No copyright* +./docs/getting-started/7-using-plugins.md UNKNOWN *No copyright* +./docs/getting-started/8-watching-files.md UNKNOWN *No copyright* +./docs/getting-started/README.md UNKNOWN *No copyright* +./docs/recipes/README.md UNKNOWN *No copyright* +./docs/recipes/automate-release-workflow.md UNKNOWN *No copyright* +./docs/recipes/browserify-multiple-destination.md UNKNOWN *No copyright* +./docs/recipes/browserify-transforms.md UNKNOWN *No copyright* +./docs/recipes/browserify-uglify-sourcemap.md UNKNOWN *No copyright* +./docs/recipes/browserify-with-globs.md UNKNOWN *No copyright* +./docs/recipes/combining-streams-to-handle-errors.md UNKNOWN *No copyright* +./docs/recipes/cron-task.md UNKNOWN *No copyright* +./docs/recipes/delete-files-folder.md UNKNOWN *No copyright* +./docs/recipes/exports-as-tasks.md UNKNOWN *No copyright* +./docs/recipes/fast-browserify-builds-with-watchify.md UNKNOWN *No copyright* +./docs/recipes/handling-the-delete-event-on-watch.md UNKNOWN *No copyright* +./docs/recipes/incremental-builds-with-concatenate.md UNKNOWN *No copyright* +./docs/recipes/maintain-directory-structure-while-globbing.md UNKNOWN *No copyright* +./docs/recipes/make-stream-from-buffer.md UNKNOWN *No copyright* +./docs/recipes/minified-and-non-minified.md UNKNOWN *No copyright* +./docs/recipes/minimal-browsersync-setup-with-gulp4.md UNKNOWN *No copyright* +./docs/recipes/mocha-test-runner-with-gulp.md UNKNOWN *No copyright* +./docs/recipes/only-pass-through-changed-files.md UNKNOWN *No copyright* +./docs/recipes/pass-arguments-from-cli.md UNKNOWN *No copyright* +./docs/recipes/rebuild-only-files-that-change.md UNKNOWN *No copyright* +./docs/recipes/rollup-with-rollup-stream.md UNKNOWN *No copyright* +./docs/recipes/run-grunt-tasks-from-gulp.md UNKNOWN *No copyright* +./docs/recipes/running-shell-commands.md UNKNOWN *No copyright* +./docs/recipes/running-task-steps-per-folder.md UNKNOWN *No copyright* +./docs/recipes/running-tasks-in-series.md UNKNOWN *No copyright* +./docs/recipes/server-with-livereload-and-css-injection.md UNKNOWN *No copyright* +./docs/recipes/sharing-streams-with-stream-factories.md UNKNOWN *No copyright* +./docs/recipes/specifying-a-cwd.md UNKNOWN *No copyright* +./docs/recipes/split-tasks-across-multiple-files.md UNKNOWN *No copyright* +./docs/recipes/templating-with-swig-and-yaml-front-matter.md UNKNOWN *No copyright* +./docs/recipes/using-external-config-file.md UNKNOWN *No copyright* +./docs/recipes/using-multiple-sources-in-one-task.md UNKNOWN *No copyright* +./docs/why-use-pump/README.md UNKNOWN *No copyright* +./docs/why-use-pump/pipe-error.png UNKNOWN ûâjæùk-ò_ÿÇÝ5’›:ÀuHœ×û cŸšh¤Îu¢èÍUБbwÁ¹ã»šØt|eÄW¶‘°bÙýa®mYXîwžLM'òØp$<·bÆ0—ÆôÖÏßþàÜá”êœÑº:a­ÄÆÖÌÖÊÁâúÙsY / öÏöÝҗã]‚þ8YԜPq±±T§VNt˜4p¨biÜÛq®iQáT‡X)ìºë8ÔQ¥ÎQœ®ÄÕ!ÞtÆu|(“äw±ìÓìÍäǺVXñ¨7“_=ŽJÐ]*þ¿”gsOµä‘æ8§GýúÙEŠÎ« / ðÝɺ•ò˜°êRÒÄZ:1Ð+Êe€2ð×1Ðã / ï“t&Ÿ·´i eà¯e@V•_¯ù / é5e€2@økèÑÀW]ºÌlËa¬pò›ÂôvZ°Äƒ5òÉ֝zŒ«ž8IÈù­®ºÀlËa¦Sˆ,2)¢•I,r3â'`âÔcµ÷tN9ZÏ”Ú / ᤂ$ž€a,?^œ:Ʊ{”“.ñ‹´êóuÞQL}ñÁí9IµG«õcsñIê„1xëK׺„÷š-R7&*Ž7Àé‹k¿À>k”G¸Y¨ã½³î / ß?–0ð=!fdL8žè¢ùm²‡ÐØØhµªFє–•ÈLˆkèÄÓ'ÍÔJµRXÖ!éF (ۚÍ狼¿Éפ©1ƒ¤Áq“¤ÌÐ9¤ë‘É-“ççsk¤%|Ã'ø²`ʳò/Ÿ/Ò / Ú;P^;4ˆƒAä7̇˜$/£1väÿ©ê / ÙÔ~˜™-4§FžÐ†©»®Ö£Í_÷÷íø¹øóæd=,3‘e“úϪ›vǶb”œ՝?o~lBNœ­æ·=·k¹w‡©¬ÐÒ࣠ƒ68€[s / Î^ƒ / ÈÁuˆK / Ƹ(W¨CoÞ˜–C¨%{îµIãýˆr&‰KŒê(”;™¶ / Årpž=x²#¬ÍlÌl / κ3Jç„n§(ݕq™¸§¡;/ˆ“Xj [ǓxÒt³²:qF.*ÚÓ:ÎT‹™ÁåºÌÏò|§¶;*³ä?êíožÐ'ÒÚªáÇ)j¥LS6žà†b·z Õ / ¼˜»±à8[w / º´+=—”}^dC0Ÿý°¸M*Ÿ·ßn%P ®ÍöM*#¾ / ·¬!ÇræÌ / ­­Nmee°êQ_ÞÎəq™|`R᧊°œnΟqî’_ / «0|à°ûų̂^6åÑø¡ä„u<8[ð÷#¹Æ9Že_é?.Ú^‚õ!=%‰@ÓsBÜ#®ïxd&¹©ò¢‡sB"ÛÝû˜õ³3£B¯]œðڞ+ìØB?ÍuAÙªËð8(âZ멇Ë4Aš¯¡0Éu°CÓÁ½úøcB / ©x„û쐑F¨î£+– / ©)à¾|Ürßóž{uu(Aqá"(s³Í / ¡}äùJ¶.e§ÄÍ X0YŠef¼Üùë / ’ÉÒj–ì¹¼·|ߥóMäàxëÎg$,EìäW›¾*ø6©€Ô]yzËî҃XwÅ`Mê / ’˜óøÍá|cqþ8·‡ƒÃÜfP”c½Þ©=«ß(–«p½¹ª"ÊIdWZ}XÙº¬ÜSh›‹3Ç jcÚ_]2ª;ƒ€ëÃxùAk¯=µ[®Üˆ©³ÜõŒ‹Fwû㓉 r­-[Ž¾ÀÇÝçWoJÿ¢òGÕeËÐäuޓ#ßð:ôFÁùUðÆ1Ò·£Æ / ‘ÊHl®õý{—UãS'ùDÎ / ±¢Zµ“®¸zaÁ‰JEƒöי;±_.™‰§÷u؜fû{·dCîeŒRÎüºbéçKcâ,Uy™íïå–ÃŒoþƒ6¶{ÁS#|ESú{Æ9öé÷žÌ³ýD.ÎXO¯}a˜¿U«ÅÞµ‹ÞßsÅd]Ç?j6wb°k]ډºy°s¹»÷ÞHk[¨†“ŸÄ­]1oj=W~ÄÀ¸'iùêu§lzõÏe€®Fì)Œ?H»g¹ÔÇN'éíý&M ã9˜A{»,-õ׎©LÙ×þg3"/ˆöq"¶5ãZp[ÈÁÓi=–э¦ÓæÃõ5j¼@]pL}'òÄ / ‡mù?d¿rå?Õê@¾~‚'Ÿe§>džu‰„m·¡Ÿž¶‰}kÇÁî6omšîú<ë¡°vغAÑVÖ®rìGº~„]åã«×]%Ñû.Ì$;Ÿús«.qòàāýe'’RÛ;˜Ó뻤ö‰ / q&g£I×õ¸JHæ‡ / g¼X:Qé®zÙ3×½ÔA“1yS+é?´íU*‘âu×òסÄ%ÌÛÓ¿ÓϤöw‹¹ÖÓö_ò—é;Ó¯ä9¾ï / dUW` / bVïØ4ºÍؘ£¬_º / Z/滥UM¦Ø¹Ëˆ§láw8t85õ_“ƯÂú•ŸššßêlÇÊÖ¦›ùƖ‰Þį*ãxáNW"Z / @œ%ÇTÎùp:³MetÒ«6æBñõ—7%*ðÇtȑ$vŽ•k<6äÊq3Íûôq@ã^ßzš{ ¡Çù5²Œ|Ô#ò©Íf|ë%@¿|ïpÎsÜýùzËñÛËÛ|ÐL‡»?ßd9¸ô€§ïá®QþþŠÚ¤†“zyñ^&å©«0 / 8Ý#á‘éa±†gP+áòá-gŠ@½|ó!¯ø`goVšNnX’¸Z÷B*Ž<4^³V~`ý¯™1¡¬¤žü)ýÕk / 7&ÃÀŸ / %Ð1ÒSÏ / òSŽÃöój¸7ŠÝuÏ:·# / g½þSû ž¶ |mZ§Ãë®¡»h† / Î|ñ>lþÚ Þ^5ŠåHÑYnèArÔðKRãjæ͔1á“:Êe€2p0€‡0h;*îoˆˆ€ÚþÞ / ¡ë¥¼Y]^YYÈüªT* / e€2@ / ñ‰¼Ýa"û’;cùði,ROþw/&`IÎÛÜþžlPBCs÷6=§ß4_óF»o³>;Wi>@hÝÞ¬k=Ñ@Âùùd»±“Iý–)ùñÅáÇb˜’R+k{}2›¡”î]o¸þSY2¡=˜‚ç–èw“XøÚ&g›¾Éüzâ%)w{Û{í^؏ìéUѓþ¿Ï@Ï~Úɺ];’ôŒÛvhmkjÉÊO=/s +./docs/why-use-pump/pump-error.png UNKNOWN ùÊ.}9meá)α[7õë `*Ö:Yþ¯ ýÁ$>n†|7Ê / ö÷'L / ó¼ìǃé6nᎎƵ„ë­wÓڄáiE€"@ / ñQBٕ˱Q`n‚Ìd÷äî'V‚sîzøêí¯á©·³‘‚¥ÉpÑ|ÆsïÝÞú×1<ÂKNdéԓ¥»­ÃÔøj+ƒxvàïðGA=Œu÷ÀÖ5意wçÁâ×ց—Ú6Ÿ‰1s‚±s—ÁØ{eÐÑZg¾ø6íï¬Çb$ï©7 / ñ46¾¸3{¢8öl/¬‚oŒ—n¹©ìl–êõ†) / ðseDQ/œ7ø|E{š„° / ë<Áß / äJ¾½UÐ`‡áJ / ßJÍdà@y¶;‘¯~ü”}ÞõnU@RËÕtS¯Ö'Eüy.å¼jËæÖ•SåÒ0¸`ѽÎ~N-¶_¿óé¹:ç¡qE»VNƒ²ß`yšr¯÷û×Q.JU<‰(£8%!•XÿSîÏÍ]M îÓ}f / Ûßm4Ê'!òÔR¾ÞTõÍ / ÚÄògÝ9r / Óy̆·Wß±Oø¢OàÓ7Ô8xÄÀ£ / ÎWý¡fTªóxÄÄ / Ç'߇~üOnÔ!i / »ßm¦½%_€ / ¹åâ›5iO“/©ŸS6/IyiÛeö / ¸zByqWvQ(]ZlMx>þQY§”¾ï¼cÉSò®<à—RI"ö} / ·ëÑTÕe3ã4¹˜É€Ÿª#®-rsút˜S¯òÒáÕ<¿‹kñÀì‹ãƎ!Tª›KÊ?Pó©‰[¡Žëênjû˜ÜüƒGQs:‡6»I†¾ / ³ƒÝ 2C©n.,¿÷ëƒ / °òŽA}"•­žÛ / žÉÊÇĘ٠/ Œ~ɚ / ŠÍ×Yêá0xÐcÜq’8ÞCå¾½³¾ñ‹¬Ü´+í²ú¿€ÇÝՔ[»Á%0Áûƒ¤ýñOM6Òæz¸ˆ/äá±"wÂ¹£»ZÙ|uÄU·Q°rù=.yXï’wžÈÈ&ôØp<·rÎhç–ìŽÏßùðÜÁôºkãµmÂ8·bk¾¥½ùÕ³çòäN~¶ÁN5VgòZÊýƒü®—3ƒ,Ì,YÝíyŽ"‘PûÌ°c†)z;.aÕâ‰QҜce°ÍŸÌn)‹›ù`Øx‰>¾XëÇ÷~" / xF¶J¥ÐنaŒ9•²/^òØý2Êâ? –¿ / p[ðQÄÌӖ‘$ / iMnÙ]–"ß]V“ÿ˸gÝÆ[@ãÉÎ`Ï‚W%3B½Dæ / X«yþdY‚Ñv=m‘Åò'žˆ^ñû}®‹OSyá"þg`ÆU>£P(ŠÀ-@à¯W^újûAå¥;ÎóíF‹Bf†‡ˆì|¯Ki™±d¸/@ù”ýù¿ÏÊ0ۙ£Ü]GÙOí¢”ÉϞ‚ž&7,H7CÁÊщôù / Pšˆ"@¸5Hk!#£Ì€aîbÎ2Z+®@ny / Nÿýš†ÿÞõ~Ö£¯ó`ˆ=tÒêzI>m[‚Txù‰T¢s#ŽñÌX¨Ó_ºÉø`¬½°chï±GŸT©ðæ / N—¾²³¼Ü¼¶¤€ì;²ÿoÍÆ’ÏX½s¶—ÿ8·“±Ç/®ýÁy~ / LYÜud´n1oȜç¯=1=ÔÛÖëuÍ^?®Nb›x‘´ ’ø¦pݒ¨p؀¸£PšV$¨é;4íç÷/<õáÞöëâ / KàõXO¨Ë<7¿®(C°Mì~ñC8á™Ë_J»æxgã—Ðh¾ž?ó£òZ^ å5u`­Asm>úá*ܽô!äO ¥gá / KÃuKÊ×­w-?¨’)•ßÄo™¨ / @hkˤiÁ´ÂiÓ9y f9då^«Üó 59 —vâ͝"[+°«Í€fLË󽇓1Ë!+÷Zå^©Âk>Ù,¸C7üó@lkµ9Œ Ï=ÞÜô8 / üñÄq&<9}8.© / òJ­}BmF / ìÐm(̀+uBŠ / ±Á–+‘d2)NDxá:¸BÅU†xQ(ƒøüÙ23/.·,²Jø +./docs/writing-a-plugin/README.md UNKNOWN *No copyright* +./docs/writing-a-plugin/dealing-with-streams.md UNKNOWN *No copyright* +./docs/writing-a-plugin/guidelines.md UNKNOWN *No copyright* +./docs/writing-a-plugin/recommended-modules.md UNKNOWN *No copyright* +./docs/writing-a-plugin/testing.md UNKNOWN *No copyright* +./docs/writing-a-plugin/using-buffers.md UNKNOWN *No copyright* +./gulp-cli/bin/gulp.js UNKNOWN *No copyright* +./gulp-cli/completion/README.md UNKNOWN *No copyright* +./gulp-cli/completion/bash Expat 2012 Tyler Kellen, contributors +./gulp-cli/completion/fish UNKNOWN *No copyright* +./gulp-cli/completion/powershell UNKNOWN 2014 Jason Jarrett +./gulp-cli/completion/zsh Expat 2012 Tyler Kellen, contributors +./matchdep/lib/matchdep.js Expat 2012 Tyler Kellen +./now-and-later/lib/helpers.js UNKNOWN *No copyright* +./now-and-later/lib/map.js UNKNOWN *No copyright* +./now-and-later/lib/mapSeries.js UNKNOWN *No copyright* +./stack-trace/lib/stack-trace.js UNKNOWN *No copyright* +./test/fixtures/test.coffee UNKNOWN *No copyright* +./undertaker/lib/get-task.js UNKNOWN *No copyright* +./undertaker/lib/last-run.js UNKNOWN *No copyright* +./undertaker/lib/parallel.js UNKNOWN *No copyright* +./undertaker/lib/registry.js UNKNOWN *No copyright* +./undertaker/lib/series.js UNKNOWN *No copyright* +./undertaker/lib/set-task.js UNKNOWN *No copyright* +./undertaker/lib/task.js UNKNOWN *No copyright* +./undertaker/lib/tree.js UNKNOWN *No copyright* +./yargs/lib/apply-extends.js UNKNOWN *No copyright* +./yargs/lib/argsert.js UNKNOWN *No copyright* +./yargs/lib/assign.js UNKNOWN *No copyright* +./yargs/lib/command.js UNKNOWN *No copyright* +./yargs/lib/completion.js UNKNOWN *No copyright* +./yargs/lib/levenshtein.js Expat 2011 Andrei Mackenzie +./yargs/lib/obj-filter.js UNKNOWN *No copyright* +./yargs/lib/usage.js UNKNOWN *No copyright* +./yargs/lib/validation.js UNKNOWN *No copyright* +./yargs/lib/yerror.js UNKNOWN *No copyright* +./yargs/locales/be.json UNKNOWN *No copyright* +./yargs/locales/de.json UNKNOWN *No copyright* +./yargs/locales/en.json UNKNOWN *No copyright* +./yargs/locales/es.json UNKNOWN *No copyright* +./yargs/locales/fr.json UNKNOWN *No copyright* +./yargs/locales/hi.json UNKNOWN *No copyright* +./yargs/locales/hu.json UNKNOWN *No copyright* +./yargs/locales/id.json UNKNOWN *No copyright* +./yargs/locales/it.json UNKNOWN *No copyright* +./yargs/locales/ja.json UNKNOWN *No copyright* +./yargs/locales/ko.json UNKNOWN *No copyright* +./yargs/locales/nb.json UNKNOWN *No copyright* +./yargs/locales/nl.json UNKNOWN *No copyright* +./yargs/locales/pirate.json UNKNOWN *No copyright* +./yargs/locales/pl.json UNKNOWN *No copyright* +./yargs/locales/pt.json UNKNOWN *No copyright* +./yargs/locales/pt_BR.json UNKNOWN *No copyright* +./yargs/locales/ru.json UNKNOWN *No copyright* +./yargs/locales/th.json UNKNOWN *No copyright* +./yargs/locales/tr.json UNKNOWN *No copyright* +./yargs/locales/zh_CN.json UNKNOWN *No copyright* +./yargs/locales/zh_TW.json UNKNOWN *No copyright* +./debian/tests/pkg-js/test UNKNOWN *No copyright* +./gulp-cli/lib/shared/ansi.js UNKNOWN *No copyright* +./gulp-cli/lib/shared/cli-options.js UNKNOWN *No copyright* +./gulp-cli/lib/shared/completion.js UNKNOWN *No copyright* +./gulp-cli/lib/shared/exit.js UNKNOWN *No copyright* +./gulp-cli/lib/shared/get-blacklist.js UNKNOWN *No copyright* +./gulp-cli/lib/shared/make-title.js UNKNOWN *No copyright* +./gulp-cli/lib/shared/register-exports.js UNKNOWN *No copyright* +./gulp-cli/lib/shared/tildify.js UNKNOWN *No copyright* +./gulp-cli/lib/shared/verify-dependencies.js UNKNOWN *No copyright* +./test/fixtures/copy/example.txt UNKNOWN *No copyright* +./test/fixtures/test/run.jade UNKNOWN *No copyright* +./undertaker/lib/helpers/buildTree.js UNKNOWN *No copyright* +./undertaker/lib/helpers/createExtensions.js UNKNOWN *No copyright* +./undertaker/lib/helpers/metadata.js UNKNOWN *No copyright* +./undertaker/lib/helpers/normalizeArgs.js UNKNOWN *No copyright* +./undertaker/lib/helpers/validateRegistry.js UNKNOWN *No copyright* +./gulp-cli/lib/shared/config/cli-flags.js UNKNOWN *No copyright* +./gulp-cli/lib/shared/config/env-flags.js UNKNOWN *No copyright* +./gulp-cli/lib/shared/config/load-files.js UNKNOWN *No copyright* +./gulp-cli/lib/shared/log/blacklist-error.js UNKNOWN *No copyright* +./gulp-cli/lib/shared/log/copy-tree.js UNKNOWN *No copyright* +./gulp-cli/lib/shared/log/tasks.js UNKNOWN *No copyright* +./gulp-cli/lib/shared/log/to-console.js UNKNOWN *No copyright* +./gulp-cli/lib/shared/log/verify.js UNKNOWN *No copyright* +./gulp-cli/lib/versioned/^3.7.0/format-error.js UNKNOWN *No copyright* +./gulp-cli/lib/versioned/^3.7.0/index.js UNKNOWN *No copyright* +./gulp-cli/lib/versioned/^3.7.0/task-tree.js UNKNOWN *No copyright* +./gulp-cli/lib/versioned/^4.0.0/format-error.js UNKNOWN *No copyright* +./gulp-cli/lib/versioned/^4.0.0/index.js UNKNOWN *No copyright* +./gulp-cli/lib/versioned/^4.0.0-alpha.1/index.js UNKNOWN *No copyright* +./gulp-cli/lib/versioned/^4.0.0-alpha.2/index.js UNKNOWN *No copyright* +./gulp-cli/lib/versioned/^3.7.0/log/events.js UNKNOWN *No copyright* +./gulp-cli/lib/versioned/^3.7.0/log/tasks-simple.js UNKNOWN *No copyright* +./gulp-cli/lib/versioned/^4.0.0/log/events.js UNKNOWN *No copyright* +./gulp-cli/lib/versioned/^4.0.0/log/get-task.js UNKNOWN *No copyright* +./gulp-cli/lib/versioned/^4.0.0/log/sync-task.js UNKNOWN *No copyright* +./gulp-cli/lib/versioned/^4.0.0/log/tasks-simple.js UNKNOWN *No copyright* diff -Nru libconfig-model-dpkg-perl-2.122/t/scanner/examples/node-gulp.out libconfig-model-dpkg-perl-2.125/t/scanner/examples/node-gulp.out --- libconfig-model-dpkg-perl-2.122/t/scanner/examples/node-gulp.out 1970-01-01 00:00:00.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/t/scanner/examples/node-gulp.out 2019-07-28 20:50:42.000000000 +0000 @@ -0,0 +1,175 @@ +Files: * +Copyright: 2014, 2015, Blaine Bublitz, Eric Schoffstall and other contributors +License: Expat + +Files: LICENSE +Copyright: 2013-2018, Blaine Bublitz , Eric Schoffstall and other contributors +License: Expat + +Files: ansi-colors/* +Copyright: 2015-2017, Brian Woodward. +License: Expat + +Files: ansi-wrap/* +Copyright: 2014-2018, Jon Schlinkert. +License: Expat + +Files: arr-filter/* +Copyright: 2014, 2015, 2017, Jon Schlinkert +License: Expat + +Files: arr-filter/index.js +Copyright: 2014-2018, Jon Schlinkert. +License: Expat + +Files: arr-map/* +Copyright: 2014, 2015, 2017, Jon Schlinkert +License: Expat + +Files: arr-map/index.js +Copyright: 2014-2018, Jon Schlinkert. +License: Expat + +Files: array-each/* +Copyright: 2014, 2015, 2017, Jon Schlinkert +License: Expat + +Files: array-each/index.js +Copyright: 2014-2018, Jon Schlinkert. +License: Expat + +Files: array-initial/* +Copyright: 2014, 2015, 2017, Jon Schlinkert +License: Expat + +Files: array-initial/index.js +Copyright: 2014, Jon Schlinkert, contributors. +License: Expat + +Files: array-last/* +Copyright: 2014-2018, Jon Schlinkert. +License: Expat + +Files: array-slice/* +Copyright: 2014-2018, Jon Schlinkert. +License: Expat + +Files: array-sort/* +Copyright: 2014-2018, Jon Schlinkert. +License: Expat + +Files: collection-map/* +Copyright: 2014, 2015, 2017, Jon Schlinkert +License: Expat + +Files: collection-map/index.js +Copyright: 2014-2018, Jon Schlinkert. +License: Expat + +Files: color-support/* +Copyright: Isaac Z. Schlueter and Contributors +License: ISC + +Files: copy-props/* +Copyright: 2016, Takayuki Sato +License: Expat + +Files: default-compare/* +Copyright: 2015-2017, Brian Woodward. +License: Expat + +Files: each-props/* +Copyright: 2016, Takayuki Sato +License: Expat + +Files: glob-watcher/* +Copyright: 2013-2018, Blaine Bublitz , Eric Schoffstall and other contributors +License: Expat + +Files: gulp-cli/completion/* +Copyright: 2012, Tyler Kellen, contributors +License: Expat + +Files: gulp-cli/completion/powershell +Copyright: 2014, Jason Jarrett +License: UNKNOWN + +Files: homedir-polyfill/* +Copyright: 2016, Brian Woodward +License: Expat + +Files: is-absolute/* +Copyright: 2014-2017, Jon Schlinkert. + 2009-2014, TJ Holowaychuk +License: Expat + +Files: is-relative/* +Copyright: 2014-2018, Jon Schlinkert. +License: Expat + +Files: just-debounce/* +Copyright: 2014, Michael Hayes +License: Expat + +Files: make-iterator/* +Copyright: 2012, 2013, moutjs team and contributors (http:moutjs.com) +License: UNKNOWN + +Files: make-iterator/LICENSE + make-iterator/index.js +Copyright: 2014-2018, Jon Schlinkert. +License: Expat + +Files: matchdep/* +Copyright: 2012, Tyler Kellen +License: Expat + +Files: mute-stdout/* +Copyright: 2015, 2018, Blaine Bublitz and Eric Schoffstall +License: Expat + +Files: object-defaults/* +Copyright: 2014, 2015, 2017, Jon Schlinkert +License: Expat + +Files: object-defaults/index.js +Copyright: 2014-2018, Jon Schlinkert. +License: Expat + +Files: object-reduce/* +Copyright: 2014, 2015, 2017, Jon Schlinkert +License: Expat + +Files: object-reduce/index.js +Copyright: 2014-2018, Jon Schlinkert. +License: Expat + +Files: replace-homedir/* +Copyright: 2013-2018, Blaine Bublitz , Eric Schoffstall and other contributors +License: Expat + +Files: semver-greatest-satisfied-range/* +Copyright: 2013-2018, Blaine Bublitz , Eric Schoffstall and other contributors +License: Expat + +Files: stack-trace/* +Copyright: 2011, Felix Geisendörfer (felix@debuggable.com) +License: Expat + +Files: sver-compat/* +Copyright: 2017, Guy Bedford +License: Expat + +Files: undertaker-registry/* +Copyright: 2013-2018, Blaine Bublitz , Eric Schoffstall and other contributors +License: Expat + +Files: yargs/* +Copyright: 2014, Contributors (ben@npmjs.com) + 2010, James Halliday (mail@substack.net) +License: Expat + +Files: yargs/lib/* +Copyright: 2011, Andrei Mackenzie +License: Expat + diff -Nru libconfig-model-dpkg-perl-2.122/t/scanner/examples/open-nebula.out libconfig-model-dpkg-perl-2.125/t/scanner/examples/open-nebula.out --- libconfig-model-dpkg-perl-2.122/t/scanner/examples/open-nebula.out 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/t/scanner/examples/open-nebula.out 2019-07-28 20:50:42.000000000 +0000 @@ -2,6 +2,10 @@ Copyright: 2002-2015, OpenNebula Project (OpenNebula.org), C12G Labs License: Apache-2.0 +Files: LICENSE +Copyright: no-info-found +License: Apache-2.0 + Files: NOTICE Copyright: 2002-2015, OpenNebula Project, OpenNebula Systems (formerly C12G Labs) License: Apache-2.0 diff -Nru libconfig-model-dpkg-perl-2.122/t/scanner/examples/pan.out libconfig-model-dpkg-perl-2.125/t/scanner/examples/pan.out --- libconfig-model-dpkg-perl-2.122/t/scanner/examples/pan.out 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/t/scanner/examples/pan.out 2019-07-28 20:50:42.000000000 +0000 @@ -1,15 +1,16 @@ Files: * -Copyright: 1996-2014, Free Software Foundation, Inc. -License: GPL-2+ +Copyright: 1989, 1991, 1994-2014, Free Software Foundation, Inc. +License: UNKNOWN Files: INSTALL Copyright: 1994-1996, 1999-2002, 2004-2013, Free Software Foundation License: FSFAP -Files: Makefile.in - aclocal.m4 -Copyright: 1989, 1991, 1994-2014, Free Software Foundation, Inc. -License: UNKNOWN +Files: compile + depcomp + missing +Copyright: 1996-2014, Free Software Foundation, Inc. +License: GPL-2+ Files: configure Copyright: 1992-1996, 1998-2012, Free Software Foundation, Inc. @@ -87,6 +88,10 @@ Copyright: 2001, Ximian, Inc. License: GPL-2 +Files: pan/gui/license.h +Copyright: 1989, 1991, Free Software Foundation, Inc.n +License: UNKNOWN + Files: pan/gui/xface.c Copyright: messages are not removed, and no monies are exchanged. / James Ashton - Sydney University - June 1990. License: UNKNOWN diff -Nru libconfig-model-dpkg-perl-2.122/t/scanner/examples/rakudo-star.out libconfig-model-dpkg-perl-2.125/t/scanner/examples/rakudo-star.out --- libconfig-model-dpkg-perl-2.122/t/scanner/examples/rakudo-star.out 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/t/scanner/examples/rakudo-star.out 2019-07-28 20:50:42.000000000 +0000 @@ -1,12 +1,24 @@ Files: * +Copyright: 2010-2016, the Rakudo Star Team. +License: Artistic-2.0 + +Files: Configure.pl Copyright: 2009-2016, The Perl Foundation License: UNKNOWN +Files: LICENSE +Copyright: 2000-2016, The Perl Foundation. +License: Artistic-2.0 + Files: modules/* Copyright: 2010, 2012-2015, Tadeusz Sośnierz License: Expat Files: modules/doc/* +Copyright: 2000-2016, The Perl Foundation. +License: Artistic-2.0 + +Files: modules/doc/html/* Copyright: 2006, 2015, Klaus Hartl & Fagner Brack License: UNKNOWN @@ -34,6 +46,10 @@ Copyright: This code is free software, licensed under the same terms as Perl 6; see the LICENSE file for details. License: UNKNOWN +Files: modules/p6-file-directory-tree/LICENSE +Copyright: 2000-2016, The Perl Foundation. +License: Artistic-2.0 + Files: modules/panda/ext/File__Which/* Copyright: 2016, Ahmad M. Zawawi License: Expat @@ -58,10 +74,18 @@ Copyright: no-info-found License: Artistic-2.0 +Files: modules/svg/LICENSE +Copyright: 2000-2016, The Perl Foundation. +License: Artistic-2.0 + Files: modules/xml-writer/* Copyright: 2009, 2010, the XML::Writer contributors (as listed in AUTHORS). License: UNKNOWN +Files: modules/xml-writer/LICENSE +Copyright: 2000-2016, The Perl Foundation. +License: Artistic-2.0 + Files: tools/* Copyright: 2006-2016, The Perl Foundation. License: UNKNOWN diff -Nru libconfig-model-dpkg-perl-2.122/t/scanner/examples/sdl2.out libconfig-model-dpkg-perl-2.125/t/scanner/examples/sdl2.out --- libconfig-model-dpkg-perl-2.122/t/scanner/examples/sdl2.out 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/t/scanner/examples/sdl2.out 2019-07-28 20:50:42.000000000 +0000 @@ -46,7 +46,7 @@ Files: src/test/SDL_test_md5.c Copyright: 1997-2014, Sam Lantinga -License: NTP and/or Zlib +License: NTP or Zlib Files: src/video/x11/edid-parse.c Copyright: 2007, Red Hat, Inc. diff -Nru libconfig-model-dpkg-perl-2.122/wr_root/test-comments-in-dep-list/debian/control libconfig-model-dpkg-perl-2.125/wr_root/test-comments-in-dep-list/debian/control --- libconfig-model-dpkg-perl-2.122/wr_root/test-comments-in-dep-list/debian/control 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/wr_root/test-comments-in-dep-list/debian/control 1970-01-01 00:00:00.000000000 +0000 @@ -1,71 +0,0 @@ -Source: python-bx -Maintainer: Debian Med Packaging Team -Section: python -Priority: optional -Build-Depends: debhelper (>= 9), - dh-python, - zlib1g-dev, -# Python2 - python-setuptools, - python-all-dev, - python-nose, - python-numpy, - cython, -# Python3 - python3-setuptools, - python3-all-dev, - python3-nose, - python3-numpy, - cython3 -Standards-Version: 4.1.1 -Vcs-Browser: https://anonscm.debian.org/cgit/debian-med/python-bx.git -Vcs-Git: https://anonscm.debian.org/git/debian-med/python-bx.git -Homepage: https://github.com/bxlab/bx-python - -Package: python-bx -Architecture: any -Depends: ${shlibs:Depends}, - ${misc:Depends}, - ${python:Depends} -Description: manipulating multiple sequence alignments and other biological data -- Python 2 - The bx-python project is a python library and associated set of scripts to - allow for rapid implementation of genome scale analyses. The library contains - a variety of useful modules, but the particular strengths are: - * Classes for reading and working with genome-scale multiple local - alignments (in MAF, AXT, and LAV formats) - * Generic data structure for indexing on disk files that contain blocks of - data associated with intervals on various sequences (used, for example, to - provide random access to individual alignments in huge files; optimized for - use over network filesystems) - * Data structures for working with intervals on sequences - * "Binned bitsets" which act just like chromosome sized bit arrays, but - lazily allocate regions and allow large blocks of all set or all unset bits - to be stored compactly - * "Intersecter" for performing fast intersection tests that preserve both - query and target intervals and associated annotation - . - This package provides the Python 2 library. - -Package: python3-bx -Architecture: any -Depends: ${shlibs:Depends}, - ${misc:Depends}, - ${python3:Depends} -Description: manipulating multiple sequence alignments and other biological data -- Python 3 - The bx-python project is a python library and associated set of scripts to - allow for rapid implementation of genome scale analyses. The library contains - a variety of useful modules, but the particular strengths are: - * Classes for reading and working with genome-scale multiple local - alignments (in MAF, AXT, and LAV formats) - * Generic data structure for indexing on disk files that contain blocks of - data associated with intervals on various sequences (used, for example, to - provide random access to individual alignments in huge files; optimized for - use over network filesystems) - * Data structures for working with intervals on sequences - * "Binned bitsets" which act just like chromosome sized bit arrays, but - lazily allocate regions and allow large blocks of all set or all unset bits - to be stored compactly - * "Intersecter" for performing fast intersection tests that preserve both - query and target intervals and associated annotation - . - This package provides the Python 3 library. diff -Nru libconfig-model-dpkg-perl-2.122/wr_root/test-comments-in-dep-list-w/debian/control libconfig-model-dpkg-perl-2.125/wr_root/test-comments-in-dep-list-w/debian/control --- libconfig-model-dpkg-perl-2.122/wr_root/test-comments-in-dep-list-w/debian/control 2019-02-20 18:19:22.000000000 +0000 +++ libconfig-model-dpkg-perl-2.125/wr_root/test-comments-in-dep-list-w/debian/control 1970-01-01 00:00:00.000000000 +0000 @@ -1,71 +0,0 @@ -Source: python-bx -Maintainer: Debian Med Packaging Team -Section: python -Priority: optional -Build-Depends: debhelper (>= 9), - dh-python, - zlib1g-dev, -# Python2 - python-setuptools, - python-all-dev, - python-nose, - python-numpy, - cython, -# Python3 - python3-setuptools, - python3-all-dev, - python3-nose, - python3-numpy, - cython3 -Standards-Version: 4.1.1 -Vcs-Browser: https://anonscm.debian.org/cgit/debian-med/python-bx.git -Vcs-Git: https://anonscm.debian.org/git/debian-med/python-bx.git -Homepage: https://github.com/bxlab/bx-python - -Package: python-bx -Architecture: any -Depends: ${shlibs:Depends}, - ${misc:Depends}, - ${python:Depends} -Description: manipulating multiple sequence alignments and other biological data -- Python 2 - The bx-python project is a python library and associated set of scripts to - allow for rapid implementation of genome scale analyses. The library contains - a variety of useful modules, but the particular strengths are: - * Classes for reading and working with genome-scale multiple local - alignments (in MAF, AXT, and LAV formats) - * Generic data structure for indexing on disk files that contain blocks of - data associated with intervals on various sequences (used, for example, to - provide random access to individual alignments in huge files; optimized for - use over network filesystems) - * Data structures for working with intervals on sequences - * "Binned bitsets" which act just like chromosome sized bit arrays, but - lazily allocate regions and allow large blocks of all set or all unset bits - to be stored compactly - * "Intersecter" for performing fast intersection tests that preserve both - query and target intervals and associated annotation - . - This package provides the Python 2 library. - -Package: python3-bx -Architecture: any -Depends: ${shlibs:Depends}, - ${misc:Depends}, - ${python3:Depends} -Description: manipulating multiple sequence alignments and other biological data -- Python 3 - The bx-python project is a python library and associated set of scripts to - allow for rapid implementation of genome scale analyses. The library contains - a variety of useful modules, but the particular strengths are: - * Classes for reading and working with genome-scale multiple local - alignments (in MAF, AXT, and LAV formats) - * Generic data structure for indexing on disk files that contain blocks of - data associated with intervals on various sequences (used, for example, to - provide random access to individual alignments in huge files; optimized for - use over network filesystems) - * Data structures for working with intervals on sequences - * "Binned bitsets" which act just like chromosome sized bit arrays, but - lazily allocate regions and allow large blocks of all set or all unset bits - to be stored compactly - * "Intersecter" for performing fast intersection tests that preserve both - query and target intervals and associated annotation - . - This package provides the Python 3 library.