perl.req - Man Page
list requirements for Perl scripts and libraries
Synopsis
perl.req [-h|--help] [-v|--verbose] [-m|--method=strict|normal|relaxed] [FILE...]
Description
perl.req calculates prerequisites for each Perl source file specified on a command line; alternatively, a list of files is obtained from standard input, one file per line. use
, require
and do
statements are processed. The output of perl.req is suitable for automatic dependency tracking (e.g. for RPM packaging).
For example, /usr/lib/perl5/File/Temp.pm requires, in particular, perl(Fcntl.pm) >= 1.030
(as of perl-5.8.6).
perl.req is basically a wrapper for B::PerlReq Perl compiler backend.
Options
- -m, --method=method
Use particular method for dependency tracking. Alternatively, RPM_PERL_REQ_METHOD environement variable can be used to set the method.
The following methods are available:
- strict
Search thoroughly and list all requirements. In particular, list platform-specific (non-UNIX) requirements and requirements found inside
eval
blocks.- normal (default)
Enable moderate search most acceptable for RPM packaging. That is, skip files known to be platform-specific; skip platform-specific requirements and those found inside
eval
blocks; skip most common requirements (e.g.strict.pm
).- relaxed
Enable relaxed mode. That is, tolerate B::PerlReq failures; in addition to normal method, skip conditional requirements (e.g.
require
statements inside subroutines); skipdo FILE
statements; list only essential dependencies.
- -v, --verbose
Increase verbosity.
Author
Written by Alexey Tourbin <at@altlinux.org>, based on an earlier version by Ken Estes <kestes@staff.mail.com>, with contributions from Mikhail Zabaluev <mhz@altlinux.org>.
History
Initial version of perl.req (part of RPM 3.0) done by Ken Estes in 1999. Regular expressions were used to extract dependencies. (Later a part of ALT Linux Master 2.0, with modifications from Mikhail Zabaluev.)
Reworked in November 2002: complicated regular expressions were added to enhance search; methods added. (Later a part of ALT Linux Master 2.2.)
Reworked in September 2003: B::Deparse was utilized to re-format Perl code before dependency extraction; hence more simple and accurate. Decoupled from rpm-build package into rpm-build-perl. (Later a part of ALT Linux Master 2.4.)
Reworked in December 2004: B::PerlReq was developed. Released on CPAN, see <http://search.cpan.org/dist/rpm-build-perl/>.
Copying
Copyright (c) 2003, 2004 Alexey Tourbin, ALT Linux Team.
This is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
See Also
B::PerlReq, perl.prov