Your IP : 216.73.216.170


Current Path : /var/www/iplanru/data/www/intesco.ru/d59ed/
Upload File :
Current File : /var/www/iplanru/data/www/intesco.ru/d59ed/debconf.tar

etc/bash_completion.d/debconf000066600000000445150771107460012251 0ustar00have debconf-show &&
_debconf_show()
{
        local cur

        COMPREPLY=()
        cur=${COMP_WORDS[COMP_CWORD]}
        COMPREPLY=($( compgen -W '--listowners --listdbs --db=' -- $cur ) \
                        $( apt-cache pkgnames -- $cur ) )
}
complete -F _debconf_show debconf-show

confmodule.sh000066600000005473150772250260007256 0ustar00#!/bin/sh
# This is a shell library to interface to the Debian configration management
# system.
#
# This library is obsolete. Do not use.

###############################################################################
# Initialization.

# Check to see if a FrontEnd is running.
if [ ! "$DEBIAN_HAS_FRONTEND" ]; then
	PERL_DL_NONLAZY=1
	export PERL_DL_NONLAZY
	# Ok, this is pretty crazy. Since there is no FrontEnd, this
	# program execs a FrontEnd. It will then run a new copy of $0 that
	# can talk to it.
	exec /usr/share/debconf/frontend $0 $*
fi

# Only do this once.
if [ -z "$DEBCONF_REDIR" ]; then
	# Redirect standard output to standard error. This prevents common
	# mistakes by making all the output of the postinst or whatever
	# script is using this library not be parsed as confmodule commands.
	#
	# To actually send something to standard output, send it to fd 3.
	exec 3>&1 1>&2
	DEBCONF_REDIR=1
	export DEBCONF_REDIR
fi

# For internal use, send text to the frontend.
_command () {
	echo $* >&3
}

echo "WARNING: Using deprecated debconf compatibility library."

###############################################################################
# Commands.

# Generate subroutines for all commands that don't have special handlers.
# Each command must be listed twice, once in lower case, once in upper.
# Doing that saves us a lot of calls to tr at load time. I just wish shell had
# an upper-case function.
old_opts="$@"
for i in "capb CAPB" "set SET" "reset RESET" "title TITLE" \
         "input INPUT" "beginblock BEGINBLOCK" "endblock ENDBLOCK" "go GO" \
	 "get GET" "register REGISTER" "unregister UNREGISTER" "subst SUBST" \
	 "fset FSET" "fget FGET" "visible VISIBLE" "purge PURGE" \
	 "metaget METAGET" "exist EXIST" \
	 "x_loadtemplatefile X_LOADTEMPLATEFILE"; do
	# Break string up into words.
	set -- $i
	eval "db_$1 () {
		_command \"$2 \$@\"
		read _RET
		old_opts="\$@"
		set -- \$_RET
		shift
		RET="\$*"
		set -- \$old_opts
		unset old_opts
	      }"
done
# $@ was clobbered above, unclobber.
set -- $old_opts
unset old_opts

# By default, 1.0 protocol version is sent to the frontend. You can
# pass in a different version to override this.
db_version () {
	if [ "$1" ]; then
		_command "VERSION $1"
	else
		_command "VERSION 1.0"
	fi
	# Not quite correct, but not worth fixing in obsolete code.
	read -r RET
}

# Here for backwards compatibility.
db_go () {
	_command "GO"
	read -r RET
	if [ "$RET" = 30 ]; then
		RET='back'
	fi
}

# Just an alias for input. It tends to make more sense to use this to display
# text, since displaying text isn't really asking for input.
db_text () {
	db_input $@
}

# Cannot read a return code, since there is none and we would block.            
db_stop () {                                                                    
	echo STOP >&3                                                           
}
frontend000066600000004346150772250260006327 0ustar00#!/usr/bin/perl -w
# This file was preprocessed, do not edit!


