Package: src:openlp Version: 3.1.7+ds-1 Severity: serious Tags: ftbfs forky sid
Dear maintainer: During a rebuild of all packages in unstable, this package failed to build. Below you will find the last part of the build log (probably the most relevant part, but not necessarily). If required, the full build log is available here: https://people.debian.org/~sanvila/build-logs/202608/ About the archive rebuild: The build was made on virtual machines from AWS, using sbuild and a reduced chroot with only build-essential packages. If you cannot 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 add an affects on src:openlp, so that this is still visible in the BTS web page for this package. Thanks. -------------------------------------------------------------------------------- [...] debian/rules clean dh clean --with python3 --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild I: pybuild base:385: python3.14 setup.py clean /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. [... snipped ...] tests/openlp_core/ui/test_mainwindow.py ................................ [ 51%] .............. [ 51%] tests/openlp_core/ui/test_serviceitemeditform.py ............... [ 52%] tests/openlp_core/ui/test_servicemanager.py ............................ [ 53%] ................................................................ [ 56%] tests/openlp_core/ui/test_servicenotedialog.py . [ 56%] tests/openlp_core/ui/test_servicetab.py . [ 56%] tests/openlp_core/ui/test_settings_form.py .... [ 56%] tests/openlp_core/ui/test_settingsform.py ....... [ 56%] tests/openlp_core/ui/test_shortcutlistdialog.py .. [ 56%] tests/openlp_core/ui/test_shortcutlistform.py .......... [ 57%] tests/openlp_core/ui/test_slidecontroller.py ........................... [ 58%] .................................................... [ 60%] tests/openlp_core/ui/test_splashscreen.py . [ 60%] tests/openlp_core/ui/test_starttimedialog.py .. [ 60%] tests/openlp_core/ui/test_style.py ..................... [ 61%] tests/openlp_core/ui/test_themeform.py ........................sssss. [ 62%] tests/openlp_core/ui/test_thememanager.py ...................... [ 63%] tests/openlp_core/ui/test_themeprogressform.py ...... [ 63%] tests/openlp_core/ui/test_themetab.py .. [ 63%] tests/openlp_core/widgets/test_buttons.py ....... [ 63%] tests/openlp_core/widgets/test_dialogs.py ............. [ 64%] tests/openlp_core/widgets/test_edits.py ....................... [ 65%] tests/openlp_core/widgets/test_toolbar.py ............ [ 65%] tests/openlp_core/widgets/test_views.py .......................... [ 66%] tests/openlp_core/widgets/test_widgets.py ........................... [ 67%] tests/openlp_plugins/alerts/forms/test_alertform.py . [ 67%] tests/openlp_plugins/alerts/test_manager.py ... [ 68%] tests/openlp_plugins/alerts/test_plugin.py ..... [ 68%] tests/openlp_plugins/bibles/forms/test_bibleimportform.py sss [ 68%] tests/openlp_plugins/bibles/forms/test_editbibleform.py . [ 68%] tests/openlp_plugins/bibles/test_bibleimport.py ........................ [ 69%] ...... [ 69%] tests/openlp_plugins/bibles/test_bibleserver.py sss [ 69%] tests/openlp_plugins/bibles/test_biblestab.py .. [ 69%] tests/openlp_plugins/bibles/test_csvimport.py ................. [ 70%] tests/openlp_plugins/bibles/test_lib.py ........ [ 70%] tests/openlp_plugins/bibles/test_lib_manager.py .... [ 70%] tests/openlp_plugins/bibles/test_lib_parse_reference.py ............ [ 71%] tests/openlp_plugins/bibles/test_manager.py . [ 71%] tests/openlp_plugins/bibles/test_mediaitem.py .......................... [ 72%] .............................................................. [ 74%] tests/openlp_plugins/bibles/test_opensongimport.py .................... [ 75%] tests/openlp_plugins/bibles/test_osisimport.py ..................... [ 76%] tests/openlp_plugins/bibles/test_plugin.py . [ 76%] tests/openlp_plugins/bibles/test_swordimport.py .. [ 76%] tests/openlp_plugins/bibles/test_upgrade.py .xxxx [ 76%] tests/openlp_plugins/bibles/test_versereferencelist.py ..... [ 77%] tests/openlp_plugins/bibles/test_wordprojectimport.py ............ [ 77%] tests/openlp_plugins/bibles/test_zefaniaimport.py ... [ 77%] tests/openlp_plugins/custom/forms/test_customform.py ....... [ 77%] tests/openlp_plugins/custom/forms/test_customslideform.py .. [ 78%] tests/openlp_plugins/custom/test_customxml.py ... [ 78%] tests/openlp_plugins/custom/test_mediaitem.py ... [ 78%] tests/openlp_plugins/custom/test_plugin.py . [ 78%] tests/openlp_plugins/images/forms/test_choosegroupform.py .... [ 78%] tests/openlp_plugins/images/test_imagetab.py ... [ 78%] tests/openlp_plugins/images/test_mediaitem.py .............. [ 79%] tests/openlp_plugins/images/test_plugin.py . [ 79%] tests/openlp_plugins/images/test_upgrade.py . [ 79%] tests/openlp_plugins/media/forms/test_mediaclipselectorform.py .... [ 79%] tests/openlp_plugins/media/forms/test_streamselectorform.py ........ [ 79%] tests/openlp_plugins/media/test_mediaitem.py ....... [ 80%] tests/openlp_plugins/media/test_mediaplugin.py .. [ 80%] tests/openlp_plugins/media/test_plugin.py . [ 80%] tests/openlp_plugins/planningcenter/forms/test_selectplanform.py ....... [ 80%] .....s [ 80%] tests/openlp_plugins/planningcenter/lib/test_planningcenter_api.py ..... [ 80%] . [ 80%] tests/openlp_plugins/planningcenter/lib/test_planningcentertab.py .... [ 81%] tests/openlp_plugins/planningcenter/lib/test_songimport.py ...... [ 81%] tests/openlp_plugins/planningcenter/test_planningcenterplugin.py ....... [ 81%] [ 81%] tests/openlp_plugins/presentations/lib/test_serializers.py sss [ 81%] tests/openlp_plugins/presentations/test_impresscontroller.py .......... [ 82%] tests/openlp_plugins/presentations/test_libreofficeserver.py sssssssssss [ 82%] sssssssssssssssssssssssssssss [ 83%] tests/openlp_plugins/presentations/test_maclocontroller.py sssssssssssss [ 84%] sssssssssssss [ 84%] tests/openlp_plugins/presentations/test_mediaitem.py ......... [ 85%] tests/openlp_plugins/presentations/test_messagelistener.py .... [ 85%] tests/openlp_plugins/presentations/test_pdfcontroller.py .s [ 85%] tests/openlp_plugins/presentations/test_plugin.py ... [ 85%] tests/openlp_plugins/presentations/test_powerpointcontroller.py ........ [ 85%] ... [ 85%] tests/openlp_plugins/presentations/test_presentationcontroller.py ...... [ 86%] ...... [ 86%] tests/openlp_plugins/presentations/test_presentationtab.py .. [ 86%] tests/openlp_plugins/songs/forms/test_authorsform.py ................. [ 87%] tests/openlp_plugins/songs/forms/test_editsongform.py ....... [ 87%] tests/openlp_plugins/songs/forms/test_editverseform.py ................. [ 88%] ........... [ 88%] tests/openlp_plugins/songs/forms/test_songmaintenanceform.py ........... [ 88%] ......... [ 89%] tests/openlp_plugins/songs/forms/test_topicsform.py ... [ 89%] tests/openlp_plugins/songs/test_ccliimport.py . [ 89%] tests/openlp_plugins/songs/test_chordproimport.py . [ 89%] tests/openlp_plugins/songs/test_datasoulimport.py . [ 89%] tests/openlp_plugins/songs/test_db.py ........... [ 89%] tests/openlp_plugins/songs/test_easyslidesimport.py . [ 90%] tests/openlp_plugins/songs/test_editsongform.py ....... [ 90%] tests/openlp_plugins/songs/test_ewimport.py ................ [ 90%] tests/openlp_plugins/songs/test_foilpresenterimport.py ........ [ 91%] tests/openlp_plugins/songs/test_lib.py ................................. [ 92%] .. [ 92%] tests/openlp_plugins/songs/test_liveworshipimport.py .. [ 92%] tests/openlp_plugins/songs/test_lyriximport.py . [ 92%] tests/openlp_plugins/songs/test_mediaitem.py .................... [ 93%] tests/openlp_plugins/songs/test_mediashout.py ....... [ 93%] tests/openlp_plugins/songs/test_openlpimporter.py .... [ 94%] tests/openlp_plugins/songs/test_openlyricsexport.py ... [ 94%] tests/openlp_plugins/songs/test_openlyricsimport.py ...... [ 94%] tests/openlp_plugins/songs/test_openlyricsxml.py ....... [ 94%] tests/openlp_plugins/songs/test_openoffice.py .. [ 94%] tests/openlp_plugins/songs/test_opensongimport.py .... [ 94%] tests/openlp_plugins/songs/test_opsproimport.py ..... [ 95%] tests/openlp_plugins/songs/test_plugin.py . [ 95%] tests/openlp_plugins/songs/test_powerpraiseimport.py . [ 95%] tests/openlp_plugins/songs/test_presentationmanagerimport.py . [ 95%] tests/openlp_plugins/songs/test_propresenterimport.py ... [ 95%] tests/openlp_plugins/songs/test_reporting.py ... [ 95%] tests/openlp_plugins/songs/test_singingthefaithimport.py . [ 95%] tests/openlp_plugins/songs/test_songbeamerimport.py .............. [ 96%] tests/openlp_plugins/songs/test_songformat.py ..... [ 96%] tests/openlp_plugins/songs/test_songimport.py .... [ 96%] tests/openlp_plugins/songs/test_songproimport.py . [ 96%] tests/openlp_plugins/songs/test_songselect.py .......................... [ 97%] ....... [ 97%] tests/openlp_plugins/songs/test_songshowplusimport.py ...............s [ 98%] tests/openlp_plugins/songs/test_songstab.py ................ [ 99%] tests/openlp_plugins/songs/test_sundayplusimport.py . [ 99%] tests/openlp_plugins/songs/test_videopsalm.py . [ 99%] tests/openlp_plugins/songs/test_wordsofworshipimport.py ..... [ 99%] tests/openlp_plugins/songs/test_worshipassistantimport.py . [ 99%] tests/openlp_plugins/songs/test_worshipcenterproimport.py ....... [ 99%] tests/openlp_plugins/songs/test_zionworximport.py ... [ 99%] tests/openlp_plugins/songusage/forms/test_songusagedeleteform.py . [ 99%] tests/openlp_plugins/songusage/forms/test_songusagedetailform.py . [ 99%] tests/openlp_plugins/songusage/test_songusage.py .... [100%] =================================== FAILURES =================================== ________________ test_old_service_item_load_image_from_service _________________ state_media = None settings = <openlp.core.common.settings.Settings object at 0x7fb3fe9e48c0> def test_old_service_item_load_image_from_service(state_media, settings): """ Test the Service Item - adding an image from a saved service tests a old service file serviceitem (openlp-servicefile-version < 3) """ # GIVEN: A new service item and a mocked add icon function image_name = 'image_1.jpg' fake_hash = 'abcd' extracted_file = Path(TEST_PATH) / '{base}{ext}'.format(base=fake_hash, ext=os.path.splitext(image_name)[1]) frame_array = {'path': extracted_file, 'title': image_name, 'file_hash': fake_hash} service_item = ServiceItem(None) service_item.add_icon = MagicMock() # WHEN: adding an image from a saved Service and mocked exists line = convert_file_service_item(TEST_PATH, 'serviceitem_image_1.osj') with patch('openlp.core.ui.servicemanager.os.path.exists') as mocked_exists, \ patch('openlp.core.lib.serviceitem.AppLocation.get_section_data_path') as mocked_get_section_data_path, \ patch('openlp.core.lib.serviceitem.sha256_file_hash') as mocked_sha256_file_hash, \ patch('openlp.core.lib.serviceitem.move'): mocked_sha256_file_hash.return_value = fake_hash mocked_exists.return_value = True mocked_get_section_data_path.return_value = Path('/path/') service_item.set_from_service(line, TEST_PATH) # THEN: We should get back a valid service item assert service_item.is_valid is True, 'The new service item should be valid' assert extracted_file == service_item.get_rendered_frame(0), 'The first frame should match the path to the image' > assert frame_array == service_item.get_frames()[0], 'The return should > match frame array1' E AssertionError: The return should match frame array1 E assert {'path': Posi...hash': 'abcd'} == {'title': 'im...ls/abcd.jpg')} E E Omitting 3 identical items, use -vv to show E Right contains 1 more item: E {'thumbnail': PosixPath('/path/thumbnails/abcd.jpg')} E Use -v to get more diff tests/openlp_core/lib/test_serviceitem.py:223: AssertionError _______________ test_service_item_load_image_from_local_service ________________ mocked_get_section_data_path = <MagicMock name='get_section_data_path' id='140411055520608'> mocked_exists = <MagicMock name='exists' id='140411055512208'> settings = <openlp.core.common.settings.Settings object at 0x7fb3febc69f0> state_media = None @patch('openlp.core.lib.serviceitem.os.path.exists') @patch('openlp.core.lib.serviceitem.AppLocation.get_section_data_path') def test_service_item_load_image_from_local_service(mocked_get_section_data_path, mocked_exists, settings, state_media): """ Test the Service Item - adding an image from a saved local service """ # GIVEN: A new service item and a mocked add icon function mocked_get_section_data_path.return_value = Path('/path') mocked_exists.return_value = True image_name1 = 'image_1.jpg' image_name2 = 'image_2.jpg' test_file1 = Path('/home/openlp') / image_name1 test_file2 = Path('/home/openlp') / image_name2 frame_array1 = {'path': test_file1, 'title': image_name1, 'file_hash': 'abcd'} frame_array2 = {'path': test_file2, 'title': image_name2, 'file_hash': 'abcd'} service_item = ServiceItem(None) service_item.add_icon = MagicMock() service_item2 = ServiceItem(None) service_item2.add_icon = MagicMock() # WHEN: adding an image from a saved Service and mocked exists line = convert_file_service_item(TEST_PATH, 'serviceitem_image_2.osj') line2 = convert_file_service_item(TEST_PATH, 'serviceitem_image_2.osj', 1) with patch('openlp.core.lib.serviceitem.sha256_file_hash') as mocked_sha256_file_hash: mocked_sha256_file_hash.return_value = 'abcd' service_item2.set_from_service(line2) service_item.set_from_service(line) # THEN: We should get back a valid service item assert service_item.is_valid is True, 'The first service item should be valid' assert service_item2.is_valid is True, 'The second service item should be valid' # These test will fail on windows due to the difference in folder seperators if os.name != 'nt': assert test_file1 == service_item.get_rendered_frame(0), \ 'The first frame should match the path to the image' assert test_file2 == service_item2.get_rendered_frame(0), \ 'The Second frame should match the path to the image' > assert frame_array1 == service_item.get_frames()[0], 'The return > should match the frame array1' E AssertionError: The return should match the frame array1 E assert {'path': Posi...hash': 'abcd'} == {'title': 'im...ls/abcd.jpg')} E E Omitting 3 identical items, use -vv to show E Right contains 1 more item: E {'thumbnail': PosixPath('/path/thumbnails/abcd.jpg')} E Use -v to get more diff tests/openlp_core/lib/test_serviceitem.py:276: AssertionError =============================== warnings summary =============================== openlp/core/common/__init__.py:469 /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_openlp/build/openlp/core/common/__init__.py:469: SyntaxWarning: 'return' in a 'finally' block return detector.close()['encoding'] openlp/core/api/websockets.py:36 /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_openlp/build/openlp/core/api/websockets.py:36: DeprecationWarning: websockets.server.serve is deprecated from websockets.server import serve ../../../../../../usr/lib/python3/dist-packages/websockets/legacy/__init__.py:6 /usr/lib/python3/dist-packages/websockets/legacy/__init__.py:6: DeprecationWarning: websockets.legacy is deprecated; see https://websockets.readthedocs.io/en/stable/howto/upgrade.html for upgrade instructions warnings.warn( # deprecated in 14.0 - 2024-11-09 openlp/core/ui/thememanager.py:706 /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_openlp/build/openlp/core/ui/thememanager.py:706: SyntaxWarning: 'return' in a 'finally' block return theme_name openlp/core/ui/thememanager.py:708 /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_openlp/build/openlp/core/ui/thememanager.py:708: SyntaxWarning: 'return' in a 'finally' block return None tests/openlp_plugins/songs/test_ccliimport.py::test_ccli tests/openlp_plugins/songs/test_ccliimport.py::test_ccli tests/openlp_plugins/songs/test_ccliimport.py::test_ccli tests/openlp_plugins/songs/test_songselect.py::test_songselect_file_import tests/openlp_plugins/songs/test_songselect.py::test_songselect_file_import tests/openlp_plugins/songs/test_songselect.py::test_songselect_file_import /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_openlp/build/openlp/plugins/songs/lib/importers/cclifile.py:69: DeprecationWarning: codecs.open() is deprecated. Use open() instead. in_file = codecs.open(file_path, 'r', details['encoding']) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED tests/openlp_core/lib/test_serviceitem.py::test_old_service_item_load_image_from_service FAILED tests/openlp_core/lib/test_serviceitem.py::test_service_item_load_image_from_local_service = 2 failed, 2414 passed, 89 skipped, 3 deselected, 4 xfailed, 11 warnings in 27.29s = E: pybuild pybuild:485: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_openlp/build; python3.14 -m pytest -k 'not test_load_settings_position_invalid and not test_get_directory_for_language_dir_from_source and not test_get_ip_address_default' dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.14 --parallel=2 returned exit code 13 make[1]: *** [debian/rules:25: override_dh_auto_test] Error 25 make[1]: Leaving directory '/<<PKGBUILDDIR>>' make: *** [debian/rules:8: binary] Error 2 dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2 --------------------------------------------------------------------------------

