Hello community, here is the log from the commit of package python-qt5 for openSUSE:Factory checked in at 2020-02-22 18:59:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-qt5 (Old) and /work/SRC/openSUSE:Factory/.python-qt5.new.26092 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-qt5" Sat Feb 22 18:59:53 2020 rev:44 rq:775006 version:5.13.2 Changes: -------- --- /work/SRC/openSUSE:Factory/python-qt5/python-qt5.changes 2020-02-14 16:30:26.759355814 +0100 +++ /work/SRC/openSUSE:Factory/.python-qt5.new.26092/python-qt5.changes 2020-02-22 19:00:04.257596595 +0100 @@ -1,0 +2,8 @@ +Sun Feb 16 17:04:29 UTC 2020 - Stefan BrĂ¼ns <stefan.bru...@rwth-aachen.de> + +- Fix dbus mainloop integration, install a noarch wrapper in + the dbus/mainloop module path, and move the implementation + alongside the other binary modules. bnc#1163755, bnc#1163763. + * 0001-Use-a-noarch-wrapper-for-dbus-mainloop-integration.patch + +------------------------------------------------------------------- New: ---- 0001-Use-a-noarch-wrapper-for-dbus-mainloop-integration.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-qt5.spec ++++++ --- /var/tmp/diff_new_pack.n06B0o/_old 2020-02-22 19:00:06.777601476 +0100 +++ /var/tmp/diff_new_pack.n06B0o/_new 2020-02-22 19:00:06.781601484 +0100 @@ -50,6 +50,8 @@ Patch1: disable-rpaths.diff # PATCH-FIX-UPSTREAM Patch2: update-timeline.patch +# PATCH-FIX-OPENSUSE - install binary dbus mainloop integration in arch dependent directory +Patch3: 0001-Use-a-noarch-wrapper-for-dbus-mainloop-integration.patch BuildRequires: %{python_module dbus-python-devel} BuildRequires: %{python_module devel} BuildRequires: %{python_module sip-devel >= 4.19.19} @@ -242,10 +244,6 @@ cp ../README ./ sed -i 's/The "doc" directory/The "doc" directory of package %{$python_prefix}-qt5-devel/' README -%if "%{python_sitearch}" != "%{python_sitelib}" - mv %{buildroot}%{python_sitelib}/dbus %{buildroot}%{python_sitearch}/dbus -%endif - popd # Prepare for update-alternatives usage @@ -286,9 +284,9 @@ %doc NEWS ChangeLog %{python_sitearch}/PyQt5/ %{python_sitearch}/PyQt5-%{version}.dist-info/ -%dir %{python_sitearch}/dbus -%dir %{python_sitearch}/dbus/mainloop -%{python_sitearch}/dbus/mainloop/pyqt5.so +%dir %{python_sitelib}/dbus +%dir %{python_sitelib}/dbus/mainloop +%{python_sitelib}/dbus/mainloop/pyqt5.py %dir %{_libqt5_plugindir}/PyQt5/ %{_libqt5_plugindir}/PyQt5/libpy%{python_bin_suffix}qt5qmlplugin.so %exclude %{_docdir}/%{bname}/examples/ ++++++ 0001-Use-a-noarch-wrapper-for-dbus-mainloop-integration.patch ++++++ >From 90b1d19e4a65b1490f4ea277d81cbc96bcaa4c4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bru...@rwth-aachen.de> Date: Sun, 16 Feb 2020 18:00:54 +0100 Subject: [PATCH] Use a noarch wrapper for dbus mainloop integration python-dbus installs in a noarch directory by default, so it not a suitable place for the binary module. Install the binary module to the same directory as all other binary modules, and just install a small wrapper for dbus.mainloop.pyqt5. --- configure.py | 11 +++++++++-- dbus/dbus.cpp | 8 ++++---- dbus/pyqt5.py | 5 +++++ project.py | 6 ++++++ 4 files changed, 24 insertions(+), 6 deletions(-) create mode 100644 dbus/pyqt5.py diff --git a/configure.py b/configure.py index a361cf1..4fb3fa0 100644 --- a/configure.py +++ b/configure.py @@ -58,7 +58,7 @@ class ModuleMetadata: # The module meta-data. MODULE_METADATA = { 'dbus': ModuleMetadata(qmake_QT=['-gui'], - qmake_TARGET='pyqt5'), + qmake_TARGET='dbus_mainloop'), 'QAxContainer': ModuleMetadata(qmake_QT=['axcontainer']), 'Qt': ModuleMetadata(qmake_QT=['-core', '-gui']), 'QtAndroidExtras': ModuleMetadata(qmake_QT=['androidextras']), @@ -1656,7 +1656,6 @@ del find_qt generate_module_makefile(target_config, verbose, mname, include_paths=target_config.dbus_inc_dirs, libs=libs, - install_path=target_config.pydbus_module_dir, src_dir=sp_src_dir) subdirs.append(mname) @@ -1686,6 +1685,14 @@ INSTALLS += init_py all_installs.append(root_dir + '/__init__.py') + # Install the dbus mainloop wrapper. + if target_config.pydbus_module_dir != '': + out_f.write(''' +mainloop_wrapper.files = %s +mainloop_wrapper.path = %s +INSTALLS += mainloop_wrapper +''' % (source_path('dbus', 'pyqt5.py'), target_config.pydbus_module_dir)) + # Install the uic module. out_f.write(''' uic_package.files = %s diff --git a/dbus/dbus.cpp b/dbus/dbus.cpp index 7183d92..8dc3446 100644 --- a/dbus/dbus.cpp +++ b/dbus/dbus.cpp @@ -405,11 +405,11 @@ static PyMethodDef module_functions[] = { // The module entry point. #if PY_MAJOR_VERSION >= 3 -PyMODINIT_FUNC PyInit_pyqt5() +PyMODINIT_FUNC PyInit_dbus_mainloop() { static PyModuleDef module_def = { PyModuleDef_HEAD_INIT, - "pyqt5", + "dbus_mainloop", NULL, -1, module_functions, @@ -422,12 +422,12 @@ PyMODINIT_FUNC PyInit_pyqt5() return PyModule_Create(&module_def); } #else -PyMODINIT_FUNC initpyqt5() +PyMODINIT_FUNC initdbus_mainloop() { // Import the generic part of the Python DBus bindings. if (import_dbus_bindings("dbus.mainloop.pyqt5") < 0) return; - Py_InitModule("pyqt5", module_functions); + Py_InitModule("dbus_mainloop", module_functions); } #endif diff --git a/dbus/pyqt5.py b/dbus/pyqt5.py new file mode 100644 index 0000000..1356ce3 --- /dev/null +++ b/dbus/pyqt5.py @@ -0,0 +1,5 @@ +"""Qt main loop integration using "python-qt5""" + +__all__ = ('DBusQtMainLoop', ) + +from PyQt5.dbus_mainloop import DBusQtMainLoop diff --git a/project.py b/project.py index 0b86b37..7f5d2b8 100644 --- a/project.py +++ b/project.py @@ -289,6 +289,12 @@ del find_qt buildable.libraries.extend(dbus_libs) buildable.debug = self.py_debug + installable = Installable('pyqt5', target_subdir=dbus_module_dir) + installable.files.append( + os.path.join(project.root_dir, 'dbus', + 'pyqt5.py')) + self.installables.append(installable) + self.buildables.append(buildable) def _add_plugin(self, name, user_name, target_name, target_subdir): -- 2.25.0