Hello community, here is the log from the commit of package libmygpo-qt5 for openSUSE:Factory checked in at 2018-04-04 11:07:46 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libmygpo-qt5 (Old) and /work/SRC/openSUSE:Factory/.libmygpo-qt5.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "libmygpo-qt5" Wed Apr 4 11:07:46 2018 rev:3 rq:593218 version:1.1.0 Changes: -------- --- /work/SRC/openSUSE:Factory/libmygpo-qt5/libmygpo-qt5.changes 2018-02-26 23:26:41.787001310 +0100 +++ /work/SRC/openSUSE:Factory/.libmygpo-qt5.new/libmygpo-qt5.changes 2018-04-04 11:08:00.434410617 +0200 @@ -1,0 +2,8 @@ +Tue Apr 3 08:30:36 UTC 2018 - wbauer@tmo.at + +- Update to 1.1.0: + * Deprecated Qt4 support + * Improvements in Qt5 support + * Fix in URL parsing, preventing Double Encoding of URLs + +------------------------------------------------------------------- Old: ---- libmygpo-qt.1.0.9.tar.gz New: ---- libmygpo-qt.1.1.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libmygpo-qt5.spec ++++++ --- /var/tmp/diff_new_pack.eUSiP7/_old 2018-04-04 11:08:02.386339878 +0200 +++ /var/tmp/diff_new_pack.eUSiP7/_new 2018-04-04 11:08:02.390339733 +0200 @@ -1,7 +1,7 @@ # # spec file for package libmygpo-qt5 # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: libmygpo-qt5 -Version: 1.0.9 +Version: 1.1.0 Release: 0 Summary: Qt Library that wraps the gpodder.net Web API License: LGPL-2.1+ @@ -65,7 +65,7 @@ %setup -q -n libmygpo-qt.%{version} %build - %cmake -DMYGPO_BUILD_TESTS=OFF -DBUILD_WITH_QT4=OFF -DINCLUDE_INSTALL_DIR=%{_includedir}/mygpo-qt5/ + %cmake -DMYGPO_BUILD_TESTS=OFF -DINCLUDE_INSTALL_DIR=%{_includedir}/mygpo-qt5/ %make_jobs %install @@ -77,15 +77,15 @@ %files devel %defattr(-,root,root) -%doc LICENSE +%license LICENSE %{_includedir}/mygpo-qt5/ -%{_libdir}/cmake/mygpo-qt/ +%{_libdir}/cmake/mygpo-qt5/ %{_libdir}/libmygpo-qt5.so %{_libdir}/pkgconfig/libmygpo-qt5.pc %files -n libmygpo-qt5-1 %defattr(-,root,root) -%doc LICENSE +%license LICENSE %{_libdir}/libmygpo-qt5.so.* %changelog ++++++ libmygpo-qt.1.0.9.tar.gz -> libmygpo-qt.1.1.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.9/CMakeLists.txt new/libmygpo-qt.1.1.0/CMakeLists.txt --- old/libmygpo-qt.1.0.9/CMakeLists.txt 2016-09-16 13:02:54.000000000 +0200 +++ new/libmygpo-qt.1.1.0/CMakeLists.txt 2018-04-01 13:13:01.000000000 +0200 @@ -1,16 +1,15 @@ -cmake_minimum_required( VERSION 2.6 FATAL_ERROR ) +cmake_minimum_required( VERSION 2.8.9 FATAL_ERROR ) project( libmygpo-qt ) set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules) set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII" ) -option(BUILD_WITH_QT4 "Build libmygpo-qt with Qt4 no matter if Qt5 was found" ON) +option(BUILD_WITH_QT4 "Build libmygpo-qt with Qt4 no matter if Qt5 was found" OFF) if( NOT BUILD_WITH_QT4 ) find_package(Qt5Core QUIET) if( Qt5Core_DIR ) - message(STATUS "Found Qt5! Be aware that Qt5-support is still experimental and not officially supported!") set(MYGPO_QT_VERSION_SUFFIX 5) macro(qt_wrap_cpp) @@ -26,6 +25,7 @@ if( NOT Qt5Core_DIR ) message(STATUS "Could not find Qt5, searching for Qt4 instead...") + message(STATUS "Qt4 Support is deprecated, building with Qt4 is no longer officially supported") if( MYGPO_BUILD_TESTS ) find_package( Qt4 COMPONENTS QtCore QtNetwork QtTest REQUIRED ) else( MYGPO_BUILD_TESTS ) @@ -53,8 +53,8 @@ # set(QT_USE_IMPORTED_TARGETS TRUE) set( MYGPO_QT_VERSION_MAJOR "1" ) -set( MYGPO_QT_VERSION_MINOR "0" ) -set( MYGPO_QT_VERSION_PATCH "9" ) +set( MYGPO_QT_VERSION_MINOR "1" ) +set( MYGPO_QT_VERSION_PATCH "0" ) set( MYGPO_QT_VERSION "${MYGPO_QT_VERSION_MAJOR}.${MYGPO_QT_VERSION_MINOR}.${MYGPO_QT_VERSION_PATCH}" ) set( MYGPO_QT_SONAME "${MYGPO_QT_VERSION_MAJOR}") @@ -99,7 +99,7 @@ set(LIB_INSTALL_DIR lib${LIB_SUFFIX} ) set(LIB_DIR_PKGCONF "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}") set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include/mygpo-qt${MYGPO_QT_VERSION_SUFFIX}" CACHE PATH "The directory the headers are installed in") -set(CMAKECONFIG_INSTALL_DIR ${LIB_INSTALL_DIR}/cmake/mygpo-qt ) +set(CMAKECONFIG_INSTALL_DIR ${LIB_INSTALL_DIR}/cmake/mygpo-qt${MYGPO_QT_VERSION_SUFFIX}) if( APPLE ) set( CPACK_GENERATOR "DragNDrop" ) @@ -114,7 +114,7 @@ find_package(Doxygen) if(DOXYGEN_FOUND) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY) - add_custom_target(doc ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + add_custom_target(doc ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMENT "Generating API documentation with Doxygen" VERBATIM ) endif(DOXYGEN_FOUND) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.9/Mygpo-qtConfig.cmake.in new/libmygpo-qt.1.1.0/Mygpo-qtConfig.cmake.in --- old/libmygpo-qt.1.0.9/Mygpo-qtConfig.cmake.in 2016-09-16 13:02:54.000000000 +0200 +++ new/libmygpo-qt.1.1.0/Mygpo-qtConfig.cmake.in 2018-04-01 13:13:01.000000000 +0200 @@ -11,8 +11,8 @@ set(LIBMYGPO_QT_INCLUDE_DIRS "@INCLUDE_INSTALL_DIR@") # import the exported targets -include(${myDir}/Mygpo-qtTargets.cmake) +include(${myDir}/Mygpo-qt@MYGPO_QT_VERSION_SUFFIX@Targets.cmake) # set the expected library variable -set(LIBMYGPO_QT_LIBRARIES mygpo-qt ) +set(LIBMYGPO_QT_LIBRARIES mygpo-qt@MYGPO_QT_VERSION_SUFFIX@ ) set(LIBMYGPO_QT_FOUND "True") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.9/README new/libmygpo-qt.1.1.0/README --- old/libmygpo-qt.1.0.9/README 2016-09-16 13:02:54.000000000 +0200 +++ new/libmygpo-qt.1.1.0/README 2018-04-01 13:13:01.000000000 +0200 @@ -6,7 +6,7 @@ === Copyright & License === -Copyright 2010 - 2014 Stefan Derkits (stefan@derkits.at) , Christian Wagner (christian.wagner86@gmx.at) & Felix Winter (ixos01@gmail.com) +Copyright 2010 - 2018 Stefan Derkits (stefan@derkits.at) , Christian Wagner (christian.wagner86@gmx.at) & Felix Winter (ixos01@gmail.com) See COPYING File for License @@ -16,25 +16,15 @@ === Requirements === --) Qt 4.6 or higher --) Cmake 2.6 or higher --) QJson - -=== Qt5 Support === - -libmygpo-qt version 1.0.8 supports also building the library with Qt5. The API is the same as in the Qt4 library. To build the library with Qt5 add "-DBUILD_WITH_QT4=OFF" to your CMake -command line. Please note that Qt5 support is still experimental. If you find anything to not work with Qt5, please report a bug. - -==== Qt5 Requirements === - --) CMake 2.8.9 or higher -) Qt 5.2 or higher +-) CMake 2.8.9 or higher +-) QJson === Links === Homepage: http://wiki.gpodder.org/wiki/Libmygpo-qt Git Repo: https://github.com/gpodder/libmygpo-qt -Doxygen Documentation: http://stefan.derkits.at/libmygpo-doc/ +Doxygen Documentation: http://stefan.derkits.at/libmygpo-doc/ Bugreports: http://bugs.gpodder.org Contact: gpodder@freelists.org IRC Channel: #gpodder on FreeNode (irc.freenode.net) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.9/example/Makefile new/libmygpo-qt.1.1.0/example/Makefile --- old/libmygpo-qt.1.0.9/example/Makefile 2016-09-16 13:02:54.000000000 +0200 +++ new/libmygpo-qt.1.1.0/example/Makefile 2018-04-01 13:13:01.000000000 +0200 @@ -1,20 +1,15 @@ CC=g++ -CFLAGS=-c -g -Wall $(shell pkg-config libmygpo-qt --cflags) -LIBS= $(shell pkg-config libmygpo-qt --libs) +CFLAGS=-c -g -Wall $(shell pkg-config libmygpo-qt5 --cflags) +LIBS= $(shell pkg-config libmygpo-qt5 --libs) SRCDIR=src all: main -main: $(SRCDIR)/main.o +main: $(SRCDIR)/main.o $(CC) $(SRCDIR)/main.o -o main $(LIBS) -qt5: - $(CC) -c -I/home/horrendus/kde/include/mygpo-qt -I/usr/include/qt5/QtCore -I/usr/include/qt5 -I/usr/include/qt5/QtNetwork -fPIC $(SRCDIR)/main.cpp -o $(SRCDIR)/main_qt5.o - $(CC) $(SRCDIR)/main_qt5.o -o main -L/home/horrendus/kde/lib -lmygpo-qt -lQt5Network -lQt5Core - $(SRCDIR)/main.o: $(SRCDIR)/main.cpp - $(CC) $(CFLAGS) $(SRCDIR)/main.cpp -o $(SRCDIR)/main.o - + $(CC) $(CFLAGS) $(SRCDIR)/main.cpp -fPIC -o $(SRCDIR)/main.o make clean: rm -fr $(SRCDIR)/*.moc $(SRCDIR)/*.o main diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.9/src/Podcast.cpp new/libmygpo-qt.1.1.0/src/Podcast.cpp --- old/libmygpo-qt.1.0.9/src/Podcast.cpp 2016-09-16 13:02:54.000000000 +0200 +++ new/libmygpo-qt.1.1.0/src/Podcast.cpp 2018-04-01 13:13:01.000000000 +0200 @@ -145,9 +145,12 @@ return false; QVariantMap podcastMap = data.toMap(); QVariant v = podcastMap.value( QLatin1String( "url" ) ); - if ( !v.canConvert( QVariant::Url ) ) + if ( !v.canConvert( QVariant::ByteArray ) ) return false; - m_url = v.toUrl(); + m_url = QUrl::fromEncoded(v.toByteArray(), QUrl::StrictMode); + if (!m_url.isValid()) { + return false; + } v = podcastMap.value( QLatin1String( "title" ) ); if ( !v.canConvert( QVariant::String ) ) return false; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.9/tests/JsonCreatorTest.cpp new/libmygpo-qt.1.1.0/tests/JsonCreatorTest.cpp --- old/libmygpo-qt.1.0.9/tests/JsonCreatorTest.cpp 2016-09-16 13:02:54.000000000 +0200 +++ new/libmygpo-qt.1.1.0/tests/JsonCreatorTest.cpp 2018-04-01 13:13:01.000000000 +0200 @@ -133,7 +133,7 @@ output = JsonCreator::episodeActionListToJSON(episodeActions); QString outString2 = QString::fromLatin1( output ).replace( QLatin1String(" "), QLatin1String("") ); - QString expected2( QLatin1String( "[{\"action\":\"download\",\"device\":\"device1\",\"episode\":\"http://episode.url\",\"podcast\":\"http://podcast.url\",\"timestamp\":\"1998-01-01T00:01:02\"},{\"action\":\"delete\",\"device\":\"device3\",\"episode\":\"http://episode2.url\",\"podcast\":\"http://podcast2.url\",\"timestamp\":\"1920-01-01T12:01:02\"},{\"action\":\"new\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"timestamp\":\"1998-01-01T00:01:02\"},{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"timestamp\":\"1920-01-01T12:01:02\" },{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"position\":123,\"started\":10,\"timestamp\":\"1998-01-01T00:01:02\",\"total\":321},{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"position\":10,\"timestamp\":\"1998-01-01T00:01:02\"}]" ) ); + QString expected2( QLatin1String( "[{\"action\":\"download\",\"device\":\"device1\",\"episode\":\"http://episode.url\",\"podcast\":\"http://podcast.url\",\"timestamp\":\"1998-01-01T00:01:02\"},{\"action\":\"delete\",\"device\":\"device3\",\"episode\":\"http://episode2.url\",\"podcast\":\"http://podcast2.url\",\"timestamp\":\"1920-01-01T12:01:02\"},{\"action\":\"new\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"timestamp\":\"1998-01-01T00:01:02\"},{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"timestamp\":\"1920-01-01T12:01:02\"},{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"position\":123,\"started\":10,\"timestamp\":\"1998-01-01T00:01:02\",\"total\":321},{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"position\":10,\"timestamp\":\"1998-01-01T00:01:02\"}]" ) ); QCOMPARE(outString2, expected2 ); }