mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-13 21:50:33 +03:00
install-grub.pl: Refactor: Extract getList()
This commit is contained in:
parent
d4d9d9c552
commit
0dcad215fe
1 changed files with 11 additions and 9 deletions
|
@ -20,6 +20,16 @@ my $dom = XML::LibXML->load_xml(location => $ARGV[0]);
|
||||||
|
|
||||||
sub get { my ($name) = @_; return $dom->findvalue("/expr/attrs/attr[\@name = '$name']/*/\@value"); }
|
sub get { my ($name) = @_; return $dom->findvalue("/expr/attrs/attr[\@name = '$name']/*/\@value"); }
|
||||||
|
|
||||||
|
sub getList {
|
||||||
|
my ($name) = @_;
|
||||||
|
my @list = ();
|
||||||
|
foreach my $entry ($dom->findnodes("/expr/attrs/attr[\@name = '$name']/list/string/\@value")) {
|
||||||
|
$entry = $entry->findvalue(".") or die;
|
||||||
|
push(@list, $entry);
|
||||||
|
}
|
||||||
|
return @list;
|
||||||
|
}
|
||||||
|
|
||||||
sub readFile {
|
sub readFile {
|
||||||
my ($fn) = @_; local $/ = undef;
|
my ($fn) = @_; local $/ = undef;
|
||||||
open FILE, "<$fn" or return undef; my $s = <FILE>; close FILE;
|
open FILE, "<$fn" or return undef; my $s = <FILE>; close FILE;
|
||||||
|
@ -616,15 +626,7 @@ sub readGrubState {
|
||||||
return $grubState
|
return $grubState
|
||||||
}
|
}
|
||||||
|
|
||||||
sub getDeviceTargets {
|
my @deviceTargets = getList('devices');
|
||||||
my @devices = ();
|
|
||||||
foreach my $dev ($dom->findnodes('/expr/attrs/attr[@name = "devices"]/list/string/@value')) {
|
|
||||||
$dev = $dev->findvalue(".") or die;
|
|
||||||
push(@devices, $dev);
|
|
||||||
}
|
|
||||||
return @devices;
|
|
||||||
}
|
|
||||||
my @deviceTargets = getDeviceTargets();
|
|
||||||
my $prevGrubState = readGrubState();
|
my $prevGrubState = readGrubState();
|
||||||
my @prevDeviceTargets = split/,/, $prevGrubState->devices;
|
my @prevDeviceTargets = split/,/, $prevGrubState->devices;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue