openSUSE Commits
Threads by month
- ----- 2024 -----
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
February 2018
- 1 participants
- 2082 discussions
Hello community,
here is the log from the commit of package libxshmfence for openSUSE:Factory checked in at 2018-02-28 20:00:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libxshmfence (Old)
and /work/SRC/openSUSE:Factory/.libxshmfence.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libxshmfence"
Wed Feb 28 20:00:32 2018 rev:6 rq:580327 version:1.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/libxshmfence/libxshmfence.changes 2018-02-14 09:18:52.867184671 +0100
+++ /work/SRC/openSUSE:Factory/.libxshmfence.new/libxshmfence.changes 2018-02-28 20:00:36.884560024 +0100
@@ -1,0 +2,11 @@
+Mon Feb 26 18:51:24 UTC 2018 - sndirsch(a)suse.com
+
+- Update to version 1.3
+ * autogen.sh: use quoted string variables
+ * Fix missing <limits.h> include for HAVE_UMTX branch of futex
+ * autogen: add default patch prefix
+ * autogen.sh: use exec instead of waiting for configure to finish
+ * configure.ac: call AC_USE_SYSTEM_EXTENSIONS
+- supersedes u_configure.ac-call-AC_USE_SYSTEM_EXTENSIONS.patch
+
+-------------------------------------------------------------------
Old:
----
libxshmfence-1.2.tar.bz2
u_configure.ac-call-AC_USE_SYSTEM_EXTENSIONS.patch
New:
----
libxshmfence-1.3.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libxshmfence.spec ++++++
--- /var/tmp/diff_new_pack.hOC6Xv/_old 2018-02-28 20:00:37.924522394 +0100
+++ /var/tmp/diff_new_pack.hOC6Xv/_new 2018-02-28 20:00:37.924522394 +0100
@@ -17,7 +17,7 @@
Name: libxshmfence
-Version: 1.2
+Version: 1.3
Release: 0
%define lname libxshmfence1
Summary: A tiny library that exposes a event API on top of Linux futexes
@@ -29,7 +29,6 @@
#Git-Web: http://cgit.freedesktop.org/xorg/lib/libxshmfence/
Source: http://xorg.freedesktop.org/archive/individual/lib/%{name}-%{version}.tar.b…
Source1: baselibs.conf
-Patch1: u_configure.ac-call-AC_USE_SYSTEM_EXTENSIONS.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf >= 2.60
@@ -71,7 +70,6 @@
%prep
%setup -q
-%patch1 -p1
%build
autoreconf -fi
++++++ libxshmfence-1.2.tar.bz2 -> libxshmfence-1.3.tar.bz2 ++++++
++++ 35405 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libxshmfence-1.2/ChangeLog new/libxshmfence-1.3/ChangeLog
--- old/libxshmfence-1.2/ChangeLog 2015-01-02 19:45:59.000000000 +0100
+++ new/libxshmfence-1.3/ChangeLog 2018-02-26 18:27:09.000000000 +0100
@@ -1,3 +1,84 @@
+commit f38b2e73071ba516127f8f5ae47f48df58dc9d53
+Author: Matt Turner <mattst88(a)gmail.com>
+Date: Mon Feb 26 09:26:06 2018 -0800
+
+ libxshmfence 1.3
+
+ Signed-off-by: Matt Turner <mattst88(a)gmail.com>
+
+commit 30d946bc7b522ada9ec2fdbd502f9e36aae21bba
+Author: Michał Górny <mgorny(a)gentoo.org>
+Date: Thu Feb 22 19:23:38 2018 +0100
+
+ Fix missing <limits.h> include for HAVE_UMTX branch of futex
+
+ This fixes build on Gentoo/FreeBSD which failed due to undefined
+ 'INT_MAX'.
+
+ Signed-off-by: Michał Górny <mgorny(a)gentoo.org>
+ Signed-off-by: Matt Turner <mattst88(a)gmail.com>
+
+commit 517f21745c43883c1fd7128eeba3e2ae963cb779
+Author: Adam Jackson <ajax(a)redhat.com>
+Date: Mon Jan 29 14:36:04 2018 -0500
+
+ Revert "configure: Nerf a thing"
+
+ Definitely didn't mean to push this.
+
+ This reverts commit 1f194603cb927352c42798bead29c8ac3a680d02.
+
+commit 0b550a4e7acf02d3478602848f6afbfcbfb0d4b2
+Author: Ross Burton <ross.burton(a)intel.com>
+Date: Mon Jan 29 16:24:36 2018 +0000
+
+ configure.ac: call AC_USE_SYSTEM_EXTENSIONS
+
+ With glibc 2.27 memfd_create() is inside a _GNU_SOURCE guard, so call
+ AC_USE_SYSTEM_EXTENSIONS to get this defined.
+
+ Signed-off-by: Ross Burton <ross.burton(a)intel.com>
+
+commit 1f194603cb927352c42798bead29c8ac3a680d02
+Author: Adam Jackson <ajax(a)redhat.com>
+Date: Thu Dec 14 14:31:17 2017 -0500
+
+ configure: Nerf a thing
+
+ Signed-off-by: Adam Jackson <ajax(a)redhat.com>
+
+commit db7966bee2ec46b835d0bb374f35ae631a0edbd1
+Author: Mihail Konev <k.mvc(a)ya.ru>
+Date: Thu Jan 26 13:52:49 2017 +1000
+
+ autogen: add default patch prefix
+
+ Signed-off-by: Mihail Konev <k.mvc(a)ya.ru>
+
+commit e242a02f650663f5d25915899126cd081f6c6083
+Author: Emil Velikov <emil.l.velikov(a)gmail.com>
+Date: Mon Mar 9 12:00:52 2015 +0000
+
+ autogen.sh: use quoted string variables
+
+ Place quotes around the $srcdir, $ORIGDIR and $0 variables to prevent
+ fall-outs, when they contain space.
+
+ Signed-off-by: Emil Velikov <emil.l.velikov(a)gmail.com>
+ Reviewed-by: Peter Hutterer <peter.hutterer(a)who-t.net>
+ Signed-off-by: Peter Hutterer <peter.hutterer(a)who-t.net>
+
+commit f290f3946105e76999f4107100a619f00b065141
+Author: Peter Hutterer <peter.hutterer(a)who-t.net>
+Date: Tue Jan 24 10:32:07 2017 +1000
+
+ autogen.sh: use exec instead of waiting for configure to finish
+
+ Syncs the invocation of configure with the one from the server.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer(a)who-t.net>
+ Reviewed-by: Emil Velikov <emil.velikov(a)collabora.com>
+
commit fe2d6dbba6356ff275649017dd516f0270d79595
Author: Keith Packard <keithp(a)keithp.com>
Date: Fri Jan 2 10:44:39 2015 -0800
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libxshmfence-1.2/compile new/libxshmfence-1.3/compile
--- old/libxshmfence-1.2/compile 2013-11-01 00:18:19.000000000 +0100
+++ new/libxshmfence-1.3/compile 2018-02-26 18:27:05.000000000 +0100
@@ -1,9 +1,9 @@
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
-scriptversion=2012-10-14.11; # UTC
+scriptversion=2016-01-11.22; # UTC
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey(a)cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
@@ -255,7 +255,8 @@
echo "compile $scriptversion"
exit $?
;;
- cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
+ icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
func_cl_wrapper "$@" # Doesn't return...
;;
esac
@@ -342,6 +343,6 @@
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libxshmfence-1.2/config.h.in new/libxshmfence-1.3/config.h.in
--- old/libxshmfence-1.2/config.h.in 2015-01-02 19:44:59.000000000 +0100
+++ new/libxshmfence-1.3/config.h.in 2018-02-26 18:27:04.000000000 +0100
@@ -52,8 +52,7 @@
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
- */
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
#undef LT_OBJDIR
/* Name of package */
@@ -92,5 +91,37 @@
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
+/* Enable extensions on AIX 3, Interix. */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable GNU extensions on systems that have them. */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable threading extensions on Solaris. */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop. */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable general extensions on Solaris. */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+
+
/* Version number of package */
#undef VERSION
+
+/* Define to 1 if on MINIX. */
+#undef _MINIX
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+ this defined. */
+#undef _POSIX_1_SOURCE
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+#undef _POSIX_SOURCE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libxshmfence-1.2/configure.ac new/libxshmfence-1.3/configure.ac
--- old/libxshmfence-1.2/configure.ac 2015-01-02 19:43:42.000000000 +0100
+++ new/libxshmfence-1.3/configure.ac 2018-02-26 18:26:59.000000000 +0100
@@ -23,11 +23,13 @@
dnl Process this file with autoconf to create configure.
AC_PREREQ([2.60])
-AC_INIT([libxshmfence], [1.2],
+AC_INIT([libxshmfence], [1.3],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [libxshmfence])
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_HEADERS([config.h])
+AC_USE_SYSTEM_EXTENSIONS
+
# Initialize Automake
AM_INIT_AUTOMAKE([foreign dist-bzip2])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libxshmfence-1.2/missing new/libxshmfence-1.3/missing
--- old/libxshmfence-1.2/missing 2013-11-01 00:18:19.000000000 +0100
+++ new/libxshmfence-1.3/missing 2018-02-26 18:27:05.000000000 +0100
@@ -1,9 +1,9 @@
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2012-06-26.16; # UTC
+scriptversion=2016-01-11.22; # UTC
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard(a)iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
@@ -160,7 +160,7 @@
;;
autom4te*)
echo "You might have modified some maintainer files that require"
- echo "the 'automa4te' program to be rebuilt."
+ echo "the 'autom4te' program to be rebuilt."
program_details 'autom4te'
;;
bison*|yacc*)
@@ -210,6 +210,6 @@
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libxshmfence-1.2/src/xshmfence_futex.h new/libxshmfence-1.3/src/xshmfence_futex.h
--- old/libxshmfence-1.2/src/xshmfence_futex.h 2014-06-17 22:46:42.000000000 +0200
+++ new/libxshmfence-1.3/src/xshmfence_futex.h 2018-02-26 18:26:59.000000000 +0100
@@ -30,6 +30,7 @@
#include <sys/types.h>
#include <sys/umtx.h>
+#include <limits.h>
static inline int sys_futex(void *addr, int op, int32_t val)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libxshmfence-1.2/test-driver new/libxshmfence-1.3/test-driver
--- old/libxshmfence-1.2/test-driver 2013-11-20 17:40:36.000000000 +0100
+++ new/libxshmfence-1.3/test-driver 2018-02-26 18:27:05.000000000 +0100
@@ -1,9 +1,9 @@
#! /bin/sh
# test-driver - basic testsuite driver script.
-scriptversion=2012-06-27.10; # UTC
+scriptversion=2016-01-11.22; # UTC
-# Copyright (C) 2011-2013 Free Software Foundation, Inc.
+# Copyright (C) 2011-2017 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -44,13 +44,12 @@
Usage:
test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
[--expect-failure={yes|no}] [--color-tests={yes|no}]
- [--enable-hard-errors={yes|no}] [--] TEST-SCRIPT
+ [--enable-hard-errors={yes|no}] [--]
+ TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS]
The '--test-name', '--log-file' and '--trs-file' options are mandatory.
END
}
-# TODO: better error handling in option parsing (in particular, ensure
-# TODO: $log_file, $trs_file and $test_name are defined).
test_name= # Used for reporting.
log_file= # Where to save the output of the test script.
trs_file= # Where to save the metadata of the test run.
@@ -69,10 +68,23 @@
--enable-hard-errors) enable_hard_errors=$2; shift;;
--) shift; break;;
-*) usage_error "invalid option: '$1'";;
+ *) break;;
esac
shift
done
+missing_opts=
+test x"$test_name" = x && missing_opts="$missing_opts --test-name"
+test x"$log_file" = x && missing_opts="$missing_opts --log-file"
+test x"$trs_file" = x && missing_opts="$missing_opts --trs-file"
+if test x"$missing_opts" != x; then
+ usage_error "the following mandatory options are missing:$missing_opts"
+fi
+
+if test $# -eq 0; then
+ usage_error "missing argument"
+fi
+
if test $color_tests = yes; then
# Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
red='[0;31m' # Red.
@@ -94,11 +106,14 @@
# Test script is run here.
"$@" >$log_file 2>&1
estatus=$?
+
if test $enable_hard_errors = no && test $estatus -eq 99; then
- estatus=1
+ tweaked_estatus=1
+else
+ tweaked_estatus=$estatus
fi
-case $estatus:$expect_failure in
+case $tweaked_estatus:$expect_failure in
0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
0:*) col=$grn res=PASS recheck=no gcopy=no;;
77:*) col=$blu res=SKIP recheck=no gcopy=yes;;
@@ -107,6 +122,12 @@
*:*) col=$red res=FAIL recheck=yes gcopy=yes;;
esac
+# Report the test outcome and exit status in the logs, so that one can
+# know whether the test passed or failed simply by looking at the '.log'
+# file, without the need of also peaking into the corresponding '.trs'
+# file (automake bug#11814).
+echo "$res $test_name (exit status: $estatus)" >>$log_file
+
# Report outcome to console.
echo "${col}${res}${std}: $test_name"
@@ -122,6 +143,6 @@
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
1
0
Hello community,
here is the log from the commit of package libmygpo-qt for openSUSE:Factory checked in at 2018-02-28 20:00:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libmygpo-qt (Old)
and /work/SRC/openSUSE:Factory/.libmygpo-qt.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libmygpo-qt"
Wed Feb 28 20:00:07 2018 rev:14 rq:580241 version:1.0.9
Changes:
--------
--- /work/SRC/openSUSE:Factory/libmygpo-qt/libmygpo-qt.changes 2013-04-22 14:08:58.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libmygpo-qt.new/libmygpo-qt.changes 2018-02-28 20:00:13.305413203 +0100
@@ -1,0 +2,14 @@
+Mon Feb 26 09:09:44 UTC 2018 - wbauer(a)tmo.at
+
+- Update to 1.0.9:
+ * Different header installation directories for the qt4 & qt5
+ version
+ * Bugfix: Top level include_install_dir is now respected
+ * Support for QJson 0.7
+ * Default to https instead of http
+ * Bugfix: Allow setting the server URL
+ Changes in 1.0.8:
+ * Support for building the library with Qt5
+ * Support for the "Get All Subscriptions" API endpoint
+
+-------------------------------------------------------------------
Old:
----
libmygpo-qt.1.0.7.tar.gz
New:
----
libmygpo-qt.1.0.9.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libmygpo-qt.spec ++++++
--- /var/tmp/diff_new_pack.mTOkOt/_old 2018-02-28 20:00:14.933354298 +0100
+++ /var/tmp/diff_new_pack.mTOkOt/_new 2018-02-28 20:00:14.941354009 +0100
@@ -17,7 +17,7 @@
Name: libmygpo-qt
-Version: 1.0.7
+Version: 1.0.9
Release: 0
Summary: Qt Library that wraps the gpodder.net Web API
License: LGPL-2.1+
++++++ libmygpo-qt.1.0.7.tar.gz -> libmygpo-qt.1.0.9.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/CMakeLists.txt new/libmygpo-qt.1.0.9/CMakeLists.txt
--- old/libmygpo-qt.1.0.7/CMakeLists.txt 2013-01-19 12:48:52.000000000 +0100
+++ new/libmygpo-qt.1.0.9/CMakeLists.txt 2016-09-16 13:02:54.000000000 +0200
@@ -5,20 +5,56 @@
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" )
-# Don't use absolute path in Mygpo-qtTargets-$buildType.cmake
-# (This will have no effect with CMake < 2.8)
-set(QT_USE_IMPORTED_TARGETS TRUE)
+option(BUILD_WITH_QT4 "Build libmygpo-qt with Qt4 no matter if Qt5 was found" ON)
-find_package( Qt4 COMPONENTS QtCore QtNetwork QtTest REQUIRED )
-set( QT_DONT_USE_QTGUI TRUE )
+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)
+ qt5_wrap_cpp(${ARGN})
+ endmacro()
+ endif()
+
+ # pkg-config names of QtCore and QtNetwork are Qt5Core and Qt5Network for
+ # Qt5
+ set(MYGPO_QT_MAJOR_VERSION "5")
+ set(MYGPO_QT4_QJSON_DEP "")
+endif()
+
+if( NOT Qt5Core_DIR )
+ message(STATUS "Could not find Qt5, searching for Qt4 instead...")
+ if( MYGPO_BUILD_TESTS )
+ find_package( Qt4 COMPONENTS QtCore QtNetwork QtTest REQUIRED )
+ else( MYGPO_BUILD_TESTS )
+ find_package( Qt4 COMPONENTS QtCore QtNetwork REQUIRED )
+ endif()
+ set( QT_DONT_USE_QTGUI TRUE )
+ include( ${QT_USE_FILE} )
-find_package(QJSON REQUIRED)
+ macro(qt5_use_modules)
+ endmacro()
-include( ${QT_USE_FILE} )
+ macro(qt_wrap_cpp)
+ qt4_wrap_cpp(${ARGN})
+ endmacro()
+
+ set(MYGPO_QT_MAJOR_VERSION "")
+ set(MYGPO_QT4_QJSON_DEP "Requires.private: QJson")
+
+ # QJson is only required for Qt4
+ find_package(QJSON REQUIRED)
+endif()
+
+# Don't use absolute path in Mygpo-qtTargets-$buildType.cmake
+# (This will have no effect with CMake < 2.8)
+# set(QT_USE_IMPORTED_TARGETS TRUE)
set( MYGPO_QT_VERSION_MAJOR "1" )
set( MYGPO_QT_VERSION_MINOR "0" )
-set( MYGPO_QT_VERSION_PATCH "7" )
+set( MYGPO_QT_VERSION_PATCH "9" )
set( MYGPO_QT_VERSION "${MYGPO_QT_VERSION_MAJOR}.${MYGPO_QT_VERSION_MINOR}.${MYGPO_QT_VERSION_PATCH}" )
set( MYGPO_QT_SONAME "${MYGPO_QT_VERSION_MAJOR}")
@@ -62,7 +98,7 @@
set(LIB_SUFFIX "" CACHE STRING "The directories where to install libraries to")
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" CACHE PATH "The directory the headers are installed in")
+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 )
if( APPLE )
@@ -97,12 +133,14 @@
FIND_PACKAGE(PkgConfig)
IF (PKG_CONFIG_FOUND)
CONFIGURE_FILE (${CMAKE_CURRENT_SOURCE_DIR}/libmygpo-qt.pc.in
- ${CMAKE_CURRENT_BINARY_DIR}/libmygpo-qt.pc
+ ${CMAKE_CURRENT_BINARY_DIR}/libmygpo-qt${MYGPO_QT_VERSION_SUFFIX}.pc
@ONLY)
- INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR}/libmygpo-qt.pc DESTINATION lib${LIB_SUFFIX}/pkgconfig)
+ INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR}/libmygpo-qt${MYGPO_QT_VERSION_SUFFIX}.pc DESTINATION lib${LIB_SUFFIX}/pkgconfig)
ENDIF (PKG_CONFIG_FOUND)
ENDIF (NOT WIN32)
+set(MYGPO_QT_TARGET_NAME mygpo-qt${MYGPO_QT_VERSION_SUFFIX} CACHE INTERNAL "" FORCE )
+
add_subdirectory( src )
if(MYGPO_BUILD_TESTS)
add_subdirectory( tests )
@@ -114,7 +152,7 @@
# This file contains add_library(bar IMPORTED) statements for each target in the export set, so
# when loaded later on cmake will create "imported" library targets from these, which can be used
# in many ways in the same way as a normal library target created via a normal add_library().
-install(EXPORT mygpo-qtExport DESTINATION ${CMAKECONFIG_INSTALL_DIR} FILE Mygpo-qtTargets.cmake )
+install(EXPORT ${MYGPO_QT_TARGET_NAME}Export DESTINATION ${CMAKECONFIG_INSTALL_DIR} FILE Mygpo-qt${MYGPO_QT_VERSION_SUFFIX}Targets.cmake )
# figure out the relative path from the installed Config.cmake file to the install prefix (which may be at
# runtime different from the chosen CMAKE_INSTALL_PREFIX if under Windows the package was installed anywhere)
@@ -124,12 +162,12 @@
# Create a BarConfig.cmake file. <name>Config.cmake files are searched by find_package()
# automatically. We configure that file so that we can put any information we want in it,
# e.g. version numbers, include directories, etc.
-configure_file(Mygpo-qtConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/Mygpo-qtConfig.cmake @ONLY )
+configure_file(Mygpo-qtConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/Mygpo-qt${MYGPO_QT_VERSION_SUFFIX}Config.cmake @ONLY )
# Additionally, when cmake has found a BarConfig.cmake, it can check for a BarConfigVersion.cmake
# in the same directory when figuring out the version of the package when a version
# has been specified in the find_package() call, e.g. find_package(Bar 1.0)
-configure_file(Mygpo-qtConfigVersion.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/Mygpo-qtConfigVersion.cmake @ONLY )
+configure_file(Mygpo-qtConfigVersion.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/Mygpo-qt${MYGPO_QT_VERSION_SUFFIX}ConfigVersion.cmake @ONLY )
# Install these two files into the same directory as the generated exports-file.
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Mygpo-qtConfig.cmake ${CMAKE_CURRENT_BINARY_DIR}/Mygpo-qtConfigVersion.cmake DESTINATION ${CMAKECONFIG_INSTALL_DIR} )
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Mygpo-qt${MYGPO_QT_VERSION_SUFFIX}Config.cmake ${CMAKE_CURRENT_BINARY_DIR}/Mygpo-qt${MYGPO_QT_VERSION_SUFFIX}ConfigVersion.cmake DESTINATION ${CMAKECONFIG_INSTALL_DIR} )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/README new/libmygpo-qt.1.0.9/README
--- old/libmygpo-qt.1.0.7/README 2013-04-13 11:53:12.000000000 +0200
+++ new/libmygpo-qt.1.0.9/README 2016-09-16 13:02:54.000000000 +0200
@@ -6,7 +6,7 @@
=== Copyright & License ===
-Copyright 2010 - 2013 Stefan Derkits (stefan(a)derkits.at) , Christian Wagner (christian.wagner86(a)gmx.at) & Felix Winter (ixos01(a)gmail.com)
+Copyright 2010 - 2014 Stefan Derkits (stefan(a)derkits.at) , Christian Wagner (christian.wagner86(a)gmx.at) & Felix Winter (ixos01(a)gmail.com)
See COPYING File for License
@@ -20,6 +20,16 @@
-) 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
+
=== Links ===
Homepage: http://wiki.gpodder.org/wiki/Libmygpo-qt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/example/Makefile new/libmygpo-qt.1.0.9/example/Makefile
--- old/libmygpo-qt.1.0.7/example/Makefile 2012-07-20 13:58:50.000000000 +0200
+++ new/libmygpo-qt.1.0.9/example/Makefile 2016-09-16 13:02:54.000000000 +0200
@@ -1,6 +1,6 @@
CC=g++
-CFLAGS=-c -g -Wall $(shell pkg-config QtGui QtCore QtNetwork libmygpo-qt --cflags)
-LIBS= $(shell pkg-config QtGui QtCore QtNetwork libmygpo-qt --libs)
+CFLAGS=-c -g -Wall $(shell pkg-config libmygpo-qt --cflags)
+LIBS= $(shell pkg-config libmygpo-qt --libs)
SRCDIR=src
all: main
@@ -8,6 +8,10 @@
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
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/example/src/.kdev_include_paths new/libmygpo-qt.1.0.9/example/src/.kdev_include_paths
--- old/libmygpo-qt.1.0.7/example/src/.kdev_include_paths 2012-07-20 13:58:49.000000000 +0200
+++ new/libmygpo-qt.1.0.9/example/src/.kdev_include_paths 1970-01-01 01:00:00.000000000 +0100
@@ -1,5 +0,0 @@
-/home/t95012/src/libmygpo-qt/example/src/
-home/t95012/kde/include/mygpo-qt/
-/usr/include/qt4/QtCore/
-/usr/include/qt4/QtGui/
-/usr/include/qt4/QtNetwork/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/example/src/main.cpp new/libmygpo-qt.1.0.9/example/src/main.cpp
--- old/libmygpo-qt.1.0.7/example/src/main.cpp 2013-04-13 11:52:16.000000000 +0200
+++ new/libmygpo-qt.1.0.9/example/src/main.cpp 2016-09-16 13:02:54.000000000 +0200
@@ -21,8 +21,8 @@
***************************************************************************/
#include <QCoreApplication>
-#include <QtGui>
#include <QEventLoop>
+#include <QDebug>
#include <PodcastList.h>
#include <EpisodeList.h>
@@ -462,7 +462,17 @@
qDebug() << "TagList2 size: " << tagList2->list().size();
qDebug() << "";
- qDebug() << "AddRemoveResult";
+
+ reply = req.downloadSubscriptionsJson( "ase23" );
+
+ loop.connect(reply, SIGNAL(finished()), SLOT(quit()));
+ loop.connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), SLOT(quit()));
+ loop.exec();
+
+ printTitle(QLatin1String("Downloading subscriptions (JSON) [subscriptionsJson(\"ase23\")]"));
+ qDebug() << reply->readAll();
+ qDebug();
+ //qDebug() << "AddRemoveResult";
/*QList<QUrl> add2;
QList<QUrl> remove2;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/libmygpo-qt.pc.in new/libmygpo-qt.1.0.9/libmygpo-qt.pc.in
--- old/libmygpo-qt.1.0.7/libmygpo-qt.pc.in 2013-01-19 12:48:52.000000000 +0100
+++ new/libmygpo-qt.1.0.9/libmygpo-qt.pc.in 2016-09-16 13:02:54.000000000 +0200
@@ -3,11 +3,11 @@
libdir=@LIB_DIR_PKGCONF@
includedir=@INCLUDE_INSTALL_DIR@
-Name: libmygpo-qt
+Name: libmygpo-qt@MYGPO_QT_VERSION_SUFFIX@
Description: libmygpo-qt is a C++/Qt Library that wraps the gpodder.net WebAPI
URL: http://wiki.gpodder.org/wiki/Libmygpo-qt
Version: @MYGPO_QT_VERSION@
-Requires: QtCore QtNetwork
-Requires.private: QJson
-Libs: -L${libdir} -lmygpo-qt
-Cflags: -I${includedir}
\ No newline at end of file
+Requires: Qt@MYGPO_QT_MAJOR_VERSION@Core Qt@MYGPO_QT_MAJOR_VERSION@Network
+@MYGPO_QT4_QJSON_DEP@
+Libs: -L${libdir} -lmygpo-qt@MYGPO_QT_VERSION_SUFFIX@
+Cflags: -I${includedir}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/src/AddRemoveResult.cpp new/libmygpo-qt.1.0.9/src/AddRemoveResult.cpp
--- old/libmygpo-qt.1.0.7/src/AddRemoveResult.cpp 2013-04-13 11:36:25.000000000 +0200
+++ new/libmygpo-qt.1.0.9/src/AddRemoveResult.cpp 2016-09-16 13:02:54.000000000 +0200
@@ -20,11 +20,11 @@
* USA *
***************************************************************************/
-#include <parser.h>
-
#include "AddRemoveResult.h"
#include "AddRemoveResult_p.h"
+#include "qjsonwrapper/Json.h"
+
using namespace mygpo;
AddRemoveResultPrivate::AddRemoveResultPrivate( AddRemoveResult* qq, QNetworkReply* reply ) : q( qq ), m_reply( reply ), m_error( QNetworkReply::NoError )
@@ -64,7 +64,6 @@
bool AddRemoveResultPrivate::parse( const QVariant& data )
{
- QJson::Parser parser;
if( !data.canConvert( QVariant::Map ) )
return false;
QVariantMap resultMap = data.toMap();
@@ -78,9 +77,8 @@
bool AddRemoveResultPrivate::parse( const QByteArray& data )
{
- QJson::Parser parser;
bool ok;
- QVariant variant = parser.parse( data, &ok );
+ QVariant variant = QJsonWrapper::parseJson( data, &ok );
if( ok )
{
ok = ( parse( variant ) );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/src/ApiRequest.cpp new/libmygpo-qt.1.0.9/src/ApiRequest.cpp
--- old/libmygpo-qt.1.0.7/src/ApiRequest.cpp 2013-04-13 11:36:43.000000000 +0200
+++ new/libmygpo-qt.1.0.9/src/ApiRequest.cpp 2016-09-16 13:02:54.000000000 +0200
@@ -1,6 +1,6 @@
/***************************************************************************
* This file is part of libmygpo-qt *
-* Copyright (c) 2010 - 2013 Stefan Derkits <stefan(a)derkits.at> *
+* Copyright (c) 2010 - 2014 Stefan Derkits <stefan(a)derkits.at> *
* Copyright (c) 2010 - 2011 Christian Wagner <christian.wagner86(a)gmx.at> *
* Copyright (c) 2010 - 2011 Felix Winter <ixos01(a)gmail.com> *
* *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/src/ApiRequest.h new/libmygpo-qt.1.0.9/src/ApiRequest.h
--- old/libmygpo-qt.1.0.7/src/ApiRequest.h 2013-04-13 12:07:43.000000000 +0200
+++ new/libmygpo-qt.1.0.9/src/ApiRequest.h 2016-09-16 13:02:54.000000000 +0200
@@ -1,6 +1,6 @@
/***************************************************************************
* This file is part of libmygpo-qt *
-* Copyright (c) 2010 - 2013 Stefan Derkits <stefan(a)derkits.at> *
+* Copyright (c) 2010 - 2014 Stefan Derkits <stefan(a)derkits.at> *
* Copyright (c) 2010 - 2011 Christian Wagner <christian.wagner86(a)gmx.at> *
* Copyright (c) 2010 - 2011 Felix Winter <ixos01(a)gmail.com> *
* *
@@ -84,7 +84,7 @@
*/
QNetworkReply* suggestionsOpml( uint count );
- QNetworkReply* downloadSubscriptionsOpml( const QString& username, const QString& device );
+ QNetworkReply* downloadSubscriptionsOpml( const QString& username, const QString& device = QString() );
/**
* Returns the TXT Result for the Simple API Call "Downloading Podcast Toplists"
@@ -111,7 +111,7 @@
*/
QNetworkReply* suggestionsTxt( uint count );
- QNetworkReply* downloadSubscriptionsTxt( const QString& username, const QString& device );
+ QNetworkReply* downloadSubscriptionsTxt( const QString& username, const QString& device = QString() );
/**
* Returns the TXT Result for the Simple API Call "Downloading Podcast Toplists"
@@ -153,9 +153,9 @@
*
*/
PodcastListPtr suggestions( uint count );
-
- QNetworkReply* downloadSubscriptionsJson( const QString& username, const QString& device );
-
+
+ QNetworkReply* downloadSubscriptionsJson( const QString& username, const QString& device = QString() );
+
//ADVANCED API
/**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/src/CMakeLists.txt new/libmygpo-qt.1.0.9/src/CMakeLists.txt
--- old/libmygpo-qt.1.0.7/src/CMakeLists.txt 2013-01-19 12:48:52.000000000 +0100
+++ new/libmygpo-qt.1.0.9/src/CMakeLists.txt 2016-09-16 13:02:54.000000000 +0200
@@ -1,5 +1,5 @@
-include_directories( ${QT_INCLUDES} ${QJSON_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} )
+include_directories( ${QJSON_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} )
set ( LIBMYGPO_QT_SRC
Config.cpp
@@ -21,6 +21,7 @@
DeviceUpdates.cpp
DeviceList.cpp
Device.cpp
+ qjsonwrapper/Json.cpp
)
set ( LIBMYGPO_QT_MOC_H
@@ -74,12 +75,14 @@
AddRemoveResult.h
)
-QT4_WRAP_CPP(LIBMYGPO_QT_MOC_SRC ${LIBMYGPO_QT_MOC_H} )
+QT_WRAP_CPP(LIBMYGPO_QT_MOC_SRC ${LIBMYGPO_QT_MOC_H} )
-add_library( mygpo-qt SHARED ${LIBMYGPO_QT_SRC} ${LIBMYGPO_QT_MOC_SRC} )
+add_library( ${MYGPO_QT_TARGET_NAME} SHARED ${LIBMYGPO_QT_SRC} ${LIBMYGPO_QT_MOC_SRC} )
-target_link_libraries( mygpo-qt ${QJSON_LIBRARIES} ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY} )
-set_target_properties( mygpo-qt PROPERTIES VERSION ${MYGPO_QT_VERSION} SOVERSION ${MYGPO_QT_SONAME} DEFINE_SYMBOL MYGPO_MAKEDLL)
-install( TARGETS mygpo-qt EXPORT mygpo-qtExport DESTINATION lib${LIB_SUFFIX} )
+target_link_libraries( ${MYGPO_QT_TARGET_NAME} ${QJSON_LIBRARIES} ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY} )
+set_target_properties( ${MYGPO_QT_TARGET_NAME} PROPERTIES VERSION ${MYGPO_QT_VERSION} SOVERSION ${MYGPO_QT_SONAME} DEFINE_SYMBOL MYGPO_MAKEDLL)
+qt5_use_modules( ${MYGPO_QT_TARGET_NAME} Core Network )
-install( FILES ${LIBMYGPO_QT_INSTALL_H} DESTINATION include/mygpo-qt COMPONENT Devel )
+install( TARGETS ${MYGPO_QT_TARGET_NAME} EXPORT ${MYGPO_QT_TARGET_NAME}Export DESTINATION ${LIB_INSTALL_DIR} )
+
+install( FILES ${LIBMYGPO_QT_INSTALL_H} DESTINATION ${INCLUDE_INSTALL_DIR} COMPONENT Devel )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/src/Config.cpp new/libmygpo-qt.1.0.9/src/Config.cpp
--- old/libmygpo-qt.1.0.7/src/Config.cpp 2013-04-13 11:37:45.000000000 +0200
+++ new/libmygpo-qt.1.0.9/src/Config.cpp 2016-09-16 13:02:54.000000000 +0200
@@ -29,7 +29,7 @@
Config* Config::s_instance = 0;
-ConfigPrivate::ConfigPrivate( Config* qq ) : q( qq ), m_mygpoBaseUrl( QUrl( QLatin1String( "http://gpodder.net" ) ) ), m_userAgentPrefix( QString() )
+ConfigPrivate::ConfigPrivate( Config* qq ) : q( qq ), m_mygpoBaseUrl( QUrl( QLatin1String( "https://gpodder.net" ) ) ), m_userAgentPrefix( QString() )
{
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/src/DeviceList.cpp new/libmygpo-qt.1.0.9/src/DeviceList.cpp
--- old/libmygpo-qt.1.0.7/src/DeviceList.cpp 2012-07-20 13:58:51.000000000 +0200
+++ new/libmygpo-qt.1.0.9/src/DeviceList.cpp 2016-09-16 13:02:54.000000000 +0200
@@ -22,7 +22,7 @@
#include "DeviceList_p.h"
-#include <parser.h>
+#include "qjsonwrapper/Json.h"
using namespace mygpo;
@@ -73,9 +73,8 @@
bool DeviceListPrivate::parse( const QByteArray& data )
{
- QJson::Parser parser;
bool ok;
- QVariant variant = parser.parse( data, &ok );
+ QVariant variant = QJsonWrapper::parseJson( data, &ok );
if( ok )
{
ok = ( parse( variant ) );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/src/DeviceSyncResult.cpp new/libmygpo-qt.1.0.9/src/DeviceSyncResult.cpp
--- old/libmygpo-qt.1.0.7/src/DeviceSyncResult.cpp 2013-04-13 11:44:06.000000000 +0200
+++ new/libmygpo-qt.1.0.9/src/DeviceSyncResult.cpp 2016-09-16 13:02:54.000000000 +0200
@@ -20,7 +20,7 @@
#include "DeviceSyncResult_p.h"
-#include <parser.h>
+#include "qjsonwrapper/Json.h"
using namespace mygpo;
@@ -85,9 +85,8 @@
bool DeviceSyncResultPrivate::parse( const QByteArray& data )
{
- QJson::Parser parser;
bool ok;
- QVariant variant = parser.parse( data, &ok );
+ QVariant variant = QJsonWrapper::parseJson( data, &ok );
if( ok )
{
ok = ( parse( variant ) );
@@ -108,7 +107,7 @@
emit q->parseError();
}
}
- m_reply->deleteLater();
+ m_reply->deleteLater();
}
void DeviceSyncResultPrivate::error( QNetworkReply::NetworkError error )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/src/DeviceUpdates.cpp new/libmygpo-qt.1.0.9/src/DeviceUpdates.cpp
--- old/libmygpo-qt.1.0.7/src/DeviceUpdates.cpp 2013-04-13 11:45:45.000000000 +0200
+++ new/libmygpo-qt.1.0.9/src/DeviceUpdates.cpp 2016-09-16 13:02:54.000000000 +0200
@@ -22,7 +22,7 @@
#include "DeviceUpdates_p.h"
-#include <parser.h>
+#include "qjsonwrapper/Json.h"
using namespace mygpo;
@@ -102,9 +102,8 @@
bool DeviceUpdatesPrivate::parse( const QByteArray& data )
{
- QJson::Parser parser;
bool ok;
- QVariant variant = parser.parse( data, &ok );
+ QVariant variant = QJsonWrapper::parseJson( data, &ok );
if( ok )
{
ok = ( parse( variant ) );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/src/Episode.cpp new/libmygpo-qt.1.0.9/src/Episode.cpp
--- old/libmygpo-qt.1.0.7/src/Episode.cpp 2013-04-13 11:46:03.000000000 +0200
+++ new/libmygpo-qt.1.0.9/src/Episode.cpp 2016-09-16 13:02:54.000000000 +0200
@@ -22,7 +22,7 @@
#include "Episode_p.h"
-#include <parser.h>
+#include "qjsonwrapper/Json.h"
using namespace mygpo;
@@ -115,9 +115,8 @@
bool EpisodePrivate::parse ( const QByteArray& data )
{
- QJson::Parser parser;
bool ok;
- QVariant variant = parser.parse ( data, &ok );
+ QVariant variant = QJsonWrapper::parseJson( data, &ok );
if ( ok )
{
if ( !parse ( variant ) ) return false;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/src/EpisodeAction.cpp new/libmygpo-qt.1.0.9/src/EpisodeAction.cpp
--- old/libmygpo-qt.1.0.7/src/EpisodeAction.cpp 2013-04-13 11:46:19.000000000 +0200
+++ new/libmygpo-qt.1.0.9/src/EpisodeAction.cpp 2016-09-16 13:02:54.000000000 +0200
@@ -22,7 +22,7 @@
#include "EpisodeAction_p.h"
-#include <parser.h>
+#include "qjsonwrapper/Json.h"
using namespace mygpo;
@@ -163,9 +163,8 @@
bool EpisodeActionPrivate::parse( const QByteArray& data )
{
- QJson::Parser parser;
bool ok;
- QVariant variant = parser.parse( data, &ok );
+ QVariant variant = QJsonWrapper::parseJson( data, &ok );
if( ok )
{
if( !parse( variant ) ) return false;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/src/EpisodeActionList.cpp new/libmygpo-qt.1.0.9/src/EpisodeActionList.cpp
--- old/libmygpo-qt.1.0.7/src/EpisodeActionList.cpp 2013-04-13 11:46:38.000000000 +0200
+++ new/libmygpo-qt.1.0.9/src/EpisodeActionList.cpp 2016-09-16 13:02:54.000000000 +0200
@@ -22,7 +22,7 @@
#include "EpisodeActionList_p.h"
-#include <parser.h>
+#include "qjsonwrapper/Json.h"
using namespace mygpo;
@@ -88,9 +88,8 @@
bool EpisodeActionListPrivate::parse( const QByteArray& data )
{
- QJson::Parser parser;
bool ok;
- QVariant variant = parser.parse( data, &ok );
+ QVariant variant = QJsonWrapper::parseJson( data, &ok );
if( ok )
{
ok = ( parse( variant ) );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/src/EpisodeList.cpp new/libmygpo-qt.1.0.9/src/EpisodeList.cpp
--- old/libmygpo-qt.1.0.7/src/EpisodeList.cpp 2013-04-13 11:46:56.000000000 +0200
+++ new/libmygpo-qt.1.0.9/src/EpisodeList.cpp 2016-09-16 13:02:54.000000000 +0200
@@ -22,7 +22,7 @@
#include "EpisodeList_p.h"
-#include <parser.h>
+#include "qjsonwrapper/Json.h"
using namespace mygpo;
@@ -71,9 +71,8 @@
bool EpisodeListPrivate::parse( const QByteArray& data )
{
- QJson::Parser parser;
bool ok;
- QVariant variant = parser.parse( data, &ok );
+ QVariant variant = QJsonWrapper::parseJson( data, &ok );
if( ok )
{
ok = ( parse( variant ) );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/src/JsonCreator.cpp new/libmygpo-qt.1.0.9/src/JsonCreator.cpp
--- old/libmygpo-qt.1.0.7/src/JsonCreator.cpp 2013-04-13 11:47:19.000000000 +0200
+++ new/libmygpo-qt.1.0.9/src/JsonCreator.cpp 2016-09-16 13:02:54.000000000 +0200
@@ -20,47 +20,44 @@
* USA *
***************************************************************************/
-#include <QVariant>
+//#include <QVariant>
#include <QList>
#include <QUrl>
#include <QString>
#include <QDateTime>
-#include <serializer.h>
-
#include "JsonCreator.h"
+#include "qjsonwrapper/Json.h"
+
using namespace mygpo;
static qulonglong c_maxlonglong = (2^64)-1;
QByteArray JsonCreator::addRemoveSubsToJSON( const QList< QUrl >& add, const QList< QUrl >& remove )
{
- QJson::Serializer serializer;
QVariantMap jsonData;
QVariant addVar( urlListToQVariantList( add ) );
QVariant removeVar( urlListToQVariantList( remove ) );
jsonData.insert( QString( QLatin1String( "add" ) ), addVar );
jsonData.insert( QString( QLatin1String( "remove" ) ), removeVar );
- QByteArray jsonByteArray = serializer.serialize( QVariant( jsonData ) );
+ QByteArray jsonByteArray = QJsonWrapper::toJson( QVariant( jsonData ) );
return jsonByteArray;
}
QByteArray JsonCreator::saveSettingsToJSON( const QMap< QString, QVariant >& set, const QList< QString >& remove )
{
- QJson::Serializer serializer;
QVariantMap jsonData;
//QVariant setVar(stringMapToQVariantMap(set));
QVariant removeVar( stringListToQVariantList( remove ) );
jsonData.insert( QString( QLatin1String( "set" ) ), set );
jsonData.insert( QString( QLatin1String( "remove" ) ), removeVar );
- QByteArray jsonByteArray = serializer.serialize( QVariant( jsonData ) );
+ QByteArray jsonByteArray = QJsonWrapper::toJson( QVariant( jsonData ) );
return jsonByteArray;
}
QByteArray JsonCreator::episodeActionListToJSON( const QList<EpisodeActionPtr>& episodeActions )
{
- QJson::Serializer serializer;
QVariantList jsonData;
foreach( const EpisodeActionPtr episodeAction, episodeActions )
@@ -68,19 +65,18 @@
jsonData.append( episodeActionToQVariantMap( episodeAction ) );
}
- QByteArray jsonByteArray = serializer.serialize( QVariant( jsonData ) );
+ QByteArray jsonByteArray = QJsonWrapper::toJson( QVariant( jsonData ) );
return jsonByteArray;
}
QByteArray JsonCreator::renameDeviceStringToJSON( const QString& caption, const QString& type )
{
- QJson::Serializer serializer;
QVariantMap jsonData;
QVariant captionVar( caption );
QVariant typeVar( type );
jsonData.insert( QString( QLatin1String( "caption" ) ), captionVar );
jsonData.insert( QString( QLatin1String( "type" ) ), typeVar );
- QByteArray jsonByteArray = serializer.serialize( QVariant( jsonData ) );
+ QByteArray jsonByteArray = QJsonWrapper::toJson( QVariant( jsonData ) );
return jsonByteArray;
}
@@ -130,7 +126,7 @@
jsonStr.append(syncVar);
jsonStr.append(QLatin1String(" ,\"stop-synchronize\" : "));
jsonStr.append(stopVar);
- jsonStr.append(QLatin1String(" }\n"));
+ jsonStr.append(QLatin1String(" }"));
return jsonStr.toLocal8Bit();
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/src/Podcast.cpp new/libmygpo-qt.1.0.9/src/Podcast.cpp
--- old/libmygpo-qt.1.0.7/src/Podcast.cpp 2013-04-13 11:47:36.000000000 +0200
+++ new/libmygpo-qt.1.0.9/src/Podcast.cpp 2016-09-16 13:02:54.000000000 +0200
@@ -22,7 +22,7 @@
#include "Podcast_p.h"
-#include <parser.h>
+#include "qjsonwrapper/Json.h"
using namespace mygpo;
@@ -181,9 +181,8 @@
bool PodcastPrivate::parse( const QByteArray& data )
{
- QJson::Parser parser;
bool ok;
- QVariant variant = parser.parse( data, &ok );
+ QVariant variant = QJsonWrapper::parseJson( data, &ok );
if ( ok )
{
if ( !parse( variant ) ) return false;
@@ -197,8 +196,6 @@
void PodcastPrivate::parseData()
{
- //parsen und signal senden
- QJson::Parser parser;
if ( parse( m_reply->readAll( ) ) )
{
emit q->finished();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/src/PodcastList.cpp new/libmygpo-qt.1.0.9/src/PodcastList.cpp
--- old/libmygpo-qt.1.0.7/src/PodcastList.cpp 2013-04-13 11:48:52.000000000 +0200
+++ new/libmygpo-qt.1.0.9/src/PodcastList.cpp 2016-09-16 13:02:54.000000000 +0200
@@ -22,7 +22,7 @@
#include "PodcastList_p.h"
-#include <parser.h>
+#include "qjsonwrapper/Json.h"
using namespace mygpo;
@@ -71,9 +71,8 @@
bool PodcastListPrivate::parse( const QByteArray& data )
{
- QJson::Parser parser;
bool ok;
- QVariant variant = parser.parse( data, &ok );
+ QVariant variant = QJsonWrapper::parseJson( data, &ok );
if( ok )
{
ok = ( parse( variant ) );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/src/RequestHandler.cpp new/libmygpo-qt.1.0.9/src/RequestHandler.cpp
--- old/libmygpo-qt.1.0.7/src/RequestHandler.cpp 2013-04-13 11:49:24.000000000 +0200
+++ new/libmygpo-qt.1.0.9/src/RequestHandler.cpp 2016-09-16 13:02:54.000000000 +0200
@@ -77,5 +77,5 @@
void RequestHandler::addUserAgent( QNetworkRequest &request )
{
- request.setRawHeader("User-Agent", Config::instance()->userAgent().toAscii() );
+ request.setRawHeader("User-Agent", Config::instance()->userAgent().toLatin1() );
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/src/Settings.cpp new/libmygpo-qt.1.0.9/src/Settings.cpp
--- old/libmygpo-qt.1.0.7/src/Settings.cpp 2013-04-13 11:49:36.000000000 +0200
+++ new/libmygpo-qt.1.0.9/src/Settings.cpp 2016-09-16 13:02:54.000000000 +0200
@@ -22,7 +22,7 @@
#include "Settings_p.h"
-#include <parser.h>
+#include "qjsonwrapper/Json.h"
using namespace mygpo;
@@ -49,9 +49,8 @@
bool SettingsPrivate::parse( const QByteArray& data )
{
- QJson::Parser parser;
bool ok;
- QVariant variant = parser.parse( data, &ok );
+ QVariant variant = QJsonWrapper::parseJson( data, &ok );
if( ok )
{
ok = ( parse( variant ) );
@@ -63,7 +62,6 @@
{
if( m_reply->error() == QNetworkReply::NoError )
{
- QJson::Parser parser;
if( parse( m_reply->readAll() ) )
{
emit q->finished();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/src/TagList.cpp new/libmygpo-qt.1.0.9/src/TagList.cpp
--- old/libmygpo-qt.1.0.7/src/TagList.cpp 2013-04-13 11:50:19.000000000 +0200
+++ new/libmygpo-qt.1.0.9/src/TagList.cpp 2016-09-16 13:02:54.000000000 +0200
@@ -22,7 +22,7 @@
#include "TagList_p.h"
-#include <parser.h>
+#include "qjsonwrapper/Json.h"
using namespace mygpo;
@@ -70,9 +70,8 @@
bool TagListPrivate::parse( const QByteArray& data )
{
- QJson::Parser parser;
bool ok;
- QVariant variant = parser.parse( data, &ok );
+ QVariant variant = QJsonWrapper::parseJson( data, &ok );
if( ok )
{
ok = ( parse( variant ) );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/src/UrlBuilder.cpp new/libmygpo-qt.1.0.9/src/UrlBuilder.cpp
--- old/libmygpo-qt.1.0.7/src/UrlBuilder.cpp 2013-04-13 11:51:26.000000000 +0200
+++ new/libmygpo-qt.1.0.9/src/UrlBuilder.cpp 2016-09-16 13:02:54.000000000 +0200
@@ -30,7 +30,6 @@
using namespace mygpo;
-const QString UrlBuilder::s_server = Config::instance()->mygpoBaseUrl().toString();
const QString UrlBuilder::s_api2 = QLatin1String( "/api/2" );
const QString UrlBuilder::s_api1 = QLatin1String( "/api/1" );
@@ -58,92 +57,110 @@
QString UrlBuilder::getToplistUrl( uint i, Format f )
{
QString numString = QString::number(( i == 0 ) ? 1 : i );
- return s_server % QLatin1String( "/toplist/" ) % numString % getFormatExtension( f );
+ return Config::instance()->mygpoBaseUrl().toString() %
+ QLatin1String( "/toplist/" ) % numString % getFormatExtension( f );
}
QString UrlBuilder::getSuggestionsUrl( uint i, Format f )
{
QString numString = QString::number(( i == 0 ) ? 1 : i );
- return s_server % QLatin1String( "/suggestions/" ) % numString % getFormatExtension( f );
+ return Config::instance()->mygpoBaseUrl().toString() %
+ QLatin1String( "/suggestions/" ) % numString % getFormatExtension( f );
}
QString UrlBuilder::getPodcastSearchUrl( const QString& query, Format f )
{
- return s_server % QLatin1String( "/search" ) % getFormatExtension( f ) % QLatin1String( "?q=" ) % query;
+ return Config::instance()->mygpoBaseUrl().toString() %
+ QLatin1String( "/search" ) % getFormatExtension( f ) % QLatin1String( "?q=" ) % query;
}
QString UrlBuilder::getSubscriptionsUrl( const QString& username, const QString& device, UrlBuilder::Format f)
{
- return s_server % QLatin1String( "/subscriptions/" ) % username % QLatin1String( "/" ) % device % getFormatExtension( f );
+ QString deviceString = device.isNull() ? QString(QLatin1String("")) : (QLatin1String( "/" ) % device);
+ return Config::instance()->mygpoBaseUrl().toString() %
+ QLatin1String( "/subscriptions/" ) % username % deviceString % getFormatExtension( f );
}
QString UrlBuilder::getTopTagsUrl( uint i )
{
QString numString = QString::number(( i == 0 ) ? 1 : i );
- return s_server % s_api2 % QLatin1String( "/tags/" ) % numString % QLatin1String( ".json" );
+ return Config::instance()->mygpoBaseUrl().toString() %
+ s_api2 % QLatin1String( "/tags/" ) % numString % QLatin1String( ".json" );
}
QString UrlBuilder::getPodcastsOfTagUrl( const QString& tag, uint i )
{
QString numString = QString::number(( i == 0 ) ? 1 : i );
- return s_server % s_api2 % QLatin1String( "/tag/" ) % tag % QLatin1String( "/" ) % numString % QLatin1String( ".json" );
+ return Config::instance()->mygpoBaseUrl().toString() %
+ s_api2 % QLatin1String( "/tag/" ) % tag % QLatin1String( "/" ) % numString % QLatin1String( ".json" );
}
QString UrlBuilder::getPodcastDataUrl( const QString& url )
{
- return s_server % s_api2 % QLatin1String( "/data/podcast" ) % QLatin1String( ".json" ) % QLatin1String( "?url=" ) % url;
+ return Config::instance()->mygpoBaseUrl().toString() %
+ s_api2 % QLatin1String( "/data/podcast" ) % QLatin1String( ".json" ) % QLatin1String( "?url=" ) % url;
}
QString UrlBuilder::getEpisodeDataUrl( const QString& podcastUrl, const QString& episodeUrl )
{
- return s_server % s_api2 % QLatin1String( "/data/episode" ) % QLatin1String( ".json" ) % QLatin1String( "?podcast=" ) % podcastUrl % QLatin1String( "&url=" ) % episodeUrl;
+ return Config::instance()->mygpoBaseUrl().toString() %
+ s_api2 % QLatin1String( "/data/episode" ) % QLatin1String( ".json" ) % QLatin1String( "?podcast=" ) % podcastUrl % QLatin1String( "&url=" ) % episodeUrl;
}
QString UrlBuilder::getFavEpisodesUrl( const QString& username )
{
- return s_server % s_api2 % QLatin1String( "/favorites/" ) % username % QLatin1String( ".json" );
+ return Config::instance()->mygpoBaseUrl().toString() %
+ s_api2 % QLatin1String( "/favorites/" ) % username % QLatin1String( ".json" );
}
QString UrlBuilder::getAddRemoveSubUrl( const QString& username, const QString& deviceId )
{
- return s_server % s_api2 % QLatin1String( "/subscriptions/" ) % username % QLatin1String( "/" ) % deviceId % QLatin1String( ".json" );
+ return Config::instance()->mygpoBaseUrl().toString() %
+ s_api2 % QLatin1String( "/subscriptions/" ) % username % QLatin1String( "/" ) % deviceId % QLatin1String( ".json" );
}
QString UrlBuilder::getAccountSettingsUrl( const QString& username )
{
- return s_server % s_api2 % QLatin1String( "/settings/" ) % username % QLatin1String( "/account" ) % QLatin1String( ".json" );
+ return Config::instance()->mygpoBaseUrl().toString() %
+ s_api2 % QLatin1String( "/settings/" ) % username % QLatin1String( "/account" ) % QLatin1String( ".json" );
}
QString UrlBuilder::getDeviceSettingsUrl( const QString& username, const QString& deviceId )
{
- return s_server % s_api2 % QLatin1String( "/settings/" ) % username % QLatin1String( "/device" ) % QLatin1String( ".json" ) % QLatin1String( "?device=" ) % deviceId;
+ return Config::instance()->mygpoBaseUrl().toString() %
+ s_api2 % QLatin1String( "/settings/" ) % username % QLatin1String( "/device" ) % QLatin1String( ".json" ) % QLatin1String( "?device=" ) % deviceId;
}
QString UrlBuilder::getPodcastSettingsUrl( const QString& username, const QString& podcastUrl )
{
- return s_server % s_api2 % QLatin1String( "/settings/" ) % username % QLatin1String( "/podcast" ) % QLatin1String( ".json" ) % QLatin1String( "?podcast=" ) % podcastUrl;
+ return Config::instance()->mygpoBaseUrl().toString() %
+ s_api2 % QLatin1String( "/settings/" ) % username % QLatin1String( "/podcast" ) % QLatin1String( ".json" ) % QLatin1String( "?podcast=" ) % podcastUrl;
}
QString UrlBuilder::getEpisodeSettingsUrl( const QString& username, const QString& podcastUrl, const QString& episodeUrl )
{
- return s_server % s_api2 % QLatin1String( "/settings/" ) % username % QLatin1String( "/episode" ) % QLatin1String( ".json" ) % QLatin1String( "?podcast=" ) % podcastUrl % QLatin1String( "&episode=" ) % episodeUrl;
+ return Config::instance()->mygpoBaseUrl().toString() %
+ s_api2 % QLatin1String( "/settings/" ) % username % QLatin1String( "/episode" ) % QLatin1String( ".json" ) % QLatin1String( "?podcast=" ) % podcastUrl % QLatin1String( "&episode=" ) % episodeUrl;
}
QString UrlBuilder::getDeviceListUrl( const QString& username )
{
- return s_server % s_api2 % QLatin1String( "/devices/" ) % username % QLatin1String( ".json" ) ;
+ return Config::instance()->mygpoBaseUrl().toString() %
+ s_api2 % QLatin1String( "/devices/" ) % username % QLatin1String( ".json" ) ;
}
QString UrlBuilder::getDeviceUpdatesUrl( const QString& username, const QString& deviceId, qulonglong timestamp )
{
QString numString = QString::number( timestamp );
- return s_server % s_api2 % QLatin1String( "/updates/" ) % username % QLatin1String( "/" ) % deviceId % QLatin1String( ".json?since=" ) % numString;
+ return Config::instance()->mygpoBaseUrl().toString() %
+ s_api2 % QLatin1String( "/updates/" ) % username % QLatin1String( "/" ) % deviceId % QLatin1String( ".json?since=" ) % numString;
}
QString UrlBuilder::getRenameDeviceUrl( const QString& username, const QString& deviceId )
{
- return s_server % s_api2 % QLatin1String( "/devices/" ) % username % QLatin1String( "/" ) % deviceId % QLatin1String( ".json" );
+ return Config::instance()->mygpoBaseUrl().toString() %
+ s_api2 % QLatin1String( "/devices/" ) % username % QLatin1String( "/" ) % deviceId % QLatin1String( ".json" );
}
QString UrlBuilder::getEpisodeActionsUrl( const QString& username, const bool aggregated )
@@ -154,7 +171,8 @@
else
agg = QLatin1String( "" );
- return s_server % s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json" ) % agg;
+ return Config::instance()->mygpoBaseUrl().toString() %
+ s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json" ) % agg;
}
QString UrlBuilder::getEpisodeActionsUrlByPodcast( const QString& username, const QString& podcastUrl, const bool aggregated )
@@ -165,7 +183,8 @@
else
agg = QLatin1String( "" );
- return s_server % s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json?podcast=" ) % podcastUrl % agg;
+ return Config::instance()->mygpoBaseUrl().toString() %
+ s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json?podcast=" ) % podcastUrl % agg;
}
QString UrlBuilder::getEpisodeActionsUrlByDevice( const QString& username, const QString& deviceId, bool aggregated )
@@ -176,33 +195,39 @@
else
agg = QLatin1String( "" );
- return s_server % s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json?device=" ) % deviceId % agg;
+ return Config::instance()->mygpoBaseUrl().toString() %
+ s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json?device=" ) % deviceId % agg;
}
QString UrlBuilder::getEpisodeActionsUrlByTimestamp( const QString& username, qulonglong since )
{
QString numString = QString::number( since );
- return s_server % s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json?since=" ) % numString;
+ return Config::instance()->mygpoBaseUrl().toString() %
+ s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json?since=" ) % numString;
}
QString UrlBuilder::getEpisodeActionsUrlByPodcastAndTimestamp( const QString& username, const QString& podcastUrl, qulonglong since )
{
QString numString = QString::number( since );
- return s_server % s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json?podcast=" ) % podcastUrl % QLatin1String( "&since=" ) % numString;
+ return Config::instance()->mygpoBaseUrl().toString() %
+ s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json?podcast=" ) % podcastUrl % QLatin1String( "&since=" ) % numString;
}
QString UrlBuilder::getEpisodeActionsUrlByDeviceAndTimestamp( const QString& username, const QString& deviceId, qulonglong since )
{
QString numString = QString::number( since );
- return s_server % s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json?device=" ) % deviceId % QLatin1String( "&since=" ) % numString;
+ return Config::instance()->mygpoBaseUrl().toString() %
+ s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json?device=" ) % deviceId % QLatin1String( "&since=" ) % numString;
}
QString UrlBuilder::getUploadEpisodeActionsUrl( const QString& username )
{
- return s_server % s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json" );
+ return Config::instance()->mygpoBaseUrl().toString() %
+ s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json" );
}
QString UrlBuilder::getDeviceSynchronizationStatusUrl ( const QString& username )
{
- return s_server % s_api2 % QLatin1String( "/sync-devices/" ) % username % QLatin1String( ".json" );
+ return Config::instance()->mygpoBaseUrl().toString() %
+ s_api2 % QLatin1String( "/sync-devices/" ) % username % QLatin1String( ".json" );
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/src/UrlBuilder.h new/libmygpo-qt.1.0.9/src/UrlBuilder.h
--- old/libmygpo-qt.1.0.7/src/UrlBuilder.h 2013-04-13 11:51:21.000000000 +0200
+++ new/libmygpo-qt.1.0.9/src/UrlBuilder.h 2016-09-16 13:02:54.000000000 +0200
@@ -137,7 +137,6 @@
private:
UrlBuilder() {};
UrlBuilder( const UrlBuilder& ) {};
- static const QString s_server;
static const QString s_api2;
static const QString s_api1;
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/src/qjsonwrapper/Json.cpp new/libmygpo-qt.1.0.9/src/qjsonwrapper/Json.cpp
--- old/libmygpo-qt.1.0.7/src/qjsonwrapper/Json.cpp 1970-01-01 01:00:00.000000000 +0100
+++ new/libmygpo-qt.1.0.9/src/qjsonwrapper/Json.cpp 2016-09-16 13:02:54.000000000 +0200
@@ -0,0 +1,128 @@
+/* Copyright 2014, Uwe L. Korn <uwelk(a)xhochy.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#include "Json.h"
+
+// Qt version specific includes
+#if QT_VERSION >= QT_VERSION_CHECK( 5, 0, 0 )
+ #include <QJsonDocument>
+ #include <QMetaProperty>
+#else
+ #include <qjson/parser.h>
+ #include <qjson/qobjecthelper.h>
+ #include <qjson/serializer.h>
+#endif
+
+namespace QJsonWrapper
+{
+
+QVariantMap
+qobject2qvariant( const QObject* object )
+{
+#if QT_VERSION >= QT_VERSION_CHECK( 5, 0, 0 )
+ QVariantMap map;
+ if ( object == NULL )
+ {
+ return map;
+ }
+
+ const QMetaObject* metaObject = object->metaObject();
+ for ( int i = 0; i < metaObject->propertyCount(); ++i )
+ {
+ QMetaProperty metaproperty = metaObject->property( i );
+ if ( metaproperty.isReadable() )
+ {
+ map[ QLatin1String( metaproperty.name() ) ] = object->property( metaproperty.name() );
+ }
+ }
+ return map;
+#else
+ return QJson::QObjectHelper::qobject2qvariant( object );
+#endif
+}
+
+
+void
+qvariant2qobject( const QVariantMap& variant, QObject* object )
+{
+#if QT_VERSION >= QT_VERSION_CHECK( 5, 0, 0 )
+ for ( QVariantMap::const_iterator iter = variant.begin(); iter != variant.end(); ++iter )
+ {
+ QVariant property = object->property( iter.key().toLatin1() );
+ Q_ASSERT( property.isValid() );
+ if ( property.isValid() )
+ {
+ QVariant value = iter.value();
+ if ( value.canConvert( property.type() ) )
+ {
+ value.convert( property.type() );
+ object->setProperty( iter.key().toLatin1(), value );
+ } else if ( QString( QLatin1String("QVariant") ).compare( QLatin1String( property.typeName() ) ) == 0 ) {
+ object->setProperty( iter.key().toLatin1(), value );
+ }
+ }
+ }
+#else
+ QJson::QObjectHelper::qvariant2qobject( variant, object );
+#endif
+}
+
+
+QVariant
+parseJson( const QByteArray& jsonData, bool* ok )
+{
+#if QT_VERSION >= QT_VERSION_CHECK( 5, 0, 0 )
+ QJsonParseError error;
+ QJsonDocument doc = QJsonDocument::fromJson( jsonData, &error );
+ if ( ok != NULL )
+ {
+ *ok = ( error.error == QJsonParseError::NoError );
+ }
+ return doc.toVariant();
+#else
+ QJson::Parser p;
+ return p.parse( jsonData, ok );
+#endif
+}
+
+
+QByteArray
+toJson( const QVariant &variant, bool* ok )
+{
+#if QT_VERSION >= QT_VERSION_CHECK( 5, 0, 0 )
+ QJsonDocument doc = QJsonDocument::fromVariant( variant );
+ if ( ok != NULL )
+ {
+ *ok = !doc.isNull();
+ }
+ return doc.toJson( QJsonDocument::Compact );
+#else
+ QJson::Serializer serializer;
+ QByteArray ret = serializer.serialize( variant );
+ if ( ok != NULL )
+ {
+ *ok = !ret.isNull();
+ }
+ return ret;
+#endif
+}
+
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/src/qjsonwrapper/Json.h new/libmygpo-qt.1.0.9/src/qjsonwrapper/Json.h
--- old/libmygpo-qt.1.0.7/src/qjsonwrapper/Json.h 1970-01-01 01:00:00.000000000 +0100
+++ new/libmygpo-qt.1.0.9/src/qjsonwrapper/Json.h 2016-09-16 13:02:54.000000000 +0200
@@ -0,0 +1,36 @@
+/* Copyright 2014, Uwe L. Korn <uwelk(a)xhochy.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#pragma once
+#ifndef QJSONWRAPPER_JSON_H
+#define QJSONWRAPPER_JSON_H
+
+#include <QVariant>
+
+namespace QJsonWrapper
+{
+ QVariantMap qobject2qvariant( const QObject* object );
+ void qvariant2qobject( const QVariantMap& variant, QObject* object );
+ QVariant parseJson( const QByteArray& jsonData, bool* ok = 0 );
+ QByteArray toJson( const QVariant &variant, bool* ok = 0 );
+}
+
+#endif // QJSONWRAPPER_JSON_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/templates/Template.cpp new/libmygpo-qt.1.0.9/templates/Template.cpp
--- old/libmygpo-qt.1.0.7/templates/Template.cpp 1970-01-01 01:00:00.000000000 +0100
+++ new/libmygpo-qt.1.0.9/templates/Template.cpp 2016-09-16 13:02:54.000000000 +0200
@@ -0,0 +1,22 @@
+/***************************************************************************
+* This file is part of libmygpo-qt *
+* Copyright (c) 2010 - 2011 Stefan Derkits <stefan(a)derkits.at> *
+* Copyright (c) 2010 - 2011 Christian Wagner <christian.wagner86(a)gmx.at> *
+* Copyright (c) 2010 - 2011 Felix Winter <ixos01(a)gmail.com> *
+* *
+* This library is free software; you can redistribute it and/or *
+* modify it under the terms of the GNU Lesser General Public *
+* License as published by the Free Software Foundation; either *
+* version 2.1 of the License, or (at your option) any later version. *
+* *
+* This library is distributed in the hope that it will be useful, *
+* but WITHOUT ANY WARRANTY; without even the implied warranty of *
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+* Lesser General Public License for more details. *
+* *
+* You should have received a copy of the GNU Lesser General Public *
+* License along with this library; if not, write to the Free Software *
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 *
+* USA *
+***************************************************************************/
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/templates/Template.h new/libmygpo-qt.1.0.9/templates/Template.h
--- old/libmygpo-qt.1.0.7/templates/Template.h 1970-01-01 01:00:00.000000000 +0100
+++ new/libmygpo-qt.1.0.9/templates/Template.h 2016-09-16 13:02:54.000000000 +0200
@@ -0,0 +1,26 @@
+/***************************************************************************
+* This file is part of libmygpo-qt *
+* Copyright (c) 2010 - 2011 Stefan Derkits <stefan(a)derkits.at> *
+* Copyright (c) 2010 - 2011 Christian Wagner <christian.wagner86(a)gmx.at> *
+* Copyright (c) 2010 - 2011 Felix Winter <ixos01(a)gmail.com> *
+* *
+* This library is free software; you can redistribute it and/or *
+* modify it under the terms of the GNU Lesser General Public *
+* License as published by the Free Software Foundation; either *
+* version 2.1 of the License, or (at your option) any later version. *
+* *
+* This library is distributed in the hope that it will be useful, *
+* but WITHOUT ANY WARRANTY; without even the implied warranty of *
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+* Lesser General Public License for more details. *
+* *
+* You should have received a copy of the GNU Lesser General Public *
+* License along with this library; if not, write to the Free Software *
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 *
+* USA *
+***************************************************************************/
+
+#ifndef TEMPLATE_H
+#define TEMPLATE_H
+
+#endif // TEMPLATE_H
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/tests/CMakeLists.txt new/libmygpo-qt.1.0.9/tests/CMakeLists.txt
--- old/libmygpo-qt.1.0.7/tests/CMakeLists.txt 2013-01-19 12:48:52.000000000 +0100
+++ new/libmygpo-qt.1.0.9/tests/CMakeLists.txt 2016-09-16 13:02:54.000000000 +0200
@@ -7,26 +7,29 @@
set ( TESTOBJECTS_SRCDIR ${CMAKE_CURRENT_SOURCE_DIR}/../src )
-include_directories( ${QT_INCLUDES} ${QJSON_INCLUDE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/../src ${TESTOBJECTS_SRCDIR} )
+include_directories( ${QJSON_INCLUDE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/../src ${TESTOBJECTS_SRCDIR} )
# UrlBuilder library
add_library( UrlBuilder ${TESTOBJECTS_SRCDIR}/UrlBuilder.cpp ${TESTOBJECTS_SRCDIR}/Config.cpp )
+qt5_use_modules( UrlBuilder Core )
# JSONCreator library
-QT4_WRAP_CPP(LIBMYGPO_QT_MOC_SRC ${TESTOBJECTS_SRCDIR}/EpisodeAction.h ${TESTOBJECTS_SRCDIR}/EpisodeAction_p.h )
-add_library( JsonCreator ${TESTOBJECTS_SRCDIR}/JsonCreator.cpp ${TESTOBJECTS_SRCDIR}/EpisodeAction.cpp ${LIBMYGPO_QT_MOC_SRC})
+QT_WRAP_CPP(LIBMYGPO_QT_MOC_SRC ${TESTOBJECTS_SRCDIR}/EpisodeAction.h ${TESTOBJECTS_SRCDIR}/EpisodeAction_p.h )
+add_library( JsonCreator ${TESTOBJECTS_SRCDIR}/JsonCreator.cpp ${TESTOBJECTS_SRCDIR}/EpisodeAction.cpp ${TESTOBJECTS_SRCDIR}/qjsonwrapper/Json.cpp ${LIBMYGPO_QT_MOC_SRC})
+qt5_use_modules( JsonCreator Core Network )
set( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} )
macro(add_libmygpo_test _source)
get_filename_component(_name ${_source} NAME_WE)
- QT4_WRAP_CPP(${_name}_MOC_SRC ${_name}.h)
+ QT_WRAP_CPP(${_name}_MOC_SRC ${_name}.h)
add_executable(${_name} ${_source} ${${_name}_MOC_SRC})
target_link_libraries(${_name} ${QT_QTCORE_LIBRARY} ${QT_QTTEST_LIBRARY} ${QT_QTNETWORK_LIBRARY})
add_test(${_name}-test ${EXECUTABLE_OUTPUT_PATH}/${_name})
+ qt5_use_modules(${_name} Network Test)
endmacro(add_libmygpo_test)
add_libmygpo_test( UrlBuilderTest.cpp )
target_link_libraries( UrlBuilderTest UrlBuilder)
add_libmygpo_test( JsonCreatorTest.cpp )
-target_link_libraries( JsonCreatorTest JsonCreator ${QJSON_LIBRARIES} )
\ No newline at end of file
+target_link_libraries( JsonCreatorTest JsonCreator ${QJSON_LIBRARIES} )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/tests/JsonCreatorTest.cpp new/libmygpo-qt.1.0.9/tests/JsonCreatorTest.cpp
--- old/libmygpo-qt.1.0.7/tests/JsonCreatorTest.cpp 2013-01-19 12:48:52.000000000 +0100
+++ new/libmygpo-qt.1.0.9/tests/JsonCreatorTest.cpp 2016-09-16 13:02:54.000000000 +0200
@@ -57,12 +57,13 @@
QList<QUrl> add;
QList<QUrl> remove;
QByteArray output;
-
+
// test with empty lists
output = JsonCreator::addRemoveSubsToJSON(add, remove);
+ QString outString1 = QString::fromLatin1( output ).replace( QLatin1String(" "), QLatin1String("") );
+ QString expected1( QLatin1String( "{\"add\":[],\"remove\":[]}" ) );
+ QCOMPARE(outString1, expected1 );
- QCOMPARE(output, QByteArray("{ \"add\" : [ ], \"remove\" : [ ] }"));
-
// test with full lists
add.append(QUrl(QLatin1String("http://example.com/feed.rss")));
add.append(QUrl(QLatin1String("http://example.org/podcast.php")));
@@ -70,8 +71,9 @@
remove.append(QUrl(QLatin1String("http://example.org/podcast.php")));
output = JsonCreator::addRemoveSubsToJSON(add, remove);
-
- QCOMPARE(output, QByteArray("{ \"add\" : [ \"http://example.com/feed.rss\", \"http://example.org/podcast.php\" ], \"remove\" : [ \"http://example.org/podcast.php\" ] }"));
+ QString outString2 = QString::fromLatin1( output ).replace( QLatin1String(" "), QLatin1String("") );
+ QString expected2( QLatin1String("{\"add\":[\"http://example.com/feed.rss\",\"http://example.org/podcast.php\"],\"remove\":[\"http://example.org/podcast.php\"]}"));
+ QCOMPARE(outString2, expected2 );
}
void JsonCreatorTest::testSaveSettingsToJSON()
@@ -82,9 +84,11 @@
// test with empty map/list
output = JsonCreator::saveSettingsToJSON(set, remove);
+ QString outString1 = QString::fromLatin1( output ).replace( QLatin1String(" "), QLatin1String("") );
+ QString expected1( QLatin1String( "{\"remove\":[],\"set\":{}}" ) );
+
+ QCOMPARE( outString1, expected1 );
- QCOMPARE(output, QByteArray("{ \"remove\" : [ ], \"set\" : { } }"));
-
// test with different settings (String, DateTime, Integer)
set.insert(QLatin1String("setting4"), QLatin1String("stringvalue"));
set.insert(QLatin1String("setting5"), QDateTime::fromString(QLatin1String("M1d1y9800:01:02"),
@@ -95,9 +99,11 @@
remove.append(QLatin1String("setting2"));
output = JsonCreator::saveSettingsToJSON(set, remove);
+ QString outString2 = QString::fromLatin1( output ).replace( QLatin1String(" "), QLatin1String("") );
+ QString expected2( QLatin1String( "{\"remove\":[\"setting1\",\"setting2\"],\"set\":{\"setting4\":\"stringvalue\",\"setting5\":\"1998-01-01T00:01:02\",\"setting6\":4}}" ) );
+
+ QCOMPARE( outString2, expected2 );
- QCOMPARE(output, QByteArray("{ \"remove\" : [ \"setting1\", \"setting2\" ], \"set\" : { \"setting4\" : \"stringvalue\", \"setting5\" : \"1998-01-01T00:01:02\", \"setting6\" : 4 } }"));
-
}
void JsonCreatorTest::testEpisodeActionListToJSON()
@@ -107,8 +113,9 @@
// test with empty list
output = JsonCreator::episodeActionListToJSON(episodeActions);
-
- QCOMPARE(output, QByteArray("[ ]"));
+ QString outString1 = QString::fromLatin1( output ).replace( QLatin1String(" "), QLatin1String("") );
+ QString expected1( QLatin1String( "[]" ) );
+ QCOMPARE( outString1, expected1 );
// test with some values
@@ -125,8 +132,10 @@
episodeActions << episode << episode2 << episode3 << episode4 << episode5 << episode6;
output = JsonCreator::episodeActionListToJSON(episodeActions);
-
- QCOMPARE(output, QByteArray("[ { \"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 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\"}]" ) );
+
+ QCOMPARE(outString2, expected2 );
}
void JsonCreatorTest::testRenameDeviceStringToJSON()
@@ -137,17 +146,21 @@
// test with empty values
output = JsonCreator::renameDeviceStringToJSON(caption, type);
+ QString outString1 = QString::fromLatin1( output ).replace( QLatin1String(" "), QLatin1String("") );
+ QString expected1( QLatin1String( "{\"caption\":\"\",\"type\":\"\"}" ) );
- QCOMPARE(output, QByteArray("{ \"caption\" : \"\", \"type\" : \"\" }"));
+ QCOMPARE(outString1, expected1 );
// test with some values
caption = QLatin1String("caption1");
type = QLatin1String("type1");
output = JsonCreator::renameDeviceStringToJSON(caption, type);
+ QString outString2 = QString::fromLatin1( output ).replace( QLatin1String(" "), QLatin1String("") );
+ QString expected2( QLatin1String( "{\"caption\":\"caption1\",\"type\":\"type1\"}" ) );
+
+ QCOMPARE( outString2, expected2 );
- QCOMPARE(output, QByteArray("{ \"caption\" : \"caption1\", \"type\" : \"type1\" }"));
-
}
void JsonCreatorTest::testDeviceSynchronizationListsToJSON()
@@ -163,7 +176,9 @@
// test with empty lists
output = JsonCreator::deviceSynchronizationListsToJSON(sync, stopSync);
- QCOMPARE(output, QByteArray("{\"synchronize\" : [ ] ,\"stop-synchronize\" : [ ] }\n"));
+ QString outString1 = QString::fromLatin1( output ).replace( QLatin1String(" "), QLatin1String("") );
+ QString expected1( QLatin1String( "{\"synchronize\":[],\"stop-synchronize\":[]}" ) );
+ QCOMPARE( outString1, expected1 );
// test with full lists
sync1.append(QLatin1String("foo"));
@@ -183,7 +198,9 @@
stopSync.append(QLatin1String("stop3"));
output = JsonCreator::deviceSynchronizationListsToJSON(sync, stopSync);
- QCOMPARE(output, QByteArray("{\"synchronize\" : [[\"foo\",\"bar\"],[\"foobar\",\"barfoo\",\"foobarfoo\",\"foobar4\"],[ ]] ,\"stop-synchronize\" : [\"stop1\",\"stop2\",\"stop3\"] }\n"));
+ QString outString2 = QString::fromLatin1( output ).replace( QLatin1String(" "), QLatin1String("") );
+ QString expected2( QLatin1String( "{\"synchronize\":[[\"foo\",\"bar\"],[\"foobar\",\"barfoo\",\"foobarfoo\",\"foobar4\"],[]],\"stop-synchronize\":[\"stop1\",\"stop2\",\"stop3\"]}" ) );
+ QCOMPARE( outString2, expected2 );
}
QTEST_MAIN(JsonCreatorTest)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/tests/UrlBuilderTest.cpp new/libmygpo-qt.1.0.9/tests/UrlBuilderTest.cpp
--- old/libmygpo-qt.1.0.7/tests/UrlBuilderTest.cpp 2012-07-20 13:58:51.000000000 +0200
+++ new/libmygpo-qt.1.0.9/tests/UrlBuilderTest.cpp 2016-09-16 13:02:54.000000000 +0200
@@ -24,7 +24,7 @@
using namespace mygpo;
-UrlBuilderTest::UrlBuilderTest() :m_server(QLatin1String("http://gpodder.net")),
+UrlBuilderTest::UrlBuilderTest() :m_server(QLatin1String("https://gpodder.net")),
m_api2(QLatin1String( "/api/2" )) {
}
@@ -262,4 +262,19 @@
m_server + m_api2 + QLatin1String("/subscriptions/ÖÄÜ/!\"§$%$&/()=?ß{}Ä.json"));
}
+/**
+* Tests for getSubscriptionsUrl()
+*/
+void UrlBuilderTest::testGetSubscriptionUrl()
+{
+ QCOMPARE(UrlBuilder::getSubscriptionsUrl(QLatin1String("user123"), QLatin1String("device456"), UrlBuilder::JSON),
+ m_server + QLatin1String("/subscriptions/user123/device456.json"));
+}
+
+void UrlBuilderTest::testGetSubscriptionUrlWithoutDevice()
+{
+ QCOMPARE(UrlBuilder::getSubscriptionsUrl(QLatin1String("user"), QString(), UrlBuilder::OPML),
+ m_server + QLatin1String("/subscriptions/user.opml"));
+}
+
QTEST_MAIN(UrlBuilderTest)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmygpo-qt.1.0.7/tests/UrlBuilderTest.h new/libmygpo-qt.1.0.9/tests/UrlBuilderTest.h
--- old/libmygpo-qt.1.0.7/tests/UrlBuilderTest.h 2012-07-20 13:58:51.000000000 +0200
+++ new/libmygpo-qt.1.0.9/tests/UrlBuilderTest.h 2016-09-16 13:02:54.000000000 +0200
@@ -109,6 +109,12 @@
void testGetAddRemoveSubUrlEmpty();
void testGetAddRemoveSubUrlSpecialCharacters();
+ /**
+ * Tests for getSubscriptionsUrl()
+ */
+ void testGetSubscriptionUrl();
+ void testGetSubscriptionUrlWithoutDevice();
+
/** These constans must be equal to the constants defined for UrlBuilder */
private:
const QString m_server;
1
0
Hello community,
here is the log from the commit of package solid for openSUSE:Factory checked in at 2018-02-28 20:00:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/solid (Old)
and /work/SRC/openSUSE:Factory/.solid.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "solid"
Wed Feb 28 20:00:02 2018 rev:53 rq:579845 version:5.43.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/solid/solid.changes 2018-02-16 21:36:20.861107728 +0100
+++ /work/SRC/openSUSE:Factory/.solid.new/solid.changes 2018-02-28 20:00:04.613727701 +0100
@@ -1,0 +2,6 @@
+Sat Feb 24 14:31:31 UTC 2018 - wbauer(a)tmo.at
+
+- Add Fix-auto-mount-regression.patch to fix broken "Automount on
+ login" with solid 5.43.0 (kde#389479)
+
+-------------------------------------------------------------------
New:
----
Fix-auto-mount-regression.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ solid.spec ++++++
--- /var/tmp/diff_new_pack.bMHS9C/_old 2018-02-28 20:00:05.837683414 +0100
+++ /var/tmp/diff_new_pack.bMHS9C/_new 2018-02-28 20:00:05.845683125 +0100
@@ -44,6 +44,8 @@
Url: http://www.kde.org
Source: http://download.kde.org/stable/frameworks/%{_tar_path}/%{name}-%{version}.t…
Source1: baselibs.conf
+# PATCH-FIX-UPSTREAM
+Patch: Fix-auto-mount-regression.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -103,6 +105,7 @@
%lang_package -n %lname
%prep
%setup -q
+%patch -p1
%build
%cmake_kf5 -d build -- -DWITH_NEW_SOLID_JOB=ON -DWITH_NEW_POWER_ASYNC_API=ON -DWITH_NEW_POWER_ASYNC_FREEDESKTOP=ON -Dlconvert_executable=%{_kf5_libdir}/qt5/bin/lconvert
++++++ Fix-auto-mount-regression.patch ++++++
>From e94ba0619477e990903abd0ea0ab584b98dbac08 Mon Sep 17 00:00:00 2001
From: Dmitry Khlestkov <dsx.box(a)yandex.ru>
Date: Sat, 24 Feb 2018 07:15:07 -0700
Subject: [UDisks] Fix auto-mount regression
Summary:
BUG: 389479
Devices with empty path stopped auto-mounting after commit 1384f275ab2f1ad1841753ee163af6d1b0bb952b.
This diff fixes the regression by checking if the path is empty.
Reviewers: #frameworks, broulik
Reviewed By: broulik
Subscribers: ngraham, sefaeyeoglu, rikmills, #frameworks
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D10671
---
src/solid/devices/backends/udisks2/udisksstorageaccess.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/solid/devices/backends/udisks2/udisksstorageaccess.cpp b/src/solid/devices/backends/udisks2/udisksstorageaccess.cpp
index 5630e80..dd8f76f 100644
--- a/src/solid/devices/backends/udisks2/udisksstorageaccess.cpp
+++ b/src/solid/devices/backends/udisks2/udisksstorageaccess.cpp
@@ -111,7 +111,8 @@ bool StorageAccess::isIgnored() const
const QString path = filePath();
- return !path.startsWith(QLatin1String("/media/"))
+ return !path.isEmpty()
+ && !path.startsWith(QLatin1String("/media/"))
&& !path.startsWith(QLatin1String("/run/media/"))
&& !path.startsWith(QDir::homePath());
}
--
cgit v0.11.2
1
0
Hello community,
here is the log from the commit of package phonon4qt5 for openSUSE:Factory checked in at 2018-02-28 19:59:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/phonon4qt5 (Old)
and /work/SRC/openSUSE:Factory/.phonon4qt5.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "phonon4qt5"
Wed Feb 28 19:59:58 2018 rev:16 rq:579681 version:4.10.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/phonon4qt5/phonon4qt5.changes 2017-02-03 18:55:22.154628019 +0100
+++ /work/SRC/openSUSE:Factory/.phonon4qt5.new/phonon4qt5.changes 2018-02-28 20:00:00.153889076 +0100
@@ -1,0 +2,16 @@
+Fri Feb 23 21:20:40 UTC 2018 - wbauer(a)tmo.at
+
+- Update to 4.10.0:
+ * Changes
+ + PulseSupport is more robustly handling device list iteration.
+ * New API
+ + New backend API AudioOutputInterface410. This interface
+ implements a long-existing frontend interface for category
+ configuration. Usually, this is managed by the builtin
+ PulseSupport to force the category on a PulseAudio level,
+ sometimes this may not be possible because of how the backend
+ subsystem works and the backend needs to manage this directly.
+ + setCategory(Category) is called on the interface when the
+ synonymous frontend function is called.
+
+-------------------------------------------------------------------
Old:
----
phonon-4.9.1.tar.xz
New:
----
phonon-4.10.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ phonon4qt5.spec ++++++
--- /var/tmp/diff_new_pack.pSwaZC/_old 2018-02-28 20:00:01.005858248 +0100
+++ /var/tmp/diff_new_pack.pSwaZC/_new 2018-02-28 20:00:01.009858104 +0100
@@ -19,7 +19,7 @@
%define rname phonon
Name: phonon4qt5
-Version: 4.9.1
+Version: 4.10.0
Release: 0
Summary: Multimedia Platform Abstraction
License: LGPL-2.0+
++++++ phonon-4.9.1.tar.xz -> phonon-4.10.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-4.9.1/.reviewboardrc new/phonon-4.10.0/.reviewboardrc
--- old/phonon-4.9.1/.reviewboardrc 2017-01-24 08:29:17.000000000 +0100
+++ new/phonon-4.10.0/.reviewboardrc 1970-01-01 01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-REVIEWBOARD_URL = "https://git.reviewboard.kde.org"
-REPOSITORY = 'git://anongit.kde.org/phonon'
-TARGET_GROUPS = 'phonon'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-4.9.1/CMakeLists.txt new/phonon-4.10.0/CMakeLists.txt
--- old/phonon-4.9.1/CMakeLists.txt 2017-01-24 08:29:17.000000000 +0100
+++ new/phonon-4.10.0/CMakeLists.txt 2018-02-23 15:30:17.000000000 +0100
@@ -22,8 +22,8 @@
# It is highly advised to think twice before changing those.
# If you are unsure about the this: http://plan99.net/~mike/writing-shared-libraries.html
set(PHONON_LIB_MAJOR_VERSION "4") # Only change on binary incompatible changes
-set(PHONON_LIB_MINOR_VERSION "9") # Only change on binary compatible changes with new interfaces
-set(PHONON_LIB_PATCH_VERSION "1") # Bump whenever you feel like it :P
+set(PHONON_LIB_MINOR_VERSION "10") # Only change on binary compatible changes with new interfaces
+set(PHONON_LIB_PATCH_VERSION "0") # Bump whenever you feel like it :P
set(PHONON_LIB_VERSION "${PHONON_LIB_MAJOR_VERSION}.${PHONON_LIB_MINOR_VERSION}.${PHONON_LIB_PATCH_VERSION}")
set(PHONON_LIB_SOVERSION ${PHONON_LIB_MAJOR_VERSION})
set(PHONON_LIB_SONAME phonon)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-4.9.1/metainfo.yaml new/phonon-4.10.0/metainfo.yaml
--- old/phonon-4.9.1/metainfo.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/phonon-4.10.0/metainfo.yaml 2018-02-23 15:30:17.000000000 +0100
@@ -0,0 +1,14 @@
+maintainer: sitter
+description: Phonon, the Qt multimedia abstraction library.
+platforms:
+ - name: All
+release: true
+public_lib: true
+public_source_dirs:
+ - phonon
+public_doc_dir:
+ - doc
+public_example_dir:
+ - demos
+irc: kde-multimedia
+mailinglist: kde-multimedia
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-4.9.1/phonon/audiooutput.cpp new/phonon-4.10.0/phonon/audiooutput.cpp
--- old/phonon-4.9.1/phonon/audiooutput.cpp 2017-01-24 08:29:17.000000000 +0100
+++ new/phonon-4.10.0/phonon/audiooutput.cpp 2018-02-23 15:30:17.000000000 +0100
@@ -39,11 +39,12 @@
#include <QtCore/qmath.h>
#define PHONON_CLASSNAME AudioOutput
+#define IFACES10 AudioOutputInterface410
#define IFACES9 AudioOutputInterface49
#define IFECES7 AudioOutputInterface47
#define IFACES2 AudioOutputInterface42
#define IFACES1 IFACES2
-#define IFACES0 AudioOutputInterface40, IFACES1, IFECES7, IFACES9
+#define IFACES0 AudioOutputInterface40, IFACES1, IFECES7, IFACES9, IFACES10
#define PHONON_INTERFACENAME IFACES0
namespace Phonon
@@ -315,6 +316,11 @@
q, SLOT(_k_mutedChanged(bool)));
}
+ Iface<IFACES10> iface10(this);
+ if (iface10) {
+ iface10->setCategory(category);
+ }
+
if (!PulseSupport::getInstance()->isActive()) {
// set up attributes
pINTERFACE_CALL(setVolume(pow(volume, VOLTAGE_TO_LOUDNESS_EXPONENT)));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-4.9.1/phonon/audiooutputinterface.h new/phonon-4.10.0/phonon/audiooutputinterface.h
--- old/phonon-4.9.1/phonon/audiooutputinterface.h 2017-01-24 08:29:17.000000000 +0100
+++ new/phonon-4.10.0/phonon/audiooutputinterface.h 2018-02-23 15:30:17.000000000 +0100
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2015 Harald Sitter <sitter(a)kde.org>
+ Copyright (C) 2015-2016 Harald Sitter <sitter(a)kde.org>
Copyright (C) 2007-2008 Matthias Kretz <kretz(a)kde.org>
This library is free software; you can redistribute it and/or
@@ -29,7 +29,6 @@
#include "phonondefs.h"
#include <QtCore/QtGlobal>
-
namespace Phonon
{
/** \class AudioOutputInterface audiooutputinterface.h phonon/AudioOutputInterface
@@ -184,32 +183,56 @@
virtual void mutedChanged(bool mute) = 0;
};
+class AudioOutputInterface410 : public AudioOutputInterface49
+{
+public:
+ /**
+ * Forwards the output category to the backend after construction.
+ * The category is immutable so this is only called once, it is also never
+ * read from the backend (hence the lack of a getter) as the backend gets
+ * no choice in this matter.
+ * @param category the category that was set on the output.
+ */
+ virtual void setCategory(Phonon::Category category) = 0;
+};
+
} // namespace Phonon
-#ifdef PHONON_BACKEND_VERSION_4_9
+#ifdef PHONON_BACKEND_VERSION_4_10
+namespace Phonon { typedef AudioOutputInterface410 AudioOutputInterface; }
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface40, "AudioOutputInterface2.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface42, "3AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface47, "4AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface49, "5AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "6AudioOutputInterface.phonon.kde.org")
+#elif defined PHONON_BACKEND_VERSION_4_9
namespace Phonon { typedef AudioOutputInterface49 AudioOutputInterface; }
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface40, "AudioOutputInterface2.phonon.kde.org")
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface42, "3AudioOutputInterface.phonon.kde.org")
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface47, "4AudioOutputInterface.phonon.kde.org")
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "5AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface40, "AudioOutputInterface2.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface42, "3AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface47, "4AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "5AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface410, "6AudioOutputInterface.phonon.kde.org")
#elif defined PHONON_BACKEND_VERSION_4_7
namespace Phonon { typedef AudioOutputInterface47 AudioOutputInterface; }
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface40, "AudioOutputInterface2.phonon.kde.org")
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface42, "3AudioOutputInterface.phonon.kde.org")
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "4AudioOutputInterface.phonon.kde.org")
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface49, "5AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface40, "AudioOutputInterface2.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface42, "3AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "4AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface49, "5AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface410, "6AudioOutputInterface.phonon.kde.org")
#elif defined PHONON_BACKEND_VERSION_4_2
namespace Phonon { typedef AudioOutputInterface42 AudioOutputInterface; }
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface40, "AudioOutputInterface2.phonon.kde.org")
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "3AudioOutputInterface.phonon.kde.org")
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface47, "4AudioOutputInterface.phonon.kde.org")
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface49, "5AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface40, "AudioOutputInterface2.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "3AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface47, "4AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface49, "5AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface410, "6AudioOutputInterface.phonon.kde.org")
#else
namespace Phonon { typedef AudioOutputInterface40 AudioOutputInterface; }
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "AudioOutputInterface2.phonon.kde.org")
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface42, "3AudioOutputInterface.phonon.kde.org")
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface47, "4AudioOutputInterface.phonon.kde.org")
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface49, "5AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "AudioOutputInterface2.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface42, "3AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface47, "4AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface49, "5AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface410, "6AudioOutputInterface.phonon.kde.org")
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-4.9.1/phonon/phonondefs_p.h new/phonon-4.10.0/phonon/phonondefs_p.h
--- old/phonon-4.9.1/phonon/phonondefs_p.h 2017-01-24 08:29:17.000000000 +0100
+++ new/phonon-4.10.0/phonon/phonondefs_p.h 2018-02-23 15:30:17.000000000 +0100
@@ -236,7 +236,7 @@
*
* \author Matthias Kretz <kretz(a)kde.org>
*/
- template<class T0, class T1 = NoIface, class T2 = NoIface, class T3 = NoIface>
+ template<class T0, class T1 = NoIface, class T2 = NoIface, class T3 = NoIface, class T4 = NoIface>
class Iface
{
public:
@@ -250,6 +250,10 @@
if (IsValid<T3>::Result) {
ret = reinterpret_cast<T0 *>(my_cast<T3 *>(d->m_backendObject));
if (ret) return ret;
+ if (IsValid<T4>::Result) {
+ ret = reinterpret_cast<T0 *>(my_cast<T4 *>(d->m_backendObject));
+ if (ret) return ret;
+ }
}
}
ret = reinterpret_cast<T0 *>(my_cast<T1 *>(d->m_backendObject));
@@ -268,6 +272,10 @@
if (IsValid<T3>::Result) {
ret = reinterpret_cast<const T0 *>(my_cast<T3 *>(d->m_backendObject));
if (ret) return ret;
+ if (IsValid<T4>::Result) {
+ ret = reinterpret_cast<const T0 *>(my_cast<T4 *>(d->m_backendObject));
+ if (ret) return ret;
+ }
}
}
ret = reinterpret_cast<const T0 *>(my_cast<T1 *>(d->m_backendObject));
@@ -285,11 +293,11 @@
T0 *const iface;
};
- template<class T0, class T1 = NoIface, class T2 = NoIface, class T3 = NoIface>
+ template<class T0, class T1 = NoIface, class T2 = NoIface, class T3 = NoIface, class T4 = NoIface>
class ConstIface
{
public:
- inline ConstIface(const MediaNodePrivate *const d) : iface(Iface<T0, T1, T2, T3>::cast(d)) {}
+ inline ConstIface(const MediaNodePrivate *const d) : iface(Iface<T0, T1, T2, T3, T4>::cast(d)) {}
inline operator const T0 *() const { return iface; }
inline const T0 *operator->() const { Q_ASSERT(iface); return iface; }
private:
1
0
Hello community,
here is the log from the commit of package phonon for openSUSE:Factory checked in at 2018-02-28 19:59:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/phonon (Old)
and /work/SRC/openSUSE:Factory/.phonon.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "phonon"
Wed Feb 28 19:59:54 2018 rev:64 rq:579679 version:4.10.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/phonon/phonon.changes 2016-04-28 16:52:10.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.phonon.new/phonon.changes 2018-02-28 19:59:56.066036990 +0100
@@ -1,0 +2,16 @@
+Fri Feb 23 21:20:40 UTC 2018 - wbauer(a)tmo.at
+
+- Update to 4.10.0:
+ * Changes
+ + PulseSupport is more robustly handling device list iteration.
+ * New API
+ + New backend API AudioOutputInterface410. This interface
+ implements a long-existing frontend interface for category
+ configuration. Usually, this is managed by the builtin
+ PulseSupport to force the category on a PulseAudio level,
+ sometimes this may not be possible because of how the backend
+ subsystem works and the backend needs to manage this directly.
+ + setCategory(Category) is called on the interface when the
+ synonymous frontend function is called.
+
+-------------------------------------------------------------------
Old:
----
phonon-4.9.0.tar.xz
New:
----
phonon-4.10.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ phonon.spec ++++++
--- /var/tmp/diff_new_pack.S5rdIo/_old 2018-02-28 19:59:56.918006162 +0100
+++ /var/tmp/diff_new_pack.S5rdIo/_new 2018-02-28 19:59:56.922006018 +0100
@@ -17,7 +17,7 @@
Name: phonon
-Version: 4.9.0
+Version: 4.10.0
Release: 0
Summary: Multimedia Platform Abstraction
License: LGPL-2.0+
++++++ phonon-4.9.0.tar.xz -> phonon-4.10.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-4.9.0/.reviewboardrc new/phonon-4.10.0/.reviewboardrc
--- old/phonon-4.9.0/.reviewboardrc 2016-04-18 06:25:17.000000000 +0200
+++ new/phonon-4.10.0/.reviewboardrc 1970-01-01 01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-REVIEWBOARD_URL = "https://git.reviewboard.kde.org"
-REPOSITORY = 'git://anongit.kde.org/phonon'
-TARGET_GROUPS = 'phonon'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-4.9.0/CMakeLists.txt new/phonon-4.10.0/CMakeLists.txt
--- old/phonon-4.9.0/CMakeLists.txt 2016-04-18 06:25:17.000000000 +0200
+++ new/phonon-4.10.0/CMakeLists.txt 2018-02-23 15:30:17.000000000 +0100
@@ -22,7 +22,7 @@
# It is highly advised to think twice before changing those.
# If you are unsure about the this: http://plan99.net/~mike/writing-shared-libraries.html
set(PHONON_LIB_MAJOR_VERSION "4") # Only change on binary incompatible changes
-set(PHONON_LIB_MINOR_VERSION "9") # Only change on binary compatible changes with new interfaces
+set(PHONON_LIB_MINOR_VERSION "10") # Only change on binary compatible changes with new interfaces
set(PHONON_LIB_PATCH_VERSION "0") # Bump whenever you feel like it :P
set(PHONON_LIB_VERSION "${PHONON_LIB_MAJOR_VERSION}.${PHONON_LIB_MINOR_VERSION}.${PHONON_LIB_PATCH_VERSION}")
set(PHONON_LIB_SOVERSION ${PHONON_LIB_MAJOR_VERSION})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-4.9.0/metainfo.yaml new/phonon-4.10.0/metainfo.yaml
--- old/phonon-4.9.0/metainfo.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/phonon-4.10.0/metainfo.yaml 2018-02-23 15:30:17.000000000 +0100
@@ -0,0 +1,14 @@
+maintainer: sitter
+description: Phonon, the Qt multimedia abstraction library.
+platforms:
+ - name: All
+release: true
+public_lib: true
+public_source_dirs:
+ - phonon
+public_doc_dir:
+ - doc
+public_example_dir:
+ - demos
+irc: kde-multimedia
+mailinglist: kde-multimedia
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-4.9.0/phonon/CMakeLists.txt new/phonon-4.10.0/phonon/CMakeLists.txt
--- old/phonon-4.9.0/phonon/CMakeLists.txt 2016-04-18 06:25:17.000000000 +0200
+++ new/phonon-4.10.0/phonon/CMakeLists.txt 2018-02-23 15:30:17.000000000 +0100
@@ -12,7 +12,7 @@
# ------------------------ Configure File QMake Style ------------------------ #
-if (PHONON_NO_DBUS)
+if (PHONON_NO_DBUS OR NOT QT_QTDBUS_FOUND)
set(PHONON_NO_DBUS_DEFINE "#define PHONON_NO_DBUS")
else()
set(PHONON_NO_DBUS_DEFINE "/* #undef PHONON_NO_DBUS */")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-4.9.0/phonon/audiooutput.cpp new/phonon-4.10.0/phonon/audiooutput.cpp
--- old/phonon-4.9.0/phonon/audiooutput.cpp 2016-04-18 06:25:17.000000000 +0200
+++ new/phonon-4.10.0/phonon/audiooutput.cpp 2018-02-23 15:30:17.000000000 +0100
@@ -39,11 +39,12 @@
#include <QtCore/qmath.h>
#define PHONON_CLASSNAME AudioOutput
+#define IFACES10 AudioOutputInterface410
#define IFACES9 AudioOutputInterface49
#define IFECES7 AudioOutputInterface47
#define IFACES2 AudioOutputInterface42
#define IFACES1 IFACES2
-#define IFACES0 AudioOutputInterface40, IFACES1, IFECES7, IFACES9
+#define IFACES0 AudioOutputInterface40, IFACES1, IFECES7, IFACES9, IFACES10
#define PHONON_INTERFACENAME IFACES0
namespace Phonon
@@ -315,6 +316,11 @@
q, SLOT(_k_mutedChanged(bool)));
}
+ Iface<IFACES10> iface10(this);
+ if (iface10) {
+ iface10->setCategory(category);
+ }
+
if (!PulseSupport::getInstance()->isActive()) {
// set up attributes
pINTERFACE_CALL(setVolume(pow(volume, VOLTAGE_TO_LOUDNESS_EXPONENT)));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-4.9.0/phonon/audiooutputinterface.h new/phonon-4.10.0/phonon/audiooutputinterface.h
--- old/phonon-4.9.0/phonon/audiooutputinterface.h 2016-04-18 06:25:17.000000000 +0200
+++ new/phonon-4.10.0/phonon/audiooutputinterface.h 2018-02-23 15:30:17.000000000 +0100
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2015 Harald Sitter <sitter(a)kde.org>
+ Copyright (C) 2015-2016 Harald Sitter <sitter(a)kde.org>
Copyright (C) 2007-2008 Matthias Kretz <kretz(a)kde.org>
This library is free software; you can redistribute it and/or
@@ -29,7 +29,6 @@
#include "phonondefs.h"
#include <QtCore/QtGlobal>
-
namespace Phonon
{
/** \class AudioOutputInterface audiooutputinterface.h phonon/AudioOutputInterface
@@ -184,32 +183,56 @@
virtual void mutedChanged(bool mute) = 0;
};
+class AudioOutputInterface410 : public AudioOutputInterface49
+{
+public:
+ /**
+ * Forwards the output category to the backend after construction.
+ * The category is immutable so this is only called once, it is also never
+ * read from the backend (hence the lack of a getter) as the backend gets
+ * no choice in this matter.
+ * @param category the category that was set on the output.
+ */
+ virtual void setCategory(Phonon::Category category) = 0;
+};
+
} // namespace Phonon
-#ifdef PHONON_BACKEND_VERSION_4_9
+#ifdef PHONON_BACKEND_VERSION_4_10
+namespace Phonon { typedef AudioOutputInterface410 AudioOutputInterface; }
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface40, "AudioOutputInterface2.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface42, "3AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface47, "4AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface49, "5AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "6AudioOutputInterface.phonon.kde.org")
+#elif defined PHONON_BACKEND_VERSION_4_9
namespace Phonon { typedef AudioOutputInterface49 AudioOutputInterface; }
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface40, "AudioOutputInterface2.phonon.kde.org")
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface42, "3AudioOutputInterface.phonon.kde.org")
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface47, "4AudioOutputInterface.phonon.kde.org")
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "5AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface40, "AudioOutputInterface2.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface42, "3AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface47, "4AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "5AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface410, "6AudioOutputInterface.phonon.kde.org")
#elif defined PHONON_BACKEND_VERSION_4_7
namespace Phonon { typedef AudioOutputInterface47 AudioOutputInterface; }
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface40, "AudioOutputInterface2.phonon.kde.org")
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface42, "3AudioOutputInterface.phonon.kde.org")
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "4AudioOutputInterface.phonon.kde.org")
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface49, "5AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface40, "AudioOutputInterface2.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface42, "3AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "4AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface49, "5AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface410, "6AudioOutputInterface.phonon.kde.org")
#elif defined PHONON_BACKEND_VERSION_4_2
namespace Phonon { typedef AudioOutputInterface42 AudioOutputInterface; }
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface40, "AudioOutputInterface2.phonon.kde.org")
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "3AudioOutputInterface.phonon.kde.org")
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface47, "4AudioOutputInterface.phonon.kde.org")
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface49, "5AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface40, "AudioOutputInterface2.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "3AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface47, "4AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface49, "5AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface410, "6AudioOutputInterface.phonon.kde.org")
#else
namespace Phonon { typedef AudioOutputInterface40 AudioOutputInterface; }
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "AudioOutputInterface2.phonon.kde.org")
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface42, "3AudioOutputInterface.phonon.kde.org")
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface47, "4AudioOutputInterface.phonon.kde.org")
-Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface49, "5AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "AudioOutputInterface2.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface42, "3AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface47, "4AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface49, "5AudioOutputInterface.phonon.kde.org")
+Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface410, "6AudioOutputInterface.phonon.kde.org")
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-4.9.0/phonon/phononconfig_p.h.in new/phonon-4.10.0/phonon/phononconfig_p.h.in
--- old/phonon-4.9.0/phonon/phononconfig_p.h.in 2016-04-18 06:25:17.000000000 +0200
+++ new/phonon-4.10.0/phonon/phononconfig_p.h.in 2018-02-23 15:30:17.000000000 +0100
@@ -3,14 +3,7 @@
#ifndef PHONONCONFIG_H_P
#define PHONONCONFIG_H_P
-#include <QtCore/qfeatures.h>
-
/** Whether to build with D-Bus support */
$${PHONON_NO_DBUS_DEFINE}
-/** If QT_NO_DBUS is defined, always set PHONON_NO_DBUS */
-#if !defined(PHONON_NO_DBUS) && defined(QT_NO_DBUS)
-#define PHONON_NO_DBUS 1
-#endif
-
#endif // PHONONCONFIG_H_P
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-4.9.0/phonon/phonondefs_p.h new/phonon-4.10.0/phonon/phonondefs_p.h
--- old/phonon-4.9.0/phonon/phonondefs_p.h 2016-04-18 06:25:17.000000000 +0200
+++ new/phonon-4.10.0/phonon/phonondefs_p.h 2018-02-23 15:30:17.000000000 +0100
@@ -236,7 +236,7 @@
*
* \author Matthias Kretz <kretz(a)kde.org>
*/
- template<class T0, class T1 = NoIface, class T2 = NoIface, class T3 = NoIface>
+ template<class T0, class T1 = NoIface, class T2 = NoIface, class T3 = NoIface, class T4 = NoIface>
class Iface
{
public:
@@ -250,6 +250,10 @@
if (IsValid<T3>::Result) {
ret = reinterpret_cast<T0 *>(my_cast<T3 *>(d->m_backendObject));
if (ret) return ret;
+ if (IsValid<T4>::Result) {
+ ret = reinterpret_cast<T0 *>(my_cast<T4 *>(d->m_backendObject));
+ if (ret) return ret;
+ }
}
}
ret = reinterpret_cast<T0 *>(my_cast<T1 *>(d->m_backendObject));
@@ -268,6 +272,10 @@
if (IsValid<T3>::Result) {
ret = reinterpret_cast<const T0 *>(my_cast<T3 *>(d->m_backendObject));
if (ret) return ret;
+ if (IsValid<T4>::Result) {
+ ret = reinterpret_cast<const T0 *>(my_cast<T4 *>(d->m_backendObject));
+ if (ret) return ret;
+ }
}
}
ret = reinterpret_cast<const T0 *>(my_cast<T1 *>(d->m_backendObject));
@@ -285,11 +293,11 @@
T0 *const iface;
};
- template<class T0, class T1 = NoIface, class T2 = NoIface, class T3 = NoIface>
+ template<class T0, class T1 = NoIface, class T2 = NoIface, class T3 = NoIface, class T4 = NoIface>
class ConstIface
{
public:
- inline ConstIface(const MediaNodePrivate *const d) : iface(Iface<T0, T1, T2, T3>::cast(d)) {}
+ inline ConstIface(const MediaNodePrivate *const d) : iface(Iface<T0, T1, T2, T3, T4>::cast(d)) {}
inline operator const T0 *() const { return iface; }
inline const T0 *operator->() const { Q_ASSERT(iface); return iface; }
private:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-4.9.0/phonon/pulsesupport.cpp new/phonon-4.10.0/phonon/pulsesupport.cpp
--- old/phonon-4.9.0/phonon/pulsesupport.cpp 2016-04-18 06:25:17.000000000 +0200
+++ new/phonon-4.10.0/phonon/pulsesupport.cpp 2018-02-23 15:30:17.000000000 +0100
@@ -437,11 +437,12 @@
// our device info and can exit and reconnect
if (s_context != c)
pa_context_disconnect(c);
- }
- if (!info)
- return;
+ return; // eol
+ }
+ // If we aren't at eol we expect info to be valid!
+ Q_ASSERT(info);
Q_ASSERT(info->name);
Q_ASSERT(info->description);
Q_ASSERT(info->icon);
1
0
Hello community,
here is the log from the commit of package sddm for openSUSE:Factory checked in at 2018-02-28 19:59:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sddm (Old)
and /work/SRC/openSUSE:Factory/.sddm.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sddm"
Wed Feb 28 19:59:49 2018 rev:28 rq:579678 version:0.17.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/sddm/sddm.changes 2017-12-21 11:22:46.754753700 +0100
+++ /work/SRC/openSUSE:Factory/.sddm.new/sddm.changes 2018-02-28 19:59:50.998220363 +0100
@@ -1,0 +2,6 @@
+Fri Feb 23 12:16:48 UTC 2018 - alarrosa(a)suse.com
+
+- Only use python-doctools when building for SLE12 since SLE15 has
+ rst2man in python3-doctools.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sddm.spec ++++++
--- /var/tmp/diff_new_pack.D7yZQg/_old 2018-02-28 19:59:52.058182010 +0100
+++ /var/tmp/diff_new_pack.D7yZQg/_new 2018-02-28 19:59:52.062181866 +0100
@@ -70,7 +70,7 @@
# Merged the -lang package back into the main package
Provides: %{name}-lang = %{version}
Obsoletes: %{name}-lang < %{version}
-%if 0%{?sle_version} && !0%{?is_opensuse}
+%if 0%{?sle_version} < 150000 && !0%{?is_opensuse}
BuildRequires: python-docutils
%else
BuildRequires: python3-docutils
1
0
Hello community,
here is the log from the commit of package libqt5-qtwebkit for openSUSE:Factory checked in at 2018-02-28 19:59:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libqt5-qtwebkit (Old)
and /work/SRC/openSUSE:Factory/.libqt5-qtwebkit.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libqt5-qtwebkit"
Wed Feb 28 19:59:44 2018 rev:46 rq:579485 version:5.212~alpha2
Changes:
--------
--- /work/SRC/openSUSE:Factory/libqt5-qtwebkit/libqt5-qtwebkit.changes 2018-02-19 12:59:32.665157326 +0100
+++ /work/SRC/openSUSE:Factory/.libqt5-qtwebkit.new/libqt5-qtwebkit.changes 2018-02-28 19:59:47.086361911 +0100
@@ -1,0 +2,14 @@
+Fri Feb 23 08:23:52 UTC 2018 - mlin(a)suse.com
+
+- Re-ordering patches
+- Add fix-nullptr-crash-in-QWebPage-selectedHtml-when-selectedRange.patch
+ * Fix crash in QWebPage::selectedHtml() when selectedRange is nullptr
+- Add fix-nullTerminatedWCharToString-loses-last-character.patch
+ * Fix nullTerminatedWCharToString loses last character of input string
+
+-------------------------------------------------------------------
+Thu Feb 15 07:52:57 UTC 2018 - fabian(a)ritter-vogt.de
+
+- Use gcc-7 on 42.3 to fix mismatch with the optflags
+
+-------------------------------------------------------------------
New:
----
fix-nullTerminatedWCharToString-loses-last-character.patch
fix-nullptr-crash-in-QWebPage-selectedHtml-when-selectedRange.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libqt5-qtwebkit.spec ++++++
--- /var/tmp/diff_new_pack.NO8N4C/_old 2018-02-28 19:59:48.570308216 +0100
+++ /var/tmp/diff_new_pack.NO8N4C/_new 2018-02-28 19:59:48.574308070 +0100
@@ -39,25 +39,37 @@
Source: https://github.com/annulen/webkit/releases/download/%{tar_version}/%{tar_ve…
Source1: baselibs.conf
Source99: libqt5-qtwebkit-rpmlintrc
+# openSUSE specific patches
# PATCH-FIX-OPENSUSE Enable X11 target build always as we didn't ship Xcb Plugin cmake file - mlin(a)suse.com
Patch0: enable_x11_target_always.patch
# PATCH-FIX-OPENSUSE
Patch1: tell-the-truth-about-private-api.patch
+# PATCH-FIX-OPENSUSE
+Patch2: qt5webkit-symver.patch
+
+# Upstream patches
# PATCH-FIX-UPSTREAM Fix segfaults when built with gcc7 - mlin(a)suse.com
-Patch2: webkit-fix-WTF-StringImpl-copyChars-segfaults-with-gcc7.patch
+Patch100: webkit-fix-WTF-StringImpl-copyChars-segfaults-with-gcc7.patch
# PATCH-FIX-UPSTREAM Fix build when Qt uses OpenGL ES 2
-Patch3: fix-gles-detection.patch
-# PATCH-FIX-OPENSUSE
-Patch4: qt5webkit-symver.patch
+Patch101: fix-gles-detection.patch
# PATCH-FIX-UPSTREAM https://github.com/annulen/webkit/commit/f51554bf104ab0491370f66631fe46143a…
-Patch5: fix-build-with-cmake-3.10.diff
+Patch102: fix-build-with-cmake-3.10.diff
+Patch103: fix-nullTerminatedWCharToString-loses-last-character.patch
+Patch104: fix-nullptr-crash-in-QWebPage-selectedHtml-when-selectedRange.patch
# openSUSE Leap 42.x defaults to GCC 4
%if 0%{?suse_version} == 1315
+%if 0%{?sle_version} <= 120200
%define _cxx g++-6
%define _cc gcc-6
BuildRequires: gcc6
BuildRequires: gcc6-c++
+%else
+%define _cxx g++-7
+%define _cc gcc-7
+BuildRequires: gcc7
+BuildRequires: gcc7-c++
+%endif
#!BuildIgnore: libgcc_s1
%else
%define _cxx g++
@@ -132,9 +144,11 @@
%patch0 -p1
%patch1 -p1
%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
+%patch100 -p1
+%patch101 -p1
+%patch102 -p1
+%patch103 -p1
+%patch104 -p1
%package -n %libname
Summary: Qt 5 WebKit Widget library
++++++ fix-nullTerminatedWCharToString-loses-last-character.patch ++++++
>From 8368c860e2e7949dae175abb5bb87cd2e4bf8206 Mon Sep 17 00:00:00 2001
From: "annulen(a)yandex.ru"
<annulen@yandex.ru@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed, 18 Oct 2017 14:57:13 +0000
Subject: [PATCH] REGRESSION(r217771): nullTerminatedWCharToString loses last
character of input string https://bugs.webkit.org/show_bug.cgi?id=178444
Reviewed by Per Arne Vollan.
* wtf/text/win/WCharStringExtras.h:
(WTF::nullTerminatedWCharToString):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@223606 268f45cc-cd09-0410-ab3c-d52691b4dbfc
---
Source/WTF/wtf/text/win/WCharStringExtras.h | 2 +-
1 files changed, 1 insertions(+), 1 deletion(-)
diff --git a/Source/WTF/wtf/text/win/WCharStringExtras.h b/Source/WTF/wtf/text/win/WCharStringExtras.h
index 9d004e51595..d41f46294d3 100644
--- a/Source/WTF/wtf/text/win/WCharStringExtras.h
+++ b/Source/WTF/wtf/text/win/WCharStringExtras.h
@@ -60,7 +60,7 @@ inline String wcharToString(const wchar_t* characters, unsigned length)
inline String nullTerminatedWCharToString(const wchar_t* characters)
{
- return wcharToString(characters, wcslen(characters) - 1);
+ return wcharToString(characters, wcslen(characters));
}
} // namespace WTF
--
2.16.1
++++++ fix-nullptr-crash-in-QWebPage-selectedHtml-when-selectedRange.patch ++++++
>From 0e75f3272d149bc64899c161f150eb341a2417af Mon Sep 17 00:00:00 2001
From: Konstantin Tokarev <annulen(a)yandex.ru>
Date: Thu, 28 Dec 2017 12:17:21 +0300
Subject: [PATCH] Fix crash in QWebPage::selectedHtml() when selectedRange is
nullptr
Change-Id: Ia618d5044ab0b4e8293c7d53de936b323982656c
---
Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp b/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
index 89e872fb208..00dc0c48841 100644
--- a/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
@@ -390,7 +390,10 @@ QString QWebPageAdapter::selectedText() const
QString QWebPageAdapter::selectedHtml() const
{
- return page->focusController().focusedOrMainFrame().editor().selectedRange()->toHTML();
+ RefPtr<Range> range = page->focusController().focusedOrMainFrame().editor().selectedRange();
+ if (!range)
+ return QString();
+ return range->toHTML();
}
bool QWebPageAdapter::isContentEditable() const
--
2.16.1
1
0
Hello community,
here is the log from the commit of package libqt5-qtbase for openSUSE:Factory checked in at 2018-02-28 19:59:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libqt5-qtbase (Old)
and /work/SRC/openSUSE:Factory/.libqt5-qtbase.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libqt5-qtbase"
Wed Feb 28 19:59:38 2018 rev:76 rq:579468 version:5.10.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/libqt5-qtbase/libqt5-qtbase.changes 2018-02-19 12:59:25.709408180 +0100
+++ /work/SRC/openSUSE:Factory/.libqt5-qtbase.new/libqt5-qtbase.changes 2018-02-28 19:59:40.474601151 +0100
@@ -1,0 +2,5 @@
+Fri Feb 23 09:00:44 UTC 2018 - fabian(a)ritter-vogt.de
+
+- Enable journald support (boo#1050461)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libqt5-qtbase.spec ++++++
--- /var/tmp/diff_new_pack.3f8ZjT/_old 2018-02-28 19:59:44.274463657 +0100
+++ /var/tmp/diff_new_pack.3f8ZjT/_new 2018-02-28 19:59:44.282463366 +0100
@@ -17,7 +17,7 @@
%define qt5_snapshot 0
-%define journald 0
+%define journald 1
%ifarch %arm aarch64
%global gles 1
@@ -156,7 +156,7 @@
BuildRequires: pkgconfig(xkbcommon) >= 0.4.1
BuildRequires: pkgconfig(xkbcommon-x11) >= 0.4.1
%if %journald
-BuildRequires: pkgconfig(libsystemd-journal)
+BuildRequires: pkgconfig(libsystemd)
%endif
# to get cmake(...) autoprovides
BuildRequires: cmake
1
0
Hello community,
here is the log from the commit of package plasma5-openSUSE for openSUSE:Factory checked in at 2018-02-28 19:59:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/plasma5-openSUSE (Old)
and /work/SRC/openSUSE:Factory/.plasma5-openSUSE.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "plasma5-openSUSE"
Wed Feb 28 19:59:33 2018 rev:67 rq:579161 version:15.0~git20180116T134836~c3ce1b2
Changes:
--------
--- /work/SRC/openSUSE:Factory/plasma5-openSUSE/plasma5-openSUSE.changes 2018-02-19 12:55:00.926957475 +0100
+++ /work/SRC/openSUSE:Factory/.plasma5-openSUSE.new/plasma5-openSUSE.changes 2018-02-28 19:59:35.418784091 +0100
@@ -1,0 +2,5 @@
+Thu Feb 22 00:07:40 CET 2018 - lbeltrame(a)kde.org
+
+- Update to 5.12.2
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ plasma5-openSUSE.spec ++++++
--- /var/tmp/diff_new_pack.rjfCTA/_old 2018-02-28 19:59:36.358750080 +0100
+++ /var/tmp/diff_new_pack.rjfCTA/_new 2018-02-28 19:59:36.362749934 +0100
@@ -16,7 +16,7 @@
#
-%define plasma_version 5.12.1
+%define plasma_version 5.12.2
Name: plasma5-openSUSE
Version: 15.0~git20180116T134836~c3ce1b2
Release: 0
1
0
Hello community,
here is the log from the commit of package systemsettings5 for openSUSE:Factory checked in at 2018-02-28 19:59:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/systemsettings5 (Old)
and /work/SRC/openSUSE:Factory/.systemsettings5.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "systemsettings5"
Wed Feb 28 19:59:28 2018 rev:62 rq:579159 version:5.12.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/systemsettings5/systemsettings5.changes 2018-02-19 12:54:40.903679613 +0100
+++ /work/SRC/openSUSE:Factory/.systemsettings5.new/systemsettings5.changes 2018-02-28 19:59:31.062941703 +0100
@@ -1,0 +2,10 @@
+Wed Feb 21 23:57:10 CET 2018 - lbeltrame(a)kde.org
+
+- Update to 5.12.2
+ * New bugfix release
+ * For more details please see:
+ * https://www.kde.org/announcements/plasma-5.12.2.php
+- Changes since 5.12.1:
+ * Improve sidebar header visibility (kde#384638)
+
+-------------------------------------------------------------------
Old:
----
systemsettings-5.12.1.tar.xz
New:
----
systemsettings-5.12.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ systemsettings5.spec ++++++
--- /var/tmp/diff_new_pack.AZwL3F/_old 2018-02-28 19:59:32.014907257 +0100
+++ /var/tmp/diff_new_pack.AZwL3F/_new 2018-02-28 19:59:32.014907257 +0100
@@ -18,7 +18,7 @@
%bcond_without lang
Name: systemsettings5
-Version: 5.12.1
+Version: 5.12.2
Release: 0
Summary: KDE's control center
License: GPL-2.0+
++++++ systemsettings-5.12.1.tar.xz -> systemsettings-5.12.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemsettings-5.12.1/CMakeLists.txt new/systemsettings-5.12.2/CMakeLists.txt
--- old/systemsettings-5.12.1/CMakeLists.txt 2018-02-13 15:37:33.000000000 +0100
+++ new/systemsettings-5.12.2/CMakeLists.txt 2018-02-20 16:47:48.000000000 +0100
@@ -1,6 +1,6 @@
project(systemsettings)
-set(PROJECT_VERSION "5.12.1")
+set(PROJECT_VERSION "5.12.2")
cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
set(QT_MIN_VERSION "5.9.0")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemsettings-5.12.1/po/fi/systemsettings.po new/systemsettings-5.12.2/po/fi/systemsettings.po
--- old/systemsettings-5.12.1/po/fi/systemsettings.po 2018-02-13 15:37:04.000000000 +0100
+++ new/systemsettings-5.12.2/po/fi/systemsettings.po 2018-02-20 16:47:21.000000000 +0100
@@ -5,7 +5,7 @@
# Teemu Rytilahti <teemu.rytilahti(a)d5k.net>, 2008.
# Tommi Nieminen <translator(a)legisign.org>, 2009, 2017.
# Jorma Karvonen <karvonen.jorma(a)gmail.com>, 2009.
-# Lasse Liehu <lasse.liehu(a)gmail.com>, 2010, 2011, 2014, 2015.
+# Lasse Liehu <lasse.liehu(a)gmail.com>, 2010, 2011, 2014, 2015, 2018.
#
# KDE Finnish translation sprint participants:
# Teemu Rytilahti, 2007.
@@ -14,8 +14,8 @@
"Project-Id-Version: systemsettings\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2018-02-07 06:08+0100\n"
-"PO-Revision-Date: 2017-12-08 16:37+0200\n"
-"Last-Translator: Tommi Nieminen <translator(a)legisign.org>\n"
+"PO-Revision-Date: 2018-02-10 01:41+0900\n"
+"Last-Translator: Lasse Liehu <lasse.liehu(a)gmail.com>\n"
"Language-Team: Finnish <kde-i18n-doc(a)kde.org>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
@@ -300,7 +300,7 @@
#: sidebar/package/contents/ui/introPage.qml:73
#, kde-format
msgid "Frequently used:"
-msgstr "Usein käytetty:"
+msgstr "Usein käytetyt:"
#: sidebar/package/contents/ui/SubCategoryPage.qml:34
#, kde-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemsettings-5.12.1/po/zh_CN/systemsettings.po new/systemsettings-5.12.2/po/zh_CN/systemsettings.po
--- old/systemsettings-5.12.1/po/zh_CN/systemsettings.po 2018-02-13 15:37:18.000000000 +0100
+++ new/systemsettings-5.12.2/po/zh_CN/systemsettings.po 2018-02-20 16:47:34.000000000 +0100
@@ -9,7 +9,7 @@
"Project-Id-Version: kdeorg\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2018-02-07 06:08+0100\n"
-"PO-Revision-Date: 2018-02-12 05:47-0500\n"
+"PO-Revision-Date: 2018-02-19 19:14-0500\n"
"Last-Translator: guoyunhebrave <guoyunhebrave(a)gmail.com>\n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemsettings-5.12.1/sidebar/package/contents/ui/CategoriesPage.qml new/systemsettings-5.12.2/sidebar/package/contents/ui/CategoriesPage.qml
--- old/systemsettings-5.12.1/sidebar/package/contents/ui/CategoriesPage.qml 2018-02-13 15:36:47.000000000 +0100
+++ new/systemsettings-5.12.2/sidebar/package/contents/ui/CategoriesPage.qml 2018-02-20 16:47:04.000000000 +0100
@@ -128,8 +128,8 @@
section {
property: "categoryDisplayRole"
delegate: Kirigami.AbstractListItem {
- enabled: false
separatorVisible: false
+ supportsMouseEvents: false
RowLayout {
anchors {
left: parent.left
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemsettings-5.12.1/sidebar/package/contents/ui/SubCategoryPage.qml new/systemsettings-5.12.2/sidebar/package/contents/ui/SubCategoryPage.qml
--- old/systemsettings-5.12.1/sidebar/package/contents/ui/SubCategoryPage.qml 2018-02-13 15:36:47.000000000 +0100
+++ new/systemsettings-5.12.2/sidebar/package/contents/ui/SubCategoryPage.qml 2018-02-20 16:47:04.000000000 +0100
@@ -46,7 +46,6 @@
RowLayout {
anchors.fill: parent
- opacity: 0.3
Kirigami.Icon {
id: toolButtonIcon
1
0