summaryrefslogtreecommitdiff
path: root/beagle/debian-rfs/usr/share/debconf/frontend
diff options
context:
space:
mode:
authorManuel Traut <manut@mecka.net>2011-04-29 09:09:27 +0200
committerManuel Traut <manut@mecka.net>2011-04-29 09:09:27 +0200
commit5238ad5a0c4a9e1c8cd036f5de4055e39bd71297 (patch)
tree4407c087b9fb5432b1dc11e70b52dacfa0b99feb /beagle/debian-rfs/usr/share/debconf/frontend
parent60ead65c41afba7e6aa4bbcf507a1d52f7a8fe9f (diff)
added debootstrap stuff
Signed-off-by: Manuel Traut <manut@mecka.net>
Diffstat (limited to 'beagle/debian-rfs/usr/share/debconf/frontend')
-rwxr-xr-xbeagle/debian-rfs/usr/share/debconf/frontend104
1 files changed, 104 insertions, 0 deletions
diff --git a/beagle/debian-rfs/usr/share/debconf/frontend b/beagle/debian-rfs/usr/share/debconf/frontend
new file mode 100755
index 0000000..4fb0299
--- /dev/null
+++ b/beagle/debian-rfs/usr/share/debconf/frontend
@@ -0,0 +1,104 @@
+#!/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;
+