use strict;
use Debconf::Db;
use Debconf::Template;
use Debconf::AutoSelect qw(:all);
use Debconf::Log qw(:all);

Debconf::Db->load;

debug developer => "frontend started";

my $frontend=make_frontend();

shift @ARGV if $ARGV[0] eq '--';

my $package;
if ($ENV{DEBCONF_PACKAGE}) {
	$package=$ENV{DEBCONF_PACKAGE};
}
elsif ($ARGV[0]=~m!^.*/(.*?)\.(?:postinst|postrm|prerm)$!) {
	$package=$1;
}
elsif (-e "/var/lib/dpkg/tmp.ci/control") {
	open (CONTROL, "< /var/lib/dpkg/tmp.ci/control")
		|| die "Debconf: unable to open control file: $!";
	while (<CONTROL>) {
		if (/^Package: (.*)/) {
			$package=$1;
			last;
		}
	}
	close CONTROL;
	if (! exists $ENV{PERL_DL_NONLAZY} || ! $ENV{PERL_DL_NONLAZY}) {
		warn "PERL_DL_NONLAZY is not set, if debconf is running from a preinst script, this is not safe";
	}
}
else {
	$package='';

	debug developer => 'Trying to find a templates file..';
	sub trytemplate {
		my $fn=shift;
		debug developer => "Trying $fn";
		if (-e $fn) {
			debug developer => "I guess it is $fn";
			Debconf::Template->load($fn, $package);
			return 1;
		}
		else {
			return;
		}
	}

	unless (trytemplate("$ARGV[0].templates")) {
		unless ($ARGV[0]=~m/(.*)config$/ && trytemplate("${1}templates")) {
			unless ($ARGV[0]=~m!^(?:.*/)?(.*)! && trytemplate("/usr/share/debconf/templates/${1}.templates")) {
				debug developer => "Couldn't find a templates file."
			}
		}
	}
}
debug developer => "frontend running, package name is $package";
$frontend->default_title($package) if length $package;
$frontend->info(undef);

if ($ARGV[0] =~/^(.*[.\/])(?:postinst|preinst)$/) {
	my $base=$1;

	my $templates=$base."templates";
	Debconf::Template->load($templates, $package)
		if -e $templates;

	my $config=$base."config";
	if (-e $config) {
		my $version=$ARGV[2];
		if (! defined($version)) {
			$version='';
		}
		my $confmodule=make_confmodule($config,
			"configure", $version);

		$confmodule->owner($package);

		1 while ($confmodule->communicate);
		
		exit $confmodule->exitcode if $confmodule->exitcode > 0;
	}
}

my $confmodule=make_confmodule(@ARGV);

$confmodule->owner($package);

1 while ($confmodule->communicate);

$frontend->shutdown;

Debconf::Db->save;

exit $confmodule->exitcode;

transition_db.pl000066600000004544150772250260007761 0ustar00#!/usr/bin/perl -w
# This file was preprocessed, do not edit!
use strict;
use Debconf::Db;
use Debconf::Question;
use Debconf::Template;

my $dir = shift || '/var/lib/debconf';

Debconf::Db->load;

our %questions;
our %templates;

foreach my $thing (qw(templates debconf)) {
	if (-e "$dir/$thing.db") {
		eval qq{require "$dir/$thing.db"};
		print STDERR $@ if $@;
	}
	else {
		print STDERR "Skipping $dir/$thing.db: DNE\n";
	}
}

foreach my $t (keys %templates) {
	$templates{$t}->{_name}=$t;
}

my $skipped=0;

foreach my $item (keys %questions) {
	my @owners=grep { $_ ne '' } keys %{$questions{$item}->{owners}};
	delete $questions{$item}, next unless @owners;

	next unless defined $questions{$item}->{template}->{_name};

	my $tname=$questions{$item}->{template}->{_name};
	$skipped++, next unless defined $tname;
	my $type=$templates{$tname}->{type};
	my $question=Debconf::Question->new($item, pop(@owners), $type);
	$question->addowner($_, '') foreach @owners;
}

