Look at the filename and if it has a version defined possibly process this as a downgrade.
This commit is contained in:
parent
9244283122
commit
47b2dc611c
1 changed files with 11 additions and 8 deletions
|
@ -543,15 +543,18 @@ def install(module, items, repoq, yum_basecmd, conf_file, en_repos, dis_repos):
|
||||||
# downgrade - the yum install command will only install or upgrade to a spec version, it will
|
# downgrade - the yum install command will only install or upgrade to a spec version, it will
|
||||||
# not install an older version of an RPM even if specified by the install spec. So we need to
|
# not install an older version of an RPM even if specified by the install spec. So we need to
|
||||||
# determine if this is a downgrade, and then use the yum downgrade command to install the RPM.
|
# determine if this is a downgrade, and then use the yum downgrade command to install the RPM.
|
||||||
pkg_name = splitFilename(spec)[0]
|
split_pkg_name = splitFilename(spec)
|
||||||
pkgs = is_installed(module, repoq, pkg_name, conf_file, en_repos=en_repos, dis_repos=dis_repos, is_pkg=True)
|
# if the Name and Version match a version was not provided and this is not a downgrade.
|
||||||
if pkgs:
|
if split_pkg_name[0] == split_pkg_name[1]:
|
||||||
(cur_name, cur_ver, cur_rel, cur_epoch, cur_arch) = splitFilename(pkgs[0])
|
pkg_name = split_pkg_name[0]
|
||||||
(new_name, new_ver, new_rel, new_epoch, new_arch) = splitFilename(spec)
|
pkgs = is_installed(module, repoq, pkg_name, conf_file, en_repos=en_repos, dis_repos=dis_repos, is_pkg=True)
|
||||||
|
if pkgs:
|
||||||
|
(cur_name, cur_ver, cur_rel, cur_epoch, cur_arch) = splitFilename(pkgs[0])
|
||||||
|
(new_name, new_ver, new_rel, new_epoch, new_arch) = splitFilename(spec)
|
||||||
|
|
||||||
compare = compareEVR((cur_epoch, cur_ver, cur_rel), (new_epoch, new_ver, new_rel))
|
compare = compareEVR((cur_epoch, cur_ver, cur_rel), (new_epoch, new_ver, new_rel))
|
||||||
if compare > 0:
|
if compare > 0:
|
||||||
downgrade = True
|
downgrade = True
|
||||||
|
|
||||||
# if not - then pass in the spec as what to install
|
# if not - then pass in the spec as what to install
|
||||||
# we could get here if nothing provides it but that's not
|
# we could get here if nothing provides it but that's not
|
||||||
|
|
Loading…
Reference in a new issue