annotate debian/postinst @ 1398:10e236ceac5e

update to perl debconf. fixed problem with configure.
author eyck
date Sat, 28 Jul 2001 07:54:52 +0000
parents
children 50dc44570cd4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1398
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
1 #!/usr/bin/perl -w
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
2
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
3 # mplayer postinst
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
4
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
5 require ConfHelper;
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
6
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
7 use Debian::DebConf::Client::ConfModule qw(:all);
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
8 use IO::Handle;
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
9 use Fcntl;
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
10 my $version = version(1.0);
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
11 my @savedolddata = ();
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
12 my $didupgrade = 0;
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
13
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
14 dealwithupgrades();
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
15
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
16 # We add lo0 right now, useful in case we exit anyway.
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
17
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
18 my $mcfg = new ConfHelper('mplayer', "/etc/mplayer.conf");
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
19 $mcfg->setconfarea("
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
20 #MPlayer config file generated by .deb package.
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
21 #ffactor = 0.9
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
22 #fs = yes
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
23 ");
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
24
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
25 ###########################################################################
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
26
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
27 debug("Configuring video output driver...");
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
28
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
29 my $dcarea = <<"EOF";
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
30 # MPlayer config file,
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
31
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
32 # MPlayer video output driver, configured by mplayer.deb
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
33 EOF
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
34
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
35 $dcarea .= "vo=" . scalar(get("mplayer/voutput"));
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
36 $dcarea .= "\n";
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
37
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
38 $mcfg->setconfarea($dcarea);
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
39
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
40 if ($didupgrade) {
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
41 $interfaces->setotherarea_DANGEROUS(@savedolddata);
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
42 }
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
43
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
44 #%###################################
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
45
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
46 exit unless (get("mplayer/configure") eq 'true');
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
47 exit unless (fget("mplayer/configure", "isdefault") eq 'false');
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
48
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
49
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
50
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
51 sub dealwithupgrades {
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
52 open(OLDCONF, "</etc/mplayer.conf") || return 1;
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
53 close OLDCONF;
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
54
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
55 my $mconf = new ConfHelper("mplayer", "/etc/mplayer.conf");
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
56 return 1 if ($mconf->hasconfarea());
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
57 undef $mconf;
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
58
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
59 if ((get('mplayer/replace-existing-files') eq 'true') &&
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
60 (fget('mplayer/replace-existing-files', 'isdefault') eq 'false')) {
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
61 print STDERR "Upgrading...\n";
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
62 #? saveolddata("/etc/network/interfaces", "pppconf");
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
63 $didupgrade = 1;
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
64 for my $file ("/etc/mplayer.conf"
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
65 #, "/etc/mplayer/fonts/sth
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
66 ) {
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
67 debug("Deleting $file");
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
68 unlink $file;
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
69 }
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
70 } else {
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
71 print STDERR "Upgrade refused, exiting.\n";
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
72 exit 0;
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
73 }
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
74 }
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
75
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
76 # Gets any debconf area for other packages and saves it off.
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
77
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
78 sub saveolddata {
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
79 my ($file, $package) = @_;
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
80 my $conf = new ConfHelper($package, $file);
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
81 push(@savedolddata, $conf->{startline} . "\n");
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
82 push(@savedolddata, $conf->getconfarea());
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
83 push(@savedolddata, $conf->{endline} . "\n");
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
84 }
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
85
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
86 sub debug {
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
87 print STDERR @_, "\n";
10e236ceac5e update to perl debconf. fixed problem with configure.
eyck
parents:
diff changeset
88 }