This file is indexed.

/usr/share/perl5/Debconf/FrontEnd/Editor.pm is in debconf 1.5.58ubuntu1.

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
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
#!/usr/bin/perl -w
# This file was preprocessed, do not edit!


package Debconf::FrontEnd::Editor;
use strict;
use Debconf::Encoding q(wrap);
use Debconf::TmpFile;
use Debconf::Gettext;
use base qw(Debconf::FrontEnd::ScreenSize);

my $fh;


sub init {
	my $this=shift;

	$this->SUPER::init(@_);
	$this->interactive(1);
}


sub comment {
	my $this=shift;
	my $comment=shift;

	print $fh wrap('# ','# ',$comment);
	$this->filecontents(1);
}


sub divider {
	my $this=shift;

	print $fh ("\n".('#' x ($this->screenwidth - 1))."\n");
}


sub item {
	my $this=shift;
	my $name=shift;
	my $value=shift;

	print $fh "$name=\"$value\"\n\n";
	$this->filecontents(1);
}


sub go {
	my $this=shift;
	my @elements=@{$this->elements};
	return 1 unless @elements;
	
	$fh = Debconf::TmpFile::open('.sh');

	$this->comment(gettext("You are using the editor-based debconf frontend to configure your system. See the end of this document for detailed instructions."));
	$this->divider;
	print $fh ("\n");

	$this->filecontents('');
	foreach my $element (@elements) {
		$element->show;
	}

	if (! $this->filecontents) {
		Debconf::TmpFile::cleanup();
		return 1;
	}
	
	$this->divider;
	$this->comment(gettext("The editor-based debconf frontend presents you with one or more text files to edit. This is one such text file. If you are familiar with standard unix configuration files, this file will look familiar to you -- it contains comments interspersed with configuration items. Edit the file, changing any items as necessary, and then save it and exit. At that point, debconf will read the edited file, and use the values you entered to configure the system."));
	print $fh ("\n");
	close $fh;
	
	my $editor=$ENV{EDITOR} || $ENV{VISUAL} || '/usr/bin/editor';
	system "$editor ".Debconf::TmpFile->filename;

	my %eltname=map { $_->question->name => $_ } @elements;
	open (IN, "<".Debconf::TmpFile::filename());
	while (<IN>) {
		next if /^\s*#/;

		if (/(.*?)="(.*)"/ && $eltname{$1}) {
			$eltname{$1}->value($2);
		}
	}
	close IN;
	
	Debconf::TmpFile::cleanup();

	return 1;
}


sub screenwidth {
	my $this=shift;

	$Debconf::Encoding::columns=$this->SUPER::screenwidth(@_);
}


1