Your message dated Mon, 01 Aug 2016 10:53:41 +0000
with message-id <[email protected]>
and subject line Bug#829191: fixed in python-pydot-ng 1.0.0-3
has caused the Debian Bug report #829191,
regarding python-pydot-ng: FTBFS: pydot_ng/__init__.py:1958: InvocationException
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
829191: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=829191
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: python-pydot-ng
Version: 1.0.0-2
Severity: serious
Justification: fails to build from source
User: [email protected]
Usertags: ftbfs
X-Debbugs-Cc: [email protected]
Dear Maintainer,
python-pydot-ng fails to build from source in unstable/amd64:
[..]
pyversions: missing X(S)-Python-Version in control file, fall back to
debian/pyversions
pyversions: missing debian/pyversions file, fall back to supported versions
py3versions: no X-Python3-Version in control file, using supported versions
dh_clean -O--buildsystem=python_distutils
rm -rf build
make[1]: Leaving directory
'/home/lamby/temp/cdt.20160701115412.iR2SLMJMIF.python-pydot-ng/python-pydot-ng-1.0.0'
debian/rules build
pyversions: missing X(S)-Python-Version in control file, fall back to
debian/pyversions
pyversions: missing debian/pyversions file, fall back to supported versions
pyversions: missing X(S)-Python-Version in control file, fall back to
debian/pyversions
pyversions: missing debian/pyversions file, fall back to supported versions
py3versions: no X-Python3-Version in control file, using supported versions
dh build --buildsystem=python_distutils --with python2
dh_testdir -O--buildsystem=python_distutils
dh_update_autotools_config -O--buildsystem=python_distutils
dh_auto_configure -O--buildsystem=python_distutils
dh_auto_build -O--buildsystem=python_distutils
pyversions: missing X(S)-Python-Version in control file, fall back to
debian/pyversions
pyversions: missing debian/pyversions file, fall back to supported versions
python setup.py build --force
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/pydot_ng
copying pydot_ng/__init__.py -> build/lib.linux-x86_64-2.7/pydot_ng
copying pydot_ng/_dotparser.py -> build/lib.linux-x86_64-2.7/pydot_ng
debian/rules override_dh_auto_test
make[1]: Entering directory
'/home/lamby/temp/cdt.20160701115412.iR2SLMJMIF.python-pydot-ng/python-pydot-ng-1.0.0'
pyversions: missing X(S)-Python-Version in control file, fall back to
debian/pyversions
pyversions: missing debian/pyversions file, fall back to supported versions
pyversions: missing X(S)-Python-Version in control file, fall back to
debian/pyversions
pyversions: missing debian/pyversions file, fall back to supported versions
py3versions: no X-Python3-Version in control file, using supported versions
set -e ; for pyvers in 2.7 3.5; do \
python$pyvers -m pytest test ; \
done
============================= test session starts
==============================
platform linux2 -- Python 2.7.12, pytest-2.9.2, py-1.4.31, pluggy-0.3.1
rootdir:
/home/lamby/temp/cdt.20160701115412.iR2SLMJMIF.python-pydot-ng/python-pydot-ng-1.0.0,
inifile:
collected 23 items
test/test_pydot.py ........ss.....F....F..
=================================== FAILURES
===================================
____________________ TestGraphAPI.test_my_regression_tests
_____________________
self = <test_pydot.TestGraphAPI testMethod=test_my_regression_tests>
def test_my_regression_tests(self):
> self._render_and_compare_dot_files(MY_REGRESSION_TESTS_DIR)
test/test_pydot.py:222:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_
test/test_pydot.py:243: in _render_and_compare_dot_files
parsed_data_hexdigest = self._render_with_pydot(fname)
test/test_pydot.py:217: in _render_with_pydot
jpe_data = NULL_SEP.join([_g.create(format='jpe') for _g in g])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_
self = <pydot_ng.Dot object at 0x7fb322c28d90>, prog = 'dot', format = 'jpe'
def create(self, prog=None, format='ps'):
"""Creates and returns a Postscript representation of the graph.
create will write the graph to a temporary dot file and process
it with the program given by 'prog' (which defaults to 'twopi'),
reading the Postscript output and returning it as a string is the
operation is successful.
On failure None is returned.
There's also the preferred possibility of using:
create_'format'(prog='program')
which are automatically defined for all the supported formats.
[create_ps(), create_gif(), create_dia(), ...]
If 'prog' is a list instead of a string the fist item is expected
to be the program name, followed by any optional command-line
arguments for it:
['twopi', '-Tdot', '-s10']
"""
if prog is None:
prog = self.prog
if isinstance(prog, (list, tuple)):
prog, args = prog[0], prog[1:]
else:
args = []
if self.progs is None:
self.progs = find_graphviz()
if self.progs is None:
raise InvocationException(
'GraphViz\'s executables not found')
if prog not in self.progs:
raise InvocationException(
'GraphViz\'s executable "%s" not found' % prog)
if not os.path.exists(self.progs[prog]) or not
os.path.isfile(self.progs[prog]):
raise InvocationException(
'GraphViz\'s executable "%s" is not a file or doesn\'t exist'
% self.progs[prog])
tmp_fd, tmp_name = tempfile.mkstemp()
os.close(tmp_fd)
self.write(tmp_name)
tmp_dir = os.path.dirname(tmp_name)
# For each of the image files...
for img in self.shape_files:
# Get its data
f = open(img, 'rb')
f_data = f.read()
f.close()
# And copy it under a file with the same name in the temporary
directory
f = open(os.path.join(tmp_dir, os.path.basename(img)), 'wb')
f.write(f_data)
f.close()
cmdline = [self.progs[prog], '-T' + format, tmp_name] + args
p = subprocess.Popen(
cmdline,
cwd=tmp_dir,
stderr=subprocess.PIPE, stdout=subprocess.PIPE)
stderr = p.stderr
stdout = p.stdout
stdout_output = list()
while True:
data = stdout.read()
if not data:
break
stdout_output.append(data)
stdout.close()
stdout_output = NULL_SEP.join(stdout_output)
if not stderr.closed:
stderr_output = list()
while True:
data = stderr.read()
if not data:
break
stderr_output.append(data)
stderr.close()
if stderr_output:
stderr_output = NULL_SEP.join(stderr_output)
if PY3:
stderr_output = stderr_output.decode(sys.stderr.encoding)
#pid, status = os.waitpid(p.pid, 0)
status = p.wait()
if status != 0:
raise InvocationException(
'Program terminated with status: %d. stderr follows: %s' % (
> status, stderr_output))
E InvocationException: Program terminated with status: 1. stderr
follows: Format: "jpe" not recognized. Use one of: canon cmap cmapx cmapx_np
dot eps fig gd gd2 gv imap imap_np ismap pdf pic plain plain-ext png pov ps ps2
svg svgz tk vml vmlz x11 xdot xdot1.2 xdot1.4 xlib
pydot_ng/__init__.py:1958: InvocationException
----------------------------- Captured stdout call
-----------------------------
#Failed rendering BAD(html_labels.dot)
__________________________ TestGraphAPI.test_quoting
___________________________
self = <test_pydot.TestGraphAPI testMethod=test_quoting>
def test_quoting(self):
import string
g = pydot.Dot()
g.add_node(pydot.Node("test", label=string.printable))
#print g.to_string()
> data = g.create(format='jpe')
test/test_pydot.py:350:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_
self = <pydot_ng.Dot object at 0x7fb3224a9910>, prog = 'dot', format = 'jpe'
def create(self, prog=None, format='ps'):
"""Creates and returns a Postscript representation of the graph.
create will write the graph to a temporary dot file and process
it with the program given by 'prog' (which defaults to 'twopi'),
reading the Postscript output and returning it as a string is the
operation is successful.
On failure None is returned.
There's also the preferred possibility of using:
create_'format'(prog='program')
which are automatically defined for all the supported formats.
[create_ps(), create_gif(), create_dia(), ...]
If 'prog' is a list instead of a string the fist item is expected
to be the program name, followed by any optional command-line
arguments for it:
['twopi', '-Tdot', '-s10']
"""
if prog is None:
prog = self.prog
if isinstance(prog, (list, tuple)):
prog, args = prog[0], prog[1:]
else:
args = []
if self.progs is None:
self.progs = find_graphviz()
if self.progs is None:
raise InvocationException(
'GraphViz\'s executables not found')
if prog not in self.progs:
raise InvocationException(
'GraphViz\'s executable "%s" not found' % prog)
if not os.path.exists(self.progs[prog]) or not
os.path.isfile(self.progs[prog]):
raise InvocationException(
'GraphViz\'s executable "%s" is not a file or doesn\'t exist'
% self.progs[prog])
tmp_fd, tmp_name = tempfile.mkstemp()
os.close(tmp_fd)
self.write(tmp_name)
tmp_dir = os.path.dirname(tmp_name)
# For each of the image files...
for img in self.shape_files:
# Get its data
f = open(img, 'rb')
f_data = f.read()
f.close()
# And copy it under a file with the same name in the temporary
directory
f = open(os.path.join(tmp_dir, os.path.basename(img)), 'wb')
f.write(f_data)
f.close()
cmdline = [self.progs[prog], '-T' + format, tmp_name] + args
p = subprocess.Popen(
cmdline,
cwd=tmp_dir,
stderr=subprocess.PIPE, stdout=subprocess.PIPE)
stderr = p.stderr
stdout = p.stdout
stdout_output = list()
while True:
data = stdout.read()
if not data:
break
stdout_output.append(data)
stdout.close()
stdout_output = NULL_SEP.join(stdout_output)
if not stderr.closed:
stderr_output = list()
while True:
data = stderr.read()
if not data:
break
stderr_output.append(data)
stderr.close()
if stderr_output:
stderr_output = NULL_SEP.join(stderr_output)
if PY3:
stderr_output = stderr_output.decode(sys.stderr.encoding)
#pid, status = os.waitpid(p.pid, 0)
status = p.wait()
if status != 0:
raise InvocationException(
'Program terminated with status: %d. stderr follows: %s' % (
> status, stderr_output))
E InvocationException: Program terminated with status: 1. stderr
follows: Format: "jpe" not recognized. Use one of: canon cmap cmapx cmapx_np
dot eps fig gd gd2 gv imap imap_np ismap pdf pic plain plain-ext png pov ps ps2
svg svgz tk vml vmlz x11 xdot xdot1.2 xdot1.4 xlib
pydot_ng/__init__.py:1958: InvocationException
================ 2 failed, 19 passed, 2 skipped in 2.56 seconds
================
debian/rules:27: recipe for target 'override_dh_auto_test' failed
make[1]: *** [override_dh_auto_test] Error 1
make[1]: Leaving directory
'/home/lamby/temp/cdt.20160701115412.iR2SLMJMIF.python-pydot-ng/python-pydot-ng-1.0.0'
debian/rules:10: recipe for target 'build' failed
make: *** [build] Error 2
[..]
The full build log is attached.
Regards,
--
,''`.
: :' : Chris Lamb
`. `'` [email protected] / chris-lamb.co.uk
`-
python-pydot-ng.1.0.0-2.unstable.amd64.log.txt.gz
Description: Binary data
--- End Message ---
--- Begin Message ---
Source: python-pydot-ng
Source-Version: 1.0.0-3
We believe that the bug you reported is fixed in the latest version of
python-pydot-ng, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Thomas Goirand <[email protected]> (supplier of updated python-pydot-ng package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Format: 1.8
Date: Fri, 01 Jul 2016 21:37:12 +0000
Source: python-pydot-ng
Binary: python-pydot-ng
Architecture: source all
Version: 1.0.0-3
Distribution: unstable
Urgency: medium
Maintainer: PKG OpenStack <[email protected]>
Changed-By: Thomas Goirand <[email protected]>
Description:
python-pydot-ng - interface to Graphviz's Dot - Python 2.7
Closes: 829191
Changes:
python-pydot-ng (1.0.0-3) unstable; urgency=medium
.
[ Ondřej Nový ]
* d/rules: Changed UPSTREAM_GIT protocol to https
* d/copyright: Changed source URL to https protocol
.
[ Thomas Goirand ]
* Do not run Python3 tests.
* Add patch to use png instead of jpeg, as 'jpe' support seems gone away
from graphviz (Closes: #829191).
* Standards-Version is now 3.9.8 (no change).
Checksums-Sha1:
c34ec9dff0f72ac26ffe1924fee853b34c18291e 2189 python-pydot-ng_1.0.0-3.dsc
a5f6c69e3bbd6d42df8704b501d669ab94f4e436 3328
python-pydot-ng_1.0.0-3.debian.tar.xz
7e423840284186194c901acb1b2f1ebf88465bea 20598 python-pydot-ng_1.0.0-3_all.deb
Checksums-Sha256:
c982ca45dbcfdce7245fcf9761a70d60b4e750a9601d025df040219afbb6114e 2189
python-pydot-ng_1.0.0-3.dsc
d4c417c9df6501b14dcedc23693b270a41181ea9d256ba8522dc6444bd1ee6c2 3328
python-pydot-ng_1.0.0-3.debian.tar.xz
ca4dea89095fc2f86cc38c22aba96432fd61f2aa5d3c1f3c72b91019a33f371c 20598
python-pydot-ng_1.0.0-3_all.deb
Files:
0d582203d886925940eae472861e533e 2189 python optional
python-pydot-ng_1.0.0-3.dsc
6aa43822d5fd581d803d520907232017 3328 python optional
python-pydot-ng_1.0.0-3.debian.tar.xz
ae3a4470674cd7d8f8c125d481d061f0 20598 python optional
python-pydot-ng_1.0.0-3_all.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAEBCAAGBQJXnyQXAAoJENQWrRWsa0P+4PkP/2iOLYZTgEmnvRDrzvUaOjQd
mj8fOzG9qYlNtbg0ZxBTsywQ514Mfk3InyAE7CqS1cnpG32OXGvBPT6QCQurpyiP
SLUxIZQ/yhDW7ZOWbKmCwZwoK8NuIR6OvXPXk78yaOV6pNHtqOuM6/ofawqGVd4J
tP2ZwKstKGYCs+yQAURo2pw9BCEPVPy6Zq0s4A8mCrnOYclDGvcN2H1iMPV6ZW9m
caFEJpL1iT2SH4ecCsctBHi8FnqciNN9CnQlyE3loJl+hOeruUhq0AgX5IcrpgYS
qq5lNtBBKYN88oajHcqbsajBrd7r6noIwuQB3c06E9Pq7T4ZvALeSRcYVIKU50hW
1yqdIIwbcAStvdyRWg3ulvtMunf6xp+WrK8fLknuUI8PWIMx81BCoJEyyHT9TWag
9ZrelpcT4ZcnE6cxIL7HnOltvNNjSfNKPT9ESqzwkRM28l8FU1M2PQa4Si2sTi6k
eg6QZzUZlQb1aFqSvMe/ZMJWEbKLnsHxEDcEZFI5AQBi4vw8pIquMMJWwsG7lsbc
lxIckC+vXBEZi6NEywg1g9uZmwbY5b4XnbNRVngkI4ydarS+SInzSBCtwhPc7wur
hSA6GI0l8EQTQXB7HeS2ylRdtpGXWffk1TPyCETd4O8kKeq0I/rWFXUoRJjtjGKQ
4a2oCDnc/mw5cAF6EL3K
=G5Pp
-----END PGP SIGNATURE-----
--- End Message ---