git.annexia.org
/
libguestfs.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
256c084
)
Export inspect_linux_kernel in Lib.pm
author
Matthew Booth
<mbooth@redhat.com>
Wed, 19 Aug 2009 11:52:16 +0000
(12:52 +0100)
committer
Matthew Booth
<mbooth@redhat.com>
Wed, 19 Aug 2009 11:53:17 +0000
(12:53 +0100)
perl/lib/Sys/Guestfs/Lib.pm
patch
|
blob
|
history
diff --git
a/perl/lib/Sys/Guestfs/Lib.pm
b/perl/lib/Sys/Guestfs/Lib.pm
index
1f84bc6
..
dfa79af
100644
(file)
--- a/
perl/lib/Sys/Guestfs/Lib.pm
+++ b/
perl/lib/Sys/Guestfs/Lib.pm
@@
-66,7
+66,8
@@
use vars qw(@EXPORT_OK @ISA);
@ISA = qw(Exporter);
@EXPORT_OK = qw(open_guest get_partitions resolve_windows_path
inspect_all_partitions inspect_partition
@ISA = qw(Exporter);
@EXPORT_OK = qw(open_guest get_partitions resolve_windows_path
inspect_all_partitions inspect_partition
- inspect_operating_systems mount_operating_system inspect_in_detail);
+ inspect_operating_systems mount_operating_system inspect_in_detail
+ inspect_linux_kernel);
=head2 open_guest
=head2 open_guest
@@
-1551,10
+1552,19
@@
sub _check_for_kernels
}
$config{cmdline} = join(' ', @args) if(scalar(@args) > 0);
}
$config{cmdline} = join(' ', @args) if(scalar(@args) > 0);
- my $kernel = _inspect_linux_kernel($g, $os, "$path");
+ my $kernel =
+ inspect_linux_kernel($g, $path, $os->{package_format});
# Check the kernel was recognised
if(defined($kernel)) {
# Check the kernel was recognised
if(defined($kernel)) {
+ # Put this kernel on the top level kernel list
+ my $kernels = $os->{kernels};
+ if(!defined($kernels)) {
+ $kernels = [];
+ $os->{kernels} = $kernels;
+ }
+ push(@$kernels, $kernel);
+
$config{kernel} = $kernel;
# Look for an initrd entry
$config{kernel} = $kernel;
# Look for an initrd entry
@@
-1599,9
+1609,19
@@
sub _check_for_kernels
}
}
}
}
-sub _inspect_linux_kernel
+=head2 inspect_linux_kernel
+
+ my $kernel_hash = inspect_linux_kernel($g, $vmlinuz_path, $package_format);
+
+inspect_linux_kernel returns a hash describing the target linux kernel. For the
+contents of the hash, see the I<kernels> structure described under
+L</inspect_in_detail>.
+
+=cut
+
+sub inspect_linux_kernel
{
{
- my ($g, $
os, $path
) = @_;
+ my ($g, $
path, $package_format
) = @_;
my %kernel = ();
my %kernel = ();
@@
-1610,7
+1630,7
@@
sub _inspect_linux_kernel
# If this is a packaged kernel, try to work out the name of the package
# which installed it. This lets us know what to install to replace it with,
# e.g. kernel, kernel-smp, kernel-hugemem, kernel-PAE
# If this is a packaged kernel, try to work out the name of the package
# which installed it. This lets us know what to install to replace it with,
# e.g. kernel, kernel-smp, kernel-hugemem, kernel-PAE
- if($
os->{package_format}
eq "rpm") {
+ if($
package_format
eq "rpm") {
my $package;
eval { $package = $g->command(['rpm', '-qf', '--qf',
'%{NAME}', $path]); };
my $package;
eval { $package = $g->command(['rpm', '-qf', '--qf',
'%{NAME}', $path]); };
@@
-1667,14
+1687,6
@@
sub _inspect_linux_kernel
# of any kernel module.
$kernel{arch} = file_architecture ($g, $any_module);
# of any kernel module.
$kernel{arch} = file_architecture ($g, $any_module);
- # Put this kernel on the top level kernel list
- my $kernels = $os->{kernels};
- if(!defined($kernels)) {
- $kernels = [];
- $os->{kernels} = $kernels;
- }
- push(@$kernels, \%kernel);
-
return \%kernel;
}
return \%kernel;
}