From 2a5c8f7f55aa9d9a99f5dda38565f0f49e6a7fa2 Mon Sep 17 00:00:00 2001 From: Vladimir Sokolovsky Date: Sun, 21 Oct 2007 10:20:50 +0200 Subject: [PATCH] install: set existing kernel dependent RPMs according to the required kernel version. Signed-off-by: Vladimir Sokolovsky --- install.pl | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/install.pl b/install.pl index d8e04b2..bf55a0c 100755 --- a/install.pl +++ b/install.pl @@ -1313,6 +1313,11 @@ sub get_rpm_name_arch return `rpm --queryformat "[%{NAME}] [%{ARCH}]" -qp @_`; } +sub get_rpm_release +{ + return `rpm --queryformat "[%{RELEASE}]" -qp @_`; +} + # Get RPM name and version of the INSTALLED package sub get_rpm_version { @@ -1497,13 +1502,21 @@ sub set_existing_rpms { for my $binrpm ( <$RPMS/*.rpm> ) { my ($rpm_name, $rpm_arch) = (split ' ', get_rpm_name_arch($binrpm)); - if ($rpm_arch eq $target_cpu) { - $packages_info{$rpm_name}{'rpm_exist'} = 1; - print "$rpm_name RPM exist\n" if ($verbose2); + if ($rpm_name =~ /kernel-ib|ib-bonding/) { + if (($rpm_arch eq $target_cpu) and (get_rpm_release($binrpm) eq $kernel_rel)) { + $packages_info{$rpm_name}{'rpm_exist'} = 1; + print "$rpm_name RPM exist\n" if ($verbose2); + } } - elsif ($rpm_arch eq $target_cpu32) { - $packages_info{$rpm_name}{'rpm_exist32'} = 1; - print "$rpm_name 32-bit RPM exist\n" if ($verbose2); + else { + if ($rpm_arch eq $target_cpu) { + $packages_info{$rpm_name}{'rpm_exist'} = 1; + print "$rpm_name RPM exist\n" if ($verbose2); + } + elsif ($rpm_arch eq $target_cpu32) { + $packages_info{$rpm_name}{'rpm_exist32'} = 1; + print "$rpm_name 32-bit RPM exist\n" if ($verbose2); + } } } } -- 2.46.0