[Module-build-checkins] Module-Build/t/lib DistGen.pm,1.6,1.7
Status: Beta
Brought to you by:
kwilliams
|
From: Randy W. S. <si...@us...> - 2005-06-28 06:26:44
|
Update of /cvsroot/module-build/Module-Build/t/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20446/t/lib Modified Files: DistGen.pm Log Message: Add 'MANIFEST' to the distribution filedata. When cleaning up, unlink only files that actually exists. Index: DistGen.pm =================================================================== RCS file: /cvsroot/module-build/Module-Build/t/lib/DistGen.pm,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- DistGen.pm 28 Jun 2005 05:01:30 -0000 1.6 +++ DistGen.pm 28 Jun 2005 06:26:32 -0000 1.7 @@ -158,11 +158,14 @@ $self->remove(); die "Can't write '$manifest'\n"; }; - print $fh "MANIFEST\n"; - print $fh join( "\n", sort keys( %{$self->{filedata}} ) ); - print $fh "\n"; + + my @files = ( 'MANIFEST', keys %{$self->{filedata}} ); + my $data = join( "\n", sort @files ) . "\n"; + print $fh $data; close( $fh ); + $self->{filedata}{MANIFEST} = $data; + $self->{pending}{change}{MANIFEST} = 1; } sub name { shift()->{name} } @@ -195,7 +198,9 @@ foreach my $file ( @files ) { my $real_filename = $self->_real_filename( $file ); my $fullname = File::Spec->catfile( $dist_dirname, $real_filename ); - unlink( $fullname ) or die "Couldn't unlink '$file'\n"; + if ( -e $fullname ) { + unlink( $fullname ) || die "Couldn't unlink '$file'\n"; + } print "Unlinking pending file '$file'\n" if $VERBOSE; delete( $self->{pending}{remove}{$file} ); } |