view debian-build/postinst @ 9559:9883afd390dc

Update, add support for DR and draw image. Sadly reading from the agp aperture is slow as hell, so dr is disabled on ipb atm.
author albeu
date Mon, 10 Mar 2003 00:01:03 +0000
parents 33f43b0f24f7
children
line wrap: on
line source

#!/usr/bin/perl -w

# mplayer postinst

require ConfHelper;

use Debconf::Client::ConfModule qw(:all);
use IO::Handle;
use Fcntl;
my $version = version(1.0);
my @savedolddata = ();
my $didupgrade = 0;

dealwithupgrades();

my $mcfg = new ConfHelper('mplayer', "/etc/mplayer/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 video output driver, configured by mplayer.deb
EOF

  $dcarea .= "vo=" . scalar(get("mplayer/voutput"));
  $dcarea .= "\n";

$mcfg->setconfarea($dcarea);

if ($didupgrade) {
  $mcfg->setotherarea_DANGEROUS(@savedolddata);
}

#%###################################

exit unless (get("mplayer/configure") eq 'true');
exit unless (fget("mplayer/configure", "isdefault") eq 'false');

#%##################################
get("mplayer/cfgnote");



sub dealwithupgrades {
  open(OLDCONF, "</etc/mplayer/mplayer.conf") || return 1;
  close OLDCONF;

  my $mconf = new ConfHelper("mplayer", "/etc/mplayer/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/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";
}