mirror of
git://scm.dxcluster.org/scm/spider
synced 2024-09-21 07:47:10 +00:00
loads of changes and added things
made 1.2
This commit is contained in:
parent
3f145290a9
commit
6a0068ec3d
4
INSTALL
4
INSTALL
@ -86,10 +86,10 @@ the following modules:-
|
||||
|
||||
[ether]
|
||||
NOCALL * * * * * * L
|
||||
default * * * * * * - djk /spider/perl/client.pl client.pl %u ax25
|
||||
default * * * * * * - jim /spider/perl/client.pl client.pl %u ax25
|
||||
<bbs>
|
||||
NOCALL * * * * * * L
|
||||
default * * * * * * - djk /spider/perl/client.pl client.pl %u ax25
|
||||
default * * * * * * - jim /spider/perl/client.pl client.pl %u ax25
|
||||
|
||||
where ether and bbs are appropriate KNOWN WORKING axport and nrport
|
||||
names respectively.
|
||||
|
96
cmd/Aliases
Normal file
96
cmd/Aliases
Normal file
@ -0,0 +1,96 @@
|
||||
#!/usr/bin/perl
|
||||
#
|
||||
# provide some standard aliases for commands for terminally
|
||||
# helpless ak1a user (helpless in the sense that they never
|
||||
# read nor understand help files)
|
||||
#
|
||||
# This file is automagically reloaded if its modification time is
|
||||
# later than the one stored in CmdAlias.pm
|
||||
#
|
||||
# PLEASE make this file consistant with reality! (the patterns MUST
|
||||
# match the filenames!)
|
||||
#
|
||||
# Don't alter this file, copy it into the local_cmd tree and modify it.
|
||||
# This file will be replaced everytime I issue a new release.
|
||||
#
|
||||
# You only need to put aliases in here for commands that don't work as
|
||||
# you desire naturally, e.g sh/dx on its own just works as you expect
|
||||
# so you need not add it as an alias.
|
||||
#
|
||||
|
||||
|
||||
package CmdAlias;
|
||||
|
||||
%alias = (
|
||||
a => [
|
||||
'^ann.*/full', 'announce full', 'announce',
|
||||
'^ann.*/sysop', 'announce sysop', 'announce',
|
||||
'^ann.*/(.*)$', 'announce $1', 'announce',
|
||||
],
|
||||
b => [
|
||||
],
|
||||
c => [
|
||||
],
|
||||
d => [
|
||||
'^del', 'kill', 'kill',
|
||||
'^di.*/all', 'directory all', 'directory',
|
||||
'^di.*/b.*', 'directory bulletins', 'directory',
|
||||
'^di.*/n.*', 'directory new', 'directory',
|
||||
'^di.*/o.*', 'directory own', 'directory',
|
||||
'^di.*/s.*', 'directory subject', 'directory',
|
||||
'^di.*/(\d+)-(\d+)', 'directory $1-$2', 'directory',
|
||||
'^di.*/(\d+)', 'directory $1', 'directory',
|
||||
],
|
||||
e => [
|
||||
],
|
||||
f => [
|
||||
],
|
||||
g => [
|
||||
],
|
||||
h => [
|
||||
],
|
||||
i => [
|
||||
],
|
||||
j => [
|
||||
],
|
||||
k => [
|
||||
],
|
||||
l => [
|
||||
],
|
||||
m => [
|
||||
],
|
||||
n => [
|
||||
],
|
||||
o => [
|
||||
],
|
||||
p => [
|
||||
],
|
||||
q => [
|
||||
'^q', 'bye', 'bye',
|
||||
],
|
||||
r => [
|
||||
],
|
||||
s => [
|
||||
'^sh/dx/(\d+)-(\d+)', 'show/dx $1-$2', 'show/dx',
|
||||
'^sh/dx/(\d+)', 'show/dx $1', 'show/dx',
|
||||
'^sh/dx/d(\d+)', 'show/dx from $1', 'show/dx',
|
||||
'^sp$', 'send', 'send',
|
||||
'^sb$', 'send noprivate', 'send',
|
||||
],
|
||||
t => [
|
||||
],
|
||||
u => [
|
||||
],
|
||||
v => [
|
||||
],
|
||||
w => [
|
||||
'^wx/full', 'wx full', 'wx',
|
||||
'^wx/sysop', 'wx sysop', 'wx',
|
||||
],
|
||||
x => [
|
||||
],
|
||||
y => [
|
||||
],
|
||||
z => [
|
||||
],
|
||||
)
|
@ -8,15 +8,37 @@
|
||||
|
||||
my ($self, $line) = @_;
|
||||
my @f = split /\s+/, $line;
|
||||
my @ref = DXMsg::get_all();
|
||||
my @ref;
|
||||
my $ref;
|
||||
my @out;
|
||||
|
||||
$f[0] = uc $f[0];
|
||||
if ($f[0] eq 'ALL') {
|
||||
foreach $ref (DXMsg::get_all()) {
|
||||
next if $self->priv < 5 && $ref->private && $ref->to ne $self->call && $ref->from ne $self->call;
|
||||
push @ref, $ref;
|
||||
}
|
||||
} elsif ($f[0] =~ /^O/o) { # dir/own
|
||||
foreach $ref (DXMsg::get_all()) {
|
||||
push @ref, $ref if $ref->private && ($ref->to eq $self->call || $ref->from eq $self->call);
|
||||
}
|
||||
} elsif ($f[0] =~ /^N/o) { # dir/new
|
||||
foreach $ref (DXMsg::get_all()) {
|
||||
push @ref, $ref if $ref->private && !$ref->read && $ref->to eq $self->call;
|
||||
}
|
||||
} else {
|
||||
my @all = (DXMsg::get_all());
|
||||
my ($i, $count);
|
||||
for ($i = $#all; $i > 0; $i--) {
|
||||
$ref = $all[$i];
|
||||
next if $self->priv < 5 && $ref->private && $ref->to ne $self->call && $ref->from ne $self->call;
|
||||
unshift @ref, $ref;
|
||||
last if ++$count > 10;
|
||||
}
|
||||
}
|
||||
|
||||
foreach $ref (@ref) {
|
||||
next if $self->priv < 5 && $ref->private && $ref->to ne $self->call;
|
||||
push @out, sprintf "%6d %s%s%5d %8.8s %8.8s %-6.6s %5.5s %-30.30s",
|
||||
$ref->msgno, $ref->private ? 'p' : ' ', $ref->read ? '-' : ' ', $ref->size,
|
||||
$ref->to, $ref->from, cldate($ref->t), ztime($ref->t), $ref->subject;
|
||||
push @out, $ref->dir;
|
||||
}
|
||||
|
||||
return (1, @out);
|
||||
|
@ -16,7 +16,7 @@ foreach $call (@calls) {
|
||||
my $dxchan = DXChannel->get($call);
|
||||
if ($dxchan) {
|
||||
if ($dxchan->is_ak1a) {
|
||||
$dxchan->send_now("D", DXProt::pc39($dxchan->call, 'Disconnected'));
|
||||
$dxchan->send_now("D", DXProt::pc39($main::mycall, 'Disconnected'));
|
||||
} else {
|
||||
$dxchan->disconnect;
|
||||
}
|
||||
|
@ -21,7 +21,9 @@ for $msgno (@f) {
|
||||
push @out, "Msg $msgno not found";
|
||||
next;
|
||||
}
|
||||
if ($ref->private && $self->priv < 9 && $ref->to ne $ref->call) {
|
||||
if ($self->priv < 5 &&
|
||||
(($ref->private && $ref->to ne $self->call && $ref->from ne $self->call) ||
|
||||
($ref->private == 0 && $ref->from ne $self->call))) {
|
||||
push @out, "Msg $msgno not available";
|
||||
next;
|
||||
}
|
||||
|
18
cmd/read.pl
18
cmd/read.pl
@ -13,13 +13,26 @@ my @out;
|
||||
my @body;
|
||||
my $ref;
|
||||
|
||||
# if there are no specified message numbers, try and find a private one
|
||||
# that I haven't read yet
|
||||
if (@f == 0) {
|
||||
foreach $ref (DXMsg::get_all()) {
|
||||
if ($ref->to eq $self->call && $ref->private && !$ref->read) {
|
||||
push @f, $ref->msgno;
|
||||
last;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return (1, "Sorry, no new messages for you") if @f == 0;
|
||||
|
||||
for $msgno (@f) {
|
||||
$ref = DXMsg::get($msgno);
|
||||
if (!$ref) {
|
||||
push @out, "Msg $msgno not found";
|
||||
next;
|
||||
}
|
||||
if ($ref->private && $self->priv < 9 && $ref->to ne $ref->call) {
|
||||
if ($self->priv < 5 && $ref->private && $ref->to ne $self->call && $ref->from ne $self->call ) {
|
||||
push @out, "Msg $msgno not available";
|
||||
next;
|
||||
}
|
||||
@ -33,6 +46,9 @@ for $msgno (@f) {
|
||||
$ref->read(1);
|
||||
$ref->store(\@body); # note call by reference!
|
||||
}
|
||||
|
||||
# remember this one as the last one read
|
||||
$self->lastread($msgno);
|
||||
}
|
||||
|
||||
return (1, @out);
|
||||
|
77
cmd/reply.pl
77
cmd/reply.pl
@ -1,7 +1,82 @@
|
||||
#
|
||||
# reply to a message
|
||||
# send a message
|
||||
#
|
||||
# this should handle
|
||||
#
|
||||
# send <call> [<call> .. ]
|
||||
# send private <call> [<call> .. ]
|
||||
# send private rr <call> [<call> .. ]
|
||||
# send rr <call> [<call> .. ]
|
||||
# send noprivate <call> [<call> .. ]
|
||||
# send b <call> [<call> .. ]
|
||||
# send copy <call> [<call> .. ]
|
||||
# send copy rr <call> [<call> .. ]
|
||||
#
|
||||
# Copyright (c) Dirk Koopman G1TLH
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
my ($self, $line) = @_;
|
||||
my @out;
|
||||
my $loc;
|
||||
|
||||
#$DB::single = 1;
|
||||
|
||||
if ($self->state eq "prompt") {
|
||||
|
||||
my @f = split /\s+/, $line;
|
||||
|
||||
# now deal with real message inputs
|
||||
# parse out send line for various possibilities
|
||||
$loc = $self->{loc} = {};
|
||||
|
||||
my $i = 0;
|
||||
$f[0] = uc $f[0];
|
||||
$loc->{private} = '1';
|
||||
if ($f[0] eq 'B' || $f[0] =~ /^NOP/oi) {
|
||||
$loc->{private} = '0';
|
||||
$i += 1;
|
||||
} elsif ($f[0] eq 'P' || $f[0] =~ /^PRI/oi) {
|
||||
$i += 1;
|
||||
}
|
||||
|
||||
$loc->{rrreq} = '0';
|
||||
if (uc $f[$i] eq 'RR') {
|
||||
$loc->{rrreq} = '1';
|
||||
$i++;
|
||||
}
|
||||
|
||||
my $oref;
|
||||
|
||||
# check we have a reply number
|
||||
if ($i > @f) {
|
||||
if (!($oref = DXMsg::get($self->lastread))) {
|
||||
delete $self->{loc};
|
||||
#return (0, $self->msg('esend2'));
|
||||
return (0, "need a message number");
|
||||
}
|
||||
} else {
|
||||
$oref = DXMsg::get($f[$i]);
|
||||
if (!$oref) {
|
||||
delete $self->{loc};
|
||||
return (0, "can't access message $i");
|
||||
}
|
||||
}
|
||||
|
||||
# now save all the 'to' callsigns for later
|
||||
my $to = $oref->from;
|
||||
$loc->{to} = [ $to ]; # to is an array
|
||||
$loc->{subject} = $oref->subject;
|
||||
$loc->{subject} = "Re: " . $loc->{subject} if !($loc->{subject} =~ /^Re/io);
|
||||
|
||||
# find me and set the state and the function on my state variable to
|
||||
# keep calling me for every line until I relinquish control
|
||||
$self->func("DXMsg::do_send_stuff");
|
||||
$self->state('sendbody');
|
||||
#push @out, $self->msg('sendsubj');
|
||||
push @out, "Reply to: $to";
|
||||
push @out, "Subject : $loc->{subject}";
|
||||
push @out, "Enter Message /EX (^Z) to send or /ABORT (^Y) to exit";
|
||||
}
|
||||
|
||||
return (1, @out);
|
||||
|
31
cmd/show/bands.pl
Normal file
31
cmd/show/bands.pl
Normal file
@ -0,0 +1,31 @@
|
||||
#
|
||||
# display the band data
|
||||
#
|
||||
|
||||
#$DB::single = 1;
|
||||
|
||||
my ($self, $line) = @_;
|
||||
my @f = split /\s+/, $line;
|
||||
my @bands;
|
||||
my $band;
|
||||
my @out;
|
||||
|
||||
if (!$line) {
|
||||
@bands = sort { Bands::get($a)->band->[0] <=> Bands::get($b)->band->[0] } Bands::get_keys();
|
||||
push @out, "Bands Available:-";
|
||||
foreach $band (@bands) {
|
||||
my $ref = Bands::get($band)->band;
|
||||
my $from = $ref->[0];
|
||||
my $to = $ref->[1];
|
||||
push @out, sprintf "%10s: %d -> %d", $band, $from, $to;
|
||||
}
|
||||
push @out, "Regions Available:-";
|
||||
@bands = Bands::get_region_keys();
|
||||
foreach $band (@bands) {
|
||||
my $ref = Bands::get_region($band);
|
||||
my $s = sprintf("%10s: ", $band ) . join(' ', @{$ref});
|
||||
push @out, $s;
|
||||
}
|
||||
}
|
||||
|
||||
return (1, @out);
|
@ -19,6 +19,10 @@ if ($argv[1] eq '>') {
|
||||
$line =~ s/^$argv[0]\s*//;
|
||||
}
|
||||
|
||||
my $call = $via ? $via : $to;
|
||||
my $ref = DXCluster->get($call);
|
||||
return (1, "$call not visible on the cluster") if !$ref;
|
||||
|
||||
my $dxchan = DXCommandmode->get($to); # is it for us?
|
||||
if ($dxchan && $dxchan->is_user) {
|
||||
$dxchan->send("$to de $from $line");
|
||||
|
@ -7,7 +7,7 @@
|
||||
# these pairs attach themselves to the labels you provide, they are
|
||||
# independant of any other pair, they can overlap, cross etc.
|
||||
#
|
||||
# There MUST be at last a 'band' entry
|
||||
# There MUST be at least a 'band' entry
|
||||
#
|
||||
# It is up to YOU to make sure that it makes sense!
|
||||
#
|
||||
@ -55,13 +55,15 @@
|
||||
'15m' => bless( { band => [ 21000, 21450 ],
|
||||
cw => [ 21000, 21150 ],
|
||||
data => [ 21100, 21120 ],
|
||||
beacon => [ 21149, 21151 ],
|
||||
ssb => [ 21151, 21450]
|
||||
}, 'Bands'),
|
||||
|
||||
'12m' => bless( { band => [ 21000, 21450 ],
|
||||
cw => [ 21000, 21150 ],
|
||||
data => [ 21100, 21120 ],
|
||||
ssb => [ 21151, 21450]
|
||||
'12m' => bless( { band => [ 24890, 24990 ],
|
||||
cw => [ 24890, 24820 ],
|
||||
data => [ 24920, 24929 ],
|
||||
beacon => [ 24929, 24931 ],
|
||||
ssb => [ 24931, 24990]
|
||||
}, 'Bands'),
|
||||
|
||||
|
||||
@ -143,3 +145,23 @@
|
||||
uhf => [ '70cm', '23cm' ],
|
||||
shf => [ '23cm', '13cm', '9cm', '6cm', '3cm' ],
|
||||
);
|
||||
|
||||
%aliases = (
|
||||
topband => '160m',
|
||||
160 => '160m',
|
||||
80 => '80m',
|
||||
40 => '40m',
|
||||
30 => '30m',
|
||||
20 => '20m',
|
||||
18 => '18m',
|
||||
15 => '15m',
|
||||
12 => '12m',
|
||||
10 => '10m',
|
||||
6 => '6m',
|
||||
4 => '4m',
|
||||
2 => '2m',
|
||||
70 => '70cm',
|
||||
23 => '23cm',
|
||||
13 => '13cm',
|
||||
3 => '3cm',
|
||||
)
|
||||
|
785
html/cpan.html
Normal file
785
html/cpan.html
Normal file
@ -0,0 +1,785 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>CPAN and perl installation</title>
|
||||
</head>
|
||||
<body>
|
||||
<h2>CPAN and perl installation</h2>
|
||||
|
||||
<pre>
|
||||
[root@rufus djk]# perl -MCPAN -e shell
|
||||
|
||||
We have to reconfigure CPAN.pm due to following uninitialized parameters:
|
||||
|
||||
cpan_home, keep_source_where, build_dir, build_cache, index_expire, gzip, tar, unzip, make, pager, makepl_arg, make_arg, make_install_arg, urllist, inhibit_startup_message, ftp_proxy, http_proxy, no_proxy
|
||||
|
||||
/usr/lib/perl5/CPAN/Config.pm initialized.
|
||||
|
||||
The CPAN module needs a directory of its own to cache important
|
||||
index files and maybe keep a temporary mirror of CPAN files. This may
|
||||
be a site-wide directory or a personal directory.
|
||||
|
||||
|
||||
First of all, I'd like to create this directory. Where?
|
||||
|
||||
CPAN build and cache directory? [/root/.cpan]
|
||||
|
||||
|
||||
If you want, I can keep the source files after a build in the cpan
|
||||
home directory. If you choose so then future builds will take the
|
||||
files from there. If you don't want to keep them, answer 0 to the
|
||||
next question.
|
||||
|
||||
|
||||
|
||||
How big should the disk cache be for keeping the build directories
|
||||
with all the intermediate files?
|
||||
|
||||
Cache size for build directory (in MB)? [10]
|
||||
|
||||
|
||||
The CPAN module will need a few external programs to work
|
||||
properly. Please correct me, if I guess the wrong path for a program.
|
||||
Don't panic if you do not have some of them, just press ENTER for
|
||||
those.
|
||||
|
||||
Where is your gzip program? [/bin/gzip]
|
||||
Where is your tar program? [/bin/tar]
|
||||
Warning: unzip not found in PATH
|
||||
Where is your unzip program? []
|
||||
Where is your make program? [/usr/bin/make]
|
||||
Warning: lynx not found in PATH
|
||||
Where is your lynx program? []
|
||||
Where is your ncftp program? [/usr/bin/ncftp]
|
||||
Where is your ftp program? [/usr/bin/ftp]
|
||||
What is your favorite pager program? [/usr/bin/less]
|
||||
What is your favorite shell? [/bin/bash]
|
||||
|
||||
|
||||
Every Makefile.PL is run by perl in a separate process. Likewise we
|
||||
run 'make' and 'make install' in processes. If you have any parameters
|
||||
(e.g. PREFIX, INSTALLPRIVLIB, UNINST or the like) you want to pass to
|
||||
the calls, please specify them here.
|
||||
|
||||
If you don't understand this question, just press ENTER.
|
||||
|
||||
Parameters for the 'perl Makefile.PL' command? []
|
||||
Parameters for the 'make' command? []
|
||||
Parameters for the 'make install' command? []
|
||||
|
||||
|
||||
Sometimes you may wish to leave the processes run by CPAN alone
|
||||
without caring about them. As sometimes the Makefile.PL contains
|
||||
question you're expected to answer, you can set a timer that will
|
||||
kill a 'perl Makefile.PL' process after the specified time in seconds.
|
||||
|
||||
If you set this value to 0, these processes will wait forever. This is
|
||||
the default and recommended setting.
|
||||
|
||||
Timeout for inacivity during Makefile.PL? [0]
|
||||
|
||||
We need to know the URL of your favorite CPAN site.
|
||||
Please enter it here: ftp://sunsite.doc.ic.ac.uk/packages/CPAN
|
||||
|
||||
Testing "ftp://sunsite.doc.ic.ac.uk/packages/CPAN" ...
|
||||
|
||||
Please, install Net::FTP as soon as possible. CPAN.pm installs it for you
|
||||
if you just type
|
||||
install Bundle::libnet
|
||||
|
||||
|
||||
Trying with "/usr/bin/ncftp -c" to get
|
||||
ftp://sunsite.doc.ic.ac.uk/packages/CPAN/MIRRORED.BY
|
||||
Issuing "/usr/bin/ftp -n"
|
||||
Local directory now /root/.cpan/sources
|
||||
GOT /root/.cpan/sources/MIRRORED.BY
|
||||
|
||||
"ftp://sunsite.doc.ic.ac.uk/packages/CPAN" seems to work
|
||||
|
||||
|
||||
WAIT support is available as a Plugin. You need the CPAN::WAIT module
|
||||
to actually use it. But we need to know your favorite WAIT server. If
|
||||
you don't know a WAIT server near you, just press ENTER.
|
||||
|
||||
Your favorite WAIT server?
|
||||
[wait://ls6.informatik.uni-dortmund.de:1404]
|
||||
|
||||
|
||||
If you're accessing the net via proxies, you can specify them in the
|
||||
CPAN configuration or via environment variables. The variable in
|
||||
the $CPAN::Config takes precedence.
|
||||
|
||||
Your ftp_proxy?
|
||||
Your http_proxy?
|
||||
Your no_proxy?
|
||||
|
||||
|
||||
commit: wrote /usr/lib/perl5/CPAN/Config.pm
|
||||
|
||||
cpan shell -- CPAN exploration and modules installation (v1.3102)
|
||||
ReadLine support suppressed
|
||||
|
||||
cpan>
|
||||
cpan> install Bundle::CPAN
|
||||
Issuing "/usr/bin/ftp -n"
|
||||
Local directory now /root/.cpan/sources/authors
|
||||
GOT /root/.cpan/sources/authors/01mailrc.txt.gz
|
||||
Going to read /root/.cpan/sources/authors/01mailrc.txt.gz
|
||||
Issuing "/usr/bin/ftp -n"
|
||||
Local directory now /root/.cpan/sources/modules
|
||||
GOT /root/.cpan/sources/modules/02packages.details.txt.gz
|
||||
Going to read /root/.cpan/sources/modules/02packages.details.txt.gz
|
||||
|
||||
There's a new CPAN.pm version (v1.40) available!
|
||||
You might want to try
|
||||
install CPAN
|
||||
reload cpan
|
||||
without quitting the current session. It should be a seamless upgrade
|
||||
while we are running...
|
||||
|
||||
Issuing "/usr/bin/ftp -n"
|
||||
Local directory now /root/.cpan/sources/modules
|
||||
GOT /root/.cpan/sources/modules/03modlist.data.gz
|
||||
Going to read /root/.cpan/sources/modules/03modlist.data.gz
|
||||
Running make for NWINT/MD5-1.7.tar.gz
|
||||
Issuing "/usr/bin/ftp -n"
|
||||
Local directory now /root/.cpan/sources/authors/id/NWINT
|
||||
GOT /root/.cpan/sources/authors/id/NWINT/MD5-1.7.tar.gz
|
||||
MD5-1.7/
|
||||
MD5-1.7/Changes
|
||||
MD5-1.7/MANIFEST
|
||||
MD5-1.7/MD5.pm
|
||||
MD5-1.7/MD5.xs
|
||||
MD5-1.7/Makefile.PL
|
||||
MD5-1.7/README
|
||||
MD5-1.7/global.h
|
||||
MD5-1.7/md5.h
|
||||
MD5-1.7/md5c.c
|
||||
MD5-1.7/test.pl
|
||||
MD5-1.7/typemap
|
||||
MD5-1.7/examples/
|
||||
MD5-1.7/examples/mddriver.pl
|
||||
MD5-1.7/examples/twdigest.pl
|
||||
|
||||
CPAN.pm: Going to build NWINT/MD5-1.7.tar.gz
|
||||
|
||||
Checking if your kit is complete...
|
||||
Looks good
|
||||
Writing Makefile for MD5
|
||||
mkdir ./blib
|
||||
mkdir ./blib/lib
|
||||
mkdir ./blib/arch
|
||||
mkdir ./blib/arch/auto
|
||||
mkdir ./blib/arch/auto/MD5
|
||||
mkdir ./blib/lib/auto
|
||||
mkdir ./blib/lib/auto/MD5
|
||||
mkdir ./blib/man3
|
||||
cp MD5.pm ./blib/lib/MD5.pm
|
||||
AutoSplitting MD5 (./blib/lib/auto/MD5)
|
||||
/usr/bin/perl -I/usr/lib/perl5/i386-linux/5.00404 -I/usr/lib/perl5 /usr/lib/perl5/ExtUtils/xsubpp -typemap /usr/lib/perl5/ExtUtils/typemap -typemap typemap MD5.xs >MD5.tc && mv MD5.tc MD5.c
|
||||
cc -c -Dbool=char -DHAS_BOOL -I/usr/local/include -O2 -DVERSION=\"1.7\" -DXS_VERSION=\"1.7\" -fpic -I/usr/lib/perl5/i386-linux/5.00404/CORE -DPERL_BYTEORDER=1234 MD5.c
|
||||
cc -c -Dbool=char -DHAS_BOOL -I/usr/local/include -O2 -DVERSION=\"1.7\" -DXS_VERSION=\"1.7\" -fpic -I/usr/lib/perl5/i386-linux/5.00404/CORE -DPERL_BYTEORDER=1234 md5c.c
|
||||
Running Mkbootstrap for MD5 ()
|
||||
chmod 644 MD5.bs
|
||||
LD_RUN_PATH="" cc -o blib/arch/auto/MD5/MD5.so -shared -L/usr/local/lib MD5.o md5c.o
|
||||
chmod 755 blib/arch/auto/MD5/MD5.so
|
||||
cp MD5.bs ./blib/arch/auto/MD5/MD5.bs
|
||||
chmod 644 blib/arch/auto/MD5/MD5.bs
|
||||
Manifying ./blib/man3/MD5.3
|
||||
/usr/bin/make -- OK
|
||||
Running make test
|
||||
PERL_DL_NONLAZY=1 /usr/bin/perl -I./blib/arch -I./blib/lib -I/usr/lib/perl5/i386-linux/5.00404 -I/usr/lib/perl5 test.pl
|
||||
1..14
|
||||
ok 1
|
||||
ok 2
|
||||
ok 3
|
||||
ok 4
|
||||
ok 5
|
||||
ok 6
|
||||
ok 7
|
||||
ok 8
|
||||
ok 9
|
||||
ok 10
|
||||
ok 11
|
||||
ok 12
|
||||
ok 13
|
||||
ok 14
|
||||
/usr/bin/make test -- OK
|
||||
Running make install
|
||||
Installing /usr/lib/perl5/site_perl/i386-linux/./auto/MD5/MD5.so
|
||||
Installing /usr/lib/perl5/site_perl/i386-linux/./auto/MD5/MD5.bs
|
||||
Installing /usr/lib/perl5/site_perl/./auto/MD5/autosplit.ix
|
||||
Installing /usr/lib/perl5/site_perl/./MD5.pm
|
||||
Installing /usr/lib/perl5/man/man3/./MD5.3
|
||||
Writing /usr/lib/perl5/site_perl/i386-linux/auto/MD5/.packlist
|
||||
Appending installation info to /usr/lib/perl5/i386-linux/5.00404/perllocal.pod
|
||||
/usr/bin/make install -- OK
|
||||
Running make for GSAR/Data-Dumper-2.09.tar.gz
|
||||
Issuing "/usr/bin/ftp -n"
|
||||
Local directory now /root/.cpan/sources/authors/id/GSAR
|
||||
GOT /root/.cpan/sources/authors/id/GSAR/Data-Dumper-2.09.tar.gz
|
||||
Data-Dumper-2.09/
|
||||
Data-Dumper-2.09/Dumper.html
|
||||
Data-Dumper-2.09/t/
|
||||
Data-Dumper-2.09/t/overload.t
|
||||
Data-Dumper-2.09/t/dumper.t
|
||||
Data-Dumper-2.09/MANIFEST.NOXSUB
|
||||
Data-Dumper-2.09/Dumper.pm.NOXSUB
|
||||
Data-Dumper-2.09/Dumper.xs
|
||||
Data-Dumper-2.09/Todo
|
||||
Data-Dumper-2.09/MANIFEST
|
||||
Data-Dumper-2.09/Makefile.PL
|
||||
Data-Dumper-2.09/Dumper.pm
|
||||
Data-Dumper-2.09/Changes
|
||||
Data-Dumper-2.09/README
|
||||
|
||||
CPAN.pm: Going to build GSAR/Data-Dumper-2.09.tar.gz
|
||||
|
||||
Checking if your kit is complete...
|
||||
Looks good
|
||||
Writing Makefile for Data::Dumper
|
||||
mkdir ./blib
|
||||
mkdir ./blib/lib
|
||||
mkdir ./blib/lib/Data
|
||||
mkdir ./blib/arch
|
||||
mkdir ./blib/arch/auto
|
||||
mkdir ./blib/arch/auto/Data
|
||||
mkdir ./blib/arch/auto/Data/Dumper
|
||||
mkdir ./blib/lib/auto
|
||||
mkdir ./blib/lib/auto/Data
|
||||
mkdir ./blib/lib/auto/Data/Dumper
|
||||
cp Dumper.pm ./blib/lib/Data/Dumper.pm
|
||||
/usr/bin/perl -I/usr/lib/perl5/i386-linux/5.00404 -I/usr/lib/perl5 /usr/lib/perl5/ExtUtils/xsubpp -typemap /usr/lib/perl5/ExtUtils/typemap Dumper.xs >Dumper.tc && mv Dumper.tc Dumper.c
|
||||
cc -c -Dbool=char -DHAS_BOOL -I/usr/local/include -O2 -DVERSION=\"2.09\" -DXS_VERSION=\"2.09\" -fpic -I/usr/lib/perl5/i386-linux/5.00404/CORE Dumper.c
|
||||
Running Mkbootstrap for Data::Dumper ()
|
||||
chmod 644 Dumper.bs
|
||||
LD_RUN_PATH="" cc -o blib/arch/auto/Data/Dumper/Dumper.so -shared -L/usr/local/lib Dumper.o
|
||||
chmod 755 blib/arch/auto/Data/Dumper/Dumper.so
|
||||
cp Dumper.bs ./blib/arch/auto/Data/Dumper/Dumper.bs
|
||||
chmod 644 blib/arch/auto/Data/Dumper/Dumper.bs
|
||||
/usr/bin/make -- OK
|
||||
Running make test
|
||||
PERL_DL_NONLAZY=1 /usr/bin/perl -I./blib/arch -I./blib/lib -I/usr/lib/perl5/i386-linux/5.00404 -I/usr/lib/perl5 -e 'use Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t
|
||||
t/dumper............ok
|
||||
t/overload..........ok
|
||||
All tests successful.
|
||||
Files=2, Tests=139, 0 secs ( 0.55 cusr 0.05 csys = 0.60 cpu)
|
||||
/usr/bin/make test -- OK
|
||||
Running make install
|
||||
Installing /usr/lib/perl5/site_perl/i386-linux/./auto/Data/Dumper/Dumper.so
|
||||
Installing /usr/lib/perl5/site_perl/i386-linux/./auto/Data/Dumper/Dumper.bs
|
||||
Installing /usr/lib/perl5/site_perl/./Data/Dumper.pm
|
||||
Writing /usr/lib/perl5/site_perl/i386-linux/auto/Data/Dumper/.packlist
|
||||
Appending installation info to /usr/lib/perl5/i386-linux/5.00404/perllocal.pod
|
||||
/usr/bin/make install -- OK
|
||||
Issuing "/usr/bin/ftp -n"
|
||||
Local directory now /root/.cpan/sources/authors/id/GBARR
|
||||
GOT /root/.cpan/sources/authors/id/GBARR/Bundle-libnet-1.00.tar.gz
|
||||
Bundle-libnet-1.00/
|
||||
Bundle-libnet-1.00/Makefile.PL
|
||||
Bundle-libnet-1.00/libnet.pm
|
||||
Bundle-libnet-1.00/README
|
||||
Bundle-libnet-1.00/MANIFEST
|
||||
Data::Dumper is up to date.
|
||||
Running make for JROGERS/Net-Telnet-3.01.tar.gz
|
||||
Issuing "/usr/bin/ftp -n"
|
||||
Local directory now /root/.cpan/sources/authors/id/JROGERS
|
||||
GOT /root/.cpan/sources/authors/id/JROGERS/Net-Telnet-3.01.tar.gz
|
||||
Net-Telnet-3.01/
|
||||
Net-Telnet-3.01/Makefile.PL
|
||||
Net-Telnet-3.01/ChangeLog
|
||||
Net-Telnet-3.01/lib/
|
||||
Net-Telnet-3.01/lib/Net/
|
||||
Net-Telnet-3.01/lib/Net/Telnet.pm
|
||||
Net-Telnet-3.01/t/
|
||||
Net-Telnet-3.01/t/select.t
|
||||
Net-Telnet-3.01/README
|
||||
Net-Telnet-3.01/MANIFEST
|
||||
|
||||
CPAN.pm: Going to build JROGERS/Net-Telnet-3.01.tar.gz
|
||||
|
||||
Checking if your kit is complete...
|
||||
Looks good
|
||||
Writing Makefile for Net::Telnet
|
||||
mkdir ./blib
|
||||
mkdir ./blib/lib
|
||||
mkdir ./blib/lib/Net
|
||||
mkdir ./blib/arch
|
||||
mkdir ./blib/arch/auto
|
||||
mkdir ./blib/arch/auto/Net
|
||||
mkdir ./blib/arch/auto/Net/Telnet
|
||||
mkdir ./blib/lib/auto
|
||||
mkdir ./blib/lib/auto/Net
|
||||
mkdir ./blib/lib/auto/Net/Telnet
|
||||
mkdir ./blib/man3
|
||||
cp lib/Net/Telnet.pm ./blib/lib/Net/Telnet.pm
|
||||
Manifying ./blib/man3/Net::Telnet.3
|
||||
/usr/bin/make -- OK
|
||||
Running make test
|
||||
PERL_DL_NONLAZY=1 /usr/bin/perl -I./blib/arch -I./blib/lib -I/usr/lib/perl5/i386-linux/5.00404 -I/usr/lib/perl5 -e 'use Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t
|
||||
t/select............ok
|
||||
All tests successful.
|
||||
Files=1, Tests=1, 0 secs ( 0.38 cusr 0.02 csys = 0.40 cpu)
|
||||
/usr/bin/make test -- OK
|
||||
Running make install
|
||||
Installing /usr/lib/perl5/site_perl/./Net/Telnet.pm
|
||||
Installing /usr/lib/perl5/man/man3/./Net::Telnet.3
|
||||
Writing /usr/lib/perl5/site_perl/i386-linux/auto/Net/Telnet/.packlist
|
||||
Appending installation info to /usr/lib/perl5/i386-linux/5.00404/perllocal.pod
|
||||
/usr/bin/make install -- OK
|
||||
Running make for GBARR/libnet-1.0605.tar.gz
|
||||
Issuing "/usr/bin/ftp -n"
|
||||
Local directory now /root/.cpan/sources/authors/id/GBARR
|
||||
GOT /root/.cpan/sources/authors/id/GBARR/libnet-1.0605.tar.gz
|
||||
libnet-1.0605/
|
||||
libnet-1.0605/Net/
|
||||
libnet-1.0605/Net/FTP/
|
||||
libnet-1.0605/Net/FTP/dataconn.pm
|
||||
libnet-1.0605/Net/FTP/L.pm
|
||||
libnet-1.0605/Net/FTP/A.pm
|
||||
libnet-1.0605/Net/FTP/E.pm
|
||||
libnet-1.0605/Net/FTP/I.pm
|
||||
libnet-1.0605/Net/POP3.pm
|
||||
libnet-1.0605/Net/SMTP.pm
|
||||
libnet-1.0605/Net/FTP.pm
|
||||
libnet-1.0605/Net/Cmd.pm
|
||||
libnet-1.0605/Net/DummyInetd.pm
|
||||
libnet-1.0605/Net/NNTP.pm
|
||||
libnet-1.0605/Net/SNPP.pm
|
||||
libnet-1.0605/Net/Time.pm
|
||||
libnet-1.0605/Net/Domain.pm
|
||||
libnet-1.0605/Net/PH.pm
|
||||
libnet-1.0605/Net/Netrc.pm
|
||||
libnet-1.0605/demos/
|
||||
libnet-1.0605/demos/smtp.self
|
||||
libnet-1.0605/demos/nntp
|
||||
libnet-1.0605/demos/pop3
|
||||
libnet-1.0605/demos/time
|
||||
libnet-1.0605/demos/snpp
|
||||
libnet-1.0605/demos/nntp.mirror
|
||||
libnet-1.0605/demos/ftp
|
||||
libnet-1.0605/demos/inetd
|
||||
libnet-1.0605/Hostname.pm.eg
|
||||
libnet-1.0605/t/
|
||||
libnet-1.0605/t/nntp.t
|
||||
libnet-1.0605/t/ph.t
|
||||
libnet-1.0605/t/require.t
|
||||
libnet-1.0605/t/hostname.t
|
||||
libnet-1.0605/t/smtp.t
|
||||
libnet-1.0605/t/ftp.t
|
||||
libnet-1.0605/FAQ.pod
|
||||
libnet-1.0605/README.config
|
||||
libnet-1.0605/MANIFEST
|
||||
libnet-1.0605/Configure
|
||||
libnet-1.0605/Makefile.PL
|
||||
libnet-1.0605/ChangeLog
|
||||
libnet-1.0605/README
|
||||
|
||||
CPAN.pm: Going to build GBARR/libnet-1.0605.tar.gz
|
||||
|
||||
Checking for Socket...ok
|
||||
Checking for IO::Socket...ok
|
||||
Checking for Data::Dumper...ok
|
||||
Checking if your kit is complete...
|
||||
Looks good
|
||||
|
||||
This script will prompt you to enter hostnames that can be used as
|
||||
defaults for some of the modules in the libnet distribution.
|
||||
|
||||
To ensure that you do not enter an invalid hostname, I can perform a
|
||||
lookup on each hostname you enter. If your internet connection is via
|
||||
a dialup line then you may not want me to perform these lookups, as
|
||||
it will require you to be on-line.
|
||||
|
||||
Do you want me to perform hostname lookups (y|n) ? [yes] no
|
||||
|
||||
*** WARNING *** WARNING *** WARNING *** WARNING *** WARNING ***
|
||||
|
||||
OK I will not check if the hostnames you give are valid
|
||||
so be very cafeful
|
||||
|
||||
*** WARNING *** WARNING *** WARNING *** WARNING *** WARNING ***
|
||||
|
||||
The following questions all require a list of host names, separated
|
||||
with spaces. If you do not have a host available for any of the
|
||||
services, then enter a single space, followed by <CR>. To accept the
|
||||
default, hit <CR>
|
||||
|
||||
Enter a list of available NNTP hosts : [news]
|
||||
Enter a list of available SMTP hosts : [mailhost]
|
||||
Enter a list of available POP3 hosts : []
|
||||
Enter a list of available SNPP hosts : []
|
||||
Enter a list of available PH Hosts : [dirserv]
|
||||
Enter a list of available TIME Hosts : []
|
||||
Enter a list of available DAYTIME Hosts : []
|
||||
|
||||
Some companies access the internet via a firewall machine, and all
|
||||
FTP access must be dove via this machine.
|
||||
|
||||
If to gain FTP access to a machine beyond a firewall, you have to use
|
||||
a FTP proxy machine and login as username@remote.host then enter
|
||||
the name of that gateway here.
|
||||
|
||||
FTP proxy hostname : []
|
||||
|
||||
Normally when FTP needs a data connection the client tells the server
|
||||
a port to connect to, and the server initiates a connection to the client.
|
||||
|
||||
Some setups, in particular firewall setups, can/do not work using this
|
||||
protocol. In these situations the client must make the connection to the
|
||||
server, this is called a passive transfer.
|
||||
|
||||
Should all FTP connections via a firewall/proxy be passive (y|n) ? [no]
|
||||
|
||||
Should all other FTP connections be passive (y|n) ? [no]
|
||||
|
||||
What is your local internet domain name : [] tubby.org
|
||||
|
||||
If you specified some default hosts above, it is possible for me to
|
||||
do some basic tests when you run `make test'
|
||||
|
||||
This will cause `make test' to be quite a bit slower and, if your
|
||||
internet connection is via dialup, will require you to be on-line
|
||||
unless the hosts are local.
|
||||
|
||||
Do you want me to run these tests (y|n) ? [yes]
|
||||
|
||||
To allow Net::FTP to be tested I will need a hostname. This host
|
||||
should allow anonymous access and have a /pub directory
|
||||
|
||||
What host can I use : [] localhost
|
||||
|
||||
Writing libnet.cfg
|
||||
Writing Makefile for Net
|
||||
mkdir ./blib
|
||||
mkdir ./blib/lib
|
||||
mkdir ./blib/arch
|
||||
mkdir ./blib/arch/auto
|
||||
mkdir ./blib/arch/auto/Net
|
||||
mkdir ./blib/lib/auto
|
||||
mkdir ./blib/lib/auto/Net
|
||||
mkdir ./blib/man3
|
||||
cp Net/DummyInetd.pm ./blib/lib/Net/DummyInetd.pm
|
||||
cp Net/NNTP.pm ./blib/lib/Net/NNTP.pm
|
||||
cp Net/FTP/dataconn.pm ./blib/lib/Net/FTP/dataconn.pm
|
||||
cp Net/SNPP.pm ./blib/lib/Net/SNPP.pm
|
||||
cp Net/FTP/I.pm ./blib/lib/Net/FTP/I.pm
|
||||
cp Net/POP3.pm ./blib/lib/Net/POP3.pm
|
||||
cp Net/SMTP.pm ./blib/lib/Net/SMTP.pm
|
||||
cp Net/FTP/L.pm ./blib/lib/Net/FTP/L.pm
|
||||
cp FAQ.pod ./blib/lib/FAQ.pod
|
||||
cp Net/FTP.pm ./blib/lib/Net/FTP.pm
|
||||
cp Net/Time.pm ./blib/lib/Net/Time.pm
|
||||
cp Net/Cmd.pm ./blib/lib/Net/Cmd.pm
|
||||
cp Net/Domain.pm ./blib/lib/Net/Domain.pm
|
||||
cp Net/PH.pm ./blib/lib/Net/PH.pm
|
||||
cp Net/FTP/A.pm ./blib/lib/Net/FTP/A.pm
|
||||
cp libnet.cfg ./blib/arch/Net/Config.pm
|
||||
cp Net/Netrc.pm ./blib/lib/Net/Netrc.pm
|
||||
cp Net/FTP/E.pm ./blib/lib/Net/FTP/E.pm
|
||||
Manifying ./blib/man3/Net::Time.3
|
||||
Manifying ./blib/man3/FAQ.3
|
||||
/usr/bin/pod2man: FAQ.pod is missing required section: DESCRIPTION
|
||||
Manifying ./blib/man3/Net::Domain.3
|
||||
Manifying ./blib/man3/Net::PH.3
|
||||
Manifying ./blib/man3/Net::NNTP.3
|
||||
Manifying ./blib/man3/Net::DummyInetd.3
|
||||
Manifying ./blib/man3/Net::SNPP.3
|
||||
Manifying ./blib/man3/Net::FTP.3
|
||||
Manifying ./blib/man3/Net::POP3.3
|
||||
Manifying ./blib/man3/Net::Netrc.3
|
||||
Manifying ./blib/man3/Net::SMTP.3
|
||||
Manifying ./blib/man3/Net::Cmd.3
|
||||
/usr/bin/make -- OK
|
||||
Running make test
|
||||
PERL_DL_NONLAZY=1 /usr/bin/perl -I./blib/arch -I./blib/lib -I/usr/lib/perl5/i386-linux/5.00404 -I/usr/lib/perl5 -e 'use Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t
|
||||
t/ftp...............ok
|
||||
t/hostname..........ok
|
||||
t/nntp..............skipping test on this platform
|
||||
t/ph................skipping test on this platform
|
||||
t/require...........ok
|
||||
t/smtp..............skipping test on this platform
|
||||
All tests successful.
|
||||
Files=6, Tests=16, 3 secs ( 2.12 cusr 0.23 csys = 2.35 cpu)
|
||||
/usr/bin/make test -- OK
|
||||
Running make install
|
||||
Installing /usr/lib/perl5/site_perl/i386-linux/./Net/Config.pm
|
||||
Installing /usr/lib/perl5/site_perl/./Net/DummyInetd.pm
|
||||
Installing /usr/lib/perl5/site_perl/./Net/NNTP.pm
|
||||
Installing /usr/lib/perl5/site_perl/./Net/FTP/dataconn.pm
|
||||
Installing /usr/lib/perl5/site_perl/./Net/FTP/I.pm
|
||||
Installing /usr/lib/perl5/site_perl/./Net/FTP/L.pm
|
||||
Installing /usr/lib/perl5/site_perl/./Net/FTP/A.pm
|
||||
Installing /usr/lib/perl5/site_perl/./Net/FTP/E.pm
|
||||
Installing /usr/lib/perl5/site_perl/./Net/SNPP.pm
|
||||
Installing /usr/lib/perl5/site_perl/./Net/POP3.pm
|
||||
Installing /usr/lib/perl5/site_perl/./Net/SMTP.pm
|
||||
Installing /usr/lib/perl5/site_perl/./Net/FTP.pm
|
||||
Installing /usr/lib/perl5/site_perl/./Net/Time.pm
|
||||
Installing /usr/lib/perl5/site_perl/./Net/Cmd.pm
|
||||
Installing /usr/lib/perl5/site_perl/./Net/Domain.pm
|
||||
Installing /usr/lib/perl5/site_perl/./Net/PH.pm
|
||||
Installing /usr/lib/perl5/site_perl/./Net/Netrc.pm
|
||||
Installing /usr/lib/perl5/site_perl/./FAQ.pod
|
||||
Installing /usr/lib/perl5/man/man3/./Net::Time.3
|
||||
Installing /usr/lib/perl5/man/man3/./FAQ.3
|
||||
Installing /usr/lib/perl5/man/man3/./Net::Domain.3
|
||||
Installing /usr/lib/perl5/man/man3/./Net::PH.3
|
||||
Installing /usr/lib/perl5/man/man3/./Net::NNTP.3
|
||||
Installing /usr/lib/perl5/man/man3/./Net::DummyInetd.3
|
||||
Installing /usr/lib/perl5/man/man3/./Net::SNPP.3
|
||||
Installing /usr/lib/perl5/man/man3/./Net::FTP.3
|
||||
Installing /usr/lib/perl5/man/man3/./Net::POP3.3
|
||||
Installing /usr/lib/perl5/man/man3/./Net::Netrc.3
|
||||
Installing /usr/lib/perl5/man/man3/./Net::SMTP.3
|
||||
Installing /usr/lib/perl5/man/man3/./Net::Cmd.3
|
||||
Writing /usr/lib/perl5/site_perl/i386-linux/auto/Net/.packlist
|
||||
Appending installation info to /usr/lib/perl5/i386-linux/5.00404/perllocal.pod
|
||||
/usr/bin/make install -- OK
|
||||
Running make for KJALB/TermReadKey-2.12.tar.gz
|
||||
Issuing "/usr/bin/ftp -n"
|
||||
Local directory now /root/.cpan/sources/authors/id/KJALB
|
||||
GOT /root/.cpan/sources/authors/id/KJALB/TermReadKey-2.12.tar.gz
|
||||
TermReadKey-2.12/
|
||||
TermReadKey-2.12/Makefile.PL
|
||||
TermReadKey-2.12/ReadKey.pm
|
||||
TermReadKey-2.12/test.pl
|
||||
TermReadKey-2.12/Configure.pm
|
||||
TermReadKey-2.12/genchars.pl
|
||||
TermReadKey-2.12/README
|
||||
TermReadKey-2.12/ReadKey.xs
|
||||
TermReadKey-2.12/MANIFEST
|
||||
|
||||
CPAN.pm: Going to build KJALB/TermReadKey-2.12.tar.gz
|
||||
|
||||
Checking if your kit is complete...
|
||||
Looks good
|
||||
Writing Makefile for Term::ReadKey
|
||||
mkdir ./blib
|
||||
mkdir ./blib/lib
|
||||
mkdir ./blib/lib/Term
|
||||
mkdir ./blib/arch
|
||||
mkdir ./blib/arch/auto
|
||||
mkdir ./blib/arch/auto/Term
|
||||
mkdir ./blib/arch/auto/Term/ReadKey
|
||||
mkdir ./blib/lib/auto
|
||||
mkdir ./blib/lib/auto/Term
|
||||
mkdir ./blib/lib/auto/Term/ReadKey
|
||||
mkdir ./blib/man3
|
||||
cp ReadKey.pm ./blib/lib/Term/ReadKey.pm
|
||||
AutoSplitting Term::ReadKey (./blib/lib/auto/Term/ReadKey)
|
||||
/usr/bin/perl -I/usr/lib/perl5 genchars.pl
|
||||
|
||||
Writing termio/termios section of cchars.h... Done.
|
||||
Checking for sgtty...
|
||||
Sgtty NOT found.
|
||||
Writing sgtty section of cchars.h... Done.
|
||||
/usr/bin/perl -I/usr/lib/perl5/i386-linux/5.00404 -I/usr/lib/perl5 /usr/lib/perl5/ExtUtils/xsubpp -typemap /usr/lib/perl5/ExtUtils/typemap ReadKey.xs >ReadKey.tc && mv ReadKey.tc ReadKey.c
|
||||
Please specify prototyping behavior for ReadKey.xs (see perlxs manual)
|
||||
cc -c -Dbool=char -DHAS_BOOL -I/usr/local/include -O2 -DVERSION=\"2.12\" -DXS_VERSION=\"2.12\" -fpic -I/usr/lib/perl5/i386-linux/5.00404/CORE ReadKey.c
|
||||
In file included from /usr/include/sys/select.h:31,
|
||||
from ReadKey.xs:240:
|
||||
/usr/include/selectbits.h:30: warning: `__FD_ZERO' redefined
|
||||
/usr/include/asm/posix_types.h:65: warning: this is the location of the previous definition
|
||||
/usr/include/selectbits.h:35: warning: `__FD_SET' redefined
|
||||
/usr/include/asm/posix_types.h:45: warning: this is the location of the previous definition
|
||||
/usr/include/selectbits.h:40: warning: `__FD_CLR' redefined
|
||||
/usr/include/asm/posix_types.h:50: warning: this is the location of the previous definition
|
||||
/usr/include/selectbits.h:49: warning: `__FD_ISSET' redefined
|
||||
/usr/include/asm/posix_types.h:58: warning: this is the location of the previous definition
|
||||
In file included from ReadKey.xs:240:
|
||||
/usr/include/sys/select.h:60: warning: `FD_SET' redefined
|
||||
/usr/include/linux/time.h:59: warning: this is the location of the previous definition
|
||||
/usr/include/sys/select.h:61: warning: `FD_CLR' redefined
|
||||
/usr/include/linux/time.h:60: warning: this is the location of the previous definition
|
||||
/usr/include/sys/select.h:62: warning: `FD_ISSET' redefined
|
||||
/usr/include/linux/time.h:61: warning: this is the location of the previous definition
|
||||
/usr/include/sys/select.h:63: warning: `FD_ZERO' redefined
|
||||
/usr/include/linux/time.h:62: warning: this is the location of the previous definition
|
||||
In file included from ReadKey.xs:240:
|
||||
/usr/include/sys/select.h:45: syntax error before `fd_mask'
|
||||
/usr/include/sys/select.h:45: warning: empty declaration
|
||||
/usr/include/sys/select.h:48: conflicting types for `fd_set'
|
||||
/usr/include/linux/types.h:9: previous declaration of `fd_set'
|
||||
/usr/include/sys/select.h:73: conflicting types for `__select'
|
||||
/usr/include/sys/time.h:55: previous declaration of `__select'
|
||||
/usr/include/sys/select.h:76: conflicting types for `select'
|
||||
/usr/include/sys/time.h:58: previous declaration of `select'
|
||||
ReadKey.xs: In function `selectfile':
|
||||
ReadKey.xs:1441: `__fd_mask' undeclared (first use this function)
|
||||
ReadKey.xs:1441: (Each undeclared identifier is reported only once
|
||||
ReadKey.xs:1441: for each function it appears in.)
|
||||
make: *** [ReadKey.o] Error 1
|
||||
/usr/bin/make -- NOT OK
|
||||
Running make test
|
||||
Oops, make had returned bad status
|
||||
Running make install
|
||||
Oops, make had returned bad status
|
||||
Running make for ILYAZ/modules/Term-ReadLine-Perl-0.9904.tar.gz
|
||||
Issuing "/usr/bin/ftp -n"
|
||||
Local directory now /root/.cpan/sources/authors/id/ILYAZ/modules
|
||||
GOT /root/.cpan/sources/authors/id/ILYAZ/modules/Term-ReadLine-Perl-0.9904.tar.gz
|
||||
Term-ReadLine-Perl-0.9904/
|
||||
Term-ReadLine-Perl-0.9904/CHANGES
|
||||
Term-ReadLine-Perl-0.9904/Makefile.PL
|
||||
Term-ReadLine-Perl-0.9904/MANIFEST
|
||||
Term-ReadLine-Perl-0.9904/ReadLine/
|
||||
Term-ReadLine-Perl-0.9904/ReadLine/Perl.pm
|
||||
Term-ReadLine-Perl-0.9904/ReadLine/readline.pm
|
||||
Term-ReadLine-Perl-0.9904/README
|
||||
Term-ReadLine-Perl-0.9904/test.pl
|
||||
|
||||
CPAN.pm: Going to build ILYAZ/modules/Term-ReadLine-Perl-0.9904.tar.gz
|
||||
|
||||
Checking if your kit is complete...
|
||||
Looks good
|
||||
Writing Makefile for Term::ReadLine
|
||||
mkdir ./blib
|
||||
mkdir ./blib/lib
|
||||
mkdir ./blib/lib/Term
|
||||
mkdir ./blib/arch
|
||||
mkdir ./blib/arch/auto
|
||||
mkdir ./blib/arch/auto/Term
|
||||
mkdir ./blib/arch/auto/Term/ReadLine
|
||||
mkdir ./blib/lib/auto
|
||||
mkdir ./blib/lib/auto/Term
|
||||
mkdir ./blib/lib/auto/Term/ReadLine
|
||||
cp ReadLine/Perl.pm ./blib/lib/Term/ReadLine/Perl.pm
|
||||
cp ReadLine/readline.pm ./blib/lib/Term/ReadLine/readline.pm
|
||||
/usr/bin/make -- OK
|
||||
Running make test
|
||||
PERL_DL_NONLAZY=1 /usr/bin/perl -I./blib/arch -I./blib/lib -I/usr/lib/perl5/i386-linux/5.00404 -I/usr/lib/perl5 test.pl
|
||||
Features present: preput 1 tkRunning 1 appname 1 getHistory 1 ornaments 1 attribs 1 newTTY 1 autohistory 1 addHistory 1 minline 1 setHistory 1
|
||||
Can't ioctl TIOCGETP: Invalid argument
|
||||
Consider installing Term::ReadKey from CPAN site nearby
|
||||
at http://www.perl.com/CPAN
|
||||
Or use
|
||||
perl -MCPAN -e shell
|
||||
to reach CPAN. Falling back to 'stty'.
|
||||
If you do not want to see this warning, set PERL_READLINE_NOWARN
|
||||
in your environment.
|
||||
Enter arithmetic or Perl expression: exit
|
||||
/usr/bin/make test -- OK
|
||||
Running make install
|
||||
Installing /usr/lib/perl5/site_perl/./Term/ReadLine/Perl.pm
|
||||
Installing /usr/lib/perl5/site_perl/./Term/ReadLine/readline.pm
|
||||
Writing /usr/lib/perl5/site_perl/i386-linux/auto/Term/ReadLine/.packlist
|
||||
Appending installation info to /usr/lib/perl5/i386-linux/5.00404/perllocal.pod
|
||||
/usr/bin/make install -- OK
|
||||
Running make for ULPFR/CPAN-WAIT-0.24.tar.gz
|
||||
Issuing "/usr/bin/ftp -n"
|
||||
Local directory now /root/.cpan/sources/authors/id/ULPFR
|
||||
GOT /root/.cpan/sources/authors/id/ULPFR/CPAN-WAIT-0.24.tar.gz
|
||||
CPAN-WAIT-0.24/
|
||||
CPAN-WAIT-0.24/ChangeLog
|
||||
CPAN-WAIT-0.24/Makefile.PL
|
||||
CPAN-WAIT-0.24/lib/
|
||||
CPAN-WAIT-0.24/lib/WAIT/
|
||||
CPAN-WAIT-0.24/lib/WAIT/Client.pm
|
||||
CPAN-WAIT-0.24/lib/CPAN/
|
||||
CPAN-WAIT-0.24/lib/CPAN/WAIT.pm
|
||||
CPAN-WAIT-0.24/README
|
||||
CPAN-WAIT-0.24/t/
|
||||
CPAN-WAIT-0.24/t/basic.t
|
||||
CPAN-WAIT-0.24/MANIFEST
|
||||
|
||||
CPAN.pm: Going to build ULPFR/CPAN-WAIT-0.24.tar.gz
|
||||
|
||||
Checking if your kit is complete...
|
||||
Looks good
|
||||
Writing Makefile for CPAN::WAIT
|
||||
mkdir ./blib
|
||||
mkdir ./blib/lib
|
||||
mkdir ./blib/lib/CPAN
|
||||
mkdir ./blib/arch
|
||||
mkdir ./blib/arch/auto
|
||||
mkdir ./blib/arch/auto/CPAN
|
||||
mkdir ./blib/arch/auto/CPAN/WAIT
|
||||
mkdir ./blib/lib/auto
|
||||
mkdir ./blib/lib/auto/CPAN
|
||||
mkdir ./blib/lib/auto/CPAN/WAIT
|
||||
mkdir ./blib/man3
|
||||
cp lib/WAIT/Client.pm ./blib/lib/WAIT/Client.pm
|
||||
cp lib/CPAN/WAIT.pm ./blib/lib/CPAN/WAIT.pm
|
||||
Manifying ./blib/man3/CPAN::WAIT.3
|
||||
/usr/bin/make -- OK
|
||||
Running make test
|
||||
PERL_DL_NONLAZY=1 /usr/bin/perl -I./blib/arch -I./blib/lib -I/usr/lib/perl5/i386-linux/5.00404 -I/usr/lib/perl5 -e 'use Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t
|
||||
t/basic.............ok
|
||||
All tests successful.
|
||||
Files=1, Tests=5, 3 secs ( 0.90 cusr 0.08 csys = 0.98 cpu)
|
||||
/usr/bin/make test -- OK
|
||||
Running make install
|
||||
Installing /usr/lib/perl5/site_perl/./CPAN/WAIT.pm
|
||||
Installing /usr/lib/perl5/site_perl/./WAIT/Client.pm
|
||||
Installing /usr/lib/perl5/man/man3/./CPAN::WAIT.3
|
||||
Writing /usr/lib/perl5/site_perl/i386-linux/auto/CPAN/WAIT/.packlist
|
||||
Appending installation info to /usr/lib/perl5/i386-linux/5.00404/perllocal.pod
|
||||
/usr/bin/make install -- OK
|
||||
Running make for ANDK/CPAN-1.40.tar.gz
|
||||
Issuing "/usr/bin/ftp -n"
|
||||
Local directory now /root/.cpan/sources/authors/id/ANDK
|
||||
GOT /root/.cpan/sources/authors/id/ANDK/CPAN-1.40.tar.gz
|
||||
CPAN-1.40/
|
||||
CPAN-1.40/lib/
|
||||
CPAN-1.40/lib/CPAN.pm
|
||||
CPAN-1.40/lib/CPAN/
|
||||
CPAN-1.40/lib/CPAN/Nox.pm
|
||||
CPAN-1.40/lib/CPAN/FirstTime.pm
|
||||
CPAN-1.40/lib/Bundle/
|
||||
CPAN-1.40/lib/Bundle/CPAN.pm
|
||||
CPAN-1.40/Todo
|
||||
CPAN-1.40/t/
|
||||
CPAN-1.40/t/loadme.t
|
||||
CPAN-1.40/MANIFEST
|
||||
CPAN-1.40/Makefile.PL
|
||||
CPAN-1.40/Changes
|
||||
CPAN-1.40/README
|
||||
|
||||
CPAN.pm: Going to build ANDK/CPAN-1.40.tar.gz
|
||||
|
||||
Checking if your kit is complete...
|
||||
Looks good
|
||||
Writing Makefile for CPAN
|
||||
mkdir ./blib
|
||||
mkdir ./blib/lib
|
||||
mkdir ./blib/arch
|
||||
mkdir ./blib/arch/auto
|
||||
mkdir ./blib/arch/auto/CPAN
|
||||
mkdir ./blib/lib/auto
|
||||
mkdir ./blib/lib/auto/CPAN
|
||||
mkdir ./blib/man3
|
||||
cp lib/CPAN/FirstTime.pm ./blib/lib/CPAN/FirstTime.pm
|
||||
cp lib/CPAN.pm ./blib/lib/./CPAN.pm
|
||||
cp lib/Bundle/CPAN.pm ./blib/lib/Bundle/CPAN.pm
|
||||
cp lib/CPAN/Nox.pm ./blib/lib/CPAN/Nox.pm
|
||||
Manifying ./blib/man3/CPAN::FirstTime.3
|
||||
Manifying ./blib/man3/CPAN.3
|
||||
Manifying ./blib/man3/Bundle::CPAN.3
|
||||
Manifying ./blib/man3/CPAN::Nox.3
|
||||
/usr/bin/make -- OK
|
||||
Running make test
|
||||
PERL_DL_NONLAZY=1 /usr/bin/perl -I./blib/arch -I./blib/lib -I/usr/lib/perl5/i386-linux/5.00404 -I/usr/lib/perl5 -e 'use Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t
|
||||
t/loadme............ok
|
||||
All tests successful.
|
||||
Files=1, Tests=1, 0 secs ( 0.69 cusr 0.06 csys = 0.75 cpu)
|
||||
/usr/bin/make test -- OK
|
||||
Running make install
|
||||
Installing /usr/lib/perl5/./CPAN/FirstTime.pm
|
||||
Installing /usr/lib/perl5/./CPAN/Nox.pm
|
||||
Installing /usr/lib/perl5/./CPAN.pm
|
||||
Installing /usr/lib/perl5/./Bundle/CPAN.pm
|
||||
Installing /usr/lib/perl5/man/man3/./CPAN::FirstTime.3
|
||||
Installing /usr/lib/perl5/man/man3/./CPAN.3
|
||||
Installing /usr/lib/perl5/man/man3/./Bundle::CPAN.3
|
||||
Installing /usr/lib/perl5/man/man3/./CPAN::Nox.3
|
||||
Writing /usr/lib/perl5/i386-linux/5.00404/auto/CPAN/.packlist
|
||||
Appending installation info to /usr/lib/perl5/i386-linux/5.00404/perllocal.pod
|
||||
/usr/bin/make install -- OK
|
||||
|
||||
cpan> q
|
||||
Lockfile removed.
|
||||
</pre>
|
||||
<hr>
|
||||
<h5>Version: $Id$</h5>
|
||||
</body>
|
||||
</html>
|
0
html/index.html
Normal file
0
html/index.html
Normal file
0
html/install.html
Normal file
0
html/install.html
Normal file
0
html/perl.html
Normal file
0
html/perl.html
Normal file
@ -14,10 +14,11 @@ use DXVars;
|
||||
use Carp;
|
||||
|
||||
use strict;
|
||||
use vars qw(%bands %regions $bandsfn %valid);
|
||||
use vars qw(%bands %regions %aliases $bandsfn %valid);
|
||||
|
||||
%bands = (); # the 'raw' band data
|
||||
%regions = (); # list of regions for shortcuts eg vhf ssb
|
||||
%aliases = (); # list of aliases
|
||||
$bandsfn = "$main::data/bands.pl";
|
||||
|
||||
%valid = (
|
||||
@ -47,6 +48,8 @@ sub load
|
||||
sub get
|
||||
{
|
||||
my $call = shift;
|
||||
my $ncall = $aliases{$call};
|
||||
$call = $ncall if $ncall;
|
||||
return $bands{$call};
|
||||
}
|
||||
|
||||
@ -62,6 +65,25 @@ sub get_keys
|
||||
return keys(%bands);
|
||||
}
|
||||
|
||||
# get all the region keys
|
||||
sub get_region_keys
|
||||
{
|
||||
return keys(%regions);
|
||||
}
|
||||
|
||||
# get all the alias keys
|
||||
sub get_alias_keys
|
||||
{
|
||||
return keys(%aliases);
|
||||
}
|
||||
|
||||
# get a region
|
||||
sub get_region
|
||||
{
|
||||
my $reg = shift;
|
||||
return $regions{$reg};
|
||||
}
|
||||
|
||||
# get all the frequency pairs associated with the band and sub-band offered
|
||||
# the band can be a region, sub-band can be missing
|
||||
#
|
||||
|
128
perl/CmdAlias.pm
Normal file
128
perl/CmdAlias.pm
Normal file
@ -0,0 +1,128 @@
|
||||
#
|
||||
# This package simply takes a string, looks it up in a
|
||||
# hash and returns the value.
|
||||
#
|
||||
# The hash is produced by reading the Alias file in both command directories
|
||||
# which contain entries for the %cmd hash. This file is in different forms in
|
||||
# the two directories:-
|
||||
#
|
||||
# in the main cmd directory it has entries like:-
|
||||
#
|
||||
# package CmdAlias;
|
||||
#
|
||||
# %alias = (
|
||||
# sp => 'send private',
|
||||
# s/p => 'send private',
|
||||
# sb => 'send bulletin',
|
||||
# );
|
||||
#
|
||||
# for the local cmd directory you should do it like this:-
|
||||
#
|
||||
# package CmdAlias;
|
||||
#
|
||||
# $alias{'s/p'} = 'send private';
|
||||
# $alias{'s/b'} = 'send bulletin';
|
||||
#
|
||||
# This will allow you to override as well as add to the basic set of commands
|
||||
#
|
||||
# This system works in same way as the commands, if the modification times of
|
||||
# the two files have changed then they are re-read.
|
||||
#
|
||||
# Copyright (c) 1998 Dirk Koopman G1TLH
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
package CmdAlias;
|
||||
|
||||
use DXVars;
|
||||
use DXDebug;
|
||||
use Carp;
|
||||
|
||||
use strict;
|
||||
|
||||
use vars qw(%alias $cmd_mtime $localcmd_mtime $fn $localfn);
|
||||
|
||||
%alias = ();
|
||||
|
||||
$cmd_mtime = 1;
|
||||
$localcmd_mtime = 1;
|
||||
|
||||
$fn = "$main::cmd/Aliases";
|
||||
$localfn = "$main::localcmd/Aliases";
|
||||
|
||||
sub checkfiles
|
||||
{
|
||||
my $m = -M $fn;
|
||||
# print "m: $m oldmtime: $cmd_mtime\n";
|
||||
if ($m < $cmd_mtime) {
|
||||
do $fn;
|
||||
confess $@ if $@;
|
||||
$cmd_mtime = $m;
|
||||
$localcmd_mtime = 0;
|
||||
}
|
||||
if (-e $localfn) {
|
||||
$m = -M $localfn;
|
||||
if ($m < $localcmd_mtime) {
|
||||
do $localfn;
|
||||
confess $@ if $@;
|
||||
$localcmd_mtime = $m;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# called as CmdAlias::get_cmd("string");
|
||||
#
|
||||
sub get_cmd
|
||||
{
|
||||
my $s = shift;
|
||||
my ($let) = unpack "A1", $s;
|
||||
my ($i, $n, $ref);
|
||||
|
||||
$let = lc $let;
|
||||
|
||||
checkfiles();
|
||||
|
||||
$ref = $alias{$let};
|
||||
return undef if !$ref;
|
||||
|
||||
$n = @{$ref};
|
||||
for ($i = 0; $i < $n; $i += 3) {
|
||||
if ($s =~ /$ref->[$i]/i) {
|
||||
my $ri = qq{\$ro = "$ref->[$i+1]"};
|
||||
my $ro;
|
||||
eval $ri;
|
||||
return $ro;
|
||||
}
|
||||
}
|
||||
return undef;
|
||||
}
|
||||
|
||||
#
|
||||
# called as CmdAlias::get_hlp("string");
|
||||
#
|
||||
sub get_hlp
|
||||
{
|
||||
my $s = shift;
|
||||
my ($let) = unpack "A1", $s;
|
||||
my ($i, $n, $ref);
|
||||
|
||||
$let = lc $let;
|
||||
|
||||
checkfiles();
|
||||
|
||||
$ref = $alias{$let};
|
||||
return undef if !$ref;
|
||||
|
||||
$n = @{$ref};
|
||||
for ($i = 0; $i < $n; $i += 3) {
|
||||
if ($s =~ /$ref->[$i]/i) {
|
||||
my $ri = qq{$ref->[$i+2]};
|
||||
return $ri;
|
||||
}
|
||||
}
|
||||
return undef;
|
||||
}
|
||||
|
||||
|
@ -60,6 +60,7 @@ use vars qw(%channels %valid);
|
||||
lang => '0,Language',
|
||||
func => '9,Function',
|
||||
loc => '9,Local Vars', # used by func to store local variables in
|
||||
lastread => '9,Last Msg Read',
|
||||
);
|
||||
|
||||
# create a new channel object [$obj = DXChannel->new($call, $msg_conn_obj, $user_obj)]
|
||||
|
@ -17,15 +17,18 @@ use DXUser;
|
||||
use DXVars;
|
||||
use DXDebug;
|
||||
use DXM;
|
||||
use CmdAlias;
|
||||
use FileHandle;
|
||||
use Carp;
|
||||
|
||||
use strict;
|
||||
use vars qw(%Cache %cmd_cache $errstr);
|
||||
use vars qw(%Cache %cmd_cache $errstr %aliases);
|
||||
|
||||
%Cache = (); # cache of dynamically loaded routine's mod times
|
||||
%cmd_cache = (); # cache of short names
|
||||
$errstr = (); # error string from eval
|
||||
%aliases = (); # aliases for (parts of) commands
|
||||
|
||||
#
|
||||
# obtain a new connection this is derived from dxchannel
|
||||
#
|
||||
@ -110,6 +113,12 @@ sub normal
|
||||
|
||||
my ($path, $fcmd);
|
||||
|
||||
# alias it if possible
|
||||
my $acmd = CmdAlias::get_cmd($cmd);
|
||||
if ($acmd) {
|
||||
($cmd, $args) = "$acmd $args" =~ /^([\w\/]+)\s*(.*)/o;
|
||||
}
|
||||
|
||||
# first expand out the entry to a command
|
||||
($path, $fcmd) = search($main::localcmd, $cmd, "pl");
|
||||
($path, $fcmd) = search($main::cmd, $cmd, "pl") if !$path || !$fcmd;
|
||||
@ -386,9 +395,8 @@ sub find_cmd_name {
|
||||
if (!open $fh, $filename) {
|
||||
$errstr = "Syserr: can't open '$filename' $!";
|
||||
};
|
||||
my $old = $fh->input_record_separator(undef);
|
||||
local $/ = undef;
|
||||
my $sub = <$fh>;
|
||||
$fh->input_record_separator($old);
|
||||
close $fh;
|
||||
|
||||
#wrap the code into a subroutine inside our unique package
|
||||
|
35
perl/DXLog.pm
Normal file
35
perl/DXLog.pm
Normal file
@ -0,0 +1,35 @@
|
||||
#
|
||||
# the general purpose logging machine
|
||||
#
|
||||
# This module is designed to allow you to log stuff in specific places
|
||||
# and will rotate logs on a monthly, weekly or daily basis.
|
||||
#
|
||||
# The idea is that you give it a prefix which is a directory and then
|
||||
# the system will log stuff to a directory structure which looks like:-
|
||||
#
|
||||
# daily:-
|
||||
# spots/1998/<julian day no>[.<optional suffix>]
|
||||
#
|
||||
# weekly :-
|
||||
# log/1998/<week no>[.<optional suffix>]
|
||||
#
|
||||
# monthly
|
||||
# wwv/1998/<month>[.<optional suffix>]
|
||||
#
|
||||
# Routines are provided to read these files in and to append to them
|
||||
#
|
||||
# Copyright (c) - 1998 Dirk Koopman G1TLH
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
package DXLog;
|
||||
|
||||
use FileHandle;
|
||||
use DXVars;
|
||||
use DXDebug;
|
||||
use DXUtil;
|
||||
use Julian;
|
||||
use Carp;
|
||||
|
||||
use strict;
|
@ -167,6 +167,8 @@ sub process
|
||||
push @{$ref->{gotit}}, $f[2]; # mark this up as being received
|
||||
$ref->store($ref->{lines});
|
||||
add_dir($ref);
|
||||
my $dxchan = DXChannel->get($ref->{to});
|
||||
$dxchan->send("New mail has arrived for you") if $dxchan;
|
||||
}
|
||||
$ref->stop_msg($self);
|
||||
queue_msg();
|
||||
@ -633,6 +635,8 @@ sub do_send_stuff
|
||||
$ref->add_dir();
|
||||
#push @out, $self->msg('sendsent', $to);
|
||||
push @out, "msgno $ref->{msgno} sent to $to";
|
||||
my $dxchan = DXChannel->get(uc $to);
|
||||
$dxchan->send("New mail has arrived for you") if $dxchan;
|
||||
}
|
||||
}
|
||||
delete $loc->{lines};
|
||||
@ -658,6 +662,15 @@ sub do_send_stuff
|
||||
return (1, @out);
|
||||
}
|
||||
|
||||
# return the standard directory line for this ref
|
||||
sub dir
|
||||
{
|
||||
my $ref = shift;
|
||||
return sprintf "%6d%s%s%5d %8.8s %8.8s %-6.6s %5.5s %-30.30s",
|
||||
$ref->msgno, $ref->read ? '-' : ' ', $ref->private ? 'p' : ' ', $ref->size,
|
||||
$ref->to, $ref->from, cldate($ref->t), ztime($ref->t), $ref->subject;
|
||||
}
|
||||
|
||||
no strict;
|
||||
sub AUTOLOAD
|
||||
{
|
||||
|
@ -262,6 +262,7 @@ sub normal
|
||||
if ($pcno == 22) {last SWITCH;}
|
||||
|
||||
if ($pcno == 23 || $pcno == 27) { # WWV info
|
||||
Geomag::update(@field[1..$#field]);
|
||||
last SWITCH;
|
||||
}
|
||||
|
||||
@ -301,6 +302,7 @@ sub normal
|
||||
|
||||
if ($pcno == 41) { # user info
|
||||
# add this station to the user database, if required
|
||||
$field[1] =~ s/-\d+$//o;
|
||||
my $user = DXUser->get_current($field[1]);
|
||||
$user = DXUser->new($field[1]) if !$user;
|
||||
|
||||
|
@ -216,9 +216,9 @@ sub pc38
|
||||
sub pc39
|
||||
{
|
||||
my ($call, $reason) = @_;
|
||||
my $hops = get_hops(21);
|
||||
my $hops = get_hops(39);
|
||||
$reason = "Gone." if !$reason;
|
||||
return "PC39^$call^$reason^";
|
||||
return "PC39^$call^$reason^$hops^";
|
||||
}
|
||||
|
||||
# cue up bulletin or file for transfer
|
||||
|
@ -45,6 +45,7 @@ $filename = undef;
|
||||
annok => '9,Announces?,yesno', # accept his announces?
|
||||
reg => '0,Registered?,yesno', # is this user registered?
|
||||
lang => '0,Language',
|
||||
hmsgno => '0,Highest Msgno',
|
||||
);
|
||||
|
||||
no strict;
|
||||
@ -71,8 +72,8 @@ sub init
|
||||
{
|
||||
my ($pkg, $fn) = @_;
|
||||
|
||||
die "need a filename in User" if !$fn;
|
||||
$dbm = tie (%u, MLDBM, $fn, O_CREAT|O_RDWR, 0666) or die "can't open user file: $fn ($!)";
|
||||
confess "need a filename in User" if !$fn;
|
||||
$dbm = tie (%u, MLDBM, $fn, O_CREAT|O_RDWR, 0666) or confess "can't open user file: $fn ($!)";
|
||||
$filename = $fn;
|
||||
}
|
||||
|
||||
@ -94,8 +95,11 @@ sub finish
|
||||
|
||||
sub new
|
||||
{
|
||||
my ($pkg, $call) = @_;
|
||||
die "can't create existing call $call in User\n!" if $u{$call};
|
||||
my $pkg = shift;
|
||||
my $call = uc shift;
|
||||
$call =~ s/-\d+//o;
|
||||
|
||||
confess "can't create existing call $call in User\n!" if $u{$call};
|
||||
|
||||
my $self = {};
|
||||
$self->{call} = $call;
|
||||
@ -115,7 +119,7 @@ sub get
|
||||
{
|
||||
my $pkg = shift;
|
||||
my $call = uc shift;
|
||||
$call =~ s/-\d+//o; # strip ssid
|
||||
$call =~ s/-\d+$//o; # strip ssid
|
||||
return $u{$call};
|
||||
}
|
||||
|
||||
@ -140,7 +144,7 @@ sub get_current
|
||||
{
|
||||
my $pkg = shift;
|
||||
my $call = uc shift;
|
||||
$call =~ s/-\d+//o; # strip ssid
|
||||
$call =~ s/-\d+$//o; # strip ssid
|
||||
|
||||
my $dxchan = DXChannel->get($call);
|
||||
return $dxchan->user if $dxchan;
|
||||
|
124
perl/Geomag.pm
Normal file
124
perl/Geomag.pm
Normal file
@ -0,0 +1,124 @@
|
||||
#!/usr/bin/perl
|
||||
#
|
||||
# The geomagnetic information and calculation module
|
||||
#
|
||||
# Copyright (c) 1998 - Dirk Koopman G1TLH
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
package Geomag;
|
||||
|
||||
use DXVars;
|
||||
use DXUtil;
|
||||
use FileHandle;
|
||||
use Carp;
|
||||
|
||||
use strict;
|
||||
use vars qw($date $sfi $k $a $forecast @allowed @denied);
|
||||
|
||||
$date = 0; # the unix time of the WWV (notional)
|
||||
$sfi = 0; # the current SFI value
|
||||
$k = 0; # the current K value
|
||||
$a = 0; # the current A value
|
||||
$forecast = ""; # the current geomagnetic forecast
|
||||
@allowed = (); # if present only these callsigns are regarded as valid WWV updators
|
||||
@denied = (); # if present ignore any wwv from these callsigns
|
||||
my $dirprefix = "$main::data/wwv";
|
||||
my $param = "$dirprefix/param";
|
||||
|
||||
sub init
|
||||
{
|
||||
mkdir $dirprefix, 0777 if !-e $dirprefix;
|
||||
do "$param" if -e "$param";
|
||||
confess $@ if $@;
|
||||
}
|
||||
|
||||
# write the current data away
|
||||
sub store
|
||||
{
|
||||
my $fh = new FileHandle;
|
||||
open $fh, "> $param" or confess "can't open $param $!";
|
||||
print $fh "# Geomagnetic data parameter file last mod:", scalar gmtime, "\n";
|
||||
print $fh "\$date = $date;\n";
|
||||
print $fh "\$sfi = $sfi;\n";
|
||||
print $fh "\$a = $a;\n";
|
||||
print $fh "\$k = $k;\n";
|
||||
print $fh "\$forecast = '$forecast';\n";
|
||||
print $fh "\@denied = qw(", join(' ', @denied), ");\n" if @denied > 0;
|
||||
print $fh "\@allowed = qw(", join(' ', @allowed), ");\n" if @allowed > 0;
|
||||
close $fh;
|
||||
}
|
||||
|
||||
# update WWV info in one go (usually from a PC23)
|
||||
sub update
|
||||
{
|
||||
my ($mydate, $mytime, $mysfi, $mya, $myk, $myforecast, $from, $node) = @_;
|
||||
if ((@allowed && grep {$_ eq $from} @allowed) ||
|
||||
(@denied && !grep {$_ eq $from} @denied) ||
|
||||
(@allowed == 0 && @denied == 0)) {
|
||||
|
||||
my $trydate = cltounix($mydate, sprintf("%02d18Z", $mytime));
|
||||
if ($trydate >= $date) {
|
||||
$sfi = 0 + $mysfi;
|
||||
$k = 0 + $myk;
|
||||
$a = 0 + $mya;
|
||||
$forecast = $myforecast;
|
||||
store();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# add or substract an allowed callsign
|
||||
sub allowed
|
||||
{
|
||||
my $flag = shift;
|
||||
if ($flag eq '+') {
|
||||
push @allowed, map {uc $_} @_;
|
||||
} else {
|
||||
my $c;
|
||||
foreach $c (@_) {
|
||||
@allowed = map {$_ ne uc $c} @allowed;
|
||||
}
|
||||
}
|
||||
store();
|
||||
}
|
||||
|
||||
# add or substract a denied callsign
|
||||
sub denied
|
||||
{
|
||||
my $flag = shift;
|
||||
if ($flag eq '+') {
|
||||
push @denied, map {uc $_} @_;
|
||||
} else {
|
||||
my $c;
|
||||
foreach $c (@_) {
|
||||
@denied = map {$_ ne uc $c} @denied;
|
||||
}
|
||||
}
|
||||
store();
|
||||
}
|
||||
|
||||
# accessor routines (when I work how symbolic refs work I might use one of those!)
|
||||
sub sfi
|
||||
{
|
||||
@_ ? $sfi = shift : $sfi ;
|
||||
}
|
||||
|
||||
sub k
|
||||
{
|
||||
@_ ? $k = shift : $k ;
|
||||
}
|
||||
|
||||
sub a
|
||||
{
|
||||
@_ ? $a = shift : $a ;
|
||||
}
|
||||
|
||||
sub forecast
|
||||
{
|
||||
@_ ? $forecast = shift : $forecast ;
|
||||
}
|
||||
|
||||
1;
|
||||
__END__;
|
@ -146,9 +146,9 @@ sub extract
|
||||
# remove any /0-9 /P /A /M /MM /AM suffixes etc
|
||||
if (@parts > 1) {
|
||||
$p = $parts[$#parts];
|
||||
pop @parts if $p =~ /^(\d+|[PABM]|AM|MM|BCN|SIX)$/o;
|
||||
pop @parts if $p =~ /^(\d+|[PABM]|AM|MM|BCN|SIX|Q\w+)$/o;
|
||||
$p = $parts[$#parts];
|
||||
pop @parts if $p =~ /^(\d+|[PABM]|AM|MM|BCN|SIX)$/o;
|
||||
pop @parts if $p =~ /^(\d+|[PABM]|AM|MM|BCN|SIX|Q\w+)$/o;
|
||||
|
||||
# can we resolve them by direct lookup
|
||||
foreach $p (@parts) {
|
||||
|
@ -27,6 +27,11 @@ $defaultspots = 10; # normal number of spots to return
|
||||
$maxdays = 35; # normal maximum no of days to go back
|
||||
$dirprefix = "$main::data/spots";
|
||||
|
||||
sub init
|
||||
{
|
||||
mkdir "$dirprefix", 0777 if !-e "$dirprefix";
|
||||
}
|
||||
|
||||
sub prefix
|
||||
{
|
||||
return $dirprefix;
|
||||
|
@ -59,6 +59,8 @@ sub cease
|
||||
if (defined $conn && $sendz) {
|
||||
$conn->send_now("Z$call|bye...\n");
|
||||
}
|
||||
STDOUT->flush;
|
||||
sleep(2);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
@ -201,6 +203,20 @@ $SIG{'HUP'} = \&sig_term;
|
||||
$SIG{'CHLD'} = \&sig_chld;
|
||||
|
||||
$conn = Msg->connect("$clusteraddr", $clusterport, \&rec_socket);
|
||||
if (! $conn) {
|
||||
if (-r "$data/offline") {
|
||||
open IN, "$data/offline" or die;
|
||||
while (<IN>) {
|
||||
s/\n/\r/og if $mode == 1;
|
||||
print;
|
||||
}
|
||||
close IN;
|
||||
} else {
|
||||
print "Sorry, the cluster $mycall is currently off-line", $mynl;
|
||||
}
|
||||
cease(0);
|
||||
}
|
||||
|
||||
$conn->send_now("A$call|$connsort");
|
||||
Msg->set_event_handler(\*STDIN, "read" => \&rec_stdin);
|
||||
|
||||
|
@ -35,13 +35,14 @@ use DXCron;
|
||||
use DXConnect;
|
||||
use Prefix;
|
||||
use Bands;
|
||||
use Geomag;
|
||||
use Carp;
|
||||
|
||||
package main;
|
||||
|
||||
@inqueue = (); # the main input queue, an array of hashes
|
||||
$systime = 0; # the time now (in seconds)
|
||||
$version = 1.1; # the version no of the software
|
||||
$version = 1.2; # the version no of the software
|
||||
|
||||
# handle disconnections
|
||||
sub disconnect
|
||||
@ -195,6 +196,12 @@ $SIG{'HUP'} = 'IGNORE';
|
||||
# initialise the protocol engine
|
||||
DXProt->init();
|
||||
|
||||
# initialise the Geomagnetic data engine
|
||||
Geomag->init();
|
||||
|
||||
# initial the Spot stuff
|
||||
Spot->init();
|
||||
|
||||
# put in a DXCluster node for us here so we can add users and take them away
|
||||
DXNode->new(0, $mycall, 0, 1, $DXProt::myprot_version);
|
||||
|
||||
|
28
perl/talias.pl
Executable file
28
perl/talias.pl
Executable file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/perl
|
||||
#
|
||||
# alias testing tool
|
||||
#
|
||||
|
||||
# search local then perl directories
|
||||
BEGIN {
|
||||
# root of directory tree for this system
|
||||
$root = "/spider";
|
||||
$root = $ENV{'DXSPIDER_ROOT'} if $ENV{'DXSPIDER_ROOT'};
|
||||
|
||||
unshift @INC, "$root/perl"; # this IS the right way round!
|
||||
unshift @INC, "$root/local";
|
||||
}
|
||||
|
||||
use DXVars;
|
||||
use CmdAlias;
|
||||
|
||||
use Carp;
|
||||
|
||||
while (<>) {
|
||||
chomp;
|
||||
last if /^q$/;
|
||||
|
||||
$o1 = CmdAlias::get_cmd($_);
|
||||
$o2 = CmdAlias::get_hlp($_);
|
||||
print "in: $_ cmd: $o1 hlp: $o2\n";
|
||||
}
|
Loading…
Reference in New Issue
Block a user