my %seen_templates;
foreach my $item (keys %questions) {
	my $question=Debconf::Question->get($item);
	my $tname=$questions{$item}->{template}->{_name};
	$skipped++, next unless defined $tname;
	my $template=Debconf::Template->get($tname);
	unless (defined $template) {
		$template=Debconf::Template->new($tname, $item, $templates{$tname}->{type});
	}
	unless ($seen_templates{$template}) {
		$template->clearall;
		foreach my $field (keys %{$templates{$tname}}) {
			next if $field=~/^_name/; # except this one we added above.
			$template->$field($templates{$tname}->{$field});
		}
	}
	

	if (exists $questions{$item}->{flag_isdefault}) {
		if ($questions{$item}->{flag_isdefault} eq 'false') {
		    	$question->flag('seen', 'true');
		}
		delete $questions{$item}->{flag_isdefault};
	}
	foreach my $flag (grep /^flag_/, keys %{$questions{$item}}) {
		if ($questions{$item}->{$flag} eq 'true') {
			$flag=~s/^flag_//;
			$question->flag($flag, 'true');
		}
	}
	foreach my $var (keys %{$questions{$item}->{variables}}) {
		$question->variable($var,
			$questions{$item}->{variables}->{$var});
	}
	if (exists $questions{$item}->{value} 
		and defined $questions{$item}->{value}) {
		$question->value($questions{$item}->{value});
	}

	$question->template($questions{$item}->{template}->{_name});
}

Debconf::Db->save;

if ($skipped) {
	print STDERR "While upgrading the debconf database, $skipped corrupt items were skipped.\n";
}
debconf.conf000066600000000636150772250260007032 0ustar00
Config: configdb
Templates: templatedb

Name: config
Driver: File
Mode: 644
Reject-Type: password
Filename: /var/cache/debconf/config.dat

Name: passwords
Driver: File
Mode: 600
Backup: false
Required: false
Accept-Type: password
Filename: /var/cache/debconf/passwords.dat

Name: configdb
Driver: Stack
Stack: config, passwords

Name: templatedb
Driver: File
Mode: 644
Filename: /var/cache/debconf/templates.dat

fix_db.pl000066600000003724150772250260006354 0ustar00#!/usr/bin/perl -w
# This file was preprocessed, do not edit!
use strict;
use Debconf::Db;
use Debconf::Log q{warn};

Debconf::Db->load;

if (! @ARGV || $ARGV[0] ne 'end') {
	my $fix=0;
	my $ok;
	my $counter=0;
	do {
		$ok=1;
	
		my %templates=();
		my $ti=$Debconf::Db::templates->iterator;
		while (my $t=$ti->iterate) {
			$templates{$t}=Debconf::Template->get($t);
		}
	
		my %questions=();
		my $qi=Debconf::Question->iterator;
		while (my $q=$qi->iterate) {
			if (! defined $q->template) {
				warn "question \"".$q->name."\" has no template field; removing it.";
				$q->addowner("killme",""); # make sure it has one owner at least, so removal is triggered
				foreach my $owner (split(/, /, $q->owners)) {
					$q->removeowner($owner);
				}
				$ok=0;
				$fix=1;
			}
			elsif (! exists $templates{$q->template->template}) {
				warn "question \"".$q->name."\" uses nonexistant template ".$q->template->template."; removing it.";
				foreach my $owner (split(/, /, $q->owners)) {
					$q->removeowner($owner);
				}
				$ok=0;
				$fix=1;
			}
			else {
				$questions{$q->name}=$q;
			}
		}
		
		foreach my $t (keys %templates) {
			my @owners=$Debconf::Db::templates->owners($t);
			if (! @owners) {
				warn "template \"$t\" has no owners; removing it.";
				$Debconf::Db::templates->addowner($t, "killme","");
				$Debconf::Db::templates->removeowner($t, "killme");
				$fix=1;
			}
			foreach my $q (@owners) {
				if (! exists $questions{$q}) {
					warn "template \"$t\" claims to be used by nonexistant question \"$q\"; removing that.";
					$Debconf::Db::templates->removeowner($t, $q);
					$ok=0;
					$fix=1;
				}
			}
		}
		$counter++;
	} until ($ok || $counter > 20);

	if ($fix) {
		Debconf::Db->save;
		exec($0, "end");
		die "exec of self failed";
	}
}

