/usr/share/perl5/Debconf/FrontEnd/Teletype.pm is in debconf 1.5.49.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | #!/usr/bin/perl -w
# This file was preprocessed, do not edit!
package Debconf::FrontEnd::Teletype;
use strict;
use Debconf::Encoding qw(width wrap);
use Debconf::Gettext;
use Debconf::Config;
use base qw(Debconf::FrontEnd::ScreenSize);
sub init {
my $this=shift;
$this->SUPER::init(@_);
$this->interactive(1);
$this->linecount(0);
}
sub display {
my $this=shift;
my $text=shift;
$Debconf::Encoding::columns=$this->screenwidth;
$this->display_nowrap(wrap('','',$text));
}
sub display_nowrap {
my $this=shift;
my $text=shift;
return if Debconf::Config->terse eq 'true';
my @lines=split(/\n/, $text);
push @lines, "" if $text=~/\n$/;
my $title=$this->title;
if (length $title) {
unshift @lines, $title, ('-' x width $title), '';
$this->title('');
}
foreach (@lines) {
if (! $this->screenheight_guessed &&
$this->linecount($this->linecount+1) > $this->screenheight - 2) {
my $resp=$this->prompt(
prompt => '['.gettext("More").']',
default => '',
completions => [],
);
if (defined $resp && $resp eq 'q') {
last;
}
}
print "$_\n";
}
}
sub prompt {
my $this=shift;
my %params=@_;
$this->linecount(0);
local $|=1;
print "$params{prompt} ";
my $ret=<STDIN>;
chomp $ret if defined $ret;
$this->display_nowrap("\n");
return $ret;
}
sub prompt_password {
my $this=shift;
my %params=@_;
delete $params{default};
system('stty -echo 2>/dev/null');
my $ret=$this->Debconf::FrontEnd::Teletype::prompt(%params);
system('stty sane 2>/dev/null');
return $ret;
}
1
|