The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

NAME

PPM::Make::RepositorySummary - generate summary files for a ppm repository

SYNOPSIS

my $rep = '/path/to/ppms';
my $obj = PPM::Make::RepositorySummary->new(rep => $rep);
$obj->summary();

DESCRIPTION

This module may be used to generate various summary files as used by ActiveState's ppm system. It searches a given directory for ppd files, which are of the form

<?xml version="1.0" encoding="UTF-8"?>
<SOFTPKG NAME="Archive-Tar" VERSION="1,29,0,0">
<TITLE>Archive-Tar</TITLE>
<ABSTRACT>Manipulates TAR archives</ABSTRACT>
<AUTHOR>Jos Boumans &lt;kane[at]cpan.org&gt;</AUTHOR>
<IMPLEMENTATION>
<DEPENDENCY NAME="IO-Zlib" VERSION="1,01,0,0" />
<OS NAME="MSWin32" />
<ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.8" />
<CODEBASE HREF="Archive-Tar.tar.gz" />
</IMPLEMENTATION>
</SOFTPKG>

and generates four types of files summarizing the information found in all ppd files found:

summary.ppm
<?xml version="1.0" encoding="UTF-8"?>
<REPOSITORYSUMMARY>
<SOFTPKG NAME="Archive-Tar" VERSION="1,29,0,0">
<TITLE>Archive-Tar</TITLE>
<ABSTRACT>Manipulates TAR archives</ABSTRACT>
<AUTHOR>Jos Boumans &lt;kane[at]cpan.org&gt;</AUTHOR>
</SOFTPKG>
...
</REPOSITORYSUMMARY>
searchsummary.ppm
<?xml version="1.0" encoding="UTF-8"?>
<REPOSITORYSUMMARY>
<SOFTPKG NAME="Archive-Tar" VERSION="1,29,0,0">
<TITLE>Archive-Tar</TITLE>
<ABSTRACT>Manipulates TAR archives</ABSTRACT>
<AUTHOR>Jos Boumans &lt;kane[at]cpan.org&gt;</AUTHOR>
<IMPLEMENTATION>
<ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.8" />
</IMPLEMENTATION>
</SOFTPKG>
...
</REPOSITORYSUMMARY>
package.lst
<?xml version="1.0" encoding="UTF-8"?>
<REPOSITORYSUMMARY>
<SOFTPKG NAME="Archive-Tar" VERSION="1,29,0,0">
<TITLE>Archive-Tar</TITLE>
<ABSTRACT>Manipulates TAR archives</ABSTRACT>
<AUTHOR>Jos Boumans &lt;kane[at]cpan.org&gt;</AUTHOR>
<IMPLEMENTATION>
<DEPENDENCY NAME="IO-Zlib" VERSION="1,01,0,0" />
<OS NAME="MSWin32" />
<ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.8" />
<CODEBASE HREF="Archive-Tar.tar.gz" />
</IMPLEMENTATION>
</SOFTPKG>
...
</REPOSITORYSUMMARY>
package.xml
<?xml version="1.0" encoding="UTF-8"?>
<REPOSITORYSUMMARY ARCHITECTURE="MSWin32-x86-multi-thread-5.8">
<SOFTPKG NAME="Archive-Tar" VERSION="1.29">
<ABSTRACT>Manipulates TAR archives</ABSTRACT>
<AUTHOR>Jos Boumans &lt;kane[at]cpan.org&gt;</AUTHOR>
<IMPLEMENTATION>
<ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.8" />
<CODEBASE HREF="Archive-Tar.tar.gz" />
</IMPLEMENTATION>
<REQUIRE NAME="IO-Zlib" VERSION="1.01" />
<PROVIDE NAME="Archive::Tar" VERSION="1.29" />
<PROVIDE NAME="Archive::Tar::File" VERSION="1.21" />
</SOFTPKG>
...
</REPOSITORYSUMMARY>

If multiple <IMPLEMETATION> sections are present in the ppd file, all will be included in the corresponding summary files.

Options accepted by the new constructor include

rep => '/path/to/ppds'

This option, which is required, specifies the path to where the ppd files are found. The summary files will be written in this directory.

no_ppm4 => 1

If this option is specified, the package.xml file (which contains some extensions used by ppm4) will not be generated.

arch => 'MSWin32-x86-multi-thread-5.8'

If this option is given, it will be used as the ARCHITECTURE attribute of the REPOSITORYSUMMARY element of package.xml.

COPYRIGHT

This program is copyright, 2006, by Randy Kobes <r.kobes.uwinnipeg.ca>. It is distributed under the same terms as Perl itself.

SEE ALSO

PPM and PPM::Make