foreach my $templatefile (glob("/var/lib/dpkg/info/*.templates")) {
	my ($package) = $templatefile =~ m:/var/lib/dpkg/info/(.*?).templates:;
        Debconf::Template->load($templatefile, $package);
}

Debconf::Db->save;
confmodule000066600000005117150772250260006640 0ustar00#!/bin/sh
# This is a shell library to interface to the Debian configuration management
# system.

###############################################################################
# Initialization.

# Check to see if a FrontEnd is running.
if [ ! "$DEBIAN_HAS_FRONTEND" ]; then
	PERL_DL_NONLAZY=1
	export PERL_DL_NONLAZY
	# Since there is no FrontEnd, this program execs a FrontEnd.
	# It will then run a new copy of $0 that can talk to it.
	if [ "$DEBCONF_USE_CDEBCONF" ]; then
		exec /usr/lib/cdebconf/debconf $0 "$@"
	else
		exec /usr/share/debconf/frontend $0 "$@"
	fi
fi

# Only do this once.
if [ -z "$DEBCONF_REDIR" ]; then
	# Redirect standard output to standard error. This prevents common
	# mistakes by making all the output of the postinst or whatever
	# script is using this library not be parsed as confmodule commands.
	#
	# To actually send something to standard output, send it to fd 3.
	exec 3>&1
	if [ "$DEBCONF_USE_CDEBCONF" ]; then
		exec 1>&5
	else
		exec 1>&2
	fi
	DEBCONF_REDIR=1
	export DEBCONF_REDIR
fi

###############################################################################
# Commands.

_db_cmd () {
	IFS=' ' printf '%s\n' "$*" >&3
	# Set to newline to get whole line.
	IFS='
' read -r _db_internal_line
	# Disgusting, but it's the only good way to split the line,
	# preserving all other whitespace.
	RET="${_db_internal_line#[! 	][ 	]}"
	case ${_db_internal_line%%[ 	]*} in
		1)	# escaped data
			RET="$(printf '%s' "$RET" | debconf-escape -u)"
			return 0
			;;
	esac
	return ${_db_internal_line%%[ 	]*}
}

db_capb ()	{ _db_cmd "CAPB $@"; }
db_set ()	{ _db_cmd "SET $@"; }
db_reset ()	{ _db_cmd "RESET $@"; }
db_title ()	{ _db_cmd "TITLE $@"; }
db_input ()	{ _db_cmd "INPUT $@"; }
db_beginblock () { _db_cmd "BEGINBLOCK $@"; }
db_endblock () 	{ _db_cmd "ENDBLOCK $@"; }
db_go ()	{ _db_cmd "GO $@"; }
db_get ()	{ _db_cmd "GET $@"; }
db_register ()	{ _db_cmd "REGISTER $@"; }
db_unregister () { _db_cmd "UNREGISTER $@"; }
db_subst ()	{ _db_cmd "SUBST $@"; }
db_fset ()	{ _db_cmd "FSET $@"; }
db_fget ()	{ _db_cmd "FGET $@"; }
db_purge ()	{ _db_cmd "PURGE $@"; }
db_metaget ()	{ _db_cmd "METAGET $@"; }
db_version ()	{ _db_cmd "VERSION $@"; }
db_clear ()	{ _db_cmd "CLEAR $@"; }
db_settitle ()	{ _db_cmd "SETTITLE $@"; }
db_previous_module () { _db_cmd "PREVIOUS_MODULE $@"; }
db_info ()	{ _db_cmd "INFO $@"; }
db_progress ()	{ _db_cmd "PROGRESS $@"; }
db_data ()	{ _db_cmd "DATA $@"; }
db_x_loadtemplatefile ()	{ _db_cmd "X_LOADTEMPLATEFILE $@"; }

