/usr/local/CPAN/Debarnacle/Debian/Debarnacle/Alternatives.pm
# $Id: Alternatives.pm,v 1.4 2002/05/11 06:33:44 itz Exp $
package Debian::Debarnacle::Alternatives;
use FileHandle 2.00;
use File::Glob 0.991 qw(bsd_glob GLOB_QUOTE GLOB_BRACE);
sub get_list {
chdir("/var/lib/dpkg/alternatives") or die "can't chdir to /var/lib/dpkg/alternatives: $!";
my @altnames = bsd_glob("*");
my @altfiles = ("/var/lib/dpkg/alternatives");
foreach my $altname (@altnames) {
push @altfiles, "/var/lib/dpkg/alternatives/$altname";
my $fh_alt = FileHandle->new("<$altname");
defined $fh_alt or die "can't open /var/lib/dpkg/alternatives/$altname: $!";
my $line = $fh_alt->getline(); # auto/manual
my $altbasename = $altname;
ALTLINE:
while (1) {
my $altlink = $fh_alt->getline();
chomp $altlink;
push @altfiles, "/etc/alternatives/$altbasename";
push @altfiles, $altlink;
$altbasename = $fh_alt->getline();
chomp $altbasename;
last ALTLINE unless $altbasename;
}
$fh_alt->close();
}
return \@altfiles;
}
1;