Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 3450
Collapse All | Expand All

(-)g-cpan.pl (-8 / +11 lines)
Lines 5-10 Link Here
5
#
5
#
6
# History: 
6
# History: 
7
7
8
# 01/08/03: jrray@gentoo.org: remove dependency on Digest::MD5
9
#
8
# 01/07/03: jrray@gentoo.org: getting the way subroutines are fed variables
10
# 01/07/03: jrray@gentoo.org: getting the way subroutines are fed variables
9
#	    sorted out (they're in @_)
11
#	    sorted out (they're in @_)
10
#	    Clean out module_check, unnecessary temp variables are evil.
12
#	    Clean out module_check, unnecessary temp variables are evil.
Lines 47-53 Link Here
47
use File::Spec;
49
use File::Spec;
48
use File::Path;
50
use File::Path;
49
use CPAN;
51
use CPAN;
50
use Digest::MD5;
52
eval 'use Digest::MD5;';
53
my $have_digestmd5 = $@ ? 0 : 1;
51
54
52
# output error if no arguments
55
# output error if no arguments
53
unless (@ARGV) {
56
unless (@ARGV) {
Lines 241-256 Link Here
241
    my $localfile = $pack->{localfile};
244
    my $localfile = $pack->{localfile};
242
    ( my $base = $file ) =~ s/.*\/(.*)/$1/;
245
    ( my $base = $file ) =~ s/.*\/(.*)/$1/;
243
246
247
    my $md5digest;
248
    if ($have_digestmd5) {
244
    open( DIGIFILE, $localfile ) or die "Can't open '$file': $!";
249
    open( DIGIFILE, $localfile ) or die "Can't open '$file': $!";
245
    binmode(DIGIFILE);
250
    binmode(DIGIFILE);
246
251
	    $md5digest = Digest::MD5->new->addfile(*DIGIFILE)->hexdigest;
247
    my $md5digest = Digest::MD5->new;
248
    while (<DIGIFILE>) {
249
        $md5digest->add($_);
250
    }
251
    close(DIGIFILE);
252
    close(DIGIFILE);
253
    } else {
254
    	    ($md5digest = qx(/usr/bin/md5sum $localfile)) =~ s/^(.*?)\s.*$/$1/s;
255
    }
252
256
253
    my $md5string = sprintf "MD5 %s %s %d", $md5digest->hexdigest, $base,
257
    my $md5string = sprintf "MD5 %s %s %d", $md5digest, $base,
254
      -s $localfile;
258
      -s $localfile;
255
259
256
    # make ebuilds for all the prereqs
260
    # make ebuilds for all the prereqs
Lines 260-266 Link Here
260
    create_ebuild( $obj, $dir, $file, $prereq_pm, $md5string );
264
    create_ebuild( $obj, $dir, $file, $prereq_pm, $md5string );
261
265
262
    push @ebuild_list, $dir;
266
    push @ebuild_list, $dir;
263
264
}
267
}
265
268
266
sub clean_up {
269
sub clean_up {

Return to bug 3450