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