http://qs321.pair.com?node_id=645767


in reply to Re^2: What is the format of a .packlist file for a PPM repository?
in thread What is the format of a .packlist file for a PPM repository?

The messages from ppm:

Synchronizing Database ... done
Downloading Dubious packlist ... not found
Downloading Dubious packlist ... not found
Downloading Dubious packlist ... done
Synchronizing Database ... done
are perhaps misleading; ppm is looking for either a package.lst or a package.xml file, not a literal "packlist" file. If it doesn't find either of these summary files, it will fetch and parse the ppd files within this directory, if there are any. The summary files are just there to save ppm downloading and parsing individual ppd files.

Try making a local repository and populating it with some ppd files, and the corresponding .tar.gz or .zip archives referenced in the CODEBASE element, and see if that works. You can use the rep_summary script of PPM-Make to generate the summary files, or alternatively, run the following script:

use strict; use warnings; use File::Spec; my $ppm_dir = 'C:\Temp\ppms'; opendir(my $dir, $ppm_dir) or die qq{Cannot opendir $ppm_dir: $!}; my @ppds = grep /\.ppd$/, readdir $dir; closedir $dir; my $pack = File::Spec->catfile($ppm_dir, 'package.lst'); open(my $pack_fh, '>', $pack) or die qq{Cannot open $pack for writing: $!}; print $pack_fh <<"END"; <?xml version="1.0" encoding="UTF-8"?> <REPOSITORYSUMMARY> END for my $ppd (@ppds) { open(my $ppd_fh, File::Spec->catfile($ppm_dir, $ppd)) or die qq{Cannot read $ppd under $ppm_dir: $!}; while (<$ppd_fh>) { next if $_ =~ /\?xml version/; print $pack_fh " $_"; } close $ppd_fh; } print $pack_fh qq{</REPOSITORYSUMMARY>\n}; close $pack_fh;
to generate the package.lst file; the directory of the repository in this script is specified as $ppm_dir.