PACPAN(1) PACPAN(1) NAME pacpan - CPAN packaging tool for Pacman SYNOPSIS pacpan [options] [packages] DESCRIPTION Pacpan is a Perl packaging tool for Pacman. It is able to retrieve and organize information about modules and ditributions on CPAN. This information can be used to generate default PKGBUILDs for CPAN packages which include full depends, makedepends, optdepends and provides arrays. It also intelligently maps modules to their distribution and automatically selects the correct pkgname for a requested package. Pacpan can also print out a report containing information about local Perl packages installed with pacman. This report will check things such the conformity of package names to standard packaging guidelines and the completeness of the "provides" array. If the latter is deterimined to be incomplete, it is possible to use pacpan to update the local Pacman database to correct the provides array without rebuilding the package. This will ensure that pacman is able to correctly handle all CPAN package dependencies. SPECIFYING PACKAGES A packages can be specified by its Pacman package name (e.g. perl-foo- bar) or its CPAN distribution name (e.g. Foo-Bar), You can also specify any module contained within a distribution the same way and it will map to the correct CPAN package (e.g. perl-foo-bar-baz, Foo::Bar::Baz). INSTALLING PACKAGES The original version of pacpan and several revisions thereof were capa‐ ble of generating a bash script which would build all missing dependen‐ cies of a target package in order and install them along with the tar‐ get package. This functionality has been removed from pacpan and added to bauerbill, which is better suited for that purpose. Please use bauerbill if you want transparent handling of CPAN packages, including the ability to upgrade all installed CPAN modules directly from CPAN via a pacman interface. PKGBUILDS The PKGBUILDs generated by pacpan should work for most packages but the user should always inspect them for potential errors. Pacpan relies on information included in the META.yml and CHECKSUMS files for each pack‐ age on CPAN. If these files are absent, incomplete or erroneous, pacman will not be able to generate a working PKGBUILD. This is beyond pac‐ pan's control and the user should contact the package's author on CPAN to request that the correct and necessary information be included in these files. In most cases the generated PKGBUILD will work as expected and in the few that it doesn't only minor changes should be required. Occasionally though it may fail miserably so the user should never blindly trust it. OPTIONS Pacpan recognizes the following options: --cachedir Specify the cache directory in which pacpan will mirror CPAN metadata files and create the package database. By default this uses the same directory as bauerbill to avoid redundant down‐ loads. --check-local Inspect local Perl packages and print out a report which details their conformity to the Perl packaging guidelines. --fix-provides Append missing CPAN package entries to the "provides" array of local packages. The output of "--check-local" will be displayed along with the database file path and file contents before and after the changes are applied. The user will be prompted to accept the changes after inspecting them. Use the "--noconfirm" option to avoid the interactive prompt. This should never be necessary with correctly packaged CPAN packages. Please request that the packager include the full "provides" array in the PKGBUILD. --get-local-provides Print out the "provides" lists of local packages. --get-pkgbuilds Print PKGBUILDs for the specified packages to STDOUT. PKGBUILDs will be separated by two empty lines. Packages may be specified either as pacman packages (e.g. perl- foo-bar) or as Perl modules (e.g. Foo::Bar). --help Display the help message and exit. --man Print the man page. --man-nroff Print the man page in nroff format. --noconfirm Suppress confirmation prompts. --refresh Refresh the CPAN database. --save-pkgbuilds Save PKGBUILDs for the specified packages in separate subdirec‐ tories of the current working directory. Packages may be specified either as pacman packages (e.g. perl- foo-bar) or as Perl modules (e.g. Foo::Bar). AUTHORS Xyne January 2010 PACPAN(1)