From fb40b1b31b0348190de5ed9c2c8cf15756ba4cf8 Mon Sep 17 00:00:00 2001 From: Anders Blomdell <anders.blomdell@control.lth.se> Date: Tue, 30 Jun 2015 14:31:20 +0200 Subject: [PATCH] Prefer dnf to yum, make metadata checks after 60 s --- src/mio/yum.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/mio/yum.py b/src/mio/yum.py index dca98f9..c74a5a3 100755 --- a/src/mio/yum.py +++ b/src/mio/yum.py @@ -60,7 +60,8 @@ def conf(path): "tolerant=1", "exactarch=1", "obsoletes=1", - "installonly_limit=8" ] + "installonly_limit=8", + "metadata_expire=60" ] dir = yumdir(path) for m in mio.filecache.expand_mirror(dir): @@ -85,18 +86,26 @@ def run(path, rpm, exclude): else: verb = mio.log.verbosity - 2 + # Use dnf in preference of yum + if os.access('/usr/bin/dnf', os.X_OK): + CMD = '/usr/bin/dnf' + else: + CMD = '/usr/bin/yum' + + # Do an update of already installed packages, this has # to be done before the install, because outdated packages # need to be updated before the install, or we might get # a conflict. exclude_arg = map(lambda s: "-x %s" % s, exclude) - update = "yum -c %s -e %s -d %s -y update %s" % (f.name, verb, verb, - " ".join(exclude_arg)) + update = "%s -c %s -e %s -d %s -y update %s" % ( + CMD, f.name, verb, verb, "".join(exclude_arg)) mio.log.log(NORMAL, update) result = mio.daemon_cage.system(update) # Install new packages - install = "yum -c %s -e %s -d %s -y install" % (f.name, verb, verb) + install = "%s -c %s -e %s -d %s -y install" % ( + CMD, f.name, verb, verb) i = 0 for p in rpm: i += 1 -- GitLab