- scandeps.pl: die if an option is not recognized
- Reformat Changes file according to CPAN::Changes::Spec
- Modify %Preload rule: let Unicode::UCD explicitly imply utf8.pm.
This fixes PAR::Packer's self test.
Previously Unicode::UCD implied utf8.pm implicitly because
it contains calls to some utf8::foo() functions.
- Add %Preload rule: Mozilla::CA requires its cacert.pem file
- Recognize "do filename" constructs even if "do" isn't at the start
of a chunk.
- Upgrade to Module::Install 1.14
- Fix RT#98938: recognize Module::Runtime module-loading functions
- Fix a nasty typo that broke scandeps.pl option -E
$ scandeps -E "some string"
Unknown option: E
Can't open some string: No such file or directory at scandeps.pl line 49.
- also scandeps.pl: die if an option is not recognized
- Remove some overzealous heuristics from scan_chunk()
- they were looking for
Foo::Bar->something
Foo::Bar::whatever(...)
_anywhere_ in programs to infer a dependency on Foo/Bar.pm.
BEWARE: This might break some use cases, i.e. missing some dependencies.
On the other hand, this causes hard to investigate problems like the one
starting at http://www.mail-archive.com/par@perl.org/msg05531.html.
While the former can easily be worked around by the user itself (just
add a missing dependecy explicitly, e.g. using "pp -M ...") and
typically can be solved in general by adding a %Preload rule,
the latter just wastes people's times.
- Recognize Test::More require_ok() and use_ok()
- makes 3-static_oo_interface_real.t pass again (fallout from the above)
- Upgrade to Module::Install 1.12
- Add option -T to request information from CPAN
- don't access CPAN behind the user's back just because they have
CPANPLUS installed (it was in the Perl core from 5.10 to 5.18) -
it might not even have been configured (e.g. in a corporate internet)
- only do this when explicitly requested
- Fix RT #98203: Migrate from deprecated Module::Build::ModuleInfo to Module::Metadata
- thanx Petr Pisar (ppisar@redhat.com) for the hint
- add long option names to scandeps.pl
- implement option --xargs for scandeps.pl
- fix wrong version numbers in Changes
- Fix RT #92860 (t/7-check-dynaloader.t doesn't handle systems with mod2fname),
also RT #97519 (Fix for t/7-check-dynaloader.t on systems with DynaLoader::mod2fname)
- applied patch from Brian Fraser (fraserbn@gmail.com), thanks!
- lib/Module/ScanDeps/DataFeed.pm: apply here, too
- Fix recognition of (open() arguments) "<:encoding(klingon)",
implies modules PerlIO and PerlIO::encoding.
- 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
- 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
- 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 Module::Install 1.06
from 1.08 to 1.09
upstream changes:
[Changes for 1.09 - 2012-09-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)
devel/p5-Module-ScanDeps from 1.04 to 1.08.
pkgsrc changes:
- remark using of bundled Module::Install in addition to ExtUtils::MakeMaker
Upstream changes:
[Changes for 1.08 - 2012-02-21]
* 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
[Changes for 1.07 - 2011-11-29]
* RT #72796: dynaloader test fails when the .so files are in the
system lib dirs and local::lib is involved?
Relax a check in t/7-check-dynaloader.t
* Update Module::Install to 1.04
[Changes for 1.06 - 2011-11-28]
* RT #72211: pp includes way too much modules (when using 'use strict;')?
Rework regexes to detect "use MODULE ...":
the following line from unicore/mktables
my $unihan = 'Unihan properties are by default not enabled in the Perl core. Instead use CPAN: Unicode::Unihan';
would erroneously detect a dependency on CPAN.pm (which will in turn
pull in a lot of modules)
* Bump Perl version requirement to 5.8.1 (Schwern: The End Of 5.6 Is Nigh!)
* Rewrite t/7-check-dynaloader.t to look for more candidates of dynamic modules
that might be used as test cases
[Changes for 1.05 - 2011-11-02]
* RT #72082: $FindBin::Bin issue on Moudel::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 from the attached patch (thanks, Markus Jansen)
* Add %Preload rules for MozRepl
* Special case for Package::Stash (Alexandr Ciornii)
* Special case for Moose (Alexandr Ciornii)
Changes from previous:
[Changes for 1.04 - 2011-07-21]
* Brown paper bag bug: fix option -x (execute) (broken by changes for -c)
* While we're at it: honor option -I with -c
[Changes for 1.03 - 2011-07-18]
* 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.
* Fix for failing CPAN Testers report
http://www.cpantesters.org/cpan/report/4208fa16-a5d1-11e0-a0bc-c71a7862a918:
Perl 5.15.0 got rid of Shell.pm
* Fix for failing CPAN Testers report
http://www.cpantesters.org/cpan/report/772147dc-6c1f-1014-baf2-318eb63ba09a:
- regex meta characters in filenames break consistency check
* 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.
* Purge all pod from Module::ScanDeps::DataFeed, advise the CPAN
indexer not to bother with it; same for Module::ScanDeps::Cache.
[Changes for 1.02 - 2011-04-03]
* %Preload: add _all_ *.pl file below .../unicore for utf8.pm
[Changes for 1.01 - 2011-03-26]
* %Preload: add "unicore/version" for Unicode/UCD.pm
(because it contains a call openunicode(..., "version"))
[Changes for 1.00 - 2011-02-19]
* RT #65855: Special handling for POSIX requested (Roderich Schupp)
* RT #65252: Temp files left when execute fails (Roderich Schupp)
* add a %Preload rule for Log::Report::Dispatcher (Roderich Schupp)
cf. http://www.nntp.perl.org/group/perl.par/2011/01/msg4871.html
* add %Preload rule for Date::Manip (Roderich Schupp)
* speed up scanning *significantly* by not re-constructing regexen
for every line of input and reducing the no. of sub calls (Steffen Mueller)
* add Eric Roode to AUTHORS (Steffen Mueller)
* RT #61027: "use lib" does not work (Roderich Schupp)
scan_line(): When handling "use lib '/some/dir'" we add "/some/dir/ARCHNAME",
"/some/dir/VER" and "/some/dir/VER/ARCHNAME", but forgot
to add "/some/dir" itself.
While we're at it, improve parsing the argument list of "use lib".
Simply eval the string, this should at least make all forms of
quoted strings work correctly.
* fix URI special case (clkao)
* fix a regression reported by CPAN Testers (Roderich Schupp)
* finally: bump version to 1.00
Upstream changes:
[Changes for 0.97 - 2010-04-10]
* Pack the content of module/distribution sharedirs is automatically. (kmx)
* RT #56020 - add data files used by Unicode::UCD (Roderich Schupp)
* RT #55746 - remove bogus "... if %Config::Config" condition (Roderich Schupp)
* Add special case for CGI::Application::Plugin::AutoRunmode (Alexandr Ciornii)
* Add special case for CGI::Application::Plugin::Authentication (Alexandr Ciornii)
* Add special case for DBIx::Perlish (Alexandr Ciornii)
Upstream changes:
[Changes for 0.95 - 2009-10-16]
* Fix "uninitialized value" warnings (Dave Rolsky)
* Add special case for Perl::Critic (Alexandr Ciornii)
* Add special case for Event (Alexandr Ciornii)
* Add special case for Wx.pm (Alexandr Ciornii)
* Add special case for Log::Any
pkgsrc changes:
- Use Module::Install as module type
Upstream changes:
[Changes for 0.93 - 2009-07-19]
* Implement caching of dependencies (Christoph Lamprecht)
[Changes for 0.92 - 2009-07-19]
* Fix bug with {type} being set to unexpected values in some cases (Christoph Lamprecht)
* Add tests for scan_chunk (Alexandr Ciornii)
* Add special case for parent.pm (Alexandr Ciornii)
* Fix for "use parent::something" (Alexandr Ciornii)
* Add special case for Catalyst.pm (Alexandr Ciornii)
Upstream changes:
[Changes for 0.90 - 2009-05-09]
* Add special case for DateTime::Locale
* Add special case for PAR::Repository and PAR::Repository::Client
Pkgsrc changes:
* Drop dependencies on Perl 5 modules provided by the minimum
required perl5 package (5.10)
Upstream changes:
[Changes for 0.89 - 2008-11-03]
* Distribution fixes.
* Do not use base Exporter.
* Detection of 'asa' and 'only::matching'.
[Changes for 0.88 - 2008-10-28]
* Add special case for File::HomeDir.
[Changes for 0.87 - 2008-10-28]
* Add special case for PPI.
[Changes for 0.86 - 2008-10-23]
* Fix the 'use prefork "Foo"' static detection.
* Fix the detection of any of the module-loader modules such as
prefork, autouse, etc. if invoked as 'use prefork"Foo"' (note
the lack of a space).
* Slightly refactor the loader-module scanning. (see above)
* Support for "use maybe 'foo';"
* Use (arch|priv)libexp instead of (arch|priv)lib
in scandeps.pl (Mark Stosberg)
* Update to Module::Install 0.77
[Changes for 0.85 - 2008-08-01]
* Add special case for Net::Server.
[Changes for 0.84 - 2008-05-13]
* Add special case for Class::MethodMaker.
[Changes for 0.83 - 2008-03-23]
* Add special case for Image::ExifTool.
[Changes for 0.82 - 2008-01-08]
* Add Test::More to build requirements (Alexandr Ciornii)
* Add dependency on version.pm
* Now correctly identifies feature.pm as a dependency if
"use 5.10.0;" (and up) is found.
[Changes for 0.81 - 2007-12-07]
* Fix for the case-insensitive-file-system-test.
[Changes for 0.80 - 2007-11-30]
* Fix to avoid duplicated entries arising from used_by references with
case differences.
* Do not report input files themselves as dependencies.
(Regression from 0.74 onwards)
* Remove warning from ScanFileRE tests.
[Changes for 0.78 - 2007-11-17]
* Fix ScanFileRE heuristics to allow for scanning files without
suffixes.
[Changes for 0.77 - 2007-09-20]
* Add support for prefork.pm (similar to how base.pm is detected).
* Added uses field to hash descriptions returned by scan_deps +
tests (Adrian Issott)
* Added ScanFileRE to restrict the files scanned to .pl, .pm, .al and
.t but allow the user to override + tests (Adrian Issott)
[Changes for 0.76 - 2007-07-21]
* Fix special case for Term::ReadLine (should not rope in Tk)
* New special case for Tcl::Tk (should not rope in Tk either!)
* New special case for threads::shared ==> rope in attributes.pm
* Fix to avoid duplicated entries that can arise due to case
differences that don't actually matter on case-tolerant
systems (Adrian Issott)
* M::SD warnings now go to STDERR not STDOUT (Adrian Issott)
* Fixed bug #24162: scandeps.(bat|pl) doesn't correctly identify Core
Modules on Windows (Adrian Issott)
* Now finds shared libraries for modules specified as input files.
* Tests for finding shared libraries.
[Changes for 0.75 - 2007-06-24]
* Fix special cases for POE. (Roderich Schupp)
* Added exported path_to_inc_name subroutine (Adrian Issott)
* Added Module::Build::ModuleInfo dependency (Adrian Issott)
* Fixed bug where input files weren't scoped properly
* Add new "check-for-dynaloader" test. (Eric Wilhelm)
[Changes for 0.74 - 2007-04-26]
* Same as 0.73_01, but not a developer release.
[Changes for 0.73_01 - 2007-03-28]
* Fixed bug "scan_deps doesn't show ALL the dependencies"
* Ensured all file entries are given by absolute paths
* Added a number of test artificial dependency trees as test data mainly for
"scan_deps doesn't show ALL the dependencies" bug
* Added tests for scandeps recurse option (all pass)
* Added tests for scandeps skip option (all pass)
* Added tests to show a duplicated dependency is in fact only shown once (all pass)
* Added Utils.pm test module containing generic_scandeps_rv_test and
compare_scandeps_rvs subroutines (Adrian Issott)
[Changes for 0.73 - 2007-03-25]
* Now being a little cleverer for detecting globs in diamond operators.
(Requiring a meta character within the <>.)
[Changes for 0.72 - 2007-02-03]
* Case-insensitive @INC removal for case-insensitive
filesystems (Eric Wilhelm)
[Changes for 0.71 - 2007-01-04]
* Added special cases for
Catalyst
Class::MakeMethods
Config::Any
DBIx::Class
Email::Send
Log::Log4perl
SQL::Translator
* print() the "# Legend..." line instead of warn()ing it.
[Changes for 0.70 - 2006-11-21]
* Added special case for Image::Info.
[Changes for 0.69 - 2006-11-07]
* Additional corner cases for LWP::UserAgent and LWP::Parallel::UserAgent and
friends.
Changes:
[Changes for 0.68 - 2006-10-25]
* Added special case for PerlIO.pm. If PerlIO.pm is needed, require
PerlIO::scalar, too, because it can be used "under the hood".
(Roderich Schupp)
* Added some File::Spec'ness. (Steffen Mueller)
* Refactored the %Preload mapping code into _get_preload so that
the PAR -M %Preload fix would work. (Steffen Mueller)
[Changes for 0.67 - 2006-10-24]
* Added @IncludeLibs which is used alongside @INC for searching modules.
(David Romano)
* Won't pick up Tk as a dependency for Term::ReadLine any more.
You can stop laughing now!
[Changes for 0.66 - 2006-09-24]
* Fixed another bug in Module::ScanDeps::Datafeed which would break
run- and compile-time dependency scanners if $ENV{PERL5LIB} entries
had trailing backslashes. Thanks to Steven Mackenzie for pointing
this out.
* Added some documentation and comments to M::SD::Datafeed for the sake of
future maintainers.
[Changes for 0.65 - 2006-09-24]
* Fixed bug in Module::ScanDeps::Datafeed which would die() in 0.64.
[Changes for 0.64 - 2006-09-22]
* Upgraded to Module::Install 0.64
* Added warning of missing modules when -V is in effect (scandeps.pl).
* Added warning of missing modules if "warn_missing=>1" specified as
an option to scan_deps.
[Changes for 0.63 - 2006-08-27]
* Upgraded to Module::Install 0.63
[Changes for 0.62 - 2006-07-16]
* Better diagnostics.pm support for searching the related
.pod file.
[Changes for 0.61 - 2006-06-30]
* Now presenting more helpful (and correct) error messages when
multiple versions of a module (files) are found.
* Corrected a POD error.
* Added test for POD correctness.
[Changes for 0.60 - 2006-05-23]
* Fixed bug that prevented "use encoding 'utf-8';" from being
picked up. This was because the -8 was stripped and thus, the
encoding wasn't recognized.
[Changes for 0.59 - 2006-05-03]
* Recovering 5.005 compatibility. (Hopefully!)
* Using Module::Install 0.62
* Added a dependency on File::Temp for pre 5.6 perls.
* Fixed broken Module::Pluggable support.
[Changes for 0.58 - 2006-04-16]
* Added dependency for Test::Deep
* Added dependency for Math::Symbolic
[Changes for 0.57 - 2006-03-03]
* Applied Stephen Schulze's patch which fixes the problem that modules are
reported as depended upon only once.
[Changes for 0.56 - 2006-02-20]
* Added special dependency for Tk::Getopt. Suggested by Slaven Rezic.
[Changes for 0.55 - 2006-02-17]
* Applied Roderich Schupp's patch to fix a problem with 'autouse'.
* Now using Module::Install 0.56
[Changes for 0.54 - 2006-01-11]
* Switch to File::Temp::tempfile() for more robust temporary file creation.
Contributed by: Jesse Vincent
* Update to latest Module::Install _again_ to fix Cygwin installation.
Reported by: Matt S Trout
[Changes for 0.53 - 2006-01-10]
* Update to latest Module::Install; no functional changes.
[Changes for 0.52 - 2005-12-12]
* Support for autouse.pm.
* Support for Tk::DragDrop. Reported by: Renee Baecker.
Changes since last packaged version (0.50):
[Changes for 0.51 - 2005-01-08]
* scandeps.pl is now usable without CPANPLUS.pm installed.
Reported by: Rafael Garcia-Suarez