Skip to content

regex for pip explicit version ( ensure => '1.0a1' ) broken #310

@whyteks

Description

@whyteks

While attempting to add pip package gsm0338 with version 1.0a1, I noted puppet actually trying and failing to UNinstall this package.

The regular expression here:
https://github.com/stankevich/puppet-python/blob/master/manifests/pip.pp#L150
will not catch a version like 1.0a1, or 0.31.1-1 and will attempt to uninstall the existing version, although this fails.

I note the Version formats comment here:
https://github.com/stankevich/puppet-python/blob/master/manifests/pip.pp#L213
However, that domain appears to be down, or infected with adware.
Seaching for guidelines, I found this page:
http://the-hitchhikers-guide-to-packaging.readthedocs.io/en/latest/specification.html
which would appear to suggest that examples such as 1.3a2.dev12 are acceptable

I would submit a patch, but I feel the lack of a patch is probably not the issue. Anyway, It's a simple regex mod, best left up to the developer who chose the current regex.

Question: Is there some political issue that requires packages to use only digits in the version scheme?
On my system, a quick check of pip freeze shows a not insignificant number of packages with version names that would not install with this puppet module.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions