# -*- Mode: Perl -*- # Author : Ulrich Pfeifer # Created On : Wed Jan 7 14:34:24 1998 # Last Modified By: Ulrich Pfeifer # Last Modified On: Sun Mar 19 10:16:11 2006 # Language : CPerl # # (C) Copyright 1998, 2006 Ulrich Pfeifer # use ExtUtils::MakeMaker; use IO::File; use Getopt::Long; my %OPT = (default => 0); GetOptions(\%OPT, 'default!'); &init($OPT{default}); WriteMakefile ( 'NAME' => 'CPAN::Site', 'VERSION' => "0.030", 'dist' => { COMPRESS => 'gzip -9f', PREOP => 'pod2text Site.pm > README', }, 'EXE_FILES' => [ 'mkpackages' ], 'PREREQ_PM' => { 'CPAN::Checksums' => 0}, ); sub init { my $use_defaults = shift; my $default_url = 'file:/tmp/CPAN/'; # Use old default url if CPAN::Site is installed already eval { require CPAN::Site }; if ($@ eq '') { my $in = new IO::File '<' . $INC{"CPAN/Site.pm"} or die "Reading $INC{'CPAN/Site.pm'}: $!\n"; while (defined ($_ = $in->getline)) { $default_url = $1 if /^unshift\b .* q\[(\w+:\S+)\]$/x } } my $url = prompt("URL to your private CPAN?", $default_url) unless $use_defaults; for ($url) {s/^\s+//; s/\s+$//;} $url ||= $default_url; rename 'Site.pm', 'Site.pm~' or die "Could not rename 'Site.pm': $!\n"; my $in = new IO::File "Site.pm" or die "Writing Site.pm: $!\n"; while (defined ($_ = $in->getline)) { s{q\[\w+:\S+\]}{q\[$url\]} if /^unshift\b/; $out->print($_); } }