diff debian/postinst @ 1398:10e236ceac5e

update to perl debconf. fixed problem with configure.
author eyck
date Sat, 28 Jul 2001 07:54:52 +0000
parents
children 50dc44570cd4
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/postinst	Sat Jul 28 07:54:52 2001 +0000
@@ -0,0 +1,88 @@
+#!/usr/bin/perl -w
+
+# mplayer postinst
+
+require ConfHelper;
+
+use Debian::DebConf::Client::ConfModule qw(:all);
+use IO::Handle;
+use Fcntl;
+my $version = version(1.0);
+my @savedolddata = ();
+my $didupgrade = 0;
+
+dealwithupgrades();
+
+# We add lo0 right now, useful in case we exit anyway.
+
+my $mcfg = new ConfHelper('mplayer', "/etc/mplayer.conf");
+$mcfg->setconfarea("
+#MPlayer config file generated by .deb package.
+#ffactor	=	0.9
+#fs	=	yes
+");
+
+###########################################################################
+
+debug("Configuring video output driver...");
+
+my $dcarea = <<"EOF";
+# MPlayer config file, 
+
+# MPlayer video output driver, configured by mplayer.deb
+EOF
+
+  $dcarea .= "vo=" . scalar(get("mplayer/voutput"));
+$dcarea .= "\n";
+
+$mcfg->setconfarea($dcarea);
+
+if ($didupgrade) {
+  $interfaces->setotherarea_DANGEROUS(@savedolddata);
+}
+
+#%###################################
+
+exit unless (get("mplayer/configure") eq 'true');
+exit unless (fget("mplayer/configure", "isdefault") eq 'false');
+
+
+
+sub dealwithupgrades {
+  open(OLDCONF, "</etc/mplayer.conf") || return 1;
+  close OLDCONF;
+
+  my $mconf = new ConfHelper("mplayer", "/etc/mplayer.conf");
+  return 1 if ($mconf->hasconfarea());
+  undef $mconf;
+
+  if ((get('mplayer/replace-existing-files') eq 'true') &&
+      (fget('mplayer/replace-existing-files', 'isdefault') eq 'false')) {
+    print STDERR "Upgrading...\n";
+#?    saveolddata("/etc/network/interfaces", "pppconf");
+    $didupgrade = 1;
+    for my $file ("/etc/mplayer.conf"
+    #, "/etc/mplayer/fonts/sth
+    ) {
+      debug("Deleting $file");
+      unlink $file;
+    }
+  } else {
+    print STDERR "Upgrade refused, exiting.\n";
+    exit 0;
+  }
+}
+
+# Gets any debconf area for other packages and saves it off.
+
+sub saveolddata {
+  my ($file, $package) = @_;
+  my $conf = new ConfHelper($package, $file);
+  push(@savedolddata, $conf->{startline} . "\n");
+  push(@savedolddata, $conf->getconfarea());
+  push(@savedolddata, $conf->{endline} . "\n");
+}
+		  
+sub debug {
+  print STDERR @_, "\n";
+}