1 |
diff -up e-smith-base-5.0.0/root/etc/e-smith/events/actions/conf-modules.badkmods e-smith-base-5.0.0/root/etc/e-smith/events/actions/conf-modules |
2 |
--- e-smith-base-5.0.0/root/etc/e-smith/events/actions/conf-modules.badkmods 2010-06-02 11:13:16.000000000 -0600 |
3 |
+++ e-smith-base-5.0.0/root/etc/e-smith/events/actions/conf-modules 2010-06-02 13:01:23.000000000 -0600 |
4 |
@@ -24,6 +24,18 @@ use strict; |
5 |
use Errno; |
6 |
use File::Find; |
7 |
|
8 |
+# Remove broken kmods |
9 |
+use RPM2; |
10 |
+my @remove; |
11 |
+my $rpm2 = RPM2->open_rpm_db(); |
12 |
+foreach ($rpm2->find_by_provides('appletalk-kmod'), $rpm2->find_by_provides('slip-kmod')) { |
13 |
+ push @remove, $_->as_nvre if $_->version eq '1.0' && $_->release eq '6.el4.sme'; |
14 |
+} |
15 |
+foreach ($rpm2->find_by_provides('ppp-kmod')) { |
16 |
+ push @remove, $_->as_nvre if $_->version eq '1.0.2' && $_->release eq '7.el4.sme'; |
17 |
+} |
18 |
+system(qw(rpm -e --noscripts), @remove) if scalar @remove > 0; |
19 |
+ |
20 |
# Remove stale symlinks from /lib/modules |
21 |
finddepth(sub{unlink unless -e $_}, '/lib/modules/'); |
22 |
|