[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