summaryrefslogtreecommitdiff
path: root/beagle/debian-rfs/usr/share/perl5/Debconf/Question.pm
diff options
context:
space:
mode:
Diffstat (limited to 'beagle/debian-rfs/usr/share/perl5/Debconf/Question.pm')
-rw-r--r--beagle/debian-rfs/usr/share/perl5/Debconf/Question.pm292
1 files changed, 0 insertions, 292 deletions
diff --git a/beagle/debian-rfs/usr/share/perl5/Debconf/Question.pm b/beagle/debian-rfs/usr/share/perl5/Debconf/Question.pm
deleted file mode 100644
index 10a86b9..0000000
--- a/beagle/debian-rfs/usr/share/perl5/Debconf/Question.pm
+++ /dev/null
@@ -1,292 +0,0 @@
-#!/usr/bin/perl -w
-# This file was preprocessed, do not edit!
-
-
-package Debconf::Question;
-use strict;
-use Debconf::Db;
-use Debconf::Template;
-use Debconf::Iterator;
-use Debconf::Log qw(:all);
-
-
-use fields qw(name priority);
-
-our %question;
-
-
-sub new {
- my Debconf::Question $this=shift;
- my $name=shift;
- my $owner=shift;
- my $type=shift || die "no type given for question";
- die "A question called \"$name\" already exists"
- if exists $question{$name};
- unless (ref $this) {
- $this = fields::new($this);
- }
- $this->{name}=$name;
- return unless defined $this->addowner($owner, $type);
- $this->flag('seen', 'false');
- return $question{$name}=$this;
-}
-
-
-sub get {
- my Debconf::Question $this=shift;
- my $name=shift;
- return $question{$name} if exists $question{$name};
- if ($Debconf::Db::config->exists($name)) {
- $this = fields::new($this);
- $this->{name}=$name;
- return $question{$name}=$this;
- }
- return undef;
-}
-
-
-sub iterator {
- my $this=shift;
-
- my $real_iterator=$Debconf::Db::config->iterator;
- return Debconf::Iterator->new(callback => sub {
- return unless my $name=$real_iterator->iterate;
- return $this->get($name);
- });
-}
-
-
-sub _expand_vars {
- my $this=shift;
- my $text=shift;
-
- return '' unless defined $text;
-
- my @vars=$Debconf::Db::config->variables($this->{name});
-
- my $rest=$text;
- my $result='';
- my $variable;
- my $varval;
- my $escape;
- while ($rest =~ m/^(.*?)(\\)?\${([^{}]+)}(.*)$/sg) {
- $result.=$1; # copy anything before the variable
- $escape=$2;
- $variable=$3;
- $rest=$4; # continue trying to expand rest of text
- if (defined $escape && length $escape) {
- $result.="\${$variable}";
- }
- else {
- $varval=$Debconf::Db::config->getvariable($this->{name}, $variable);
- $result.=$varval if defined($varval); # expand the variable
- }
- }
- $result.=$rest; # add on anything that's left.
-
- return $result;
-}
-
-
-sub description {
- my $this=shift;
- return $this->_expand_vars($this->template->description);
-}
-
-
-sub extended_description {
- my $this=shift;
- return $this->_expand_vars($this->template->extended_description);
-}
-
-
-sub choices {
- my $this=shift;
-
- return $this->_expand_vars($this->template->choices);
-}
-
-
-sub choices_split {
- my $this=shift;
-
- my @items;
- my $item='';
- for my $chunk (split /(\\[, ]|,\s+)/, $this->choices) {
- if ($chunk=~/^\\([, ])$/) {
- $item.=$1;
- } elsif ($chunk=~/^,\s+$/) {
- push @items, $item;
- $item='';
- } else {
- $item.=$chunk;
- }
- }
- push @items, $item if $item ne '';
- return @items;
-}
-
-
-sub variable {
- my $this=shift;
- my $var=shift;
-
- if (@_) {
- return $Debconf::Db::config->setvariable($this->{name}, $var, shift);
- }
- else {
- return $Debconf::Db::config->getvariable($this->{name}, $var);
- }
-}
-
-
-sub flag {
- my $this=shift;
- my $flag=shift;
-
- if ($flag eq 'isdefault') {
- debug developer => "The isdefault flag is deprecated, use the seen flag instead";
- if (@_) {
- my $value=(shift eq 'true') ? 'false' : 'true';
- $Debconf::Db::config->setflag($this->{name}, 'seen', $value);
- }
- return ($Debconf::Db::config->getflag($this->{name}, 'seen') eq 'true') ? 'false' : 'true';
- }
-
- if (@_) {
- return $Debconf::Db::config->setflag($this->{name}, $flag, shift);
- }
- else {
- return $Debconf::Db::config->getflag($this->{name}, $flag);
- }
-}
-
-
-sub value {
- my $this = shift;
-
- unless (@_) {
- my $ret=$Debconf::Db::config->getfield($this->{name}, 'value');
- return $ret if defined $ret;
- return $this->template->default if ref $this->template;
- } else {
- return $Debconf::Db::config->setfield($this->{name}, 'value', shift);
- }
-}
-
-
-sub value_split {
- my $this=shift;
-
- my $value=$this->value;
- $value='' if ! defined $value;
- my @items;
- my $item='';
- for my $chunk (split /(\\[, ]|,\s+)/, $value) {
- if ($chunk=~/^\\([, ])$/) {
- $item.=$1;
- } elsif ($chunk=~/^,\s+$/) {
- push @items, $item;
- $item='';
- } else {
- $item.=$chunk;
- }
- }
- push @items, $item if $item ne '';
- return @items;
-}
-
-
-sub addowner {
- my $this=shift;
-
- return $Debconf::Db::config->addowner($this->{name}, shift, shift);
-}
-
-
-sub removeowner {
- my $this=shift;
-
- my $template=$Debconf::Db::config->getfield($this->{name}, 'template');
- return unless $Debconf::Db::config->removeowner($this->{name}, shift);
- if (length $template and
- not $Debconf::Db::config->exists($this->{name})) {
- $Debconf::Db::templates->removeowner($template, $this->{name});
- delete $question{$this->{name}};
- }
-}
-
-
-sub owners {
- my $this=shift;
-
- return join(", ", sort($Debconf::Db::config->owners($this->{name})));
-}
-
-
-sub template {
- my $this=shift;
- if (@_) {
- my $oldtemplate=$Debconf::Db::config->getfield($this->{name}, 'template');
- my $newtemplate=shift;
- if (not defined $oldtemplate or $oldtemplate ne $newtemplate) {
- $Debconf::Db::templates->removeowner($oldtemplate, $this->{name})
- if defined $oldtemplate and length $oldtemplate;
-
- $Debconf::Db::config->setfield($this->{name}, 'template', $newtemplate);
-
- $Debconf::Db::templates->addowner($newtemplate, $this->{name},
- $Debconf::Db::templates->getfield($newtemplate, "type"));
- }
- }
- return Debconf::Template->get(
- $Debconf::Db::config->getfield($this->{name}, 'template'));
-}
-
-
-sub name {
- my $this=shift;
-
- return $this->{name};
-}
-
-
-sub priority {
- my $this=shift;
-
- $this->{priority}=shift if @_;
-
- return $this->{priority};
-}
-
-
-sub AUTOLOAD {
- (my $field = our $AUTOLOAD) =~ s/.*://;
-
- no strict 'refs';
- *$AUTOLOAD = sub {
- my $this=shift;
-
- if (@_) {
- return $Debconf::Db::config->setfield($this->{name}, $field, shift);
- }
- my $ret=$Debconf::Db::config->getfield($this->{name}, $field);
- unless (defined $ret) {
- $ret = $this->template->$field() if ref $this->template;
- }
- if (defined $ret) {
- if ($field =~ /^(?:description|extended_description|choices)-/i) {
- return $this->_expand_vars($ret);
- } else {
- return $ret;
- }
- }
- };
- goto &$AUTOLOAD;
-}
-
-sub DESTROY {
-}
-
-
-1