# An old alias for input.
db_text () {
	db_input $@
}

# Cannot read a return code, since there is none and it would block.
db_stop () {
	echo STOP >&3
}
usr/bin/debconf000066600000005453150773314440007473 0ustar00#!/usr/bin/perl -w

=head1 NAME

debconf - run a debconf-using program

=cut

=head1 SYNOPSIS

 debconf [options] command [args]

=head1 DESCRIPTION

Debconf is a configuration system for Debian packages. For a debconf
overview and documentation for sysadmins, see L<debconf(7)> (in the
debconf-doc package).

The B<debconf> program runs a program under debconf's control, setting it up
to talk with debconf on stdio. The program's output is expected to be debconf
protocol commands, and it is expected to read result codes on stdin. See
L<debconf-devel(7)> for details about the debconf protocol.

The command to be run under debconf must be specified in a way that will
let your PATH find it.

This command is not the usual way that debconf is used. It's more typical
for debconf to be used via L<dpkg-preconfigure(8)> or L<dpkg-reconfigure(8)>.

=head1 OPTIONS

=over 4

=item B<-o>I<package>, B<--owner=>I<package>

Tell debconf what package the command it is running is a part of. This is
necessary to get ownership of registered questions right, and to support
unregister and purge commands properly.

=item B<-f>I<type>, B<--frontend=>I<type>

Select the frontend to use.

=item B<-p>I<value>, B<--priority=>I<value>

Specify the minimum priority of question that will be displayed.

=item B<--terse>

Enables terse output mode. This affects only some frontends.

=back

=head1 EXAMPLES

To debug a shell script that uses debconf, you might use:

 DEBCONF_DEBUG=developer debconf my-shell-prog

Or, you might use this:

 debconf --frontend=readline sh -x my-shell-prog

=head1 SEE ALSO

L<debconf-devel(7)>, L<debconf(7)>

=cut

use strict;
use Debconf::Db;
use Debconf::AutoSelect qw(:all);
use Debconf::Gettext;
use Debconf::Config;

# Find the end of the options for this command, and the beginning of the
# command to run, which may have arguments. Break those arguments out.
my (@argv, @command);
for (my $x=0; $x <= $#ARGV; $x++) {
	if ($ARGV[$x] =~ /^-(o|f|p|-(owner|frontend|priority))$/) {
		push @argv, $ARGV[$x++];
		push @argv, $ARGV[$x] if defined $ARGV[$x]; # skip option argument
		next;
	}
	elsif ($ARGV[$x] =~ /^-/) {
		push @argv, $ARGV[$x];
	}
	else {
		# end of arguments, start of command
		@command=@ARGV[$x..$#ARGV];
		last;
	}
}
@ARGV=@argv;
my $usage = gettext("Usage: debconf [options] command [args]");
my $owner='';
Debconf::Config->getopt($usage.gettext(qq{
  -o,  --owner=package		Set the package that owns the command.}),
        "o|owner=s"		=> \$owner,
);
die "$usage\n" unless @command;

Debconf::Db->load;
my $frontend=make_frontend();
my $confmodule=make_confmodule(@command);
$confmodule->owner($owner) if length $owner;

1 while ($confmodule->communicate);

my $code=$confmodule->exitcode;
$frontend->shutdown;
$confmodule->finish;
Debconf::Db->save;
exit $code;

=head1 AUTHOR

Joey Hess <joeyh@debian.org>

=cut