Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4

Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4

Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4

Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4

Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4

Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4
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 () { 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 (in the debconf-doc package). The B 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 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 or L. =head1 OPTIONS =over 4 =item B<-o>I, B<--owner=>I 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, B<--frontend=>I Select the frontend to use. =item B<-p>I, B<--priority=>I 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, L =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 =cut