From: Vladimir Sokolovsky Date: Sun, 21 Oct 2007 08:20:50 +0000 (+0200) Subject: install: set existing kernel dependent RPMs according to the required kernel X-Git-Tag: vofed-1.3-beta1~32 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=2a5c8f7f55aa9d9a99f5dda38565f0f49e6a7fa2;p=~tnikolova%2Fofed_scripts%2F.git install: set existing kernel dependent RPMs according to the required kernel version. Signed-off-by: Vladimir Sokolovsky --- 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); + } } } }