mirror of https://github.com/mpv-player/mpv
update to perl debconf. fixed problem with configure.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1399 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
ba516b3a40
commit
22f0bb22c5
|
@ -0,0 +1,98 @@
|
|||
#!/usr/bin/perl -w
|
||||
|
||||
# Script to configure mplayer
|
||||
# based on etherconf by John Goerzen <jgoerzen@progenylinux.com>
|
||||
|
||||
use Debian::DebConf::Client::ConfModule qw(:all);
|
||||
|
||||
my $version = version(2.0);
|
||||
title('MPlayer Configuration');
|
||||
my $PRIORITY = 'high';
|
||||
#TODO: 'medium'
|
||||
my $next = 'mainmenu';
|
||||
my $isediting = 0;
|
||||
|
||||
my @nextargs = ();
|
||||
|
||||
checkupgrade(); # Find out if we have to upgrade.
|
||||
mainloop(letsgo());
|
||||
|
||||
sub checkupgrade {
|
||||
open(MCFG, "</etc/mplayer.conf") || return 1;
|
||||
my $line = <MCFG>;
|
||||
return 1 if ($line =~ /mplayer DEBCONF AREA/);
|
||||
exit(0) if (input($PRIORITY, 'mplayer/replace-existing-files') eq "question skipped");
|
||||
go();
|
||||
if (get('mplayer/replace-existing-files') eq 'false') {
|
||||
input($PRIORITY, 'mplayer/replace-existing-files-bail');
|
||||
go();
|
||||
exit();
|
||||
}
|
||||
close MCFG;
|
||||
}
|
||||
|
||||
sub mainloop {
|
||||
$next = shift @_;
|
||||
do {
|
||||
my @retval = &$next(@nextargs);
|
||||
# if ($retval[0] eq 'BACK') {
|
||||
# $retval[0] = $backups{$next};
|
||||
# }
|
||||
($next, @nextargs) = @retval;
|
||||
} while ($next ne 'Exit');
|
||||
}
|
||||
|
||||
sub letsgo {
|
||||
#useless!
|
||||
return "configure";
|
||||
}
|
||||
|
||||
sub configure {
|
||||
subst("mplayer/voutput", "vochoices", "xv, xmga, mga, x11, gl, sdl");
|
||||
# db_subst mplayer/output vo xc,xmga,mga,x11,gl,sdl
|
||||
exit(0) if (input($PRIORITY, "mplayer/voutput") eq "question skipped");
|
||||
go();
|
||||
exit 0 unless (get("mplayer/voutput") eq 'true');
|
||||
#return 'audioout';
|
||||
return 'mainmenu';
|
||||
}
|
||||
|
||||
sub mainmenu {
|
||||
go(); # To catch spare things from before
|
||||
my @choices = (
|
||||
'Video Output: ' . scalar(get("mplayer/voutput")));
|
||||
#,
|
||||
$choices = join(', ', @choices);
|
||||
$isediting = 1;
|
||||
|
||||
subst('mplayer/mainmenu', 'choices', $choices);
|
||||
input($PRIORITY, 'mplayer/mainmenu');
|
||||
go();
|
||||
|
||||
my $selection = get('mplayer/mainmenu');
|
||||
if ($selection =~ /^Exit/) {
|
||||
return 'Exit';
|
||||
}
|
||||
|
||||
# Set to redisplay.
|
||||
fset('mplayer/mainmenu', 'isdefault', 'true');
|
||||
|
||||
$_ = $selection;
|
||||
|
||||
return 'configure' if /^Video/;
|
||||
# return 'aoutput' if /^Aoutput/;
|
||||
return 'Exit';
|
||||
}
|
||||
|
||||
sub editreturn {
|
||||
my @args = @_;
|
||||
return 'mainmenu' if $isediting;
|
||||
return @args;
|
||||
}
|
||||
|
||||
sub editfix {
|
||||
my $template = shift @_;
|
||||
if ($isediting) {
|
||||
fset($template, 'isdefault', 'true');
|
||||
}
|
||||
}
|
|
@ -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";
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
Template: mplayer/replace-existing-files
|
||||
Type: boolean
|
||||
Default: true
|
||||
Description: Upgrade existing system?
|
||||
It looks like you've configured your mplayer already.
|
||||
If you'd like to configure it with this program, I'll have
|
||||
to delete the old configuration. Do you want to continue
|
||||
configuration with this program? If you say "yes", I'll go ahead
|
||||
and delete your old configuration and you can create it anew with
|
||||
this program.
|
||||
|
||||
Template: mplayer/replace-existing-files-bail
|
||||
Type: note
|
||||
Description: Files not replaced
|
||||
I'm going to exit now since you don't want me to replace your
|
||||
existing files. If you change your mind later, you can run
|
||||
dpkg-reconfigure mplayer.
|
||||
|
||||
Template: mplayer/mainmenu
|
||||
Type: select
|
||||
Choices: ${choices}, Exit
|
||||
Description: MPlayer Main Menu
|
||||
From this menu, you can modify any of the settings for your device.
|
||||
Simply select the item you'd like to change to modify it.
|
||||
When you are done, select Exit.
|
||||
|
||||
Template: mplayer/voutput
|
||||
Type: select
|
||||
Choices: ${vochoices}, x11
|
||||
Description: MPlayer Video Output
|
||||
Yada yada..
|
||||
|
Loading…
Reference in New Issue