fixed yum.parse_check_update regex (#24331)
Output of `yum check-update` can contain lines with long package names and long
repository label names, which will be broken into multiple lines, which need to
be sanitized. The solution to this has been fixed and refactored in 2.3 in form
of parse_check_update(), but it still contains subtle bug, which makes such
multi-lines invisible to later logic (such packages aren't included in
parse_check_update()) output. The problem is caused by using '\1' in re.sub(),
instead of proper r'\1', which literally puts unicode symbol \1 into resulting
output.
(cherry picked from commit c4ad0f86c7
)
This commit is contained in:
parent
572c07ddb3
commit
ab399146b4
1 changed files with 1 additions and 1 deletions
|
@ -885,7 +885,7 @@ def parse_check_update(check_update_output):
|
|||
# ceph.x86_64 1:11.2.0-0.el7 ceph
|
||||
|
||||
# preprocess string and filter out empty lines so the regex below works
|
||||
out = re.sub('\n[^\w]\W+(.*)', ' \1',
|
||||
out = re.sub(r'\n[^\w]\W+(.*)', r' \1',
|
||||
check_update_output)
|
||||
|
||||
available_updates = out.split('\n')
|
||||
|
|
Loading…
Reference in a new issue