Annotation of trango/Net-Telnet-Trango/Build.PL, Revision 1.6
1.1 andrew 1: use strict;
2: use warnings;
3: use Module::Build;
1.3 andrew 4: use File::Spec;
1.6 ! andrew 5: # $RedRiver: Build.PL,v 1.5 2007/02/05 23:10:37 andrew Exp $
1.2 andrew 6:
1.4 andrew 7: my $cfg_file = File::Spec->catfile('t', 'tests.cfg');
1.1 andrew 8:
9: my $builder = Module::Build->new(
10: module_name => 'Net::Telnet::Trango',
11: license => 'perl',
12: dist_author => 'Andrew Fresh <andrew@cpan.org>',
13: dist_version_from => 'lib/Net/Telnet/Trango.pm',
14: build_requires => {
15: 'Test::More' => 0,
16: },
1.2 andrew 17: add_to_cleanup => [ 'Net-Telnet-Trango-*', $cfg_file ],
1.4 andrew 18: create_makefile_pl => 'traditional',
19: create_readme => 1,
20: create_html => 1,
21: dynamic_config => 1,
22: auto_features => {
23: YAML_support =>
24: {
25: description => "Use YAML.pm to write META.yml files",
26: requires => { YAML => ' >= 0.35, != 0.49_01 ' },
27: },
28: manpage_support =>
29: {
30: description => "Create Unix man pages",
31: requires => { 'Pod::Man' => 0 },
32: },
33: HTML_support =>
34: {
35: description => "Create HTML documentation",
36: requires => { 'Pod::Html' => 0 },
37: },
38: },
1.1 andrew 39: );
40:
1.5 andrew 41: get_config();
1.3 andrew 42:
1.5 andrew 43: $builder->create_build_script();
44:
45: sub get_config {
46: my %cfg;
47: print <<EOB;
48:
49: Net::Telnet::Trango needs some additional information and setup to
50: perform it\'s full suite of tests.
51:
52: These tests MAY change settings on the units it connects to, so please
53: do not use equipment that is in production.
54:
55: To skip these tests, hit "return".
56:
57: EOB
58:
59: get_ap_config(\%cfg);
60:
61: get_sudb_config(\%cfg) if $cfg{AP} && $cfg{AP_PASSWD};
62:
63: get_su_config(\%cfg);
64:
1.6 ! andrew 65: if (open T,">$cfg_file") {
1.5 andrew 66: while (my ($key, $value) = each %cfg) {
67: print T $key, "\t", $value,"\n";
68: }
69: close T;
1.3 andrew 70: }
1.5 andrew 71:
1.3 andrew 72: }
1.2 andrew 73:
1.5 andrew 74: sub get_ap_config {
75: my $cfg = shift;
76:
77: print 'To run the AP tests, we need an IP and a password for an AP.', "\n";
78:
79: $cfg->{AP} = $builder->prompt("AP IP: ", $cfg->{AP}) || return;
80: $cfg->{AP_PASSWD} = $builder->prompt("AP Password:", $cfg->{AP_PASSWD})
81: || return;
82: }
1.2 andrew 83:
1.5 andrew 84: sub get_sudb_config {
1.3 andrew 85: my $cfg = shift;
86:
1.5 andrew 87: print <<EOL;
88: To run the SUDB tests, we need an suid and mac address of an
89: SU that can reliably link to the AP.
90: EOL
1.2 andrew 91:
1.5 andrew 92: $cfg->{SU_ID} = $builder->prompt("SU ID: ", $cfg->{SU_ID}) || return;
93: $cfg->{SU_MAC} = $builder->prompt("SU MAC:", $cfg->{SU_MAC}) || return;
94: }
1.2 andrew 95:
1.5 andrew 96: sub get_su_config {
97: my $cfg = shift;
1.2 andrew 98:
1.5 andrew 99: print 'To run the SU tests, we need an IP and a password of an SU.', "\n";
1.2 andrew 100:
1.5 andrew 101: $cfg->{SU} = $builder->prompt("SU IP: ", $cfg->{SU}) || return;
102: $cfg->{SU_PASSWD} = $builder->prompt("SU Password:", $cfg->{SU_PASSWD})
103: || return;
1.2 andrew 104: }
1.5 andrew 105:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>