summaryrefslogtreecommitdiff
path: root/beagle/debian-rfs/usr/share/perl5/Debconf/AutoSelect.pm
diff options
context:
space:
mode:
Diffstat (limited to 'beagle/debian-rfs/usr/share/perl5/Debconf/AutoSelect.pm')
-rw-r--r--beagle/debian-rfs/usr/share/perl5/Debconf/AutoSelect.pm77
1 files changed, 77 insertions, 0 deletions
diff --git a/beagle/debian-rfs/usr/share/perl5/Debconf/AutoSelect.pm b/beagle/debian-rfs/usr/share/perl5/Debconf/AutoSelect.pm
new file mode 100644
index 0000000..db4b704
--- /dev/null
+++ b/beagle/debian-rfs/usr/share/perl5/Debconf/AutoSelect.pm
@@ -0,0 +1,77 @@
+#!/usr/bin/perl -w
+# This file was preprocessed, do not edit!
+
+
+package Debconf::AutoSelect;
+use strict;
+use Debconf::Gettext;
+use Debconf::ConfModule;
+use Debconf::Config;
+use Debconf::Log qw(:all);
+use base qw(Exporter);
+our @EXPORT_OK = qw(make_frontend make_confmodule);
+our %EXPORT_TAGS = (all => [@EXPORT_OK]);
+
+
+my %fallback=(
+ 'Kde' => ['Dialog', 'Readline', 'Teletype'],
+ 'Gnome' => ['Dialog', 'Readline', 'Teletype'],
+ 'Web' => ['Dialog', 'Readline', 'Teletype'],
+ 'Dialog' => ['Readline', 'Teletype'],
+ 'Gtk' => ['Dialog', 'Readline', 'Teletype'],
+ 'Readline' => ['Teletype', 'Dialog'],
+ 'Editor' => ['Readline', 'Teletype'],
+ 'Slang' => ['Dialog', 'Readline', 'Teletype'],
+ 'Text' => ['Readline', 'Teletype', 'Dialog'],
+
+);
+
+my $frontend;
+my $type;
+
+
+sub make_frontend {
+ my $script=shift;
+ my $starttype=ucfirst($type) if defined $type;
+ if (! defined $starttype || ! length $starttype) {
+ $starttype = Debconf::Config->frontend;
+ if ($starttype =~ /^[A-Z]/) {
+ warn "Please do not capitalize the first letter of the debconf frontend.";
+ }
+ $starttype=ucfirst($starttype);
+ }
+
+ my $showfallback=0;
+ foreach $type ($starttype, @{$fallback{$starttype}}, 'Noninteractive') {
+ if (! $showfallback) {
+ debug user => "trying frontend $type";
+ }
+ else {
+ warn(sprintf(gettext("falling back to frontend: %s"), $type));
+ }
+ $frontend=eval qq{
+ use Debconf::FrontEnd::$type;
+ Debconf::FrontEnd::$type->new();
+ };
+ return $frontend if defined $frontend;
+
+ warn sprintf(gettext("unable to initialize frontend: %s"), $type);
+ $@=~s/\n.*//s;
+ warn "($@)";
+ $showfallback=1;
+ }
+
+ die sprintf(gettext("Unable to start a frontend: %s"), $@);
+}
+
+
+sub make_confmodule {
+ my $confmodule=Debconf::ConfModule->new(frontend => $frontend);
+
+ $confmodule->startup(@_) if @_;
+
+ return $confmodule;
+}
+
+
+1