39 lines
1.3 KiB
Diff
39 lines
1.3 KiB
Diff
|
channels/rpm_sys: use md5sum instead of mtime as the digest
|
||
|
|
||
|
Use the internal getFileDigest() function (which defaults to md5) instead of
|
||
|
mtime for getting the file digest. On some systems mtime proved to be
|
||
|
unreliable because of delayed update. This caused smart to miss rpm db updates
|
||
|
and thus get its understanding of installed packages out of sync.
|
||
|
|
||
|
Upstream-Status: Pending
|
||
|
|
||
|
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
|
||
|
---
|
||
|
smart/channels/rpm_sys.py | 3 ++-
|
||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/smart/channels/rpm_sys.py b/smart/channels/rpm_sys.py
|
||
|
index b9fda27..6f1fe94 100644
|
||
|
--- a/smart/channels/rpm_sys.py
|
||
|
+++ b/smart/channels/rpm_sys.py
|
||
|
@@ -22,6 +22,7 @@
|
||
|
from smart.backends.rpm.header import RPMDBLoader
|
||
|
from smart.backends.rpm.base import getTS, rpm_join_dbpath
|
||
|
from smart.channel import PackageChannel
|
||
|
+from smart.util.filetools import getFileDigest
|
||
|
from smart import *
|
||
|
import os
|
||
|
|
||
|
@@ -35,7 +36,7 @@ class RPMSysChannel(PackageChannel):
|
||
|
dbdir = rpm_join_dbpath(sysconf.get("rpm-root", "/"),
|
||
|
sysconf.get("rpm-dbpath", "var/lib/rpm"))
|
||
|
path = os.path.join(dbdir, "Packages")
|
||
|
- digest = os.path.getmtime(path)
|
||
|
+ digest = getFileDigest(path)
|
||
|
if digest == self._digest:
|
||
|
return True
|
||
|
self.removeLoaders()
|
||
|
--
|
||
|
2.6.6
|
||
|
|