Mailing List Archive

Perlbug 1.05
Here's perlbug 1.05. This isn't wrapped, as now it can easily be done
automatically via makePL, and MailUtils, etc., aren't included as Graham
hasn't release fully patched versions yet. You'll need NetTools,
MailTools, and Domainname, especially with the latest patch to MailTools.

Of course, since perlbug is designed to go into the distribution,
NetTools, etcetra, must follow along.

Tom, hopefully you'll find this version a bit more to your liking. It's
not perfect perlstyle in all places, but it seems good enough.


---------------------------
#!/usr/bin/perl


use Config;
use Mail::Send;
use Mail::Util;
use Getopt::Std;

use strict;

sub paraprint;


my($Version) = "1.05";

my( $file, $cc, $address, $perlbug, $testaddress, $filename,
$subject, $from, $verbose, $ed,
$fh, $me, $Is_VMS, $msg, $body, $andcc );

Init();

if($::opt_h) { Help(); exit; }

Query();
Edit();
NowWhat();
Send();

exit;

sub Init {

# -------- Setup --------

$Is_VMS = $::Config{'osname'} eq 'VMS';

getopts("hva:s:b:f:r:e:SCc:t");


# This comment is needed to notify metaconfig that we are
# using the $perladmin, $cf_by, and $cf_time definitions.


# -------- Configuration ---------

# perlbug address
$perlbug = 'perlbug@perl.com';

# Test address
$testaddress = 'perlbug-test@perl.com';

# Target address
$address = $::opt_a || ($::opt_t ? $testaddress : $perlbug);

# Possible administrator addresses, in order of confidence
# (Note that cf_email is not mentioned to metaconfig, since
# we don't really want it. We'll just take it if we have to.)
$cc = ($::opt_C ? "" : (
$::opt_c || $::Config{perladmin} || $::Config{cf_email} || $::Config{cf_by}
));

# Users address, used in message and in Reply-To header
$from = $::opt_r || "";

# Include verbose configuration information
$verbose = $::opt_v || 0;

# Subject of bug-report message
$subject = $::opt_s || "";

# File to send as report
$file = $::opt_f || "";

# Body of report
$body = $::opt_b || "";

# Editor
$ed = ($::opt_f ? "file" : (
$::opt_e || $ENV{VISUAL} || $ENV{EDITOR} || $ENV{EDIT} ||
($Is_VMS ? "edit/tpu" : "vi")
));

# My username
$me = getpwuid($<);

}


sub Query {

# Explain what perlbug is

paraprint <<EOF;
This program allows you to enter a bug report,
which will be sent as an e-mail message to $address
once you have filled in the report.

EOF


# Prompt for subject of message, if needed
if(! $subject) {
paraprint <<EOF;
First of all, please provide a subject for the
message. It should be concise description of the bug,
if at all possible.

EOF
print "Subject: ";

$subject = <>;
chop $subject;

my($err)=0;
while( $subject =~ /^\s*$/ ) {
print "\nPlease enter a subject: ";
$subject = <>;
chop $subject;
if($err++>5) {
die "Aborting.\n";
}
}
}


# Prompt for return address, if needed
if( !$from) {

# Try and guess address
my($domain) = Mail::Util::maildomain();

my($guess);

if( !$domain) {
$guess = "";
} elsif ($Is_VMS && !$::Config{'d_has_sockets'}) {
$guess = "$domain$me";
} else {
$guess = "$me\@$domain" if $domain;
$guess = "$me\@unknown.addresss" unless $domain;
}

if( $guess ) {
paraprint <<EOF;


Your e-mail address will be useful if you need to be contacted.
If the default is not your proper address, please correct it here.

EOF
} else {
paraprint <<EOF;

So that you may be contacted if necessary, please enter
your e-mail address here.

EOF
}
print "Your address [$guess]: ";

$from = <>;
chop $from;

if($from eq "") { $from = $guess }

}

#if( $from =~ /^(.*)\@(.*)$/ ) {
# $mailname = $1;
# $maildomain = $2;
#}

if( $from eq $cc or $me eq $cc ) {
# Try not to copy ourselves
$cc = "none";
}


# Prompt for administrator address, unless an override was given
if( !$::opt_C and !$::opt_c ) {
paraprint <<EOF;


A copy of this report can also be sent to the person who
installed perl on your system. If the default is wrong,
please correct it, or enter 'none' to not send a copy.

EOF

print "Local perl administrator [$cc]: ";

my($entry) = scalar(<>);
chop $entry;

if($entry ne "") {
$cc = $entry;
if($me eq $cc) { $cc = "" }
}

}

if($cc eq "none") { $cc = "" }

$andcc = " and $cc" if $cc;


# Prompt for editor, if no override is given
if(! $::opt_e and ! $::opt_f and ! $::opt_b) {
paraprint <<EOF;


Now you need to enter the bug report. Try to make
the report concise but descriptive. Include any
relevant detail. Some information about your local
perl configuration will automatically be included
at the end of the report.

You will probably want to use an editor to enter
the report. If "$ed" is the editor you want
to use, then just press Enter, otherwise type in
the name of the editor you would like to use.

If you would like to use a prepared file, just enter
"file", and you will be asked for the filename.

EOF

print "Editor [$ed]: ";

my($entry) =scalar(<>);
chop $entry;

if($entry ne "") {
$ed = $entry;
}
}


# Generate scratch file to edit report in

$filename = ($Is_VMS ? 'sys$scratch:' : '/tmp/') . "bugrep0$$";
$filename++ while -e $filename;


# Prompt for file to read report from, if needed

if( $ed eq "file" and ! $file) {
paraprint <<EOF;


What is the name of the file that contains your report?

EOF

print "Filename: ";

my($entry) = scalar(<>);
chop($entry);

if(!-f $entry or !-r $entry) {
print "\n\nUnable to read `$entry'.\nExiting.\n";
exit;
}
$file = $entry;

}


# Generate report

open(REP,">$filename");

print REP <<EOF;
This is a bug report for perl from $from,
generated with the help of perlbug $Version running under perl $].

