39 lines
1.3 KiB
Diff
Executable File
39 lines
1.3 KiB
Diff
Executable File
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
|
|
|