FS#57235 - [xdot] 0.9 does not run

Attached to Project: Community Packages
Opened by Jeb Rosen (jebrosen) - Friday, 26 January 2018, 17:03 GMT
Last edited by Balló György (City-busz) - Friday, 26 January 2018, 22:01 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Levente Polyak (anthraxx)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

xdot 0.9-1 does not run:

Traceback (most recent call last):
File "/usr/bin/xdot", line 6, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3147, in <module>
@_call_aside
File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3131, in _call_aside
f(*args, **kwargs)
File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3160, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 666, in _build_master
ws.require(__requires__)
File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 984, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 870, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'graphviz' distribution was not found and is required by xdot

xdot 0.8 or 0.9 upstream appears to have added an explicit graphviz dependency in /usr/lib/python3.6/site-packages/xdot-0.9-py3.6.egg-info/requires.txt

Arch does not package graphviz for python, but it may be necessary to do so for xdot now. On the other hand, removing that line from requires.txt allows xdot to run again. Thus, I am not sure if this upstream's responsibility for adding an unneeded dependency, or Arch's responsibility for not packaging the dependency, or what is really going on here.

In the meantime, "python3 -m xdot" works fine even though "/usr/bin/xdot" fails.
This task depends upon

Closed by  Balló György (City-busz)
Friday, 26 January 2018, 22:01 GMT
Reason for closing:  Fixed
Additional comments about closing:  xdot 0.9-2
Comment by Balló György (City-busz) - Friday, 26 January 2018, 18:12 GMT
graphviz should provide bindings for both python 2 and python 3 versions.
Comment by Doug Newgard (Scimmia) - Friday, 26 January 2018, 19:04 GMT
 FS#50149 
Comment by Levente Polyak (anthraxx) - Friday, 26 January 2018, 19:57 GMT
it does work with py3 now so we should ship that
Comment by Gaetan Bisson (vesath) - Friday, 26 January 2018, 20:34 GMT
See  FS#52149  for a feature request from 2016 requesting python3 support. If nothing has changed this will still be denied. We cannot drop python2 support from graphviz until *all* packages that depend on graphviz are ported to python3.
Comment by Gaetan Bisson (vesath) - Friday, 26 January 2018, 20:37 GMT
If you really need python3 bindings we could add a separate package to our repos called graphviz-python3 that would build graphviz with python3 support but just ship the bindings (no binaries, man page or otherwise) so it can be co-installed with the current graphviz. But I consider this a last resort solution. Any other ideas are welcome of course.
Comment by Jeb Rosen (jebrosen) - Friday, 26 January 2018, 21:16 GMT
I did get around to inspecting the source for xdot. xdot claims to require the python package "graphviz". This is distinct from graphviz itself, which provides a python package by the name "gv". This other package called "graphviz" (https://pypi.python.org/pypi/graphviz) is a pythonic wrapper around the graphviz file format and tools.

xdot does not actually depend on any python package for graphviz, named "graphviz" or "gv" or anything else. xdot calls the individual graphviz binaries directly (/usr/bin/dot, /usr/bin/neato, etc.), which leads me to believe that depending on any graphviz related python module is a mistake on xdot's part. I will ask about this upstream; apologies for the noise here.
Comment by Balló György (City-busz) - Friday, 26 January 2018, 22:00 GMT
Oh, I see, we don't need the python3 bindings for graphviz, sorry.

@vesath: yeah, now I see that the current stable release is not really ready for python3. The next version will be. So we don't need python3 support in graphviz yet.
Comment by Balló György (City-busz) - Friday, 26 January 2018, 22:01 GMT
@jebrosen: thanks for the upstream report!
https://github.com/jrfonseca/xdot.py/issues/51

Loading...