EOF

if($body) {
print REP $body;
} elsif($file) {
open(F,"<$file") or die "Unable to read report file: $!\n";
while(<F>) {
print REP $_
}
close(F);
} else {
print REP "[Please enter your report here]\n";
}

print REP <<EOF;



Site configuration information for perl $]:

EOF

if( $::Config{cf_by} and $::Config{cf_time}) {
print REP "Configured by $::Config{cf_by} at $::Config{cf_time}.\n\n";
}

print REP Config::myconfig;

if($verbose) {
print REP "\nComplete configuration data for perl $]:\n\n";
my($value);
foreach (sort keys %::Config) {
$value = $::Config{$_};
$value =~ s/'/\\'/g;
print REP "$_='$value'\n";
}
}

close(REP);
}

sub Edit {
# Edit the report

if(!$file and !$body) {
if( system("$ed $filename") ) {
print "\nUnabled to run editor!\n";
}
}
}

sub NowWhat {

# Report is done, prompt for further action
if( !$::opt_S ) {
while(1) {

paraprint <<EOF;


Now that you have completed your report, would you like to send
the message to $address$andcc, display the message on
the screen, re-edit it, or cancel without sending anything?
You may also save the message as a file to mail at another time.

EOF

print "Action (Send/Display/Edit/Cancel/File): ";
my($action) = scalar(<>);
chop $action;

if($action =~ /^s/i) { # Send
# Send the message
last;
} elsif($action =~ /^f/i) { # File
print "\n\nName of file to save message in [perlbug.rep]: ";
my($file) = scalar(<>);
chop $file;
if($file eq "") { $file = "perlbug.rep" }

open(FILE,">$file");
open(REP,"<$filename");
print FILE "To: $address\nSubject: $subject\n";
print FILE "Cc: $cc\n" if $cc;
print FILE "Reply-To: $from\n" if $from;
print FILE "\n";
while(<REP>) { print FILE }
close(REP);
close(FILE);

print "\nMessage saved in `$file'.\n";
exit;

} elsif($action =~ /^[drl]/i) { # Display, Redisplay, List
# Display the message
open(REP,"<$filename");
while(<REP>) { print $_ }
close(REP);
} elsif($action =~ /^e/i) { # Edit
# edit the message
system("$ed $filename");
} elsif($action =~ /^[qc]/i) { # Cancel, Quit
1 while unlink($filename); # remove all versions under VMS
print "\nCancelling.\n";
exit(0);
}

}
}
}


