diff --git a/SOURCES/pykde4-4.10.5-crash_module.patch b/SOURCES/pykde4-4.10.5-crash_module.patch new file mode 100644 index 0000000..2c21eee --- /dev/null +++ b/SOURCES/pykde4-4.10.5-crash_module.patch @@ -0,0 +1,21 @@ +diff -up pykde4-4.10.5/__init__.py.me pykde4-4.10.5/__init__.py +--- pykde4-4.10.5/__init__.py.me 2018-12-04 13:31:43.545667006 +0100 ++++ pykde4-4.10.5/__init__.py 2018-12-04 13:31:51.116708365 +0100 +@@ -1,4 +1,13 @@ + import sys,DLFCN +-# This is needed to ensure that dynamic_cast and RTTI works inside kdelibs. +-sys.setdlopenflags(DLFCN.RTLD_NOW|DLFCN.RTLD_GLOBAL) +- +\ Kein Zeilenumbruch am Dateiende. ++ ++def main(): ++ dlopenflag = sys.getdlopenflags() ++ try: ++ # This is needed to ensure that dynamic_cast and RTTI works inside kdelibs. ++ sys.setdlopenflags(DLFCN.RTLD_NOW|DLFCN.RTLD_GLOBAL) ++ finally: ++ # set to default dlopenflag to avoid problem in other modules ++ sys.setdlopenflags(dlopenflag) ++ ++if __name__=='__main__': ++ main() diff --git a/SOURCES/pykde4-4.10.5-rpmdiff-missing-link-nepomukutils.patch b/SOURCES/pykde4-4.10.5-rpmdiff-missing-link-nepomukutils.patch new file mode 100644 index 0000000..eaf0084 --- /dev/null +++ b/SOURCES/pykde4-4.10.5-rpmdiff-missing-link-nepomukutils.patch @@ -0,0 +1,12 @@ +diff -up pykde4-4.10.5/CMakeLists.txt.me pykde4-4.10.5/CMakeLists.txt +--- pykde4-4.10.5/CMakeLists.txt.me 2019-01-23 16:31:27.379842344 +0100 ++++ pykde4-4.10.5/CMakeLists.txt 2019-01-23 16:32:01.932909346 +0100 +@@ -197,7 +197,7 @@ if(Nepomuk_FOUND) + include_directories(${NEPOMUK_INCLUDE_DIR}) + file(GLOB nepomuk_files_sip sip/nepomuk/*.sip) + set(SIP_EXTRA_FILES_DEPEND ${nepomuk_files_sip}) +- add_sip_python_module(PyKDE4.nepomuk sip/nepomuk/nepomukmod.sip ${NEPOMUK_LIBRARIES} ${NEPOMUK_QUERY_LIBRARIES} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${SOPRANO_LIBRARIES} ${KDE4_KIO_LIBS}) ++ add_sip_python_module(PyKDE4.nepomuk sip/nepomuk/nepomukmod.sip ${NEPOMUK_LIBRARIES} ${NEPOMUK_QUERY_LIBRARIES} ${NEPOMUK_UTILS_LIBRARIES} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${SOPRANO_LIBRARIES} ${KDE4_KIO_LIBS}) + set(PYKDE_MODULES "${PYKDE_MODULES} nepomuk") + endif() + diff --git a/SPECS/pykde4.spec b/SPECS/pykde4.spec index eda0480..a00fcc6 100644 --- a/SPECS/pykde4.spec +++ b/SPECS/pykde4.spec @@ -11,7 +11,7 @@ Name: pykde4 Version: 4.10.5 -Release: 4%{?dist} +Release: 6%{?dist} Summary: Python bindings for KDE4 # http://techbase.kde.org/Policies/Licensing_Policy @@ -29,8 +29,15 @@ Source0: http://download.kde.org/%{stable}/%{version}/src/%{name}-%{version}.tar # hard-codes sip path to /usr/share/sip, instead of respecting system path Patch1: 0001-Ensure-SIP-files-are-installed-to-the-right-path-bas.patch +# remove shebang Patch2: pykde4-4.10.5-remove-env-shebang.patch +# globally sets dlopen flags causes crash python modules +Patch3: pykde4-4.10.5-crash_module.patch + +# fix rpmdiff, Requires: libnepomukutils.so.4 disappearing +Patch4: pykde4-4.10.5-rpmdiff-missing-link-nepomukutils.patch + ## upstreamable patches ## upstream patches @@ -159,6 +166,8 @@ Provides: python3-PyKDE4-devel%{?_isa} = %{version}-%{release} %patch1 -p1 -R -b .use_system_sip_dir %patch2 -p1 -b .remove-env-shebang +%patch3 -p1 +%patch4 -p1 -b .missing-requires-libnepomukutils %patch200 -p1 -b .respect_sip_flags %patch201 -p1 -b .kpythonpluginfactory_slots @@ -271,6 +280,12 @@ mv %{buildroot}%{_kde4_appsdir}/pykde4/examples/ %{buildroot}%{_docdir}/pykde4/ %changelog +* Wed Jan 23 2019 Than Ngo - 4.10.5-6 +- Related: #1655166 - requirement on libnepomukutils.so.4 disappearing + +* Tue Dec 04 2018 Than Ngo - 4.10.5-5 +- Resolves: #1655166 - crash in python module + * Fri Jan 24 2014 Daniel Mach - 4.10.5-4 - Mass rebuild 2014-01-24