/usr/bin/debconf-show is in debconf 1.5.51ubuntu2.
This file is owned by root:root, with mode 0o755.
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
# This file was preprocessed, do not edit!
sub usage {
print STDERR <<EOF;
Usage:
debconf-show packagename [...] [--db=dbname]
debconf-show --listowners [--db=dbname]
debconf-show --listdbs
EOF
exit(1);
}
use strict;
use warnings;
use Debconf::Db;
use Debconf::Template;
use Debconf::Question;
use Getopt::Long;
my $db='';
my $listowners=0;
my @packages;
my $listdbs=0;
GetOptions(
"db=s" => \$db,
"listowners" => \$listowners,
"listdbs" => \$listdbs,
) || usage();
unless ($listowners or $listdbs) {
@packages=@ARGV;
usage() unless @packages;
}
Debconf::Db->load(readonly => 'true');
my %drivers = %Debconf::DbDriver::drivers;
my $conf = Debconf::Config->config;
sub tree {
my $node=shift;
my $string=shift || "";
my $driver = Debconf::DbDriver->driver($node);
my $name = $driver->{name};
$string = $string.$name;
print $string."\n";
if ($driver->isa("Debconf::DbDriver::Stack")) {
$string=$string.'/';
map { tree($_->{name},$string) } @{$driver->{stack}};
}
}
if ($db) {
my $driver = $drivers{$db};
die $db.": unknown database" unless defined($driver);
$Debconf::Db::config = $driver;
}
my $qi=Debconf::Question->iterator;
if ($listdbs) {
tree($conf);
}
elsif (@packages) {
while (my $q=$qi->iterate) {
foreach my $package (@packages) {
if (grep { $package eq $_} split(/, /, $q->owners)) {
if ($q->flag("seen") eq 'true') {
print "* ";
}
else {
print " ";
}
print $q->name.":";
if ($q->type eq 'password') {
print " (password omitted)";
}
elsif (length $q->value) {
print " ".$q->value;
}
print "\n";
}
}
}
}
elsif ($listowners) {
my %seen;
while (my $q=$qi->iterate) {
foreach (split(/, /, $q->owners)) {
unless ($seen{$_}) {
print "$_\n";
$seen{$_}=1;
}
}
}
}
|