From 0f2835a86fe8d8eb820db0544513c9bef8ac466e Mon Sep 17 00:00:00 2001 From: Colin Guthrie Date: Wed, 18 May 2011 23:02:11 +0000 Subject: draksound: Do not write PA config files if they do not exist --- perl-install/NEWS | 11 ++++++++--- perl-install/harddrake/sound.pm | 18 +++++++++++++++++- 2 files changed, 25 insertions(+), 4 deletions(-) (limited to 'perl-install') diff --git a/perl-install/NEWS b/perl-install/NEWS index ce4805f65..d842dad13 100644 --- a/perl-install/NEWS +++ b/perl-install/NEWS @@ -1,6 +1,11 @@ -- draksound: Remove the "Enable 5.1..." option. This is now done via card profiles - in native GUIs for GNOME and KDE (or pavucontrol) -- draksound: Remove the "Enable user switching..." option as it relies on HAL +- draksound + o Robustify the PulseAudio configs (don't try and write files if they + do not exists. Doing so previously would result in blank files that then + causes problems when installing PulseAudio as the "config" files are not + overwritten properly which can result in broken PA startup) + o Remove the "Enable 5.1..." option. This is now done via card profiles + in native GUIs for GNOME and KDE (or pavucontrol) + o Remove the "Enable user switching..." option as it relies on HAL which is deprecated. - Change scannerdrake to use skanlite instead of kooka - any.pm: s!/usr/share/mdk/faces/!/usr/share/mga/faces/! should fix (mga#1315) diff --git a/perl-install/harddrake/sound.pm b/perl-install/harddrake/sound.pm index d06dd708d..8b6efeb5c 100644 --- a/perl-install/harddrake/sound.pm +++ b/perl-install/harddrake/sound.pm @@ -190,6 +190,10 @@ sub set_pulseaudio { my ($val) = @_; my $alterative = '/etc/sound/profiles/' . ($val ? 'pulse' : 'alsa'); + if ( ! -d $alterative ) { + return; + } + common::symlinkf_update_alternatives('soundprofile', $alterative); # (cg) This config file will eventually be dropped, but it is still needed for now @@ -216,6 +220,11 @@ sub is_pulseaudio_glitchfree_enabled() { sub set_pulseaudio_glitchfree { my ($val) = @_; + + if ( ! -f $pa_defaultsconfig_file ) { + return; + } + substInFile { if ($val) { s/^(load-module\s+module-(udev|hal)-detect)\s+tsched=0/$1/; @@ -229,6 +238,11 @@ my $pa_client_conffile = "$::prefix/etc/pulse/client.conf"; sub set_PA_autospan { my ($val) = @_; + + if ( ! -f $pa_client_conffile ) { + return; + } + $val = 'autospawn = ' . bool2yesno($val) . "\n"; my $done; substInFile { @@ -298,6 +312,7 @@ sub switch { push @alternative, $driver; my %des = modules::category2modules_and_description('multimedia/sound'); + my $is_pulseaudio_installed = ( -f $pa_defaultsconfig_file && -f $pa_client_conffile && -d '/etc/sound/profiles/pulse' ); my $is_pulseaudio_enabled = is_pulseaudio_enabled(); my $is_pulseaudio_glitchfree_enabled = is_pulseaudio_glitchfree_enabled(); @@ -323,11 +338,12 @@ sub switch { { text => N("Enable PulseAudio"), type => 'bool', val => \$is_pulseaudio_enabled, + disabled => sub { !$is_pulseaudio_installed }, }, { text => N("Use Glitch-Free mode"), type => 'bool', val => \$is_pulseaudio_glitchfree_enabled, - disabled => sub { !$is_pulseaudio_enabled }, + disabled => sub { !$is_pulseaudio_installed || !$is_pulseaudio_enabled }, }, { advanced => 1, -- cgit v1.2.1