The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

fetch-reqs.pl

VERSION

version 0.3.1

DESCRIPTION

fetch-reqs.pl is the command-line interface for Sys::OsPackage. It installs prerequisite modules for a named Perl script, or directly installs Perl modules via the OS packaging system. It falls back to installation with CPAN if the module is not packaged for the OS.

USAGE

  fetch-reqs.pl [--debug] [--quiet] [--notest] [--sudo] filename|module [...]
  cat req-list.txt | fetch-reqs.pl [--debug] [--quiet] [--notest] [--sudo]

OPTIONS

The following command-line flags are available.

--notest

Similar to the option in cpanm, --notest installs modules without running automated tests.

--sudo

Similar to the option in cpanm, the --sudo flag enables running commands with "sudo" to run install commands as the root user. The sudo command must be separately installed on the system or container if this is used.

--quiet

When this flag is on, output status is reduced.

--debug

This flag is used for development to print internal details of the program run. If requesting help or submitting a bug report, it is useful to include this output for developers to see what happened on your system.

The files listed on the command line should either be file names of Perl scripts or modules to scan for dependencies, or names of Perl modules to load. Each file's Perl module dependencies or each named Perl module will be installed by Sys::OsPackage using operating system packages if available, or otherwise via CPAN.

If no file or module names are inclued on the command line, then the standard input is read for those parameters, each on their own separate line.

OS PACKAGING DRIVERS

Sys::OsPackage currently contains OS packaging drivers for Fedora/RHEL/CentOS, Debian/Ubuntu, SuSE/OpenSuSE, Arch and Alpine Linux and their derivatives. More drivers can be added by creating new subclasses of Sys::OsPackage::Driver.

EXIT STATUS

Standard Unix program exit codes are used: 0 if no error, 1 if error.

SEE ALSO

Sys::OsRelease is used by Sys::OsPackage to detect the operating system by its ID. For Linux distributions, it also uses ID_LIKE data to detect common distirbutions it is derived from. For example, Linux distributions derived from Debian or Red Hat are not all known, but are recognizable with ID_LIKE.

GitHub repository for Sys::OsPackage: https://github.com/ikluft/Sys-OsPackage

BUGS AND LIMITATIONS

Please report bugs via GitHub at https://github.com/ikluft/Sys-OsPackage/issues

Patches and enhancements may be submitted via a pull request at https://github.com/ikluft/Sys-OsPackage/pulls

LICENSE INFORMATION

Copyright (c) 2022 by Ian Kluft

This module is distributed in the hope that it will be useful, but it is provided “as is” and without any express or implied warranties. For details, see the full text of the license in the file LICENSE or at https://www.perlfoundation.org/artistic-license-20.html.

AUTHOR

Ian Kluft <cpan-dev@iankluft.com>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2022 by Ian Kluft.

This is free software, licensed under:

  The Artistic License 2.0 (GPL Compatible)