Two python parts in the same snapcraft.yaml result in not installing the python correctly

Bug #1617907 reported by XiaoGuo, Liu
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Snapcraft
New
Undecided
Unassigned

Bug Description

I have a snapcraft.yaml file like:

name: sensortag
version: "1.0"
summary: SensorTag Python Bluetooth LE implementation
description: API and command line tools for Python Bluetooth Low Energy access
confinement: devmode

apps:
  sensortag:
    command: usr/bin/sensortag
  sensordata:
    command: usr/bin/sensordata
  blescan:
    command: usr/bin/blescan
  # mosquito server
  mosquitto:
    command: usr/sbin/mosquitto -c $SNAP/mosquitto.conf
    daemon: simple
    plugs: [network, network-bind]
  # mosquitto subscriber
  subscribe:
    command: bin/subscribe
    plugs: [network, network-bind]

parts:
  bluepy:
    plugin: python3
    source: https://github.com/liu-xiao-guo/bluepy
    source-type: git
    build-packages: [libglib2.0-dev]
    # snap:
    # - -usr/bin

  mosquitto:
    plugin: copy
    stage-packages: [mosquitto]
    files:
      mosquitto.conf: mosquitto.conf

  mqtt-client:
    plugin: copy
    files:
      subscribe.py: bin/subscribe
    after: [mqtt-paho/python3]

In this project, there are two python3 parts:

 - mqtt-client
 - bluepy

When I try to build the project, and I get the following error:

Writing /home/liuxg/snappy/desktop/sensortag/parts/mqtt-paho⧸python3/install/home/liuxg/snappy/desktop/sensortag/parts/mqtt-paho⧸python3/install/usr/lib/python3/dist-packages/paho_mqtt-1.1.egg-info
Parts 'mqtt-paho/python3' and 'bluepy' have the following file paths in common which have different contents:
usr/bin/2to3-3.5
usr/bin/easy_install3
usr/bin/py3clean
usr/bin/py3compile
usr/bin/pydoc3.5
usr/lib/python3.5/base64.py
usr/lib/python3.5/cProfile.py
usr/lib/python3.5/cgi.py
usr/lib/python3.5/config-3.5m-x86_64-linux-gnu/python-config.py
usr/lib/python3.5/distutils/command/build_scripts.py
usr/lib/python3.5/encodings/rot_13.py
usr/lib/python3.5/idlelib/EditorWindow.py
usr/lib/python3.5/idlelib/PyShell.py
usr/lib/python3.5/keyword.py
usr/lib/python3.5/lib2to3/pgen2/token.py
usr/lib/python3.5/pdb.py
usr/lib/python3.5/platform.py
usr/lib/python3.5/profile.py
usr/lib/python3.5/pydoc.py
usr/lib/python3.5/quopri.py
usr/lib/python3.5/smtpd.py
usr/lib/python3.5/smtplib.py
usr/lib/python3.5/symbol.py
usr/lib/python3.5/tabnanny.py
usr/lib/python3.5/tarfile.py
usr/lib/python3.5/test/pystone.py
usr/lib/python3.5/test/regrtest.py
usr/lib/python3.5/timeit.py
usr/lib/python3.5/trace.py
usr/lib/python3.5/uu.py
usr/lib/python3.5/webbrowser.py
usr/lib/python3/dist-packages/pip-8.1.2-py3.5.egg/pip/_vendor/distlib/scripts.py
usr/lib/python3/dist-packages/pip-8.1.2-py3.5.egg/pip/_vendor/distlib/wheel.py
usr/lib/python3/dist-packages/pip-8.1.2-py3.5.egg/pip/wheel.py
usr/lib/python3/dist-packages/setuptools/command/easy_install.py
usr/share/dh-python/dh_pypy
usr/share/dh-python/dh_python2
usr/share/dh-python/dh_python3
usr/share/dh-python/dhpython/_defaults.py
usr/share/dh-python/dhpython/interpreter.py
usr/share/dh-python/pybuild
usr/share/python3/debpython/interpreter.p

It can be found at http://paste.ubuntu.com/23106210/

Basically, I need to find a way to avoid the conflicts between the two parts since they both have the same common component: python

liuxg@liuxg:~/snappy/desktop/sensortag$ snapcraft --version
2.14

Thanks!

Revision history for this message
Daniel Holbach (dholbach) wrote :

Is this the same as bug 1531570?

Revision history for this message
XiaoGuo, Liu (liu-xiao-guo) wrote :

Looks like a similar problem, but somehow it is different. The files looks useless and they are not needed for running the app. In my case, the files are really needed so the workaround in the bug does not really work. If we remove the files inside the /usr/bin, the part won't get compiled.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.