NAME
Porting/sync-with-cpan - Synchronize with CPAN distributions
SYNOPSIS
perl Porting/sync-with-cpan <module>
where <module> is the name it appears in the %Modules
hash of Porting/Maintainers.pl
DESCRIPTION
Script to help out with syncing cpan distros.
Does the following:
Fetches the package list from CPAN. Finds the current version of the given package. [1]
Downloads the relevant tarball; unpacks the tarball. [1]
Clean out the old directory (
git clean -dfx
)Moves the old directory out of the way, moves the new directory in place.
Restores any .gitignore file.
Removes files from
@IGNORE
andEXCLUDED
git add
any new files.git rm
any files that are gone.Remove the +x bit on files in t/
Remove the +x bit on files that don't have it enabled in the current dir
Restore files mentioned in
CUSTOMIZED
Adds new files to MANIFEST
Runs a
make
(assumes a configure has been run)Cleans up
Runs tests for the package
Runs the porting tests
[1] If the --tarball
option is given, then CPAN is not consulted. --tarball
should be the path to the tarball; the version is extracted from the filename -- but can be overwritten by the --version
option.
TODO
Delete files from MANIFEST
Update Porting/Maintainers.pl
Optional, run a full test suite
Handle complicated
FILES
This is an initial version; no attempt has been made yet to make this portable. It shells out instead of trying to find a Perl solution. In particular, it assumes wget, git, tar, chmod, perl, make, and rm to be available.