Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 565984 - app-emulation/spice-protocol-0.12.10 should depend on dev-python/six
Summary: app-emulation/spice-protocol-0.12.10 should depend on dev-python/six
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Virtualization Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-11-16 20:56 UTC by David
Modified: 2016-05-01 19:32 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
quick fix (spice-protocol-0.12.10.ebuild.patch,226 bytes, patch)
2015-11-17 13:57 UTC, Mikhail Krivtsov
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description David 2015-11-16 20:56:20 UTC
When I try to build app-emulation/spice-0.12.6 with app-emulation/spice-protocol-0.12.10, It failed because a missing dependency on dev-python/six.

We probably should add dev-python/six as app-emulation/spice-protocol RDEPEND.

Reproducible: Always

Steps to Reproduce:
1. emerge app-emulation/spice with >=app-emulation/spice-protocol-0.12.10 and without dev-python/six installed.
2.
3.
Actual Results:  
config.status: executing libtool commands


        Spice 0.12.6
        ==============

        prefix:                   /usr
        c compiler:               x86_64-pc-linux-gnu-gcc -std=gnu99
        c++ compiler:             
        python:                   /usr/bin/python3.4

        OpenGL:                   no

        LZ4 support:              no

        Smartcard:                no

        SASL support:             no

        Automated tests:          no

        Manual:                   yes

        Now type 'make' to build spice

>>> Source configured.
>>> Compiling source in /var/tmp/portage/app-emulation/spice-0.12.6/work/spice-0.12.6 ...
make -j3 
make  all-recursive
make[1]: Entering directory '/var/tmp/portage/app-emulation/spice-0.12.6/work/spice-0.12.6'
Making all in spice-common
make[2]: Entering directory '/var/tmp/portage/app-emulation/spice-0.12.6/work/spice-0.12.6/spice-common'
make  all-recursive
make[3]: Entering directory '/var/tmp/portage/app-emulation/spice-0.12.6/work/spice-0.12.6/spice-common'
Making all in common
make[4]: Entering directory '/var/tmp/portage/app-emulation/spice-0.12.6/work/spice-0.12.6/spice-common/common'
/usr/bin/python3.4 /usr/lib64/spice-protocol/spice_codegen.py --generate-demarshallers --client --include common/messages.h /usr/lib64/spice-protocol/spice.proto generated_client_demarshallers.c >/dev/null
/usr/bin/python3.4 /usr/lib64/spice-protocol/spice_codegen.py --generate-demarshallers --client --include common/messages.h --prefix 1 --ptrsize 8 /usr/lib64/spice-protocol/spice1.proto generated_client_demarshallers1.c >/dev/null
/usr/bin/python3.4 /usr/lib64/spice-protocol/spice_codegen.py --generate-marshallers -P --include common/messages.h --include client_marshallers.h --client /usr/lib64/spice-protocol/spice.proto generated_client_marshallers.c >/dev/null
Traceback (most recent call last):
Traceback (most recent call last):
  File "/usr/lib64/spice-protocol/spice_codegen.py", line 7, in <module>
  File "/usr/lib64/spice-protocol/spice_codegen.py", line 7, in <module>
    from python_modules import spice_parser
    from python_modules import spice_parser
  File "/usr/lib64/spice-protocol/python_modules/spice_parser.py", line 1, in <module>
  File "/usr/lib64/spice-protocol/python_modules/spice_parser.py", line 1, in <module>
    import six
    import six
ImportError: No module named 'six'
ImportError: No module named 'six'
Traceback (most recent call last):
  File "/usr/lib64/spice-protocol/spice_codegen.py", line 7, in <module>
    from python_modules import spice_parser
  File "/usr/lib64/spice-protocol/python_modules/spice_parser.py", line 1, in <module>
    import six
ImportError: No module named 'six'
Makefile:794: recipe for target 'generated_client_demarshallers.c' failed
make[4]: *** [generated_client_demarshallers.c] Error 1
make[4]: *** Waiting for unfinished jobs....
Makefile:797: recipe for target 'generated_client_demarshallers1.c' failed
make[4]: *** [generated_client_demarshallers1.c] Error 1
Makefile:800: recipe for target 'generated_client_marshallers.c' failed
make[4]: *** [generated_client_marshallers.c] Error 1
make[4]: Leaving directory '/var/tmp/portage/app-emulation/spice-0.12.6/work/spice-0.12.6/spice-common/common'
Makefile:445: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/var/tmp/portage/app-emulation/spice-0.12.6/work/spice-0.12.6/spice-common'
Makefile:377: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/var/tmp/portage/app-emulation/spice-0.12.6/work/spice-0.12.6/spice-common'
Makefile:514: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/app-emulation/spice-0.12.6/work/spice-0.12.6'
Makefile:423: recipe for target 'all' failed
make: *** [all] Error 2
 * ERROR: app-emulation/spice-0.12.6::gentoo failed (compile phase):
 *   emake failed
Comment 1 Mikhail Krivtsov 2015-11-17 13:57:00 UTC
Created attachment 417216 [details, diff]
quick fix
Comment 2 David 2015-11-17 15:13:48 UTC
app-emulation/spice-0.12.6-r1 has add dependency to python-six. 

For me it's a issue related to "/usr/lib64/spice-protocol/spice_codegen.py" provided by app-emulation/spice-protocol.
Comment 3 Matthias Maier gentoo-dev 2015-11-18 20:47:57 UTC
I would like to keep the dependency-footprint of app-emulation/spice-protocols as minimal as possible, i.e. none.

This means that it is the burden of consumers (such as app-emulation/spice, etc.) to ensure that dev-python/six is correctly installed prior to using this script.

app-emulation/spice-protocols installs just fine without dev-python/six
Comment 4 David 2015-11-20 22:16:26 UTC
Ok understand. 

I was thinking of using a use flag in app-emulation/spice-protocols (like maybe codegen, or something like that) to activate the RDEPEND on dev-python/six and make app-emulation/spice depends on spice-protocols[codegen].

But, like many I don't need spice_codegen.py for any other needs than building app-emulation/spice.

So now that the dependency is fixed in app-emulation/spice, it works for me.