diff options
author | Narayan Desai <desai@mcs.anl.gov> | 2009-07-23 01:31:51 +0000 |
---|---|---|
committer | Narayan Desai <desai@mcs.anl.gov> | 2009-07-23 01:31:51 +0000 |
commit | 92406467032682c8b0bdbb67576bbe177c4e868f (patch) | |
tree | 5a563c5bab125f3e86179732a29b12ac08be4bb0 | |
parent | e0215d6fc3455e1c84303b03a665277de216b149 (diff) | |
download | bcfg2-92406467032682c8b0bdbb67576bbe177c4e868f.tar.gz bcfg2-92406467032682c8b0bdbb67576bbe177c4e868f.tar.bz2 bcfg2-92406467032682c8b0bdbb67576bbe177c4e868f.zip |
RPMng: force incremental prelink call if prelink is installed on the system -- fixes spurious package verification failures (patch from HunterM)
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5378 ce84e21b-d406-0410-9b95-82705330c041
-rw-r--r-- | src/lib/Client/Tools/RPMng.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lib/Client/Tools/RPMng.py b/src/lib/Client/Tools/RPMng.py index eb7ad527b..bf04940e4 100644 --- a/src/lib/Client/Tools/RPMng.py +++ b/src/lib/Client/Tools/RPMng.py @@ -121,6 +121,15 @@ class RPMng(Bcfg2.Client.Tools.PkgTool): if '' in self.verify_flags: self.verify_flags.remove('') self.logger.debug('version_fail_action = %s' % self.version_fail_action) + # Force a re- prelink of all packages if prelink exists. + # Many, if not most package verifies can be caused by out of date prelinking. + if os.path.isfile('/usr/sbin/prelink'): + cmdrc, output = self.cmd.run('/usr/sbin/prelink -a -mR') + if cmdrc == 0: + self.logger.debug('Pre-emptive prelink succeeded') + else: + # FIXME : this is dumb - what if the output is huge? + self.logger.error('Pre-emptive prelink failed: %s' % output) def RefreshPackages(self): |