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.