Test::Smoke::Syncer::Snapshot
This handles syncing from an HTTP snapshot (Porting/make_snapshot.pl) It should only be visible from the "parent-package" so no direct user-calls on this.
Test::Smoke::Syncer::Snapshot->new( %args )
This crates the new object. Keys for %args
:
* ddir: destination directory ( ./perl-current )
* snapurl: the server to get the download from
* snaptar: howto untar ( Archive::Tar or 'gzip -d -c %s | tar x -' )
* v: verbose
$syncer->sync( )
Fetch the file. Remove the current source-tree and extract the tarball or zip.
$syncer->_fetch_archive( )
_fetch_archive()
downloads the archive
$syncer->_extract_archive( )
_extract_archive()
checks the tar attribute to find out how to extract the archive. This could be an external command or the Archive::Tar/Comperss::Zlib modules.
$syncer->_extract_with_Archive_Tar( )
_extract_with_Archive_Tar()
uses the Archive::Tar and Compress::Zlib modules to extract the archive. (This tested verry slow on my Linux box!)
$syncer->_extract_with_external( )
_extract_with_external()
uses $self->{snaptar}
as a sprintf() template to build a command. Yes that might be dangerous!
__get_directory_names( [$dir] )
[This is not a method]
__get_directory_names()
retruns all directory names from $dir || cwd()
. It does not look at symlinks (there should not be any in the perl source-tree).
__vms_untargz( $untargz, $tgzfile, $verbose )
Gunzip and extract the archive in $tgzfile
using a small DCL script
COPYRIGHT
(c) 2002-2013, All rights reserved.
* Abe Timmerman <abeltje@cpan.org>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
See:
* <http://www.perl.com/perl/misc/Artistic.html>,
* <http://www.gnu.org/copyleft/gpl.html>
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.