Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
Name: perl-Module-ScanDeps | Distribution: openSUSE Leap 16.0 |
Version: 1.350.0 | Vendor: openSUSE |
Release: lp160.1.1 | Build date: Fri Mar 8 23:43:47 2024 |
Group: Unspecified | Build host: reproducible |
Size: 131106 | Source RPM: perl-Module-ScanDeps-1.350.0-lp160.1.1.src.rpm |
Packager: https://bugs.opensuse.org | |
Url: https://metacpan.org/release/Module-ScanDeps | |
Summary: Recursively scan Perl code for dependencies |
This module scans potential modules used by perl programs, and returns a hash reference; its keys are the module names as appears in '%INC' (e.g. 'Test/More.pm'); the values are hash references with this structure: { file => '/usr/local/lib/perl5/5.8.0/Test/More.pm', key => 'Test/More.pm', type => 'module', # or 'autoload', 'data', 'shared' used_by => [ 'Test/Simple.pm', ... ], uses => [ 'Test/Other.pm', ... ], } One function, 'scan_deps', is exported by default. Other functions such as ('scan_line', 'scan_chunk', 'add_deps', 'path_to_inc_name') are exported upon request. Users of *App::Packer* may also use this module as the dependency-checking frontend, by tweaking their _p2e.pl_ like below: use Module::ScanDeps; ... my $packer = App::Packer->new( frontend => 'Module::ScanDeps' ); ... Please see App::Packer::Frontend for detailed explanation on the structure returned by 'get_files'.
Artistic-1.0 OR GPL-1.0-or-later
* Fri Mar 08 2024 Tina Müller <tina.mueller@suse.com> - Fix disabling of __perllib_provides * Mon Nov 06 2023 Tina Müller <timueller+perl@suse.de> - updated to 1.35 see /usr/share/doc/packages/perl-Module-ScanDeps/Changes 1.35 2023-11-05 - massive speed up, esp. for scripts using stuff from the Moose ecosystem, thanks to @shawnlaffan: - add package level caches for INC searches (_find_in_inc, _glob_in_inc) - faster add_deps on case insensitive systems AKA Windows * Mon Sep 25 2023 Tina Müller <timueller+perl@suse.de> - updated to 1.34 see /usr/share/doc/packages/perl-Module-ScanDeps/Changes 1.34 2023-09-24 - Fix issue #19 (AKA rschupp/PAR-Packer#78): invalid paths in zip file - Restore behaviour from version 1.31 when using "pp --execute ..." or "scandeps.pl --execute ...". When using "scan_deps(execute => 1, ...)", %INC as gleaned from running the script must be sanitized. Contrary to documentation "The key is the filename you specified (with module names converted to pathnames)" %INC *may* contain keys that are * absolute pathnames* (or start with "./relativ/path" when "relative/path" is in @PATH). Examples are autosplitted modules (for autosplit.ix and *.al files). pp will pack these absolute paths into the zip (Archive::Zip doesn't complain) which results in strange error messages when the packed executable tries to unpack them under CACHEDIR/inc on Windows. Add t/19-autosplit.t to test for this. Add IPC::Run3 to TEST_REQUIRES, used in t/19-autosplit.t - Add GitHub CI * Sat Aug 05 2023 Tina Müller <timueller+perl@suse.de> - updated to 1.33 see /usr/share/doc/packages/perl-Module-ScanDeps/Changes 1.33 2023-08-04 - Recognize Moose/Moo/Mouse style inheritance ("extends") or composition ("with") statements. - Add %Preload entries for known dependants of XS::Parse::Keyword. Note: XS::Parse::Keyword is loaded from XS code, grep.metacpan.org for calls of boot_xs_parse_keyword() in *.xs files. * Thu Jul 06 2023 Tina Müller <timueller+perl@suse.de> - updated to 1.32 see /usr/share/doc/packages/perl-Module-ScanDeps/Changes 1.32 2023-07-05 - Ensure $inc gets removed from the start of $File::Find::name On Windows, if $inc contains backslashes then it won't always get removed from the start of $File::Find::name because the latter may be canonicalized to only contain forward slashes. - Provide dedicated test scripts for some tests instead of using the test scripts themselves: Test::More draws in all kinds of stuff, totally unpredictable - Rewrite test helpers in t/Utils.pm to use Test::More's subtest feature - Code cleanup; fix detection of 'do STRING' (cf PR #15) - scandeps.pl: sort items in "used by" column - Handle spaces after quote operator, e.g. eval qq {Some::Module} - Fixes #12: share dir not returned when require module is in an eval - Recognize constructs like "eval qq{require Inline::C}". - Recognize idioms like "if (eval { require Foo }) { ..." - Add %preload rules for some Mojo resource files Fixes rschupp/PAR-Packer#44 - Bump perl dependency to guard against ancient perls without FindBin::again() - Add tool to trace when (and from where) Perl searches for a module * Thu Apr 22 2021 Tina Müller <timueller+perl@suse.de> - updated to 1.31 see /usr/share/doc/packages/perl-Module-ScanDeps/Changes 1.31 2021-04-21 - Try to match more PerlIO ":layer(args)" in open() or binmode() e.g. Spreadsheet::ParseODS uses ":gzip(none)"; Thanks, @shawnlaffan, for the suggestion (cf. PR #12) - XML::Twig::XPath needs either XML::XPathEngine or XML::XPath XML::Twig may use URI if present - Moo may use Class::XSAccessor if present - Fixes #10 "Support IUP.pm Module" * Thu Jan 14 2021 Tina Müller <timueller+perl@suse.de> - updated to 1.30 see /usr/share/doc/packages/perl-Module-ScanDeps/Changes 1.30 2021-01-13 - change bugtracker to GitHub issues - guard against trailing slashes for paths in @INC - interprete more common "use lib" idioms 1.29 2020-08-16 - implement interpretation of stuff like use FindBin; use lib "$FindBin/../lib"; * Mon Aug 17 2020 Tina Müller <timueller+perl@suse.de> - updated to 1.29 see /usr/share/doc/packages/perl-Module-ScanDeps/Changes 1.29 2020-08-16 - implement interpretation of stuff like use FindBin; use lib "$FindBin/../lib"; * Fri Aug 07 2020 Tina Müller <timueller+perl@suse.de> - updated to 1.28 see /usr/share/doc/packages/perl-Module-ScanDeps/Changes 1.28 2020-08-06 - placate cperl ("Attempt to change hash while iterating over it.") - make _find_encoding() more robust * Mon Nov 11 2019 Arjen de Korte <suse+build@de-korte.org> - Change architecture to 'noarch' * Wed Jan 16 2019 Stephan Kulow <coolo@suse.com> - updated to 1.27 see /usr/share/doc/packages/perl-Module-ScanDeps/Changes 1.27 2019-01-15 - fixes by Shawn Laffan <shawnlaffan@gmail.com> - Process lines like "{ package foo; use if 1, "warnings"; } (#8) - Also handle 'do {use module; ...}' - some clean ups - scandeps.pl: sort output by module name - add_deps(): use _gettype() instead of inline code - _compile_or_execute(): require DynaLoader _before_ accessing its variables - t/7-check-dynaloader.t: improve diagnostics - drop Cwd from the list of potential XS modules - suppress warnings in some ancient Perls * Thu Dec 13 2018 Stephan Kulow <coolo@suse.com> - updated to 1.26 see /usr/share/doc/packages/perl-Module-ScanDeps/Changes 1.26 2018-12-12 - Glue DLLs of XS modules should have type "shared" rather than "data" Detection broke on Windows where nowadays $Config{dlext} = "xs.dll" (i.e. it's not a simple suffix) - Mention some other modules: Module::ExtractUse and Perl::PrereqScanner::* family - Add %Preload rules for: - JSON::MaybeXS - HTTP::Entity::Parser - FFI::Platypus * Thu Sep 20 2018 Stephan Kulow <coolo@suse.com> - updated to 1.25 see /usr/share/doc/packages/perl-Module-ScanDeps/Changes 1.25 2018-08-18 - Merge pull request #2 from shawnlaffan/master, thanx Shawn! continue scanning one-liners when use if, autouse or >5.010 found - Fix how data obtained from compiling or executing a file is incorporated (_info2rv). Sanitize all pathnames to use slash (instead of backslash): - members of @INC - keys and values of %INC - members of @dl_shared_objects This should make stripping @INC prefixes finally work. - Add %Preload rule for FFI::Platypus - Add bugtracker to META.yml * Sun Jul 02 2017 coolo@suse.com - updated to 1.24 see /usr/share/doc/packages/perl-Module-ScanDeps/Changes 1.24 2017-06-28 - Merge pull request from Salvador Fandiño (salva), thx! Specio::PartialDump uses unicore - Fix RT#119737: Problems with detecting DateTime::Format::Natural dependencies ... by adding a %Preload rule * Thu Nov 17 2016 coolo@suse.com - updated to 1.23 see /usr/share/doc/packages/perl-Module-ScanDeps/Changes 1.23 2016-11-16 - add %Preload rules for List::SomeUtils and Pod::Simple::Transcode - get rid of Module::Install, use ExtUtils::MakeMaker * Sun Sep 18 2016 coolo@suse.com - updated to 1.22 see /usr/share/doc/packages/perl-Module-ScanDeps/Changes 1.22 2016-09-17 - Fix RT#117887: Not parsing new release of Net::DNS::Resolver add %Preload rule for Net/DNS/Resolver.pm - Move to GitHub. Thanks, OpenFoundry, for years of service. * Thu Apr 07 2016 coolo@suse.com - updated to 1.21 see /usr/share/doc/packages/perl-Module-ScanDeps/Changes 1.21 2016-04-05 - %Preload: add rules for List::MoreUtils and Log::Dispatch - %Preload: make the following modules require the unicore stuff: charnames.pm Unicode/Normalize.pm Unicode/UCD.pm - add helper _glob_in_inc_1() - remove all references to http://par.perl.org/, doesn't exist anymore * Tue Oct 06 2015 coolo@suse.com - updated to 1.20 see /usr/share/doc/packages/perl-Module-ScanDeps/Changes 1.20 2015-10-04 - Fix RT #107304: Newer versions of File::Path cause warning "_Inline for _Inline: No such file or directory at Module/ScanDeps.pm line 1339." - drop the dubious call to rmtree() - Fix RT106142: Preload dependencies for PDL and PDL::NiceSlice - adopted from a patch by Shawn Laffan, thanks Shawn! - Fix RT#106144: Preload dependencies for File::BOM) - adopted from a patch by Shawn Laffan, thanks Shawn! - Revise our stance on utf8.pm: - A line of "use utf8;" just means "this file is encoded in UTF-8" and should _not_ result in scanning utf8.pm which will pull in the whole Unicode shebang (propery tables and what not). Yes, utf8.pm _doesn contain "require utf8_heavy.pl", but only inside an AUTOLOAD() that is _not_ triggered by calling functions like utf8::is_utf8(). - OTOH the innocently looking one-liner perl -ne 'print if /\pN/' implicitly loads utf8.pm and triggers the AUTOLAD(). - So prevent utf8.pm from being scanned and make utf8_heavy.pl the indicator for "I need the Unicode stuff" instead. - Cache the results of _get_preload('utf8_heavy.pl'). - Make %Preload "transitive" so that given my %Preload = ( 'Foo.pm' => [ 'Bar.pm' ], 'Bar.pm' => [ 'Quux.pm' ], ... ); scan_deps_static() register a dependency on Bar.pm _and_ Quux.pm when it saw "use Foo;" - Minor changes: - drop dubious %Preload of utf8.pm for SOAP::Lite and XML::Parser::Expat - drop code for Perl < 5.008 as we require 5.8.1 already - rework the implementation of -x/-c - add add_preload_rule() to dynamically add a %Preload rule - recognize constructs like "open FH, '<:via(Foo)', ..." - upgrade to Module::Install 1.16 * Sun Jun 07 2015 coolo@suse.com - updated to 1.19 see /usr/share/doc/packages/perl-Module-ScanDeps/Changes 1.19 2015-05-27 - add %Preload rule for LWP::MediaTypes: data file LWP/media.types - add %Preload entry for MIME::Types: data file MIME/types.db - add %Preload rule for AnyEvent - always add Encode.pm when fix encountering constructs like decode("klingon", ...) open FH, "<:encoding(klingon)", .. - add license - update OpenFoundry repository URL * Mon Apr 13 2015 coolo@suse.com - updated to 1.18 see /usr/share/doc/packages/perl-Module-ScanDeps/Changes * Sun Feb 09 2014 coolo@suse.com - updated to 1.13 * Fix recognition of (open() arguments) "<:encoding(klingon)", implies modules PerlIO and PerlIO::encoding. * Mon Dec 09 2013 coolo@suse.com - updated to 1.12 * Fix RT #90869: Use of uninitialized value $module in substitution (s///) * Fix RT #87775: typo fixes, thanks dsteinbrunner@pobox.com * new %Preload rule for B::Hooks::EndOfScope * new %Preload rule for Pod::Usage * add a fake %Preload rule that warns if use of Module::Implementation or Module::Runtime is detected (coz' they're doing runtime loading) * change some tests to use Test::Requires instead of homegrown stuff; hence add it to "test_requires" * clean up some uses of Test::More * Fri Oct 04 2013 coolo@suse.com - updated to 1.11 * Fix RT #89000: test broken by indirect base.pm disuse - delete base.pm from list of expected deps, patch by Andrew Main (zefram@fysh.org) * new %Preload rule for Net::HTTPS (e.g. used by LWP::Protocol::https) - look for IO::Socket::SSL or Net::SSL * new %Preload rule for YAML::Any - try to figure out what YAML::Any would have used (using YAML::Any->implementation) - as fallback, include anything below YAML * Thu Jan 10 2013 ro@suse.de - update to 1.10: * add %Preload rule for Params::Validate to detect its PP and XS implementations * Fix RT #80276 Module DateTime::Format::ISO8601 generates error after being packaged - caused by failing to pack DateTime::Format::Builder::Parser::XXX modules needed by DateTime::Format::Builder::Parser - add a corresponding %Preload rule - update to 1.09: * teach Module::ScanDeps about "use if ..." constructs - fixes CPAN Testers failures for PAR::Packer with perl 5.17.1 and up (Roderich Schupp) * RT #79003: t/7-check-dynaloader.t failing when /usr/lib != /usr/lib64 - scrap the test for "$entry{file} starts with $expected_prefix" as its assumptions are flawed (Roderich Schupp) * Mojo::Base is a loader (Alexandr Ciornii) * Special case for Class::Load (Alexandr Ciornii) - update to 1.08: * RT #73785: scandeps -c fails on modules that depend on Getopt::Euclid - for "scandeps -c ..." switch from an INIT block to a CHECK block and call the augmented script with "perl -c" instaed of "perl" * RT#72954 ":encoding(UTF-8)" doesn't imply a dependency on Encode.pm - if scan_chunk sees ":encoding(FOO)" or similar, it goes to some length to find the "external" Encode module to handle FOO; but it forgets that Encode.pm itself is needed at runtime (esp. if FOO is an encoding "internally" handled by Encode.pm, e.g. "UTF-8") * %Preload: add rules for Gtk2.pm and Pango.pm * %Preload: fix a problem with Image::ExifTool * Wed Nov 30 2011 pascal.bleser@opensuse.org - update to 1.07: * RT #72796: dynaloader test fails when the .so files are in the system lib dirs and local::lib is involved? * update Module::Install to 1.04 - changes from 1.06: * RT #72211: pp includes way too much modules (when using 'use strict;')? * bump Perl version requirement to 5.8.1 * Thu Nov 03 2011 pascal.bleser@opensuse.org - update to 1.05: * RT#72082: $FindBin::Bin issue on Moduel::ScanDeps 1.04: make FindBin work (at least with option -c or -x) by spoofing $0 in the temp script generated for M:SD::DataFeed * RT #70134: patch suggestions for Module::ScanDeps 1.04: additional preload rules, used_via_preload attribute; add suggested %Preload rules * add %Preload rules for MozRepl * special case for Package::Stash * special case for Moose - changes from 1.04: * brown paper bag bug: fix option -x (execute) (broken by changes for -c) * honor option -I with -c - changes from 1.03: * RT#69213: ScanDeps incompatible with AnyEvent (Perl 5.14, AnyEvent 5.34, PAR 1.00.2); for option -c (compile) M:SD used to wrap the file in one big sub and appended an END block where it dumps %INC etc; the outer sub causes problems with certain contructs; instead we now use an INIT block prepended to the file * RT #69471: problem with "eval { require SomeModule }" constructions Module::ScanDeps::DataFeed now omits %INC pairs with an undefined value (these may be created by an unsuccessful "require" under certain conditions); also omit CODE refs from @INC * simplify Module::ScanDeps::DataFeed somewhat by localizing %INC around "require Module::ScanDeps::DataFeed" and by using Data::Dumper for the actual dump * don't create the tempfiles for DataFeed in the working directory * Sun May 01 2011 coolo@opensuse.org - updated to 1.02 * %Preload: add _all_ *.pl file below .../unicore for utf8.pm * %Preload: add "unicore/version" for Unicode/UCD.pm (because it contains a call openunicode(..., "version")) * Sat Feb 19 2011 pascal.bleser@opensuse.org - update to 1.00: * RT#65855: Special handling for POSIX requested * RT#65252: Temp files left when execute fails * add a %Preload rule for Log::Report::Dispatcher * add %Preload rule for Date::Manip * speed up scanning *significantly* by not re-constructing regexen for every line of input and reducing the no. of sub calls * RT#61027: "use lib" does not work * fix URI special case * Wed Dec 01 2010 coolo@novell.com - switch to perl_requires macro * Mon Nov 29 2010 coolo@novell.com - remove /var/adm/perl-modules * Wed Sep 01 2010 pascal.bleser@opensuse.org - initial package (0.98)
/usr/bin/scandeps.pl /usr/lib/perl5/vendor_perl/5.38.2/Module /usr/lib/perl5/vendor_perl/5.38.2/Module/ScanDeps /usr/lib/perl5/vendor_perl/5.38.2/Module/ScanDeps.pm /usr/lib/perl5/vendor_perl/5.38.2/Module/ScanDeps/Cache.pm /usr/lib/perl5/vendor_perl/5.38.2/aarch64-linux-thread-multi/auto/Module /usr/lib/perl5/vendor_perl/5.38.2/aarch64-linux-thread-multi/auto/Module/ScanDeps /usr/share/doc/packages/perl-Module-ScanDeps /usr/share/doc/packages/perl-Module-ScanDeps/AUTHORS /usr/share/doc/packages/perl-Module-ScanDeps/Changes /usr/share/doc/packages/perl-Module-ScanDeps/README /usr/share/licenses/perl-Module-ScanDeps /usr/share/licenses/perl-Module-ScanDeps/LICENSE /usr/share/man/man1/scandeps.pl.1.gz /usr/share/man/man3/Module::ScanDeps.3pm.gz
Generated by rpm2html 1.8.1
Fabrice Bellet, Sun Jan 12 00:09:41 2025