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 --- 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