mirror of https://github.com/mpv-player/mpv
92 lines
2.0 KiB
Perl
Executable File
92 lines
2.0 KiB
Perl
Executable File
#!/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) {
|
|
$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";
|
|
}
|