Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-Perl-PrereqScanner-NotQuiteLite
for openSUSE:Factory checked in at 2022-08-25 15:08:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Perl-PrereqScanner-NotQuiteLite (Old)
and
/work/SRC/openSUSE:Factory/.perl-Perl-PrereqScanner-NotQuiteLite.new.2083 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Perl-PrereqScanner-NotQuiteLite"
Thu Aug 25 15:08:55 2022 rev:2 rq:999041 version:0.9916
Changes:
--------
---
/work/SRC/openSUSE:Factory/perl-Perl-PrereqScanner-NotQuiteLite/perl-Perl-PrereqScanner-NotQuiteLite.changes
2021-09-15 22:51:27.590912232 +0200
+++
/work/SRC/openSUSE:Factory/.perl-Perl-PrereqScanner-NotQuiteLite.new.2083/perl-Perl-PrereqScanner-NotQuiteLite.changes
2022-08-25 15:09:01.601206552 +0200
@@ -1,0 +2,13 @@
+Sat Apr 9 03:08:16 UTC 2022 - Tina M??ller <[email protected]>
+
+- updated to 0.9916
+ see /usr/share/doc/packages/perl-Perl-PrereqScanner-NotQuiteLite/Changes
+
+ 0.9916 2022/04/08
+ - Ignore core modules with undef version correctly
+ - Drop URI::cpan dependency and use Parse::Distname to parse cpan URI
+
+ 0.9915 2022/04/01
+ - Add optional option
+
+-------------------------------------------------------------------
Old:
----
Perl-PrereqScanner-NotQuiteLite-0.9914.tar.gz
New:
----
Perl-PrereqScanner-NotQuiteLite-0.9916.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Perl-PrereqScanner-NotQuiteLite.spec ++++++
--- /var/tmp/diff_new_pack.ubavMH/_old 2022-08-25 15:09:02.173207761 +0200
+++ /var/tmp/diff_new_pack.ubavMH/_new 2022-08-25 15:09:02.181207778 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Perl-PrereqScanner-NotQuiteLite
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,10 +18,10 @@
%define cpan_name Perl-PrereqScanner-NotQuiteLite
Name: perl-Perl-PrereqScanner-NotQuiteLite
-Version: 0.9914
+Version: 0.9916
Release: 0
-Summary: Tool to scan your Perl code for its prerequisites
License: Artistic-1.0 OR GPL-1.0-or-later
+Summary: Tool to scan your Perl code for its prerequisites
URL: https://metacpan.org/release/%{cpan_name}
Source0:
https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI/%{cpan_name}-%{version}.tar.gz
Source1: cpanspec.yml
@@ -35,11 +35,11 @@
BuildRequires: perl(Module::CPANfile) >= 1.1004
BuildRequires: perl(Module::CoreList) >= 3.11
BuildRequires: perl(Module::Find)
+BuildRequires: perl(Parse::Distname)
BuildRequires: perl(Regexp::Trie)
BuildRequires: perl(Test::FailWarnings)
BuildRequires: perl(Test::More) >= 0.98
BuildRequires: perl(Test::UseAllModules) >= 0.17
-BuildRequires: perl(URI::cpan)
BuildRequires: perl(parent)
Requires: perl(CPAN::Meta::Prereqs) >= 2.150010
Requires: perl(CPAN::Meta::Requirements) >= 2.140000
@@ -47,8 +47,8 @@
Requires: perl(Module::CPANfile) >= 1.1004
Requires: perl(Module::CoreList) >= 3.11
Requires: perl(Module::Find)
+Requires: perl(Parse::Distname)
Requires: perl(Regexp::Trie)
-Requires: perl(URI::cpan)
Requires: perl(parent)
%{perl_requires}
++++++ Perl-PrereqScanner-NotQuiteLite-0.9914.tar.gz ->
Perl-PrereqScanner-NotQuiteLite-0.9916.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Perl-PrereqScanner-NotQuiteLite-0.9914/Changes
new/Perl-PrereqScanner-NotQuiteLite-0.9916/Changes
--- old/Perl-PrereqScanner-NotQuiteLite-0.9914/Changes 2021-09-12
20:25:31.000000000 +0200
+++ new/Perl-PrereqScanner-NotQuiteLite-0.9916/Changes 2022-04-08
08:13:59.000000000 +0200
@@ -1,5 +1,12 @@
Revision history for Perl-PrereqScanner-NotQuiteLite
+0.9916 2022/04/08
+ - Ignore core modules with undef version correctly
+ - Drop URI::cpan dependency and use Parse::Distname to parse cpan URI
+
+0.9915 2022/04/01
+ - Add optional option
+
0.9914 2021/09/13
- Support Object::Pad
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Perl-PrereqScanner-NotQuiteLite-0.9914/MANIFEST
new/Perl-PrereqScanner-NotQuiteLite-0.9916/MANIFEST
--- old/Perl-PrereqScanner-NotQuiteLite-0.9914/MANIFEST 2021-09-12
20:26:15.000000000 +0200
+++ new/Perl-PrereqScanner-NotQuiteLite-0.9916/MANIFEST 2022-04-08
08:15:15.000000000 +0200
@@ -56,6 +56,7 @@
t/app/exclude_core.t
t/app/features.t
t/app/ignore.t
+t/app/optional.t
t/app/private.t
t/app/scan_also.t
t/app/use_index.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Perl-PrereqScanner-NotQuiteLite-0.9914/META.json
new/Perl-PrereqScanner-NotQuiteLite-0.9916/META.json
--- old/Perl-PrereqScanner-NotQuiteLite-0.9914/META.json 2021-09-12
20:26:15.000000000 +0200
+++ new/Perl-PrereqScanner-NotQuiteLite-0.9916/META.json 2022-04-08
08:15:15.000000000 +0200
@@ -45,8 +45,8 @@
"Module::CPANfile" : "1.1004",
"Module::CoreList" : "3.11",
"Module::Find" : "0",
+ "Parse::Distname" : "0",
"Regexp::Trie" : "0",
- "URI::cpan" : "0",
"parent" : "0",
"perl" : "5.008001"
},
@@ -69,6 +69,6 @@
"url" : "https://github.com/charsbar/Perl-PrereqScanner-NotQuiteLite"
}
},
- "version" : "0.9914",
+ "version" : "0.9916",
"x_serialization_backend" : "JSON::PP version 4.05"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Perl-PrereqScanner-NotQuiteLite-0.9914/META.yml
new/Perl-PrereqScanner-NotQuiteLite-0.9916/META.yml
--- old/Perl-PrereqScanner-NotQuiteLite-0.9914/META.yml 2021-09-12
20:26:15.000000000 +0200
+++ new/Perl-PrereqScanner-NotQuiteLite-0.9916/META.yml 2022-04-08
08:15:15.000000000 +0200
@@ -28,11 +28,11 @@
Module::CPANfile: '1.1004'
Module::CoreList: '3.11'
Module::Find: '0'
+ Parse::Distname: '0'
Regexp::Trie: '0'
- URI::cpan: '0'
parent: '0'
perl: '5.008001'
resources:
repository: https://github.com/charsbar/Perl-PrereqScanner-NotQuiteLite
-version: '0.9914'
+version: '0.9916'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Perl-PrereqScanner-NotQuiteLite-0.9914/bin/scan-perl-prereqs-nqlite
new/Perl-PrereqScanner-NotQuiteLite-0.9916/bin/scan-perl-prereqs-nqlite
--- old/Perl-PrereqScanner-NotQuiteLite-0.9914/bin/scan-perl-prereqs-nqlite
2021-01-17 19:29:58.000000000 +0100
+++ new/Perl-PrereqScanner-NotQuiteLite-0.9916/bin/scan-perl-prereqs-nqlite
2022-04-01 14:48:43.000000000 +0200
@@ -25,6 +25,8 @@
base_dir|base-dir=s
ignore_re|ignore-re=s
ignore=s@
+ optional_re|optional-re=s
+ optional=s@
private_re|private-re=s
private=s@
recommends
@@ -149,6 +151,16 @@
You can also specify a regexp instead of a list of paths. If this is
set, C<ignore> options are ignored.
+=item optional
+
+Set a list of paths C<scan-perl-prereqs-nqlite> should ignore. This is
+useful when your distribution has a set of OS-specific modules, for example.
+
+=item optional_re
+
+You can also specify a regexp instead of a list of paths. If this is
+set, C<optional> options are ignored.
+
=item private
Set a list of modules C<scan-perl-prereqs-nqlite> should consider
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Perl-PrereqScanner-NotQuiteLite-0.9914/cpanfile
new/Perl-PrereqScanner-NotQuiteLite-0.9916/cpanfile
--- old/Perl-PrereqScanner-NotQuiteLite-0.9914/cpanfile 2021-01-17
19:29:58.000000000 +0100
+++ new/Perl-PrereqScanner-NotQuiteLite-0.9916/cpanfile 2022-04-08
08:09:58.000000000 +0200
@@ -5,8 +5,8 @@
requires 'Module::CPANfile', '1.1004';
requires 'Module::CoreList', '3.11';
requires 'Module::Find';
+requires 'Parse::Distname';
requires 'Regexp::Trie';
-requires 'URI::cpan';
requires 'parent';
requires 'perl', '5.008001';
suggests 'JSON::PP';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Perl-PrereqScanner-NotQuiteLite-0.9914/lib/Perl/PrereqScanner/NotQuiteLite/App.pm
new/Perl-PrereqScanner-NotQuiteLite-0.9916/lib/Perl/PrereqScanner/NotQuiteLite/App.pm
---
old/Perl-PrereqScanner-NotQuiteLite-0.9914/lib/Perl/PrereqScanner/NotQuiteLite/App.pm
2021-01-17 19:29:58.000000000 +0100
+++
new/Perl-PrereqScanner-NotQuiteLite-0.9916/lib/Perl/PrereqScanner/NotQuiteLite/App.pm
2022-04-08 08:09:13.000000000 +0200
@@ -10,6 +10,7 @@
use CPAN::Meta::Requirements;
use Perl::PrereqScanner::NotQuiteLite;
use Perl::PrereqScanner::NotQuiteLite::Util::Prereqs;
+use Parse::Distname;
use constant WIN32 => $^O eq 'MSWin32';
@@ -79,6 +80,19 @@
$opts{private_re} ||= $re->_regexp;
}
+ if ($opts{optional} and ref $opts{optional} eq 'ARRAY') {
+ require Regexp::Trie;
+ my $re = Regexp::Trie->new;
+ for (@{$opts{optional}}) {
+ s|\\|/|g if WIN32;
+ $re->add($_);
+ }
+ $opts{optional_re} ||= $re->_regexp;
+ }
+ if ($opts{optional_re}) {
+ $opts{suggests} = 1;
+ }
+
if (my $index_name = delete $opts{use_index}) {
my $index_package = "CPAN::Common::Index::$index_name";
if (eval "require $index_package; 1") {
@@ -286,7 +300,8 @@
if (Module::CoreList::is_core($module, undef, $perl_version) and
!Module::CoreList::deprecated_in($module, undef, $perl_version)
) {
- my $core_version = $Module::CoreList::version{$perl_version}{$module}
or next;
+ next unless exists $Module::CoreList::version{$perl_version}{$module};
+ my $core_version = $Module::CoreList::version{$perl_version}{$module};
next unless $req->accepts_module($module => $core_version);
$req->clear_requirement($module);
if ($self->{verbose}) {
@@ -358,15 +373,19 @@
my ($self, $module) = @_;
my $res = $self->{index}->search_packages({ package => $module }) or return;
## ignore (non-dual) core modules
- return if URI->new($res->{uri})->dist_name eq 'perl';
+ return if _dist_from_uri($res->{uri}) eq 'perl';
return $res->{uri};
}
+sub _dist_from_uri {
+ my $uri = shift;
+ $uri =~ s!^cpan:///\w+/!!;
+ Parse::Distname->new($uri)->dist;
+}
+
sub _dedupe_indexed_prereqs {
my ($self, $prereqs) = @_;
- require URI::cpan;
-
for my $req ($self->_requirements($prereqs)) {
my %uri_map;
for my $module ($req->required_modules) {
@@ -388,7 +407,7 @@
}
# Replace with the main module if none is versioned
- my $dist = URI->new($uri)->dist_name;
+ my $dist = _dist_from_uri($uri);
(my $main_module = $dist) =~ s/-/::/g;
if ($self->_get_uri($main_module)) {
$req->add_minimum($main_module);
@@ -445,11 +464,14 @@
return if $file =~ /\b$self->{ignore_re}\b/;
}
+ my $optional = $self->{optional_re} && $file =~ /\b$self->{optional_re}\b/ ?
1 : 0;
+
my $context = Perl::PrereqScanner::NotQuiteLite->new(
parsers => $self->{parsers},
recommends => $self->{recommends},
suggests => $self->{suggests},
verbose => $self->{verbose},
+ optional => $optional,
)->scan_file($file);
my $relpath = File::Spec->abs2rel($file, $self->{base_dir});
@@ -629,6 +651,14 @@
installed unless asked. However, you are advised to create a separate
distribution for the specific feature.
+=item optional, optional_re
+
+Instead of ignoring a set of files, you can also use C<optional> option
+to mark all the prerequisites found in some of the files in your distribution
+optional (i.e. suggests). You can specify (a reference to) a list of
+files (with C<optional> option), or a regular expression that matches
+the files (with C<optional_re> option).
+
=item private, private_re
Your distribution may use private modules that are not uploaded to
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Perl-PrereqScanner-NotQuiteLite-0.9914/lib/Perl/PrereqScanner/NotQuiteLite/Context.pm
new/Perl-PrereqScanner-NotQuiteLite-0.9916/lib/Perl/PrereqScanner/NotQuiteLite/Context.pm
---
old/Perl-PrereqScanner-NotQuiteLite-0.9914/lib/Perl/PrereqScanner/NotQuiteLite/Context.pm
2021-01-17 19:29:58.000000000 +0100
+++
new/Perl-PrereqScanner-NotQuiteLite-0.9916/lib/Perl/PrereqScanner/NotQuiteLite/Context.pm
2022-04-01 14:48:43.000000000 +0200
@@ -71,6 +71,7 @@
noes => CPAN::Meta::Requirements->new,
file => $args{file},
verbose => $args{verbose},
+ optional => $args{optional},
stash => {},
);
@@ -148,7 +149,12 @@
}
sub add {
- shift->_add('requires', @_);
+ my $self = shift;
+ if ($self->{optional}) {
+ $self->_add('suggests', @_);
+ } else {
+ $self->_add('requires', @_);
+ }
}
sub add_recommendation {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Perl-PrereqScanner-NotQuiteLite-0.9914/lib/Perl/PrereqScanner/NotQuiteLite.pm
new/Perl-PrereqScanner-NotQuiteLite-0.9916/lib/Perl/PrereqScanner/NotQuiteLite.pm
---
old/Perl-PrereqScanner-NotQuiteLite-0.9914/lib/Perl/PrereqScanner/NotQuiteLite.pm
2021-09-12 20:25:39.000000000 +0200
+++
new/Perl-PrereqScanner-NotQuiteLite-0.9916/lib/Perl/PrereqScanner/NotQuiteLite.pm
2022-04-08 07:37:21.000000000 +0200
@@ -6,7 +6,7 @@
use Perl::PrereqScanner::NotQuiteLite::Context;
use Perl::PrereqScanner::NotQuiteLite::Util;
-our $VERSION = '0.9914';
+our $VERSION = '0.9916';
our @BUNDLED_PARSERS = qw/
Aliased AnyMoose Autouse Catalyst ClassAccessor
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Perl-PrereqScanner-NotQuiteLite-0.9914/t/app/exclude_core.t
new/Perl-PrereqScanner-NotQuiteLite-0.9916/t/app/exclude_core.t
--- old/Perl-PrereqScanner-NotQuiteLite-0.9914/t/app/exclude_core.t
2021-01-17 19:29:58.000000000 +0100
+++ new/Perl-PrereqScanner-NotQuiteLite-0.9916/t/app/exclude_core.t
2022-04-08 07:35:20.000000000 +0200
@@ -37,4 +37,14 @@
END
}, {exclude_core => 1}, { runtime => { requires => { Foo => 0, perl => '5.020'
}}});
+test_app('ignore core modules with undef version', sub {
+ my $tmpdir = shift;
+
+ test_file("$tmpdir/MyTest.pm", <<'END');
+use strict;
+use warnings;
+use Foo;
+END
+}, {exclude_core => 1, perl_version => 5.006}, { runtime => { requires => {
Foo => 0 }}});
+
done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Perl-PrereqScanner-NotQuiteLite-0.9914/t/app/optional.t
new/Perl-PrereqScanner-NotQuiteLite-0.9916/t/app/optional.t
--- old/Perl-PrereqScanner-NotQuiteLite-0.9914/t/app/optional.t 1970-01-01
01:00:00.000000000 +0100
+++ new/Perl-PrereqScanner-NotQuiteLite-0.9916/t/app/optional.t 2022-04-01
14:48:43.000000000 +0200
@@ -0,0 +1,59 @@
+use strict;
+use warnings;
+use FindBin;
+use lib "$FindBin::Bin/../../";
+use Test::More;
+use t::Util;
+
+test_app('optional file', sub {
+ my $tmpdir = shift;
+
+ test_file("$tmpdir/lib/MyTest.pm", <<'END');
+use strict;
+use warnings;
+use Foo;
+END
+
+ test_file("$tmpdir/lib/MyTest/Win32.pm", <<'END');
+use strict;
+use warnings;
+use Win32;
+END
+END
+}, {optional => [qw!lib/MyTest/Win32.pm!]}, { runtime => { requires => { Foo
=> 0, strict => 0, warnings => 0 }, suggests => { Win32 => 0 }}});
+
+test_app('optional dir', sub {
+ my $tmpdir = shift;
+
+ test_file("$tmpdir/lib/MyTest.pm", <<'END');
+use strict;
+use warnings;
+use Foo;
+END
+
+ test_file("$tmpdir/lib/MyTest/Win32.pm", <<'END');
+use strict;
+use warnings;
+use Win32;
+END
+END
+}, {optional => [qw!lib/MyTest/!]}, { runtime => { requires => { Foo => 0,
strict => 0, warnings => 0}, suggests => { Win32 => 0 }}});
+
+test_app('optional_re', sub {
+ my $tmpdir = shift;
+
+ test_file("$tmpdir/lib/MyTest.pm", <<'END');
+use strict;
+use warnings;
+use Foo;
+END
+
+ test_file("$tmpdir/lib/MyTest/Win32.pm", <<'END');
+use strict;
+use warnings;
+use Win32;
+END
+END
+}, {optional_re => 'lib/MyTest/'}, { runtime => { requires => { Foo => 0,
strict => 0, warnings => 0 }, suggests => { Win32 => 0 }}});
+
+done_testing;