summaryrefslogtreecommitdiffstats
path: root/perl-install/bootloader.pm
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2004-11-08 16:53:22 +0000
committerPascal Rigaux <pixel@mandriva.com>2004-11-08 16:53:22 +0000
commit40931dc4334dafa4c641cc62a6ca66168919341d (patch)
tree7ee6ef64c6584fdb831f9289cb3923a0b3f80e75 /perl-install/bootloader.pm
parentfe42777351801ba6b62e586867f6cfd61aba3e2f (diff)
downloaddrakx-40931dc4334dafa4c641cc62a6ca66168919341d.tar
drakx-40931dc4334dafa4c641cc62a6ca66168919341d.tar.gz
drakx-40931dc4334dafa4c641cc62a6ca66168919341d.tar.bz2
drakx-40931dc4334dafa4c641cc62a6ca66168919341d.tar.xz
drakx-40931dc4334dafa4c641cc62a6ca66168919341d.zip
backport check_kernel_module_packages() from 10.1 to adapt to dkms proprietary packages
Diffstat (limited to 'perl-install/bootloader.pm')
-rw-r--r--perl-install/bootloader.pm15
1 files changed, 15 insertions, 0 deletions
diff --git a/perl-install/bootloader.pm b/perl-install/bootloader.pm
index 40c4c78a0..765978360 100644
--- a/perl-install/bootloader.pm
+++ b/perl-install/bootloader.pm
@@ -39,6 +39,21 @@ our %vga_modes = (
#-#####################################################################################
#- Functions
#-#####################################################################################
+my $vmlinuz_regexp = 'vmlinuz|win4lin';
+my $decompose_vmlinuz_name = qr/((?:$vmlinuz_regexp).*?)-(\d+\.\d+.*)/;
+
+sub expand_vmlinuz_symlink {
+ my ($vmlinuz) = @_;
+ my $f = $::prefix . ($vmlinuz =~ m!^/! ? $vmlinuz : "/boot/$vmlinuz");
+ -l $f ? readlink($f) : $vmlinuz;
+}
+
+sub installed_vmlinuz_raw() { grep { /^($vmlinuz_regexp)/ } all("$::prefix/boot") }
+sub installed_vmlinuz() { grep { ! -l "$::prefix/boot/$_" } installed_vmlinuz_raw() }
+sub vmlinuz2version {
+ my ($vmlinuz) = @_;
+ expand_vmlinuz_symlink($vmlinuz) =~ /$decompose_vmlinuz_name/ && $2;
+}
sub get {
my ($kernel, $bootloader) = @_;