summaryrefslogtreecommitdiffstats
path: root/perl-install/harddrake/check_snd.pl
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/harddrake/check_snd.pl')
-rwxr-xr-xperl-install/harddrake/check_snd.pl20
1 files changed, 20 insertions, 0 deletions
diff --git a/perl-install/harddrake/check_snd.pl b/perl-install/harddrake/check_snd.pl
new file mode 100755
index 000000000..dfa007b80
--- /dev/null
+++ b/perl-install/harddrake/check_snd.pl
@@ -0,0 +1,20 @@
+#!/usr/bin/perl
+
+use strict;
+use lib qw(/usr/lib/libDrakX);
+
+use common;
+use harddrake::sound;
+use list_modules;
+
+
+my @listed_modules = @{$list_modules::l{multimedia}{sound}};
+my @drivers = (keys %harddrake::sound::oss2alsa, keys %harddrake::sound::alsa2oss);
+my @alternatives = uniq map { @{$_} } values %harddrake::sound::oss2alsa, values %harddrake::sound::alsa2oss;
+
+# check harddrake::sound's data structures're coherent
+print "unknown alternative drivers : [", join(', ', difference2(\@alternatives, \@drivers)), "]\n";
+
+# check that list_modules and harddrake::sound are synced
+print "non real sound modules (submodules, tv, usb, ...) : [", join(', ', difference2(\@drivers, \@listed_modules)), "]\n";
+print "forgotten sound modules : [", join(', ', difference2(\@listed_modules, \@drivers)), "]\n";