diff options
author | Pascal Rigaux <pixel@mandriva.com> | 2004-11-08 16:53:22 +0000 |
---|---|---|
committer | Pascal Rigaux <pixel@mandriva.com> | 2004-11-08 16:53:22 +0000 |
commit | 40931dc4334dafa4c641cc62a6ca66168919341d (patch) | |
tree | 7ee6ef64c6584fdb831f9289cb3923a0b3f80e75 /perl-install/bootloader.pm | |
parent | fe42777351801ba6b62e586867f6cfd61aba3e2f (diff) | |
download | drakx-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.pm | 15 |
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) = @_; |