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.
This commit is contained in:
parent
0438236263
commit
c4ad0f86c7
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