724a52a Fix more complicated requirement expressions by adding parenthesis

Authored and Committed by churchyard 4 years ago
    Fix more complicated requirement expressions by adding parenthesis
    
    Puts bounded requirements into parenthesis
    
    Fixes: https://github.com/rpm-software-management/rpm/issues/995
    Upstream: https://github.com/rpm-software-management/rpm/pull/996
    
    For this input: pyparsing>=2.0.1,!=2.0.4,!=2.1.2,!=2.1.6
    
    Instead of (invalid):
    (python3.8dist(pyparsing) >= 2.0.1 with
     python3.8dist(pyparsing) < 2.1.2 or python3.8dist(pyparsing) >= 2.1.2.0 with
     python3.8dist(pyparsing) < 2.1.6 or python3.8dist(pyparsing) >= 2.1.6.0 with
     python3.8dist(pyparsing) < 2.0.4 or python3.8dist(pyparsing) >= 2.0.4.0)
    
    Produces (valid):
    (python3.8dist(pyparsing) >= 2.0.1 with
     (python3.8dist(pyparsing) < 2.1.2 or python3.8dist(pyparsing) >= 2.1.2.0) with
     (python3.8dist(pyparsing) < 2.0.4 or python3.8dist(pyparsing) >= 2.0.4.0) with
     (python3.8dist(pyparsing) < 2.1.6 or python3.8dist(pyparsing) >= 2.1.6.0))
    
    For this input: babel>=1.3,!=2.0
    
    Instead of (invalid):
    (python3.8dist(babel) >= 1.3 with
     python3.8dist(babel) < 2 or python3.8dist(babel) >= 2.0)
    
    Produces (valid):
    (python3.8dist(babel) >= 1.3 with
     (python3.8dist(babel) < 2 or python3.8dist(babel) >= 2.0))
    
    For this input: pbr!=2.1.0,>=2.0.0
    
    Instead of (invalid):
    (python3.8dist(pbr) >= 2 with
     python3.8dist(pbr) < 2.1 or python3.8dist(pbr) >= 2.1.0)
    
    Produces (valid):
    (python3.8dist(pbr) >= 2 with
     (python3.8dist(pbr) < 2.1 or python3.8dist(pbr) >= 2.1.0))
    
        
  • Build completed
    success
    Built as python-rpm-generators-10-2.fc32
    4 years ago
file modified
+4 -1
file modified
+3 -3