438d8d3 scripts/pythondistdeps: Backport switch to importlib.metadata from upstream

Authored and Committed by torsava 3 years ago
    scripts/pythondistdeps: Backport switch to importlib.metadata from upstream
    
    Upstream change to importlib.metadata: https://github.com/rpm-software-management/rpm/pull/1317
    
    Due to extras packages being hadled slightly differently by importlib,
    one test case for this was added.  And due to changes in handling
    requires.txt files, comments were removed from the pyreq2rpm.tests
    testing package.
    
    Also because of the switch, we removed the dependency on setuptools and
    added a dependency on packaging.
    
    Note: Some packages with egg-info files might provide a different name
    due to this change if there is a conflict between the filename and the
    name in the metadata. Previously, the filename was sometimes used to
    parse the name, now it is always the content of that file, which is what
    packaging does, and thus also pip and other Python tooling. Currently,
    this is known to affect only 1 package in Fedora (ntpsec).
    
    The resulting script is different from upstream because of not yet upstreamed changes in Fedora:
    - scripts/pythondistdeps: Rework error messages
    - scripts/pythondistdeps: Add parameter --package-name
    - scripts/pythondistdeps: Implement provides/requires for extras packages
    - pythondistdeps.py: When parsing extras name, take the rightmost +
    
    These changes are proposed in this upstream PR: https://github.com/rpm-software-management/rpm/pull/1546
    
        
file modified
+7 -2
file modified
+151 -116