Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provided python-repoze.lru package conflicts with EPEL python-repoze-lru on CentOS 7 #460

Closed
arlake228 opened this issue May 30, 2017 · 5 comments
Assignees

Comments

@arlake228
Copy link
Collaborator

Looks like over the weekend EPEL published a new python2-jsonschema RPM on CentOS 7 that has a higher version than the one we provide (2.5.1-3 instead of 2.5.1-1). This package requires python-repoze-lru which is older than the one we provide, but we name it python-repoze.lru. As a result the older version conflicts with the newer version and updates fail.

@mfeit-internet2
Copy link
Member

Oh great, another instance of #215. We'll have to go the dummy package route again.

@arlake228
Copy link
Collaborator Author

Though in this case could we a) just use the EPEL python2-jsonschema since it seems slightly newer and b) rename our python-repoze.lru to python-repoze-lru (since it's newer it will get chosen)? Don't remember the mix of versions last time around, but in theory we shouldn't need the dummy packages (though i probably said that last time).

@mfeit-internet2
Copy link
Member

Even if we no longer depend on repose.lru ("dot," ours), it has files in it that conflict with repose-lru ("dash," EPEL's). Dot won't be uninstalled during an upgrade even if nothing still depends on it, and we have no way to make that happen within the context of an upgrade..

To clean up already-installed systems, I think on EL7 only we're going to have to:

  • Release an upgrade to dot that has a crazy-high version number and no files inside, which will delete what it had installed.
  • Force our dependency on python2-jsonschema to depend on dash, >= what's in the upgraded EPEL.
  • New systems won't get the dot package because nothing depends on it.

...or...

  • Have dot say it provides dash, but that means we have to keep it current as long as we support EL7.

@mfeit-internet2
Copy link
Member

On EL6:

  • python-jsonschema is still built from our sources and still depends on repoze.lru (dot).
  • repoze.lru (dot) builds as it always did.
  • Both are a later version than what's in EPEL and should stay that way.

On EL7:

  • For existing systems, repoze.lru (dot) is built at version 999.9 and is an empty RPM. This will make systems that have it to upgrade, removing the conflicting files.
  • python-pscheduler depends on python2-jsonschema, which depends on repoze-lru (dash).

If repoze.lru (dot) still causes conflicts during the upgrade, python-pscheduler on EL7 will need to depend on it in its high version number.

@mfeit-internet2
Copy link
Member

This upgrade happened successfully on antg-staging:

[rootmf@antg-staging ~]# rpm -qa | fgrep jsonschema
python2-jsonschema-2.5.1-3.el7.noarch

[rootmf@antg-staging ~]# rpm -qa | fgrep lru
python-repoze.lru-999.9-1.el7.centos.1588.2c8e1401f9add05627aa6fb00027c47a013e08d7.noarch
python-repoze-lru-0.4-3.el7.noarch



Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants