We were previously forcing the augeas Modprobe lens to match modules.conf and
conf.modules. It turns out that the contents of these files are quite different
to modprobe.conf, requiring a new lens.
This change keeps the logic which looks for where modules should go, but doesn't
update the augeas configuration. If there is no augeas lens for
/etc/modules.conf, any attempt to parse or modify it will fail.
---
lib/Sys/VirtV2V/GuestOS/RedHat.pm | 20 ++++++++------------
1 files changed, 8 insertions(+), 12 deletions(-)
diff --git a/lib/Sys/VirtV2V/GuestOS/RedHat.pm b/lib/Sys/VirtV2V/GuestOS/RedHat.pm
index 77f0f3a..1a7afbd 100644
--- a/lib/Sys/VirtV2V/GuestOS/RedHat.pm
+++ b/lib/Sys/VirtV2V/GuestOS/RedHat.pm
@@ -87,6 +87,7 @@ sub new
bless($self, $class);
$self->_init_selinux();
+ $self->_init_modules();
$self->_init_augeas();
return $self;
@@ -168,10 +169,9 @@ sub _init_selinux
$g->touch('/.autorelabel');
}
-sub _init_augeas
+sub _init_modules
{
my $self = shift;
-
my $g = $self->{g};
# Check how new modules should be configured. Possibilities, in descending
@@ -185,10 +185,8 @@ sub _init_augeas
# discovered method will be chosen
# Files which the augeas Modprobe lens doesn't look for by default
- my @modprobe_add = ();
foreach my $file qw(/etc/conf.modules /etc/modules.conf) {
if($g->exists($file)) {
- push(@modprobe_add, $file);
$self->{modules} = $file;
}
}
@@ -205,20 +203,18 @@ sub _init_augeas
die(user_message(__"Unable to find any valid modprobe configuration"))
unless(defined($self->{modules}));
+}
+
+sub _init_augeas
+{
+ my $self = shift;
+ my $g = $self->{g};
# Initialise augeas
eval {
$g->aug_close();
$g->aug_init("/", 1);
- # Add files which exist, but the augeas Modprobe lens doesn't look for
- # by default
- if(scalar(@modprobe_add) > 0) {
- foreach (@modprobe_add) {
- $g->aug_set("/augeas/load/Modprobe/incl[last()+1]", $_);
- }
- }
-
# Check if /boot/grub/menu.lst is included by the Grub lens
my $found = 0;
foreach my $incl ($g->aug_match("/augeas/load/Grub/incl")) {
--
1.6.6.1