sub Send {

# Message has been accepted for transmission -- Send the message

$msg = new Mail::Send Subject => $subject, To => $address;

$msg->cc($cc) if $cc;
$msg->add("Reply-To",$from) if $from;

$fh = $msg->open;

open(REP,"<$filename");
while(<REP>) { print $fh $_ }
close(REP);

$fh->close;

print "\nMessage sent.\n";

1 while unlink($filename); # remove all versions under VMS

}

sub Help {
print <<EOF;

A program to help generate bug reports about perl5, and mail them.
It is designed to be used interactively. Normally no arguments will
be needed.

Usage:
$0 [-v] [-a address] [-s subject] [-b body | -f file ]
[-r returnaddress] [-e editor] [-c adminaddress | -C] [-S] [-t]

-v Include Verbose configuration data in the report
-f File containing the body of the report. Use this to
easily send a prepared message.
-S Send without asking for confirmation.
-a Address to send the report to. Defaults to `$address'.
-c Address to send copy of report to. Defaults to `$cc'.
-C Don't send copy to administrator.
-s Subject to include with the message. You will be
asked for this if an argument is not given.
-b Body of the report. If not included, you will get a
chance to edit the body.
-r Your return address. The program will ask you for this
if you don't give it here.
-e Editor to use.
-t Test mode. The target address defaults to `$testaddress'.

EOF
}

sub paraprint {
my @paragraphs = split /\n{2,}/, "@_";
print "\n";
for (@paragraphs) { # implicit local $_
s/(\S)\s*\n/$1 /g;
write;
print "\n";
}

}


format STDOUT =
^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ~~
$_
Re: Perlbug 1.05 [ In reply to ]
>Date: Tue, 22 Aug 1995 22:51:53 -0400 (EDT)
>From: Kenneth Albanowski <kjahds@kjahds.com>
>Mime-Version: 1.0

MIME didn't help...

>Content-Type: TEXT/PLAIN; charset=US-ASCII
>Sender: owner-perl5-porters@nicoh.com
>List-Name: perl5-porters
>Precedence: bulk
>
>
>
>Here's perlbug 1.05. This isn't wrapped, as now it can easily be done

[...middle part of message deleted...]
>
>format STDOUT =
>^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ~~
>$_
>

[ END OF MESSAGE ]


Maybe somebody else has got the full file, but here it arrived without
the dot after the format. I conclude, there was a dot, but some M[TU]A
interpreted it as a separator. We know this can happen :(

Please repost wrapped into something less vulnerable. (Let me suggest
perlbug-1.05.gz, uuencoded.)

andreas
Re: Perlbug 1.05 [ In reply to ]
On Fri, 25 Aug 1995, Andreas Koenig wrote:

> >Date: Tue, 22 Aug 1995 22:51:53 -0400 (EDT)
> >From: Kenneth Albanowski <kjahds@kjahds.com>
> >Mime-Version: 1.0
>
> MIME didn't help...

Yeah, PINE does that. I wish it did quoted printable in this case as
well. Or as least _warned_ me. Sigh.


> >format STDOUT =
> >^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ~~
> >$_
> >
>
> [ END OF MESSAGE ]
>
> Maybe somebody else has got the full file, but here it arrived without
> the dot after the format. I conclude, there was a dot, but some M[TU]A
> interpreted it as a separator. We know this can happen :(

Sh*t. Sorry about that. It's not a major problem, though, as the dot was the
end of the file.

> Please repost wrapped into something less vulnerable. (Let me suggest
> perlbug-1.05.gz, uuencoded.)

Appended.

> andreas

begin 755 perlbug-1.05.gz
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
&;6IN)```
`
end

--
Kenneth Albanowski (kjahds@kjahds.com, CIS: 70705,126)
Re: Perlbug 1.05 [ In reply to ]
>From: Kenneth Albanowski <kjahds@kjahds.com>
>> Please repost wrapped into something less vulnerable. (Let me suggest
>> perlbug-1.05.gz, uuencoded.)
>
>Appended.

Thanks, works perfectly here (2 installations tested).

andreas
Re: Perlbug 1.05 [ In reply to ]
On Fri, 25 Aug 1995, Andreas Koenig wrote:

> >From: Kenneth Albanowski <kjahds@kjahds.com>
> >> Please repost wrapped into something less vulnerable. (Let me suggest
> >> perlbug-1.05.gz, uuencoded.)
> >
> >Appended.
>
> Thanks, works perfectly here (2 installations tested).
>
> andreas

Great.

--
Kenneth Albanowski (kjahds@kjahds.com, CIS: 70705,126)