The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

cpan-sysdeps - report system dependencies for CPAN modules

SYNOPSIS

    cpan-sysdeps --cpanmod Foo::Bar
    cpan-sysdeps --cpandist Foo-Bar-1.23.tar.gz

DESCRIPTION

OPTIONS

Option to select a CPAN distribution. At least one of these two is mandatory:

--cpandist=Dist-Name
--cpanmod=Dist::Name

Options to simulate another environment:

--os=operatingsystem

Change the operating system name. Values are the same as in perl's $^O.

--osvers=version

Change the operating system version. On FreeBSD systems this is the output of uname -r.

--linuxdistro=distid

For --os=linux only: change the distribution id. This is a lowercase name like debian or fedora.

--linuxdistrocodename=codename

For --os=linux only: change the distribution version code name. This is a name like wheezy or jessie.

--linuxdistroversion=version

For --os=linux only: change the distribution version.

Other options:

--uninstalled

Show only the packages which are currently uninstalled. Of course, this makes only sense if the environment is not simulated to something else.

If there happen to be alternatives in the package specifications and all of these are not installed, then these will be reduced to the first package in the specification.

--dryrun

Show the package installation commands which would run.

--run

Actually run the package installation commands.

--debug

Enable the debug option of CPAN::Plugin::Sysdeps.

BUGS

  • There's no real mapping from CPAN module names to distribution names and vice versa. Currently it's best to stick to just module names, as currently the mapping file only uses module names. A real solution would have to use CPAN.pm or a suitable web service.

  • Currently both --linuxdistrocodename and --linuxdistroversion have to be set; there's no automatic conversion between those two. Currently the mapping file uses only codenames, so it may be sufficient to specify only this one.

  • It's not possible to specify a custom mapping like in CPAN::Plugin::Sysdeps.

EXAMPLES

cpan-sysdeps may be used to utilize CPAN::Plugin::Sysdeps::Mapping outside of CPAN.pm. For example on a Debian-like system:

    apt-get install $(cpan-sysdeps --uninstalled --cpanmod Foo::Bar)

Or everywhere:

    cpan-sysdeps --cpanmod Foo::Bar --run

AUTHOR

Slaven Rezic

SEE ALSO

CPAN::Plugin::Sysdeps.