/usr/local/CPAN/Cisco-Conf/Makefile.PL


# -*- perl -*-

require 5.004;
use strict;

require ExtUtils::MakeMaker;


my($ok) = 1;
my($recommended) = 0;
print "Checking for Data::Dumper ... ";
$@ = '';
eval "use Data::Dumper ();";
if ($@) {
    $ok = 0;
    print("\nYou don't have installed the Data::Dumper module.\n");
} else {
    print "ok\n";
}

print "Checking for Net::Telnet ... ";
$@ = '';
eval "use Net::Telnet ();";
if ($@) {
    $ok = 0;
    print("\nYou don't have installed the Net::Telnet module.\n");
} else {
    print "ok\n";
}

print "Checking for IO::AtomicFile ... ";
$@ = '';
eval "use IO::AtomicFile;";
if ($@) {
    $recommended = 1;
    print("\nYou don't have installed the IO::Scalar module\n",
	  "This module is not required, but recommended.\n");
} else {
    print "ok\n";
}

if (!$ok  ||  $recommended) {
    print("\n",
	  "Missing modules are available from any CPAN mirror, for example\n",
	  "\tftp://ftp.funet.fi/pub/languages/perl/CPAN/modules/by-module\n",
	  "\n");
}

if (!$ok) {
    exit 1;
}


use lib "lib";
require Cisco::Conf::Install;
require Cisco::Conf;

if ( -f "configuration" ) {
    $Cisco::Conf::config = Cisco::Conf->_ReadConfigFile("configuration");
} else {
    $Cisco::Conf::config = Cisco::Conf::Install->Install("./configuration",
							 "/usr/local/cisco");
}


ExtUtils::MakeMaker::WriteMakefile(
    'NAME'	   => 'Cisco::Conf',
    'VERSION_FROM' => 'lib/Cisco/Conf.pm',
    'EXE_FILES'    => [ 'cisconf' ],
    'dist'         => { 'SUFFIX'       => ".gz",
			'DIST_DEFAULT' => 'all tardist',
			'COMPRESS'     => "gzip -9f" },
    'realclean'    => { 'FILES' => 'configuration' },
    'clean'        => { 'FILES' => 'cisconf' }
);


package MY;

sub postamble {
    my($config) = $Cisco::Conf::config;

    my $etcdir = $config->{'etc_dir'};
    my $tftpdir = $config->{'tftp_dir'};
    my $perl = $^X;

    <<"EOF";

test :: all
	\$(NOOP)

install ::
	if [ `perl -e 'print \$\$>'` -ne 0 ]; then                           \\
	    echo "Sorry, but you must be root to install this module.";      \\
	    exit 1;                                                          \\
	fi
	$perl -MFile::Path -e 'mkpath(["$etcdir", "$tftpdir"], 1, 0755)'
	chown root \$(INSTALLSCRIPT)/cisconf
	chmod 4755 \$(INSTALLSCRIPT)/cisconf
	chown root $etcdir
	chmod 700 $etcdir
	if [ -f "$etcdir/configuration" ]; then                              \\
	    echo "Not overwriting existing configfile $etcdir/configuration";\\
	else                                                                 \\
	    cp configuration "$etcdir/configuration";                        \\
	fi

EOF
}

sub libscan {
    my($self, $path) = @_;
    if ($path =~ /\~$/) {
	undef;
    } else {
	$path;
    }
}