[Python-apps-team] Bug#1027378: mu-editor: FTBFS in bullseye (missing build-depends on mount)
Santiago Vila
sanvila at debian.org
Fri Dec 30 18:03:51 GMT 2022
Package: src:mu-editor
Version: 1.0.3+dfsg-2
Severity: serious
Tags: ftbfs patch
Dear maintainer:
During a rebuild of all packages in bullseye, your package failed to build:
--------------------------------------------------------------------------------
[...]
debian/rules binary-indep
dh binary-indep --with python3,sphinxdoc --buildsystem=pybuild
dh_update_autotools_config -i -O--buildsystem=pybuild
dh_autoreconf -i -O--buildsystem=pybuild
dh_auto_configure -i -O--buildsystem=pybuild
install -d /<<BUILDDIR>>/mu-editor-1.0.3\+dfsg/debian/.debhelper/generated/_source/home
pybuild --configure -i python{version} -p 3.9
D: pybuild pybuild:568: version: 4.20201102+nmu1
D: pybuild pybuild:569: ['/usr/bin/pybuild', '--configure', '-i', 'python{version}', '-p', '3.9']
D: pybuild pybuild:36: cfg: Namespace(verbose=True, quiet=False, really_quiet=False, detect_only=False, clean_only=False, configure_only=True, build_only=False, install_only=False, test_only=False, list_systems=False, print_args=None, before_clean=None, clean_args=None, after_clean=None, before_configure=None, configure_args=None, after_configure=None, before_build=None, build_args=None, after_build=None, before_install=None, install_args=None, after_install=None, before_test=None, test_args=None, after_test=None, test_nose=False, test_nose2=False, test_pytest=True, test_tox=False, dir='/<<PKGBUILDDIR>>', destdir='debian/tmp', ext_destdir=None, ext_pattern='\\.so(\\.[^/]*)?$', ext_sub_pattern=None, ext_sub_repl=None, install_dir=None, name='mu-editor', system=None, versions=['3.9'], interpreter=['python{version}'], disable=None, custom_tests=True)
D: pybuild __init__:36: cannot initialize 'cmake' plugin
Traceback (most recent call last):
File "/usr/share/dh-python/dhpython/build/__init__.py", line 32, in <module>
module.BuildSystem.is_usable()
File "/usr/share/dh-python/dhpython/build/base.py", line 122, in is_usable
raise Exception("missing command: %s" % command)
Exception: missing command: cmake
D: pybuild tools:232: invoking: /usr/bin/dpkg-architecture
D: pybuild pybuild:131: detected build system: distutils (certainty: 51%)
D: pybuild plugin_distutils:54: pydistutils config file:
[clean]
all=1
[build]
build-lib=/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build
[install]
force=1
install-layout=deb
install-scripts=$base/bin
install-lib=/usr/lib/python3.9/dist-packages
prefix=/usr
I: pybuild base:232: python3.9 setup.py config
D: pybuild tools:232: invoking: python3.9 setup.py config
running config
debian/rules override_dh_auto_build
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_auto_build
pybuild --build -i python{version} -p 3.9
D: pybuild pybuild:568: version: 4.20201102+nmu1
D: pybuild pybuild:569: ['/usr/bin/pybuild', '--build', '-i', 'python{version}', '-p', '3.9']
D: pybuild pybuild:36: cfg: Namespace(verbose=True, quiet=False, really_quiet=False, detect_only=False, clean_only=False, configure_only=False, build_only=True, install_only=False, test_only=False, list_systems=False, print_args=None, before_clean=None, clean_args=None, after_clean=None, before_configure=None, configure_args=None, after_configure=None, before_build=None, build_args=None, after_build=None, before_install=None, install_args=None, after_install=None, before_test=None, test_args=None, after_test=None, test_nose=False, test_nose2=False, test_pytest=True, test_tox=False, dir='/<<PKGBUILDDIR>>', destdir='debian/tmp', ext_destdir=None, ext_pattern='\\.so(\\.[^/]*)?$', ext_sub_pattern=None, ext_sub_repl=None, install_dir=None, name='mu-editor', system=None, versions=['3.9'], interpreter=['python{version}'], disable=None, custom_tests=True)
D: pybuild __init__:36: cannot initialize 'cmake' plugin
Traceback (most recent call last):
File "/usr/share/dh-python/dhpython/build/__init__.py", line 32, in <module>
module.BuildSystem.is_usable()
File "/usr/share/dh-python/dhpython/build/base.py", line 122, in is_usable
raise Exception("missing command: %s" % command)
Exception: missing command: cmake
D: pybuild tools:232: invoking: /usr/bin/dpkg-architecture
D: pybuild pybuild:131: detected build system: distutils (certainty: 51%)
I: pybuild base:232: /usr/bin/python3 setup.py build
D: pybuild tools:232: invoking: /usr/bin/python3 setup.py build
running build
running build_py
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu
copying mu/mu-debug.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu
copying mu/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu
copying mu/__main__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu
copying mu/logic.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu
copying mu/localedetect.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu
copying mu/app.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/contrib
copying mu/contrib/microfs.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/contrib
copying mu/contrib/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/contrib
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources
copying mu/resources/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/modes
copying mu/modes/adafruit.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/modes
copying mu/modes/pygamezero.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/modes
copying mu/modes/base.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/modes
copying mu/modes/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/modes
copying mu/modes/debugger.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/modes
copying mu/modes/python3.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/modes
copying mu/modes/microbit.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/modes
package init file 'mu/debugger/__init__.py' not found (or not a regular file)
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/debugger
copying mu/debugger/client.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/debugger
copying mu/debugger/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/debugger
copying mu/debugger/runner.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/debugger
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/interface
copying mu/interface/editor.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/interface
copying mu/interface/themes.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/interface
copying mu/interface/panes.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/interface
copying mu/interface/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/interface
copying mu/interface/main.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/interface
copying mu/interface/dialogs.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/interface
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/modes/api
copying mu/modes/api/adafruit.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/modes/api
copying mu/modes/api/pygamezero.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/modes/api
copying mu/modes/api/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/modes/api
copying mu/modes/api/pi.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/modes/api
copying mu/modes/api/python3.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/modes/api
copying mu/modes/api/shared.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/modes/api
copying mu/modes/api/microbit.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/modes/api
running egg_info
creating mu_editor.egg-info
writing mu_editor.egg-info/PKG-INFO
writing dependency_links to mu_editor.egg-info/dependency_links.txt
writing entry points to mu_editor.egg-info/entry_points.txt
writing requirements to mu_editor.egg-info/requires.txt
writing top-level names to mu_editor.egg-info/top_level.txt
writing manifest file 'mu_editor.egg-info/SOURCES.txt'
reading manifest file 'mu_editor.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'mu_editor.egg-info/SOURCES.txt'
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/de_DE
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/de_DE/LC_MESSAGES
copying mu/locale/de_DE/LC_MESSAGES/mu.mo -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/de_DE/LC_MESSAGES
copying mu/locale/de_DE/LC_MESSAGES/mu.po -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/de_DE/LC_MESSAGES
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/es
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/es/LC_MESSAGES
copying mu/locale/es/LC_MESSAGES/mu.mo -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/es/LC_MESSAGES
copying mu/locale/es/LC_MESSAGES/mu.po -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/es/LC_MESSAGES
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/fr
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/fr/LC_MESSAGES
copying mu/locale/fr/LC_MESSAGES/mu.mo -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/fr/LC_MESSAGES
copying mu/locale/fr/LC_MESSAGES/mu.po -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/fr/LC_MESSAGES
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/ja
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/ja/LC_MESSAGES
copying mu/locale/ja/LC_MESSAGES/mu.mo -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/ja/LC_MESSAGES
copying mu/locale/ja/LC_MESSAGES/mu.po -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/ja/LC_MESSAGES
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/pl
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/pl/LC_MESSAGES
copying mu/locale/pl/LC_MESSAGES/mu.mo -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/pl/LC_MESSAGES
copying mu/locale/pl/LC_MESSAGES/mu.po -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/pl/LC_MESSAGES
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/pt_BR
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/pt_BR/LC_MESSAGES
copying mu/locale/pt_BR/LC_MESSAGES/mu.mo -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/pt_BR/LC_MESSAGES
copying mu/locale/pt_BR/LC_MESSAGES/mu.po -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/pt_BR/LC_MESSAGES
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/pt_PT
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/pt_PT/LC_MESSAGES
copying mu/locale/pt_PT/LC_MESSAGES/mu.mo -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/pt_PT/LC_MESSAGES
copying mu/locale/pt_PT/LC_MESSAGES/mu.po -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/pt_PT/LC_MESSAGES
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/sv
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/sv/LC_MESSAGES
copying mu/locale/sv/LC_MESSAGES/mu.mo -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/sv/LC_MESSAGES
copying mu/locale/sv/LC_MESSAGES/mu.po -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/sv/LC_MESSAGES
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/zh_CN
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/zh_CN/LC_MESSAGES
copying mu/locale/zh_CN/LC_MESSAGES/mu.mo -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/zh_CN/LC_MESSAGES
copying mu/locale/zh_CN/LC_MESSAGES/mu.po -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/locale/zh_CN/LC_MESSAGES
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/css
copying mu/resources/css/contrast.css -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/css
copying mu/resources/css/day.css -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/css
copying mu/resources/css/night.css -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/css
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/adafruit.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/button.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/check.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/checked.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/close-tab.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/debug.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/files.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/flash.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/fonts.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/help.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/icon.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/images.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/load.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/logs.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/microbit.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/modes.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/music.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/new.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/play.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/plotter.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/pygamezero.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/python.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/quit.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/repl.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/run.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/save.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/scroll-down.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/scroll-left.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/scroll-right.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/scroll-up.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/serial.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/snippets.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/sounds.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/splash-screen.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/step-in.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/step-out.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/step-over.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/stop.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/theme.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/theme_contrast.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/theme_day.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/zoom-in.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
copying mu/resources/images/zoom-out.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/images
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/pygamezero
copying mu/resources/pygamezero/alien.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/pygamezero
copying mu/resources/pygamezero/alien_hurt.png -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/pygamezero
# build custom manpage
DEB_VERSION_UPSTREAM 1.0.3+dfsg
sed -e "s/__VERSION__/1.0.3+dfsg/g" \
< debian/mu-editor.1.md.in > debian/mu-editor.1.md
pandoc debian/mu-editor.1.md -s -f markdown -t man -o debian/mu-editor.1
# build documentation
PYTHONPATH=. http_proxy='127.0.0.1:9' https_proxy='127.0.0.1:9' python3 -m sphinx -N -bhtml docs/ docs/html
Running Sphinx v3.4.3
making output directory... done
WARNING: html_static_path entry '_static' does not exist
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 23 source files that are out of date
updating environment: [new config] 23 added, 0 changed, 0 removed
reading sources... [ 4%] api
reading sources... [ 8%] architecture
reading sources... [ 13%] authors
reading sources... [ 17%] changes
reading sources... [ 21%] code_of_conduct
reading sources... [ 26%] contributing
reading sources... [ 30%] copyright
reading sources... [ 34%] debugger
reading sources... [ 39%] design
reading sources... [ 43%] design/file_reading_and_writing
reading sources... [ 47%] design/line-endings
reading sources... [ 52%] first-steps
reading sources... [ 56%] index
reading sources... [ 60%] license
reading sources... [ 65%] modes
reading sources... [ 69%] packaging
reading sources... [ 73%] release
reading sources... [ 78%] roadmap
reading sources... [ 82%] setup
reading sources... [ 86%] tests
reading sources... [ 91%] translations
reading sources... [ 95%] user-experience
reading sources... [100%] website
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [ 4%] api
writing output... [ 8%] architecture
writing output... [ 13%] authors
writing output... [ 17%] changes
writing output... [ 21%] code_of_conduct
writing output... [ 26%] contributing
writing output... [ 30%] copyright
writing output... [ 34%] debugger
writing output... [ 39%] design
writing output... [ 43%] design/file_reading_and_writing
writing output... [ 47%] design/line-endings
writing output... [ 52%] first-steps
writing output... [ 56%] index
writing output... [ 60%] license
writing output... [ 65%] modes
writing output... [ 69%] packaging
writing output... [ 73%] release
writing output... [ 78%] roadmap
writing output... [ 82%] setup
writing output... [ 86%] tests
writing output... [ 91%] translations
writing output... [ 95%] user-experience
writing output... [100%] website
generating indices... genindex py-modindex done
highlighting module code... [ 5%] PyQt5.QtCore
highlighting module code... [ 11%] mu.app
highlighting module code... [ 17%] mu.debugger.client
highlighting module code... [ 23%] mu.debugger.runner
highlighting module code... [ 29%] mu.interface.dialogs
highlighting module code... [ 35%] mu.interface.editor
highlighting module code... [ 41%] mu.interface.main
highlighting module code... [ 47%] mu.interface.panes
highlighting module code... [ 52%] mu.interface.themes
highlighting module code... [ 58%] mu.logic
highlighting module code... [ 64%] mu.modes.adafruit
highlighting module code... [ 70%] mu.modes.base
highlighting module code... [ 76%] mu.modes.debugger
highlighting module code... [ 82%] mu.modes.microbit
highlighting module code... [ 88%] mu.modes.pygamezero
highlighting module code... [ 94%] mu.modes.python3
highlighting module code... [100%] mu.resources
writing additional pages... search done
copying images... [ 10%] mu-debugger.png
copying images... [ 20%] logo.png
copying images... [ 30%] microbit.png
copying images... [ 40%] pygame.png
copying images... [ 50%] po1.png
copying images... [ 60%] po2.png
copying images... [ 70%] po3.png
copying images... [ 80%] po4.png
copying images... [ 90%] mu_sketch.jpg
copying images... [100%] awesome.gif
copying static files... done
copying extra files... done
dumping search index in English (code: en)... done
dumping object inventory... done
build succeeded, 1 warning.
The HTML pages are in docs/html.
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
rm -f debian/mu-editor-doc.debhelper.log debian/mu-editor.debhelper.log
debian/rules override_dh_auto_test
make[1]: Entering directory '/<<PKGBUILDDIR>>'
xvfb-run -a dh_auto_test
pybuild --test -i python{version} -p 3.9
D: pybuild pybuild:568: version: 4.20201102+nmu1
D: pybuild pybuild:569: ['/usr/bin/pybuild', '--test', '-i', 'python{version}', '-p', '3.9']
D: pybuild pybuild:36: cfg: Namespace(verbose=True, quiet=False, really_quiet=False, detect_only=False, clean_only=False, configure_only=False, build_only=False, install_only=False, test_only=True, list_systems=False, print_args=None, before_clean=None, clean_args=None, after_clean=None, before_configure=None, configure_args=None, after_configure=None, before_build=None, build_args=None, after_build=None, before_install=None, install_args=None, after_install=None, before_test=None, test_args=None, after_test=None, test_nose=False, test_nose2=False, test_pytest=True, test_tox=False, dir='/<<PKGBUILDDIR>>', destdir='debian/tmp', ext_destdir=None, ext_pattern='\\.so(\\.[^/]*)?$', ext_sub_pattern=None, ext_sub_repl=None, install_dir=None, name='mu-editor', system=None, versions=['3.9'], interpreter=['python{version}'], disable=None, custom_tests=True)
D: pybuild __init__:36: cannot initialize 'cmake' plugin
Traceback (most recent call last):
File "/usr/share/dh-python/dhpython/build/__init__.py", line 32, in <module>
module.BuildSystem.is_usable()
File "/usr/share/dh-python/dhpython/build/base.py", line 122, in is_usable
raise Exception("missing command: %s" % command)
Exception: missing command: cmake
D: pybuild tools:232: invoking: /usr/bin/dpkg-architecture
D: pybuild pybuild:131: detected build system: distutils (certainty: 61%)
I: pybuild pybuild:284: mkdir -p /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/fonts; cp /usr/share/fonts/truetype/inconsolata/Inconsolata.otf /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/fonts/Inconsolata.otf
D: pybuild tools:232: invoking: mkdir -p /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/fonts; cp /usr/share/fonts/truetype/inconsolata/Inconsolata.otf /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/resources/fonts/Inconsolata.otf
I: pybuild base:232: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build; python3.9 -m pytest --random-order
D: pybuild tools:232: invoking: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build; python3.9 -m pytest --random-order
============================= test session starts ==============================
platform linux -- Python 3.9.2, pytest-6.0.2, py-1.10.0, pluggy-0.13.0
Using --random-order-bucket=module
Using --random-order-seed=592775
rootdir: /<<PKGBUILDDIR>>
plugins: xvfb-1.2.0, random-order-1.0.4
collected 740 items
tests/modes/test_pygamezero.py .............. [ 1%]
tests/test_app.py ....... [ 2%]
tests/debugger/test_runner.py .......................................... [ 8%]
......... [ 9%]
tests/modes/test_microbit.py ................................F.......... [ 15%]
...............F. [ 17%]
tests/debugger/test_client.py .......................................... [ 23%]
..... [ 24%]
tests/interface/test_panes.py .......................................... [ 29%]
........................................................................ [ 39%]
.............................. [ 43%]
tests/modes/test_base.py ................................ [ 47%]
tests/interface/test_themes.py ..... [ 48%]
tests/test_localedetect.py ........ [ 49%]
tests/modes/test_debug.py ....................................... [ 55%]
tests/interface/test_dialogs.py .......... [ 56%]
tests/interface/test_editor.py ................................. [ 60%]
tests/modes/test_adafruit.py ......... [ 62%]
tests/modes/test_python3.py .......................... [ 65%]
tests/test_logic.py .................................................... [ 72%]
........................................................................ [ 82%]
............................ [ 86%]
tests/debugger/test_utils.py ...... [ 86%]
tests/test_resources.py ..... [ 87%]
tests/interface/test_main.py ........................................... [ 93%]
................................................. [100%]
=================================== FAILURES ===================================
______________ test_flash_with_attached_device_and_custom_runtime ______________
def test_flash_with_attached_device_and_custom_runtime():
"""
Ensure the custom runtime is passed into the DeviceFlasher thread.
"""
mock_flasher = mock.MagicMock()
mock_flasher_class = mock.MagicMock(return_value=mock_flasher)
with mock.patch('mu.modes.base.BaseMode.workspace_dir',
return_value=TEST_ROOT), \
mock.patch('mu.modes.microbit.DeviceFlasher',
mock_flasher_class), \
mock.patch('mu.modes.microbit.sys.platform', 'win32'):
view = mock.MagicMock()
view.current_tab.text = mock.MagicMock(return_value='foo')
view.show_message = mock.MagicMock()
editor = mock.MagicMock()
editor.minify = True
editor.microbit_runtime = os.path.join('tests', 'customhextest.hex')
mm = MicrobitMode(editor, view)
> mm.flash()
tests/modes/test_microbit.py:620:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
mu/modes/microbit.py:297: in flash
path_to_microbit = uflash.find_microbit()
/usr/lib/python3/dist-packages/uflash.py:221: in find_microbit
mount_output = check_output('mount').splitlines()
/usr/lib/python3.9/subprocess.py:424: in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
/usr/lib/python3.9/subprocess.py:505: in run
with Popen(*popenargs, **kwargs) as process:
/usr/lib/python3.9/subprocess.py:951: in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <Popen: returncode: 255 args: ['m', 'o', 'u', 'n', 't']>
args = ['mount'], executable = b'mount', preexec_fn = None, close_fds = True
pass_fds = (), cwd = None, env = None, startupinfo = None, creationflags = 0
shell = False, p2cread = -1, p2cwrite = -1, c2pread = 18, c2pwrite = 21
errread = -1, errwrite = -1, restore_signals = True, gid = None, gids = None
uid = None, umask = -1, start_new_session = False
def _execute_child(self, args, executable, preexec_fn, close_fds,
pass_fds, cwd, env,
startupinfo, creationflags, shell,
p2cread, p2cwrite,
c2pread, c2pwrite,
errread, errwrite,
restore_signals,
gid, gids, uid, umask,
start_new_session):
"""Execute program (POSIX version)"""
if isinstance(args, (str, bytes)):
args = [args]
elif isinstance(args, os.PathLike):
if shell:
raise TypeError('path-like args is not allowed when '
'shell is true')
args = [args]
else:
args = list(args)
if shell:
# On Android the default shell is at '/system/bin/sh'.
unix_shell = ('/system/bin/sh' if
hasattr(sys, 'getandroidapilevel') else '/bin/sh')
args = [unix_shell, "-c"] + args
if executable:
args[0] = executable
if executable is None:
executable = args[0]
sys.audit("subprocess.Popen", executable, args, cwd, env)
if (_USE_POSIX_SPAWN
and os.path.dirname(executable)
and preexec_fn is None
and not close_fds
and not pass_fds
and cwd is None
and (p2cread == -1 or p2cread > 2)
and (c2pwrite == -1 or c2pwrite > 2)
and (errwrite == -1 or errwrite > 2)
and not start_new_session
and gid is None
and gids is None
and uid is None
and umask < 0):
self._posix_spawn(args, executable, env, restore_signals,
p2cread, p2cwrite,
c2pread, c2pwrite,
errread, errwrite)
return
orig_executable = executable
# For transferring possible exec failure from child to parent.
# Data format: "exception name:hex errno:description"
# Pickle is not used; it is complex and involves memory allocation.
errpipe_read, errpipe_write = os.pipe()
# errpipe_write must not be in the standard io 0, 1, or 2 fd range.
low_fds_to_close = []
while errpipe_write < 3:
low_fds_to_close.append(errpipe_write)
errpipe_write = os.dup(errpipe_write)
for low_fd in low_fds_to_close:
os.close(low_fd)
try:
try:
# We must avoid complex work that could involve
# malloc or free in the child process to avoid
# potential deadlocks, thus we do all this here.
# and pass it to fork_exec()
if env is not None:
env_list = []
for k, v in env.items():
k = os.fsencode(k)
if b'=' in k:
raise ValueError("illegal environment variable name")
env_list.append(k + b'=' + os.fsencode(v))
else:
env_list = None # Use execv instead of execve.
executable = os.fsencode(executable)
if os.path.dirname(executable):
executable_list = (executable,)
else:
# This matches the behavior of os._execvpe().
executable_list = tuple(
os.path.join(os.fsencode(dir), executable)
for dir in os.get_exec_path(env))
fds_to_keep = set(pass_fds)
fds_to_keep.add(errpipe_write)
self.pid = _posixsubprocess.fork_exec(
args, executable_list,
close_fds, tuple(sorted(map(int, fds_to_keep))),
cwd, env_list,
p2cread, p2cwrite, c2pread, c2pwrite,
errread, errwrite,
errpipe_read, errpipe_write,
restore_signals, start_new_session,
gid, gids, uid, umask,
preexec_fn)
self._child_created = True
finally:
# be sure the FD is closed no matter what
os.close(errpipe_write)
self._close_pipe_fds(p2cread, p2cwrite,
c2pread, c2pwrite,
errread, errwrite)
# Wait for exec to fail or succeed; possibly raising an
# exception (limited in size)
errpipe_data = bytearray()
while True:
part = os.read(errpipe_read, 50000)
errpipe_data += part
if not part or len(errpipe_data) > 50000:
break
finally:
# be sure the FD is closed no matter what
os.close(errpipe_read)
if errpipe_data:
try:
pid, sts = os.waitpid(self.pid, 0)
if pid == self.pid:
self._handle_exitstatus(sts)
else:
self.returncode = sys.maxsize
except ChildProcessError:
pass
try:
exception_name, hex_errno, err_msg = (
errpipe_data.split(b':', 2))
# The encoding here should match the encoding
# written in by the subprocess implementations
# like _posixsubprocess
err_msg = err_msg.decode()
except ValueError:
exception_name = b'SubprocessError'
hex_errno = b'0'
err_msg = 'Bad exception data from child: {!r}'.format(
bytes(errpipe_data))
child_exception_type = getattr(
builtins, exception_name.decode('ascii'),
SubprocessError)
if issubclass(child_exception_type, OSError) and hex_errno:
errno_num = int(hex_errno, 16)
child_exec_never_called = (err_msg == "noexec")
if child_exec_never_called:
err_msg = ""
# The error must be from chdir(cwd).
err_filename = cwd
else:
err_filename = orig_executable
if errno_num != 0:
err_msg = os.strerror(errno_num)
> raise child_exception_type(errno_num, err_msg, err_filename)
E FileNotFoundError: [Errno 2] No such file or directory: 'mount'
/usr/lib/python3.9/subprocess.py:1823: FileNotFoundError
______________________________ test_flash_minify _______________________________
def test_flash_minify():
view = mock.MagicMock()
script = '#' + ('x' * 8193) + '\n'
view.current_tab.text = mock.MagicMock(return_value=script)
view.show_message = mock.MagicMock()
editor = mock.MagicMock()
editor.minify = True
mm = MicrobitMode(editor, view)
mm.set_buttons = mock.MagicMock()
with mock.patch('mu.modes.microbit.DeviceFlasher'):
with mock.patch('nudatus.mangle', return_value='') as m:
> mm.flash()
tests/modes/test_microbit.py:1026:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
mu/modes/microbit.py:297: in flash
path_to_microbit = uflash.find_microbit()
/usr/lib/python3/dist-packages/uflash.py:221: in find_microbit
mount_output = check_output('mount').splitlines()
/usr/lib/python3.9/subprocess.py:424: in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
/usr/lib/python3.9/subprocess.py:505: in run
with Popen(*popenargs, **kwargs) as process:
/usr/lib/python3.9/subprocess.py:951: in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <Popen: returncode: 255 args: ['m', 'o', 'u', 'n', 't']>
args = ['mount'], executable = b'mount', preexec_fn = None, close_fds = True
pass_fds = (), cwd = None, env = None, startupinfo = None, creationflags = 0
shell = False, p2cread = -1, p2cwrite = -1, c2pread = 18, c2pwrite = 21
errread = -1, errwrite = -1, restore_signals = True, gid = None, gids = None
uid = None, umask = -1, start_new_session = False
def _execute_child(self, args, executable, preexec_fn, close_fds,
pass_fds, cwd, env,
startupinfo, creationflags, shell,
p2cread, p2cwrite,
c2pread, c2pwrite,
errread, errwrite,
restore_signals,
gid, gids, uid, umask,
start_new_session):
"""Execute program (POSIX version)"""
if isinstance(args, (str, bytes)):
args = [args]
elif isinstance(args, os.PathLike):
if shell:
raise TypeError('path-like args is not allowed when '
'shell is true')
args = [args]
else:
args = list(args)
if shell:
# On Android the default shell is at '/system/bin/sh'.
unix_shell = ('/system/bin/sh' if
hasattr(sys, 'getandroidapilevel') else '/bin/sh')
args = [unix_shell, "-c"] + args
if executable:
args[0] = executable
if executable is None:
executable = args[0]
sys.audit("subprocess.Popen", executable, args, cwd, env)
if (_USE_POSIX_SPAWN
and os.path.dirname(executable)
and preexec_fn is None
and not close_fds
and not pass_fds
and cwd is None
and (p2cread == -1 or p2cread > 2)
and (c2pwrite == -1 or c2pwrite > 2)
and (errwrite == -1 or errwrite > 2)
and not start_new_session
and gid is None
and gids is None
and uid is None
and umask < 0):
self._posix_spawn(args, executable, env, restore_signals,
p2cread, p2cwrite,
c2pread, c2pwrite,
errread, errwrite)
return
orig_executable = executable
# For transferring possible exec failure from child to parent.
# Data format: "exception name:hex errno:description"
# Pickle is not used; it is complex and involves memory allocation.
errpipe_read, errpipe_write = os.pipe()
# errpipe_write must not be in the standard io 0, 1, or 2 fd range.
low_fds_to_close = []
while errpipe_write < 3:
low_fds_to_close.append(errpipe_write)
errpipe_write = os.dup(errpipe_write)
for low_fd in low_fds_to_close:
os.close(low_fd)
try:
try:
# We must avoid complex work that could involve
# malloc or free in the child process to avoid
# potential deadlocks, thus we do all this here.
# and pass it to fork_exec()
if env is not None:
env_list = []
for k, v in env.items():
k = os.fsencode(k)
if b'=' in k:
raise ValueError("illegal environment variable name")
env_list.append(k + b'=' + os.fsencode(v))
else:
env_list = None # Use execv instead of execve.
executable = os.fsencode(executable)
if os.path.dirname(executable):
executable_list = (executable,)
else:
# This matches the behavior of os._execvpe().
executable_list = tuple(
os.path.join(os.fsencode(dir), executable)
for dir in os.get_exec_path(env))
fds_to_keep = set(pass_fds)
fds_to_keep.add(errpipe_write)
self.pid = _posixsubprocess.fork_exec(
args, executable_list,
close_fds, tuple(sorted(map(int, fds_to_keep))),
cwd, env_list,
p2cread, p2cwrite, c2pread, c2pwrite,
errread, errwrite,
errpipe_read, errpipe_write,
restore_signals, start_new_session,
gid, gids, uid, umask,
preexec_fn)
self._child_created = True
finally:
# be sure the FD is closed no matter what
os.close(errpipe_write)
self._close_pipe_fds(p2cread, p2cwrite,
c2pread, c2pwrite,
errread, errwrite)
# Wait for exec to fail or succeed; possibly raising an
# exception (limited in size)
errpipe_data = bytearray()
while True:
part = os.read(errpipe_read, 50000)
errpipe_data += part
if not part or len(errpipe_data) > 50000:
break
finally:
# be sure the FD is closed no matter what
os.close(errpipe_read)
if errpipe_data:
try:
pid, sts = os.waitpid(self.pid, 0)
if pid == self.pid:
self._handle_exitstatus(sts)
else:
self.returncode = sys.maxsize
except ChildProcessError:
pass
try:
exception_name, hex_errno, err_msg = (
errpipe_data.split(b':', 2))
# The encoding here should match the encoding
# written in by the subprocess implementations
# like _posixsubprocess
err_msg = err_msg.decode()
except ValueError:
exception_name = b'SubprocessError'
hex_errno = b'0'
err_msg = 'Bad exception data from child: {!r}'.format(
bytes(errpipe_data))
child_exception_type = getattr(
builtins, exception_name.decode('ascii'),
SubprocessError)
if issubclass(child_exception_type, OSError) and hex_errno:
errno_num = int(hex_errno, 16)
child_exec_never_called = (err_msg == "noexec")
if child_exec_never_called:
err_msg = ""
# The error must be from chdir(cwd).
err_filename = cwd
else:
err_filename = orig_executable
if errno_num != 0:
err_msg = os.strerror(errno_num)
> raise child_exception_type(errno_num, err_msg, err_filename)
E FileNotFoundError: [Errno 2] No such file or directory: 'mount'
/usr/lib/python3.9/subprocess.py:1823: FileNotFoundError
=============================== warnings summary ===============================
.pybuild/cpython3_3.9_mu-editor/build/tests/modes/test_microbit.py::test_force_flash_user_specified_device_path
.pybuild/cpython3_3.9_mu-editor/build/tests/modes/test_microbit.py::test_flash_forced_with_attached_device_as_not_windows
.pybuild/cpython3_3.9_mu-editor/build/tests/modes/test_microbit.py::test_flash_with_attached_device_has_latest_firmware_encounters_problem
.pybuild/cpython3_3.9_mu-editor/build/tests/modes/test_microbit.py::test_flash_with_attached_known_device_and_forced
.pybuild/cpython3_3.9_mu-editor/build/tests/modes/test_microbit.py::test_force_flash_empty_script
.pybuild/cpython3_3.9_mu-editor/build/tests/modes/test_microbit.py::test_flash_force_with_attached_device_as_windows
.pybuild/cpython3_3.9_mu-editor/build/tests/modes/test_microbit.py::test_flash_device_has_latest_firmware_encounters_serial_problem_windows
.pybuild/cpython3_3.9_mu-editor/build/tests/modes/test_microbit.py::test_flash_with_attached_device_has_latest_firmware
.pybuild/cpython3_3.9_mu-editor/build/tests/modes/test_microbit.py::test_flash_device_has_latest_firmware_encounters_serial_problem_unix
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/modes/microbit.py:341: DeprecationWarning: Function 'semver.parse' is deprecated. Deprecated since version 2.10.0. This function will be removed in semver 3. Use the respective 'semver.VersionInfo.parse' instead.
semver.parse(version_info['release'])
.pybuild/cpython3_3.9_mu-editor/build/tests/modes/test_microbit.py: 10 warnings
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build/mu/modes/microbit.py:357: DeprecationWarning: Function 'semver.compare' is deprecated. Deprecated since version 2.10.0. This function will be removed in semver 3. Use the respective 'semver.VersionInfo.compare' instead.
if semver.compare(board_version,
-- Docs: https://docs.pytest.org/en/stable/warnings.html
=========================== short test summary info ============================
FAILED tests/modes/test_microbit.py::test_flash_with_attached_device_and_custom_runtime
FAILED tests/modes/test_microbit.py::test_flash_minify - FileNotFoundError: [...
================== 2 failed, 738 passed, 19 warnings in 5.76s ==================
E: pybuild pybuild:353: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build; python3.9 -m pytest --random-order
Traceback (most recent call last):
File "/usr/bin/pybuild", line 351, in main
run(func, i, version, c)
File "/usr/bin/pybuild", line 301, in run
result = func(context, args)
File "/usr/share/dh-python/dhpython/build/base.py", line 282, in wrapped_func
raise Exception(msg)
Exception: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_mu-editor/build; python3.9 -m pytest --random-order
rm -fr -- /tmp/dh-xdg-rundir-ubBYGm5F
dh_auto_test: error: pybuild --test -i python{version} -p 3.9 returned exit code 13
make[1]: *** [debian/rules:42: override_dh_auto_test] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:25: binary-indep] Error 2
dpkg-buildpackage: error: debian/rules binary-indep subprocess returned exit status 2
--------------------------------------------------------------------------------
(The above is just how the build ends and not necessarily the most relevant part)
Note: I'm using the "patch" tag because there is an obvious fix
(indicated in the subject).
About the archive rebuild: The build was made using virtual machines
from Hetzner, with enough memory, enough disk, and either one or two
CPUs, using a reduced chroot with only build-essential packages (plus
debhelper).
If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.
If this is really a bug in one of the build-depends, please use
reassign and affects, so that this is still visible in the BTS web
page for this package.
Thanks.
More information about the Python-apps-team
mailing list