[Libguestfs] [PATCH] Rely on new augeas lens for modules.conf and conf.modules
Richard W.M. Jones
rjones at redhat.com
Tue May 18 13:47:12 UTC 2010
On Fri, May 14, 2010 at 02:51:52PM +0100, Matthew Booth wrote:
> 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
>
> _______________________________________________
> Libguestfs mailing list
> Libguestfs at redhat.com
> https://www.redhat.com/mailman/listinfo/libguestfs
I thought I had ACKed this one before, but in case I didn't, ACK.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://et.redhat.com/~rjones/virt-top
More information about the Libguestfs
mailing list