Hello community, here is the log from the commit of package libkscreen for openSUSE:Factory checked in at 2015-10-12 10:00:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libkscreen (Old) and /work/SRC/openSUSE:Factory/.libkscreen.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libkscreen" Changes: -------- --- /work/SRC/openSUSE:Factory/libkscreen/libkscreen.changes 2014-10-14 07:09:16.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.libkscreen.new/libkscreen.changes 2015-10-12 10:01:12.000000000 +0200 @@ -1,0 +2,9 @@ +Thu Oct 8 13:04:45 UTC 2015 - [email protected] + +- Added patches from upstream: + 0001-Fix-crash-in-XRandr1.1-backend.patch (kde#341485) + 0002-Avoid-target-name-collision.patch + 0003-Fix-quoting-problems-with-D-depending-on-required-cm.patch + and 0004-Fix-building-apps-that-use-kscreen-and-which-fail-wi.patch + +------------------------------------------------------------------- New: ---- 0001-Fix-crash-in-XRandr1.1-backend.patch 0002-Avoid-target-name-collision.patch 0003-Fix-quoting-problems-with-D-depending-on-required-cm.patch 0004-Fix-building-apps-that-use-kscreen-and-which-fail-wi.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libkscreen.spec ++++++ --- /var/tmp/diff_new_pack.OIVCb9/_old 2015-10-12 10:01:13.000000000 +0200 +++ /var/tmp/diff_new_pack.OIVCb9/_new 2015-10-12 10:01:13.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package libkscreen # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -26,6 +26,14 @@ Group: System/GUI/KDE Url: http://www.kde.org Source: http://download.kde.org/stable/%{name}/%{version}/src/%{name}-%{version}.tar.xz +# PATCH-FIX-UPSTREAM 0001-Fix-crash-in-XRandr1.1-backend.patch +Patch0: 0001-Fix-crash-in-XRandr1.1-backend.patch +# PATCH-FIX-UPSTREAM 0002-Avoid-target-name-collision.patch +Patch1: 0002-Avoid-target-name-collision.patch +# PATCH-FIX-UPSTREAM 0003-Fix-quoting-problems-with-D-depending-on-required-cm.patch +Patch2: 0003-Fix-quoting-problems-with-D-depending-on-required-cm.patch +# PATCH-FIX-UPSTREAM 0004-Fix-building-apps-that-use-kscreen-and-which-fail-wi.patch +Patch3: 0004-Fix-building-apps-that-use-kscreen-and-which-fail-wi.patch BuildRequires: libkde4-devel >= 4.7.0 BuildRequires: libqjson-devel >= 0.8.1 BuildRequires: pkgconfig(x11) @@ -58,6 +66,10 @@ %prep %setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 %build %cmake_kde4 -d build ++++++ 0001-Fix-crash-in-XRandr1.1-backend.patch ++++++ >From 257aae50cffbcedf488245c289b30c334c2d5cc0 Mon Sep 17 00:00:00 2001 From: Albert Astals Cid <[email protected]> Date: Sat, 20 Dec 2014 00:23:53 +0100 Subject: [PATCH 1/4] Fix crash in XRandr1.1 backend REVIEW: 121605 BUGS: 341485 --- backends/xrandr1.1/xrandr11.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/backends/xrandr1.1/xrandr11.cpp b/backends/xrandr1.1/xrandr11.cpp index 3136957d51075accde25d7d349f3145f2d22bc2d..c0380a6ab0269cf91582830ed7e6cfa6b4bf396d 100644 --- a/backends/xrandr1.1/xrandr11.cpp +++ b/backends/xrandr1.1/xrandr11.cpp @@ -90,6 +90,10 @@ KScreen::Config* XRandR11::config() const ScreenInfo info(xcbScreen->root); ScreenSize size(xcbScreen->root); + if (info.isNull() || size.isNull()) { + return 0; + } + if (info->config_timestamp == m_currentTimestamp) { return m_currentConfig; } -- 2.6.0 ++++++ 0002-Avoid-target-name-collision.patch ++++++ >From 7b48eb334c8f02185aad2a23021e6bcf78a03e51 Mon Sep 17 00:00:00 2001 From: Kevin Ottens <[email protected]> Date: Mon, 20 Jul 2015 18:32:26 +0200 Subject: [PATCH 2/4] Avoid target name collision --- tests/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 8372e77cb7314435bde93a33c04aa7c599cfe45a..1094aa35a89e3c5955ce287f60c68b0246c4a760 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -6,7 +6,7 @@ macro(KSCREEN_TESTS) include_directories(${QT_INCLUDES} ${KDE4_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR} ${X11_Xrandr_INCLUDE_PATH}) kde4_add_unit_test(${_testname} ${_testname}.cpp ${_testname}.moc) target_link_libraries(${_testname} ${QT_QTTEST_LIBRARY} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} kscreen) - add_test(${_testname} ${CMAKE_CURRENT_BINARY_DIR}/${_testname}) + add_test(libkscreen-${_testname} ${CMAKE_CURRENT_BINARY_DIR}/${_testname}) endforeach(_testname) endmacro(KSCREEN_TESTS) -- 2.6.0 ++++++ 0003-Fix-quoting-problems-with-D-depending-on-required-cm.patch ++++++ >From 3d8aedab6319b38840dd65e97a09d403c629a5d1 Mon Sep 17 00:00:00 2001 From: David Faure <[email protected]> Date: Sun, 26 Jul 2015 00:04:06 +0200 Subject: [PATCH 3/4] Fix quoting problems with -D depending on required cmake version by using a generated header file instead. This is also nicer because changing the version will only recompile the one file that includes that header, instead of all. cmake_minimum_required must be before project(), and should be 2.8.9 to match kdelibs4's own files. --- CMakeLists.txt | 12 +++++------- backends/xrandr/xrandrconfig.cpp | 1 + libkscreen-version.h.in | 1 + 3 files changed, 7 insertions(+), 7 deletions(-) create mode 100644 libkscreen-version.h.in diff --git a/CMakeLists.txt b/CMakeLists.txt index 9910cad949ea7c357faab02e1f18dc58ffb0653d..17ed027d73a96f540fa83a814735762c398c9652 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,11 +1,9 @@ +cmake_minimum_required(VERSION 2.8.9) project(libkscreen) set(libkscreen_VERSION_MAJOR 1) set(libkscreen_VERSION_MINOR 0) set(libkscreen_VERSION_RELEASE 4) set(libkscreen_VERSION "${libkscreen_VERSION_MAJOR}.${libkscreen_VERSION_MINOR}.${libkscreen_VERSION_RELEASE}") -add_definitions("-DLIBKSCREEN_VERSION=\\\"${libkscreen_VERSION}\\\"") - -cmake_minimum_required(VERSION 2.8.0) if(POLICY CMP0017) cmake_policy(SET CMP0017 NEW) @@ -60,15 +58,15 @@ set(INSTALL_TARGETS_DEFAULT_ARGS RUNTIME DESTINATION "${BIN_INSTALL_DIR}" ARCHIVE DESTINATION "${LIB_INSTALL_DIR}" COMPONENT Devel ) include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${QT_INCLUDES} ${KDE4_INCLUDES}) +set(LIBKSCREEN_VERSION ${libkscreen_VERSION}) +configure_file(${libkscreen_SOURCE_DIR}/libkscreen-version.h.in libkscreen-version.h @ONLY) add_subdirectory(src) add_subdirectory(backends) add_subdirectory(tests) -configure_file(${libkscreen_SOURCE_DIR}/LibKScreenConfig.cmake.in - ${libkscreen_BINARY_DIR}/LibKScreenConfig.cmake - @ONLY -) +configure_file(${libkscreen_SOURCE_DIR}/LibKScreenConfig.cmake.in LibKScreenConfig.cmake @ONLY) + # this file is used by to check if the installed version can be used. macro_write_basic_cmake_version_file(${libkscreen_BINARY_DIR}/LibKScreenConfigVersion.cmake ${libkscreen_VERSION_MAJOR} ${libkscreen_VERSION_MINOR} ${libkscreen_VERSION_RELEASE}) diff --git a/backends/xrandr/xrandrconfig.cpp b/backends/xrandr/xrandrconfig.cpp index c75d5ea078598c4da1e29564fd6440a8ac4ad434..683ac7adcc9cbbd2fdbd47a0f68af984d169c868 100644 --- a/backends/xrandr/xrandrconfig.cpp +++ b/backends/xrandr/xrandrconfig.cpp @@ -25,6 +25,7 @@ #include "config.h" #include "output.h" #include "edid.h" +#include <libkscreen-version.h> #include <QX11Info> #include <QRect> diff --git a/libkscreen-version.h.in b/libkscreen-version.h.in new file mode 100644 index 0000000000000000000000000000000000000000..b2a9ca6c2b54119afdc072a17fc996371a98b1fa --- /dev/null +++ b/libkscreen-version.h.in @@ -0,0 +1 @@ +#cmakedefine LIBKSCREEN_VERSION "@LIBKSCREEN_VERSION@" -- 2.6.0 ++++++ 0004-Fix-building-apps-that-use-kscreen-and-which-fail-wi.patch ++++++ >From 76aba9ff19cf10f7e8fbf6753235bbb47cd2d295 Mon Sep 17 00:00:00 2001 From: David Faure <[email protected]> Date: Mon, 27 Jul 2015 09:46:16 +0200 Subject: [PATCH 4/4] Fix building apps that use kscreen and which fail with "-lqjson not found" when CMP0003 is NEW. This is because qjson's target name doesn't contain "::" so cmake doesn't magically look for it as a target, it assumes it's a library. Reviewed by Alex Merry. --- LibKScreenConfig.cmake.in | 3 +++ 1 file changed, 3 insertions(+) diff --git a/LibKScreenConfig.cmake.in b/LibKScreenConfig.cmake.in index 45e4fad3c2b1ae7f6c2d247162c548bce6653abf..4b77f1fb730e63943bd23e4a29aa8ef4f694e436 100644 --- a/LibKScreenConfig.cmake.in +++ b/LibKScreenConfig.cmake.in @@ -5,6 +5,9 @@ # LibKScreen_LIBRARY - The library needed to use LibKScreen # LibKScreen_VERSION - The LibKScreen version +# qjson's target name doesn't contain "::", so look for it explicitly +find_package(QJSON REQUIRED) + get_filename_component(_currentDir ${CMAKE_CURRENT_LIST_FILE} PATH) # The current directory get_filename_component(rootDir ${_currentDir}/@relInstallDir@ ABSOLUTE) # The install prefix -- 2.6.0
