view debian/postinst @ 4559:5dc383bb1c82

added mga_top_reserved module parameter to skip a configurable amount of space at the top of video memory. this is needed to prevent corruption of the kernel's console font when using the "fastfont" option with matroxfb.
author rfelker
date Thu, 07 Feb 2002 02:07:29 +0000
parents 0737156ad1f0
children 6746866a94c6
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.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.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";
}