Mercurial > mplayer.hg
view debian/postinst @ 4833:395844d9d5d6
fixes bug in alban's new input handling code that caused the terminal
state to get trashed and not restored on exit. hopefully this change
won't interfere with the functionality of the new code; as far as i
can tell it seems to work fine.
author | rfelker |
---|---|
date | Sun, 24 Feb 2002 04:56:54 +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"; }