2nd part of the layer/profile rework [2/2] 33/13833/4
authorJan-Simon Möller <jsmoeller@linuxfoundation.org>
Tue, 24 Apr 2018 13:15:42 +0000 (15:15 +0200)
committerJan-Simon Möller <jsmoeller@linuxfoundation.org>
Fri, 27 Apr 2018 22:29:25 +0000 (00:29 +0200)
Main goal of this is to move the agl-service-* bindings into the core and to
unify common recipes like wayland/weston into meta-agl-profile-graphical.
As a placeholder for recipes is meta-agl-profile-demo which are being reshuffled.

TLDR: remove recipes from meta-agl-demo that were moved to other layers

Bug-AGL: SPEC-145 , SPEC-876 , SPEC-877

v2: moving updated udisks changes to meta-agl

Change-Id: I873107f00adadeb6f3f266cce37b513fe6d44cf2
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
89 files changed:
recipes-appfw/packagegroups/packagegroup-agl-appfw-agl.bb [deleted file]
recipes-appfw/packagegroups/packagegroup-agl-appfw-automotive.bb [deleted file]
recipes-appfw/packagegroups/packagegroup-agl-appfw-connectivity.bb [deleted file]
recipes-appfw/packagegroups/packagegroup-agl-appfw-graphics.bb [deleted file]
recipes-appfw/packagegroups/packagegroup-agl-appfw-multimedia.bb [deleted file]
recipes-appfw/packagegroups/packagegroup-agl-appfw-native.bb [deleted file]
recipes-appfw/packagegroups/packagegroup-agl-appfw-navi-lbs.bb [deleted file]
recipes-appfw/packagegroups/packagegroup-agl-appfw-security.bb [deleted file]
recipes-appfw/packagegroups/packagegroup-agl-appfw-speech-services.bb [deleted file]
recipes-appfw/packagegroups/packagegroup-agl-appfw-web.bb [deleted file]
recipes-appfw/packagegroups/packagegroup-agl-appfw.bb [deleted file]
recipes-connectivity/.gitkeep [deleted file]
recipes-connectivity/bluez5/bluez5/0001_fix_compile_issue_when_using_in_c++.patch [deleted file]
recipes-connectivity/bluez5/bluez5_%.bbappend [deleted file]
recipes-connectivity/libnfc/libnfc_git.bb [deleted file]
recipes-core/dbus/libdbus-c++/dbus-c++-threading.patch [deleted file]
recipes-core/dbus/libdbus-c++_0.9.0.bbappend [deleted file]
recipes-demo-hmi/agl-service-bluetooth/agl-service-bluetooth_git.bb [deleted file]
recipes-demo-hmi/agl-service-data-persistence/agl-service-data-persistence_git.bb [deleted file]
recipes-demo-hmi/agl-service-geoclue/agl-service-geoclue_git.bb [deleted file]
recipes-demo-hmi/agl-service-geofence/agl-service-geofence_git.bb [deleted file]
recipes-demo-hmi/agl-service-gps/agl-service-gps_git.bb [deleted file]
recipes-demo-hmi/agl-service-identity-agent/agl-service-identity-agent_git.bb [deleted file]
recipes-demo-hmi/agl-service-mediaplayer/agl-service-mediaplayer_git.bb [deleted file]
recipes-demo-hmi/agl-service-mediascanner/agl-service-mediascanner_git.bb [deleted file]
recipes-demo-hmi/agl-service-navigation/agl-service-navigation_git.bb [deleted file]
recipes-demo-hmi/agl-service-nfc/agl-service-nfc_git.bb [deleted file]
recipes-demo-hmi/agl-service-radio/agl-service-radio_git.bb [deleted file]
recipes-demo-hmi/agl-service-signal-composer/agl-service-signal-composer_git.bb [deleted file]
recipes-demo-hmi/agl-service-steering-wheel/agl-service-steering-wheel_0.1.bb [deleted file]
recipes-demo-hmi/agl-service-weather/agl-service-weather_git.bb [deleted file]
recipes-demo-hmi/agl-service-wifi/agl-service-wifi_git.bb [deleted file]
recipes-demo-hmi/high-level-viwi-service/high-level-viwi-service.bb [deleted file]
recipes-extended/gperf/gperf_%.bbappend [deleted file]
recipes-graphics/.gitkeep [deleted file]
recipes-graphics/wayland/wayland-ivi-extension/cmake-find-gtest.patch [deleted file]
recipes-graphics/wayland/wayland-ivi-extension/test-path.patch [deleted file]
recipes-graphics/wayland/wayland-ivi-extension_1.1%.bbappend [deleted file]
recipes-graphics/wayland/weston-ini-conf.bbappend [deleted file]
recipes-graphics/wayland/weston-ini-conf/virtualoutput.cfg [deleted file]
recipes-graphics/wayland/weston_%.bbappend [deleted file]
recipes-kernel/mocca-usb/mocca-usb.bb [deleted file]
recipes-kernel/most/files/0002-src-most-add-auto-conf-feature.patch [deleted file]
recipes-kernel/most/files/0003-core-remove-kernel-log-for-MBO-status.patch [deleted file]
recipes-kernel/most/files/0004-most-video-set-device_caps.patch [deleted file]
recipes-kernel/most/files/0005-most-video-set-V4L2_CAP_DEVICE_CAPS-flag.patch [deleted file]
recipes-kernel/most/files/0006-dim2-fix-startup-sequence.patch [deleted file]
recipes-kernel/most/files/0007-dim2-use-device-tree.patch [deleted file]
recipes-kernel/most/files/0008-dim2-read-clock-speed-from-the-device-tree.patch [deleted file]
recipes-kernel/most/files/0009-dim2-use-device-for-coherent-memory-allocation.patch [deleted file]
recipes-kernel/most/most.bb [deleted file]
recipes-kernel/most/most.bbappend [deleted file]
recipes-multimedia/agl-service-unicens/agl-service-unicens_git.bb [deleted file]
recipes-multimedia/libmp4v2/files/0001-add-a-configure-option-to-disable-build-of-man-pages.patch [deleted file]
recipes-multimedia/libmp4v2/libmp4v2_git.bb [deleted file]
recipes-multimedia/lightmediascanner/lightmediascanner_%.bbappend [deleted file]
recipes-qt/.gitkeep [deleted file]
recipes-qt/packagegroups/packagegroup-agl-appfw-native-qt5.bb [deleted file]
recipes-qt/packagegroups/packagegroup-agl-demo-qt-examples.bb [deleted file]
recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bbappend [deleted file]
recipes-qt/qml-execscript-plugin/qml-execscript-plugin_1.0.bb [deleted file]
recipes-qt/qt5/qtbase-native_git.bbappend [deleted file]
recipes-qt/qt5/qtbase/0001-Force-qdbus-to-make-introspect-for-every-findMetaObj.patch [deleted file]
recipes-qt/qt5/qtbase_%.bbappend [deleted file]
recipes-qt/qt5/qtmultimedia/0001-metadata-image-support-with-the-data-URL-scheme-for-.patch [deleted file]
recipes-qt/qt5/qtmultimedia_%.bbappend [deleted file]
recipes-qt/qt5/qtsystems_%.bbappend [deleted file]
recipes-qt/qt5/qtwayland/0001-Implement-initial-IVI-shell-support-with-shell-integ.patch [deleted file]
recipes-qt/qt5/qtwayland/0001-protocol-update-3rd-party-ivi-application-protocol.patch [deleted file]
recipes-qt/qt5/qtwayland/0002-Fix-multiple-QWindow.patch [deleted file]
recipes-qt/qt5/qtwayland/0002-qwaylandwindow-add-support-for-IVI-Surface-ID-proper.patch [deleted file]
recipes-qt/qt5/qtwayland/0010-Added-manifest-file-according-to-smack-3-domain-mode.patch [deleted file]
recipes-qt/qt5/qtwayland/0016-xdg-shell-Add-xdg-shell-protocol-file-version-1.4.0.patch [deleted file]
recipes-qt/qt5/qtwayland/0017-xdg-shell-Add-minimize-feature-to-QWindow-using-wayl.patch [deleted file]
recipes-qt/qt5/qtwayland/0019-xdg-shell-upgrade-to-support-current-version-weston-.patch [deleted file]
recipes-qt/qt5/qtwayland/0020-Add-IVI-Shell-protocol-file-version-patch-v6.patch [deleted file]
recipes-qt/qt5/qtwayland/0021-Implement-initial-IVI-Shell-support.patch [deleted file]
recipes-qt/qt5/qtwayland/0099_qtwayland_no_evdev.patch [deleted file]
recipes-qt/qt5/qtwayland/UNUSED_NEEDS_CHECK_YOCTO_0018-packaging-enable-xdg-shell-at-runtime.patch [deleted file]
recipes-qt/qt5/qtwayland/disable_xcomposite_egl_qt_wayland_client_buffer_integration.patch [deleted file]
recipes-qt/qt5/qtwayland_%.bbappend [deleted file]
recipes-qt/qt5/qtwebkit_%.bbappend [deleted file]
recipes-sdl/packagegroups/packagegroup-agl-smartdevicelink.bb [deleted file]
recipes-support/opencv/opencv_3.3.bbappend [deleted file]
recipes-support/udisks/files/automount.service [deleted file]
recipes-support/udisks/files/automount.sh [deleted file]
recipes-support/udisks/files/org.freedesktop.UDisks.conf [deleted file]
recipes-support/udisks/files/udisks.service [deleted file]
recipes-support/udisks/udisks_1.0.5.bbappend [deleted file]

diff --git a/recipes-appfw/packagegroups/packagegroup-agl-appfw-agl.bb b/recipes-appfw/packagegroups/packagegroup-agl-appfw-agl.bb
deleted file mode 100644 (file)
index cc923fd..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-AGL App Fw Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
-    packagegroup-agl-appfw-agl \
-    "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
-    "
diff --git a/recipes-appfw/packagegroups/packagegroup-agl-appfw-automotive.bb b/recipes-appfw/packagegroups/packagegroup-agl-appfw-automotive.bb
deleted file mode 100644 (file)
index 333195b..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Automotive Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
-    packagegroup-agl-appfw-automotive \
-    "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
-    "
diff --git a/recipes-appfw/packagegroups/packagegroup-agl-appfw-connectivity.bb b/recipes-appfw/packagegroups/packagegroup-agl-appfw-connectivity.bb
deleted file mode 100644 (file)
index fa45c97..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Connectivity Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
-    packagegroup-agl-appfw-connectivity \
-    "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
-    "
-
-AGL_APPS = " \
-    "
-# restricted due to dependency on Kernel >= 4.8 which is not available in all repositories
-AGL_APPS_append_m3ulcb = " agl-service-can-low-level "
-AGL_APPS_append_intel-corei7-64 = " agl-service-can-low-level "
-AGL_APPS_append_qemux86-64 = " agl-service-can-low-level "
-
-RDEPENDS_${PN}_append = " \
-    ${AGL_APPS} \
-    "
-
diff --git a/recipes-appfw/packagegroups/packagegroup-agl-appfw-graphics.bb b/recipes-appfw/packagegroups/packagegroup-agl-appfw-graphics.bb
deleted file mode 100644 (file)
index 1e707ce..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Graphics Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
-    packagegroup-agl-appfw-graphics \
-    "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
-    opencv \
-    "
diff --git a/recipes-appfw/packagegroups/packagegroup-agl-appfw-multimedia.bb b/recipes-appfw/packagegroups/packagegroup-agl-appfw-multimedia.bb
deleted file mode 100644 (file)
index ed395f4..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Multimedia Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
-    packagegroup-agl-appfw-multimedia \
-    "
-
-RDEPENDS_${PN} += "\
-    agl-service-mediaplayer \
-    "
diff --git a/recipes-appfw/packagegroups/packagegroup-agl-appfw-native.bb b/recipes-appfw/packagegroups/packagegroup-agl-appfw-native.bb
deleted file mode 100644 (file)
index a31c666..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Native App Fw Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
-    packagegroup-agl-appfw-native \
-    "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
-    packagegroup-agl-appfw-native-qt5 \
-    "
diff --git a/recipes-appfw/packagegroups/packagegroup-agl-appfw-navi-lbs.bb b/recipes-appfw/packagegroups/packagegroup-agl-appfw-navi-lbs.bb
deleted file mode 100644 (file)
index 3e5c9b3..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Navigation and Location-Based Services Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
-    packagegroup-agl-appfw-navi-lbs \
-    "
-
-RDEPENDS_${PN} += "\
-    agl-service-gps \
-    agl-service-geoclue \
-    agl-service-geofence \
-    "
diff --git a/recipes-appfw/packagegroups/packagegroup-agl-appfw-security.bb b/recipes-appfw/packagegroups/packagegroup-agl-appfw-security.bb
deleted file mode 100644 (file)
index 3806899..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Security Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
-    packagegroup-agl-appfw-security \
-    "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
-    "
diff --git a/recipes-appfw/packagegroups/packagegroup-agl-appfw-speech-services.bb b/recipes-appfw/packagegroups/packagegroup-agl-appfw-speech-services.bb
deleted file mode 100644 (file)
index 5f716c2..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Speech Services Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
-    packagegroup-agl-appfw-speech-services \
-    "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
-    "
diff --git a/recipes-appfw/packagegroups/packagegroup-agl-appfw-web.bb b/recipes-appfw/packagegroups/packagegroup-agl-appfw-web.bb
deleted file mode 100644 (file)
index 6da6565..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Web App Fw Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
-    packagegroup-agl-appfw-web \
-    "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
-    "
diff --git a/recipes-appfw/packagegroups/packagegroup-agl-appfw.bb b/recipes-appfw/packagegroups/packagegroup-agl-appfw.bb
deleted file mode 100644 (file)
index cb5636b..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
-    packagegroup-agl-appfw \
-    "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
-    packagegroup-agl-appfw-automotive \
-    packagegroup-agl-appfw-connectivity \
-    packagegroup-agl-appfw-graphics \
-    packagegroup-agl-appfw-multimedia \
-    packagegroup-agl-appfw-navi-lbs \
-    packagegroup-agl-appfw-agl \
-    packagegroup-agl-appfw-native \
-    packagegroup-agl-appfw-web \
-    packagegroup-agl-appfw-security \
-    packagegroup-agl-appfw-speech-services \
-    "
diff --git a/recipes-connectivity/.gitkeep b/recipes-connectivity/.gitkeep
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/recipes-connectivity/bluez5/bluez5/0001_fix_compile_issue_when_using_in_c++.patch b/recipes-connectivity/bluez5/bluez5/0001_fix_compile_issue_when_using_in_c++.patch
deleted file mode 100644 (file)
index ba2f33c..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -urN bluez-5.22.orig/lib/bluetooth.h bluez-5.22/lib/bluetooth.h
---- bluez-5.22.orig/lib/bluetooth.h    2013-12-10 15:59:06.000000000 +0900
-+++ bluez-5.22/lib/bluetooth.h 2015-10-28 13:34:25.749335768 +0900
-@@ -158,16 +158,16 @@
- #define bt_get_unaligned(ptr)                 \
- ({                                            \
-       struct __attribute__((packed)) {        \
--              typeof(*(ptr)) __v;             \
--      } *__p = (typeof(__p)) (ptr);           \
-+              __typeof__(*(ptr)) __v;         \
-+      } *__p = (__typeof__(__p)) (ptr);               \
-       __p->__v;                               \
- })
- #define bt_put_unaligned(val, ptr)            \
- do {                                          \
-       struct __attribute__((packed)) {        \
--              typeof(*(ptr)) __v;             \
--      } *__p = (typeof(__p)) (ptr);           \
-+              __typeof__(*(ptr)) __v;         \
-+      } *__p = (__typeof__(__p)) (ptr);               \
-       __p->__v = (val);                       \
- } while(0)
diff --git a/recipes-connectivity/bluez5/bluez5_%.bbappend b/recipes-connectivity/bluez5/bluez5_%.bbappend
deleted file mode 100644 (file)
index 59787fc..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-FILESEXTRAPATHS_append := ":${THISDIR}/${PN}"
-
-APPLY_v522 = "${@str('no' if '${PV}' != '5.22' else 'yes')}"
-
-SRC_URI_append = "\
-    file://0001_fix_compile_issue_when_using_in_c++.patch;apply=${APPLY_v522} \
-"
diff --git a/recipes-connectivity/libnfc/libnfc_git.bb b/recipes-connectivity/libnfc/libnfc_git.bb
deleted file mode 100644 (file)
index bd216f8..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY     = "libnfc"
-DESCRIPTION = "Platform independent Near Field Communication (NFC) library"
-HOMEPAGE    = "https://github.com/nfc-tools/libnfc"
-SECTION     = "apps"
-
-DEPENDS     = "libusb"
-
-LICENSE = "LGPLv3"
-LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=b52f2d57d10c4f7ee67a7eb9615d5d24"
-
-inherit cmake pkgconfig
-
-SRC_URI = "git://github.com/nfc-tools/libnfc;protocol=https;branch=master"
-SRCREV = "2d4543673e9b76c02679ca8b89259659f1afd932"
-
-PV = "1.7.1+git${SRCPV}"
-S  = "${WORKDIR}/git"
-
diff --git a/recipes-core/dbus/libdbus-c++/dbus-c++-threading.patch b/recipes-core/dbus/libdbus-c++/dbus-c++-threading.patch
deleted file mode 100644 (file)
index c4fafef..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
---- libdbus-c++-0.9.0/include/dbus-c++/dispatcher.h.threading  2017-02-15 13:40:53.796004263 +0000
-+++ libdbus-c++-0.9.0/include/dbus-c++/dispatcher.h    2017-02-15 13:40:46.907000493 +0000
-@@ -188,6 +188,7 @@
- /* classes for multithreading support
- */
-+#if 0
- class DXXAPI Mutex
- {
- public:
-@@ -243,9 +244,11 @@
- typedef bool (*CondVarWaitTimeoutFn)(CondVar *cv, Mutex *mx, int timeout);
- typedef void (*CondVarWakeOneFn)(CondVar *cv);
- typedef void (*CondVarWakeAllFn)(CondVar *cv);
-+#endif
- void DXXAPI _init_threading();
-+#if 0
- void DXXAPI _init_threading(
-   MutexNewFn, MutexFreeFn, MutexLockFn, MutexUnlockFn,
-   CondVarNewFn, CondVarFreeFn, CondVarWaitFn, CondVarWaitTimeoutFn, CondVarWakeOneFn, CondVarWakeAllFn
-@@ -312,6 +315,7 @@
-     cv->wake_all();
-   }
- };
-+#endif
- } /* namespace DBus */
---- libdbus-c++-0.9.0/src/dispatcher.cpp.threading     2017-02-15 13:48:22.627249868 +0000
-+++ libdbus-c++-0.9.0/src/dispatcher.cpp       2017-02-15 13:48:29.164253445 +0000
-@@ -253,6 +253,7 @@
- #endif//DBUS_HAS_THREADS_INIT_DEFAULT
- }
-+#if 0
- void DBus::_init_threading(
-   MutexNewFn m1,
-   MutexFreeFn m2,
-@@ -318,3 +319,4 @@
- #endif//DBUS_HAS_RECURSIVE_MUTEX
-   dbus_threads_init(&functions);
- }
-+#endif
diff --git a/recipes-core/dbus/libdbus-c++_0.9.0.bbappend b/recipes-core/dbus/libdbus-c++_0.9.0.bbappend
deleted file mode 100644 (file)
index dac44b5..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
-SRC_URI_append = "file://dbus-c++-threading.patch"
diff --git a/recipes-demo-hmi/agl-service-bluetooth/agl-service-bluetooth_git.bb b/recipes-demo-hmi/agl-service-bluetooth/agl-service-bluetooth_git.bb
deleted file mode 100644 (file)
index da0e809..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY     = "Bluetooth Service Binding"
-DESCRIPTION = "AGL Bluetooth Service Binding"
-HOMEPAGE    = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-service-bluetooth"
-SECTION     = "apps"
-
-LICENSE     = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984"
-
-SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/apps/agl-service-bluetooth;protocol=https;branch=${AGL_BRANCH}"
-SRCREV  = "${AGL_APP_REVISION}"
-
-PV = "1.0+git${SRCPV}"
-S  = "${WORKDIR}/git"
-
-DEPENDS = "glib-2.0 json-c"
-RDEPENDS_${PN} = "agl-service-data-persistence"
-
-inherit cmake aglwgt pkgconfig
diff --git a/recipes-demo-hmi/agl-service-data-persistence/agl-service-data-persistence_git.bb b/recipes-demo-hmi/agl-service-data-persistence/agl-service-data-persistence_git.bb
deleted file mode 100644 (file)
index 488c9ea..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION = "AGL low level user database binding"
-HOMEPAGE = "https://github.com/iotbzh/agl-identity"
-SECTION = "base"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8089a3c40cff9caffd1b9ba5aa3dfd67"
-
-SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/apps/agl-service-data-persistence;protocol=https;branch=${AGL_BRANCH}"
-SRCREV  = "${AGL_APP_REVISION}"
-
-inherit cmake aglwgt pkgconfig
-
-PV = "1.0+git${SRCPV}"
-S = "${WORKDIR}/git"
-
-DEPENDS += " af-binder json-c gdbm "
-
diff --git a/recipes-demo-hmi/agl-service-geoclue/agl-service-geoclue_git.bb b/recipes-demo-hmi/agl-service-geoclue/agl-service-geoclue_git.bb
deleted file mode 100644 (file)
index 1f93877..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY     = "GeoClue Service Binding"
-DESCRIPTION = "AGL GeoClue Service Binding"
-HOMEPAGE    = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-service-geoclue"
-SECTION     = "apps"
-
-LICENSE     = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984"
-
-SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/apps/agl-service-geoclue;protocol=https;branch=${AGL_BRANCH}"
-SRCREV  = "${AGL_APP_REVISION}"
-
-PV = "1.0+git${SRCPV}"
-S  = "${WORKDIR}/git"
-
-DEPENDS = "json-c geoclue"
-
-inherit cmake aglwgt pkgconfig
diff --git a/recipes-demo-hmi/agl-service-geofence/agl-service-geofence_git.bb b/recipes-demo-hmi/agl-service-geofence/agl-service-geofence_git.bb
deleted file mode 100644 (file)
index a6b57ae..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY     = "Geofence Service Binding"
-DESCRIPTION = "AGL Geofence Service Binding"
-HOMEPAGE    = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-service-geofence"
-SECTION     = "apps"
-
-LICENSE     = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984"
-
-SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/apps/agl-service-geofence;protocol=https;branch=${AGL_BRANCH}"
-SRCREV  = "${AGL_APP_REVISION}"
-
-PV = "1.0+git${SRCPV}"
-S  = "${WORKDIR}/git"
-
-DEPENDS = "json-c"
-RDEPENDS_${PN} = "agl-service-gps"
-
-inherit cmake aglwgt pkgconfig
diff --git a/recipes-demo-hmi/agl-service-gps/agl-service-gps_git.bb b/recipes-demo-hmi/agl-service-gps/agl-service-gps_git.bb
deleted file mode 100644 (file)
index d1fee9d..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY     = "GPS/GNSS Service Binding"
-DESCRIPTION = "AGL GPS/GNSS Service Binding"
-HOMEPAGE    = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-service-gps"
-SECTION     = "apps"
-
-LICENSE     = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984"
-
-SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/apps/agl-service-gps;protocol=https;branch=${AGL_BRANCH}"
-SRCREV  = "${AGL_APP_REVISION}"
-
-PV = "1.0+git${SRCPV}"
-S  = "${WORKDIR}/git"
-
-DEPENDS = "json-c gpsd"
-RDEPENDS_${PN} = "libgps"
-
-inherit cmake aglwgt pkgconfig
diff --git a/recipes-demo-hmi/agl-service-identity-agent/agl-service-identity-agent_git.bb b/recipes-demo-hmi/agl-service-identity-agent/agl-service-identity-agent_git.bb
deleted file mode 100644 (file)
index 298374a..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION = "AGL identity agent binding"
-HOMEPAGE = "https://gitlab.com/iotbzh/aia-binding"
-SECTION = "base"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/apps/agl-service-identity-agent;protocol=https;branch=${AGL_BRANCH}"
-SRCREV  = "${AGL_APP_REVISION}"
-PV = "1.0+git${SRCPV}"
-
-inherit cmake aglwgt pkgconfig
-
-S = "${WORKDIR}/git"
-
-DEPENDS = "curl af-binder json-c systemd"
-
diff --git a/recipes-demo-hmi/agl-service-mediaplayer/agl-service-mediaplayer_git.bb b/recipes-demo-hmi/agl-service-mediaplayer/agl-service-mediaplayer_git.bb
deleted file mode 100644 (file)
index c5cf71c..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY     = "Mediaplayer Service Binding"
-DESCRIPTION = "AGL Mediaplayer Service Binding"
-HOMEPAGE    = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-service-mediaplayer"
-SECTION     = "apps"
-
-LICENSE     = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984"
-
-SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/apps/agl-service-mediaplayer;protocol=https;branch=${AGL_BRANCH}"
-SRCREV  = "${AGL_APP_REVISION}"
-
-PV = "1.0+git${SRCPV}"
-S  = "${WORKDIR}/git"
-
-DEPENDS = "json-c gstreamer1.0 gstreamer1.0-plugins-base"
-RDEPENDS_${PN} = "agl-service-mediascanner gstreamer1.0-plugins-bad-waylandsink"
-
-inherit cmake aglwgt pkgconfig
diff --git a/recipes-demo-hmi/agl-service-mediascanner/agl-service-mediascanner_git.bb b/recipes-demo-hmi/agl-service-mediascanner/agl-service-mediascanner_git.bb
deleted file mode 100644 (file)
index c1f0001..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY     = "Mediascanner Service Binding"
-DESCRIPTION = "AGL Mediascanner Service Binding"
-HOMEPAGE    = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-service-mediascanner"
-SECTION     = "apps"
-
-LICENSE     = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984"
-
-SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/apps/agl-service-mediascanner;protocol=https;branch=${AGL_BRANCH}"
-SRCREV  = "${AGL_APP_REVISION}"
-
-PV = "1.0+git${SRCPV}"
-S  = "${WORKDIR}/git"
-
-DEPENDS = "json-c sqlite3"
-RDEPENDS_${PN} = "lightmediascanner"
-
-inherit cmake aglwgt pkgconfig
diff --git a/recipes-demo-hmi/agl-service-navigation/agl-service-navigation_git.bb b/recipes-demo-hmi/agl-service-navigation/agl-service-navigation_git.bb
deleted file mode 100755 (executable)
index 0c245b3..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY     = "Navigation Service Binding"
-DESCRIPTION = "AGL Navigation Service API Binding"
-HOMEPAGE    = "https://github.com/AGLExport/agl-service-navigation"
-SECTION     = "apps"
-
-LICENSE     = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984"
-
-SRC_URI = "git://github.com/AGLExport/agl-service-navigation;protocol=git;branch=master"
-SRCREV  = "1f1ffc92fcc882aa5e885badbc91a3384f5d77b1"
-
-PV = "0.1+git${SRCPV}"
-S  = "${WORKDIR}/git"
-
-DEPENDS = " json-c libdbus-c++ "
-
-inherit cmake aglwgt pkgconfig
diff --git a/recipes-demo-hmi/agl-service-nfc/agl-service-nfc_git.bb b/recipes-demo-hmi/agl-service-nfc/agl-service-nfc_git.bb
deleted file mode 100644 (file)
index 2862da0..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY     = "agl-service-nfc"
-DESCRIPTION = ""
-HOMEPAGE    = "https://www.github.com/iotbzh/nfc-binding"
-SECTION     = "apps"
-DEPENDS     = "af-binder json-c libnfc"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-inherit cmake pkgconfig aglwgt
-
-SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/apps/agl-service-nfc;protocol=https;branch=${AGL_BRANCH}"
-SRCREV = "${AGL_APP_REVISION}"
-
-PV = "1.0+git${SRCPV}"
-S  = "${WORKDIR}/git"
-
diff --git a/recipes-demo-hmi/agl-service-radio/agl-service-radio_git.bb b/recipes-demo-hmi/agl-service-radio/agl-service-radio_git.bb
deleted file mode 100644 (file)
index 0e913af..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY     = "Radio Service Binding"
-DESCRIPTION = "AGL Radio Service Binding"
-HOMEPAGE    = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-service-radio"
-SECTION     = "apps"
-
-
-LICENSE     = "Apache-2.0 & GPLv2+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984 \
-                    file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/apps/agl-service-radio;protocol=https;branch=${AGL_BRANCH}"
-SRCREV  = "${AGL_APP_REVISION}"
-
-PV = "1.0+git${SRCPV}"
-S  = "${WORKDIR}/git"
-
-# build-time dependencies
-DEPENDS = "rtl-sdr glib-2.0 pulseaudio alsa-lib"
-
-inherit cmake aglwgt pkgconfig
diff --git a/recipes-demo-hmi/agl-service-signal-composer/agl-service-signal-composer_git.bb b/recipes-demo-hmi/agl-service-signal-composer/agl-service-signal-composer_git.bb
deleted file mode 100644 (file)
index 0d308d0..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY     = "agl-service-signal-composer"
-DESCRIPTION = "AGL High Level Signaling service to handle CAN, LIN, and others signaling sources"
-HOMEPAGE    = "https://git.automotivelinux.org/apps/agl-service-signal-composer/"
-SECTION     = "apps"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-inherit cmake pkgconfig aglwgt
-
-DEPENDS += "lua lua-native"
-RDEPENDS_${PN} += "lua"
-
-SRC_URI = "gitsm://git.automotivelinux.org/apps/agl-service-signal-composer;protocol=https;branch=${AGL_BRANCH}"
-SRCREV = "b77795e5c12be30a1fd2cc14b1b2b8cb83a58f4d"
-
-PV = "4.0-RC5+git${SRCPV}"
-S  = "${WORKDIR}/git"
-
diff --git a/recipes-demo-hmi/agl-service-steering-wheel/agl-service-steering-wheel_0.1.bb b/recipes-demo-hmi/agl-service-steering-wheel/agl-service-steering-wheel_0.1.bb
deleted file mode 100644 (file)
index 65328ff..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-DESCRIPTION = "logitech g29 wheel service"
-HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-service-steering-wheel"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984"
-SECTION = "apps"
-
-SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/agl-service-steering-wheel;protocol=https;branch=${AGL_BRANCH}"
-SRCREV = "44e29d0b7b0382214dfae5b82c1c038d6bf7877f"
-
-PN          = "agl-service-steering-wheel"
-S = "${WORKDIR}/git"
-
-DEPENDS = "glib-2.0 af-binder"
-
-inherit cmake aglwgt
diff --git a/recipes-demo-hmi/agl-service-weather/agl-service-weather_git.bb b/recipes-demo-hmi/agl-service-weather/agl-service-weather_git.bb
deleted file mode 100644 (file)
index 340bbd7..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY     = "Weather Service Binding"
-DESCRIPTION = "AGL Weather Service Binding"
-HOMEPAGE    = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-service-weather"
-SECTION     = "apps"
-
-LICENSE     = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984"
-
-SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/apps/agl-service-weather;protocol=https;branch=${AGL_BRANCH}"
-SRCREV  = "${AGL_APP_REVISION}"
-
-PV = "1.0+git${SRCPV}"
-S  = "${WORKDIR}/git"
-
-DEPENDS = "glib-2.0 json-c"
-RDEPENDS_${PN} = "agl-service-geoclue"
-
-inherit cmake aglwgt pkgconfig
diff --git a/recipes-demo-hmi/agl-service-wifi/agl-service-wifi_git.bb b/recipes-demo-hmi/agl-service-wifi/agl-service-wifi_git.bb
deleted file mode 100644 (file)
index 2b680f4..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY     = "WiFi Service Binding"
-DESCRIPTION = "AGL WiFi Service Binding"
-HOMEPAGE    = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-service-wifi"
-SECTION     = "apps"
-
-LICENSE     = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984"
-
-SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/apps/agl-service-wifi;protocol=https;branch=${AGL_BRANCH}"
-SRCREV  = "${AGL_APP_REVISION}"
-
-PV = "1.0+git${SRCPV}"
-S  = "${WORKDIR}/git"
-
-inherit cmake aglwgt pkgconfig
diff --git a/recipes-demo-hmi/high-level-viwi-service/high-level-viwi-service.bb b/recipes-demo-hmi/high-level-viwi-service/high-level-viwi-service.bb
deleted file mode 100644 (file)
index 3d4cc45..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY     = "High level ViWi service"
-DESCRIPTION = "AGL High Level service using ViWi protocol to expose CAN API."
-HOMEPAGE    = "https://github.com/iotbzh/high-level-viwi-service"
-
-LICENSE     = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5de84541278ea4e62cacfdc0f890c459"
-
-SRC_URI = "gitsm://github.com/iotbzh/high-level-viwi-service.git;protocol=https"
-SRCREV  = "c4935e58769966a9b79b21c45798ab8828fe0ad0"
-
-PV = "4.0+git${SRCPV}"
-S  = "${WORKDIR}/git"
-
-# Run-time dependencies
-RDEPENDS_${PN} += "agl-service-can-low-level"
-
-inherit cmake aglwgt
-
-AGLWGT_AUTOINSTALL_${PN} := "0"
diff --git a/recipes-extended/gperf/gperf_%.bbappend b/recipes-extended/gperf/gperf_%.bbappend
deleted file mode 100644 (file)
index 2a59083..0000000
+++ /dev/null
@@ -1 +0,0 @@
-BBCLASSEXTEND += "nativesdk"
diff --git a/recipes-graphics/.gitkeep b/recipes-graphics/.gitkeep
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/recipes-graphics/wayland/wayland-ivi-extension/cmake-find-gtest.patch b/recipes-graphics/wayland/wayland-ivi-extension/cmake-find-gtest.patch
deleted file mode 100644 (file)
index 5371174..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -Naur old/ivi-input-api/test/CMakeLists.txt new/ivi-input-api/test/CMakeLists.txt
---- old/ivi-input-api/test/CMakeLists.txt      2015-10-19 23:31:13.000000000 +1000
-+++ new/ivi-input-api/test/CMakeLists.txt      2015-10-19 23:30:32.000000000 +1000
-@@ -18,6 +18,7 @@
- ############################################################################
- CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-+SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/modules)
- FIND_PACKAGE(gtest)
-diff -Naur old/ivi-layermanagement-api/test/CMakeLists.txt new/ivi-layermanagement-api/test/CMakeLists.txt
---- old/ivi-layermanagement-api/test/CMakeLists.txt    2015-10-19 23:31:20.000000000 +1000
-+++ new/ivi-layermanagement-api/test/CMakeLists.txt    2015-10-19 23:30:48.000000000 +1000
-@@ -18,6 +18,7 @@
- ############################################################################
- CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-+SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/modules)
- FIND_PACKAGE(gtest)
diff --git a/recipes-graphics/wayland/wayland-ivi-extension/test-path.patch b/recipes-graphics/wayland/wayland-ivi-extension/test-path.patch
deleted file mode 100644 (file)
index 251bc58..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-From fbe0d0fd35ff79561dc2da853f1b0903bfde428d Mon Sep 17 00:00:00 2001
-From: Changhyeok Bae <changhyeok.bae@gmail.com>
-Date: Thu, 1 Jun 2017 07:45:20 +0000
-Subject: [PATCH] test patch
-
----
- ivi-input-api/test/CMakeLists.txt           | 9 +++++----
- ivi-layermanagement-api/test/CMakeLists.txt | 7 ++++---
- 2 files changed, 9 insertions(+), 7 deletions(-)
-
-diff --git a/ivi-input-api/test/CMakeLists.txt b/ivi-input-api/test/CMakeLists.txt
-index db05d0f..db3b745 100644
---- a/ivi-input-api/test/CMakeLists.txt
-+++ b/ivi-input-api/test/CMakeLists.txt
-@@ -65,12 +65,13 @@ IF(BUILD_ILM_API_TESTS)
-     ADD_DEPENDENCIES(${PROJECT_NAME} ${LIBS})
--    INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
-+    INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/test)
-+    INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/CTestTestfile.cmake DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/test/ivi-layermanagement-api)
-     # use CTest
-     ENABLE_TESTING()
--    ADD_TEST(ilmCommon  ${PROJECT_NAME})
--    ADD_TEST(ilmControl ${PROJECT_NAME})
--    ADD_TEST(ilmInput ${PROJECT_NAME})
-+    ADD_TEST(ilmCommon  {CMAKE_INSTALL_LIBEXECDIR}/test/${PROJECT_NAME})
-+    ADD_TEST(ilmControl {CMAKE_INSTALL_LIBEXECDIR}/test/${PROJECT_NAME})
-+    ADD_TEST(ilmInput   {CMAKE_INSTALL_LIBEXECDIR}/test/${PROJECT_NAME})
- ENDIF()
-diff --git a/ivi-layermanagement-api/test/CMakeLists.txt b/ivi-layermanagement-api/test/CMakeLists.txt
-index fe9a0a4..090d734 100644
---- a/ivi-layermanagement-api/test/CMakeLists.txt
-+++ b/ivi-layermanagement-api/test/CMakeLists.txt
-@@ -63,11 +63,12 @@ IF(BUILD_ILM_API_TESTS)
-     ADD_DEPENDENCIES(${PROJECT_NAME} ${LIBS})
--    INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
-+    INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/test)
-+    INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/CTestTestfile.cmake DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/test/ivi-layermanagement-api)
-     # use CTest
-     ENABLE_TESTING()
--    ADD_TEST(ilmCommon  ${PROJECT_NAME})
--    ADD_TEST(ilmControl ${PROJECT_NAME})
-+    ADD_TEST(ilmCommon  ${CMAKE_INSTALL_LIBEXECDIR}/test/${PROJECT_NAME})
-+    ADD_TEST(ilmControl ${CMAKE_INSTALL_LIBEXECDIR}/test/${PROJECT_NAME})
- ENDIF() 
--- 
-2.7.4
-
diff --git a/recipes-graphics/wayland/wayland-ivi-extension_1.1%.bbappend b/recipes-graphics/wayland/wayland-ivi-extension_1.1%.bbappend
deleted file mode 100644 (file)
index 9c29dee..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-FILESEXTRAPATHS_append := ":${THISDIR}/${PN}"
-
-ENABLE_TEST = "-DBUILD_ILM_API_TESTS:BOOL=TRUE \
-    -DINSTALL_ILM_API_TESTS:BOOL=TRUE \
-    "
-
-DISABLE_TEST = "-DBUILD_ILM_API_TESTS:BOOL=FALSE \
-    -DINSTALL_ILM_API_TESTS:BOOL=FALSE \
-    "
-
-PACKAGECONFIG ??= "test"
-PACKAGECONFIG[test] = "${ENABLE_TEST},${DISABLE_TEST},gtest"
-
-SRC_URI_append = "\
-    file://cmake-find-gtest.patch \
-    file://test-path.patch \
-    "
-
-PACKAGES =+ "${PN}-test"
-
-FILES_${PN}-test = "${libdir}/${PN}/test/*/CTestTestfile.cmake \
-    ${libdir}/${PN}/test/ivi-layermanagement-api-test \
-    ${libdir}/${PN}/test/ivi-input-api-test \
-    "
-FILES_${PN}-dbg += "${libdir}/${PN}/test/.debug"
-
-RDEPENDS_${PN}-test += "cmake"
diff --git a/recipes-graphics/wayland/weston-ini-conf.bbappend b/recipes-graphics/wayland/weston-ini-conf.bbappend
deleted file mode 100644 (file)
index d778459..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-#
-SRC_URI += "${@bb.utils.contains("DISTRO_FEATURES", "virtual-display", "file://virtualoutput.cfg", "",d)}"
-
-do_configure_append() {
-    if ${@bb.utils.contains('DISTRO_FEATURES', 'virtual-display', 'true', 'false', d)}; then
-        echo virtual=1 >> ${WORKDIR}/core.cfg
-    fi
-
-    if ${@bb.utils.contains('DISTRO_FEATURES', 'gst-record', 'true', 'false', d)}; then
-       echo recorder=true >> ${WORKDIR}/virtualoutput.cfg
-    fi
-}
-
diff --git a/recipes-graphics/wayland/weston-ini-conf/virtualoutput.cfg b/recipes-graphics/wayland/weston-ini-conf/virtualoutput.cfg
deleted file mode 100644 (file)
index 76f536f..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-[output]
-name=virtual1
-mode=1920x1080@30
-ip=192.168.20.99
-port=5005
-bitrate=3000000
-crop=384x368@0x0
diff --git a/recipes-graphics/wayland/weston_%.bbappend b/recipes-graphics/wayland/weston_%.bbappend
deleted file mode 100644 (file)
index 38590dc..0000000
+++ /dev/null
@@ -1 +0,0 @@
-DEPENDS_append_ulcb = " gstreamer1.0-plugins-base"
diff --git a/recipes-kernel/mocca-usb/mocca-usb.bb b/recipes-kernel/mocca-usb/mocca-usb.bb
deleted file mode 100644 (file)
index cf4e585..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "Build USB driver for MOCCA box"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
-
-inherit module
-
-PV = "0.1"
-
-SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/can-lin/;protocol=https;branch=${AGL_BRANCH}"
-S = "${WORKDIR}/git/Usb-Driver"
-SRCREV = "02ba272c0eb51b06160307b6cb71f91684772c8c"
-
-# The inherit of module.bbclass will automatically name module packages with
-# "kernel-module-" prefix as required by the oe-core build environment.
-
-do_install_append () {
-    # modprobe automatically at boot
-    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
-        install -d ${D}${sysconfdir}/modules-load.d
-        echo "mocca_usb" > ${D}${sysconfdir}/modules-load.d/mocca_usb.conf
-    fi
-}
diff --git a/recipes-kernel/most/files/0002-src-most-add-auto-conf-feature.patch b/recipes-kernel/most/files/0002-src-most-add-auto-conf-feature.patch
deleted file mode 100644 (file)
index dd811c8..0000000
+++ /dev/null
@@ -1,472 +0,0 @@
-From 9cb7cb85f59509ac445116e9458c502cf6cb74e6 Mon Sep 17 00:00:00 2001
-From: Christian Gromm <christian.gromm@microchip.com>
-Date: Thu, 9 Nov 2017 13:20:23 +0100
-Subject: [PATCH 2/2] src: most: add auto conf feature
-
-This patch adds the auto configuration feature to the driver
-sources. It is needed to have the driver configured automatically
-upon start up w/o the need for userspace to set up sysfs.
-
-Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
----
- driver/Makefile           |   3 +
- driver/default_conf.c     | 162 ++++++++++++++++++++++++++++++++++++++++++++++
- driver/include/mostcore.h |  64 ++++++++++++++++++
- driver/mostcore/core.c    | 120 ++++++++++++++++++++++++++++------
- 4 files changed, 331 insertions(+), 18 deletions(-)
- create mode 100644 driver/default_conf.c
-
-diff --git a/Makefile b/Makefile
-index e77a4b6..6d74ebe 100644
---- a/Makefile
-+++ b/Makefile
-@@ -6,6 +6,9 @@ obj-m := mostcore.o
- mostcore-y := mostcore/core.o
- CFLAGS_core.o := -I$(src)/include/
-+obj-m += default_conf.o
-+CFLAGL_default_conf.o := -I$(src)/include
-+
- obj-m += aim_cdev.o
- aim_cdev-y := aim-cdev/cdev.o
- CFLAGS_cdev.o := -I$(src)/include/
-diff --git a/default_conf.c b/default_conf.c
-new file mode 100644
-index 0000000..adb1786
---- /dev/null
-+++ b/default_conf.c
-@@ -0,0 +1,162 @@
-+/*
-+ * default_conf.c - Default configuration for the MOST channels.
-+ *
-+ * Copyright (C) 2017, Microchip Technology Germany II GmbH & Co. KG
-+ *
-+ * This program 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 General Public License for more details.
-+ *
-+ * This file is licensed under GPLv2.
-+ */
-+
-+#include "include/mostcore.h"
-+#include <linux/module.h>
-+
-+static struct most_config_probe config_probes[] = {
-+
-+      /* OS81118 Control */
-+      {
-+              .ch_name = "ep8f",
-+              .cfg = {
-+                      .direction = MOST_CH_RX,
-+                      .data_type = MOST_CH_CONTROL,
-+                      .num_buffers = 16,
-+                      .buffer_size = 64,
-+              },
-+              .aim_name = "cdev",
-+              .aim_param = "inic-usb-crx",
-+      },
-+      {
-+              .ch_name = "ep0f",
-+              .cfg = {
-+                      .direction = MOST_CH_TX,
-+                      .data_type = MOST_CH_CONTROL,
-+                      .num_buffers = 16,
-+                      .buffer_size = 64,
-+              },
-+              .aim_name = "cdev",
-+              .aim_param = "inic-usb-ctx",
-+      },
-+      /* OS81118 Async */
-+      {
-+              .ch_name = "ep8e",
-+              .cfg = {
-+                      .direction = MOST_CH_RX,
-+                      .data_type = MOST_CH_ASYNC,
-+                      .num_buffers = 20,
-+                      .buffer_size = 1522,
-+              },
-+              .aim_name = "networking",
-+              .aim_param = "inic-usb-arx",
-+      },
-+      {
-+              .ch_name = "ep0e",
-+              .cfg = {
-+                      .direction = MOST_CH_TX,
-+                      .data_type = MOST_CH_ASYNC,
-+                      .num_buffers = 20,
-+                      .buffer_size = 1522,
-+              },
-+              .aim_name = "networking",
-+              .aim_param = "inic-usb-atx",
-+      },
-+      /* OS81210 Control */
-+      {
-+              .ch_name = "ep87",
-+              .cfg = {
-+                      .direction = MOST_CH_RX,
-+                      .data_type = MOST_CH_CONTROL,
-+                      .num_buffers = 16,
-+                      .buffer_size = 64,
-+              },
-+              .aim_name = "cdev",
-+              .aim_param = "inic-usb-crx",
-+      },
-+      {
-+              .ch_name = "ep07",
-+              .cfg = {
-+                      .direction = MOST_CH_TX,
-+                      .data_type = MOST_CH_CONTROL,
-+                      .num_buffers = 16,
-+                      .buffer_size = 64,
-+              },
-+              .aim_name = "cdev",
-+              .aim_param = "inic-usb-ctx",
-+      },
-+      /* OS81210 Async */
-+      {
-+              .ch_name = "ep86",
-+              .cfg = {
-+                      .direction = MOST_CH_RX,
-+                      .data_type = MOST_CH_ASYNC,
-+                      .num_buffers = 20,
-+                      .buffer_size = 1522,
-+              },
-+              .aim_name = "networking",
-+              .aim_param = "inic-usb-arx",
-+      },
-+      {
-+              .ch_name = "ep06",
-+              .cfg = {
-+                      .direction = MOST_CH_TX,
-+                      .data_type = MOST_CH_ASYNC,
-+                      .num_buffers = 20,
-+                      .buffer_size = 1522,
-+              },
-+              .aim_name = "networking",
-+              .aim_param = "inic-usb-atx",
-+      },
-+      /* Streaming channels (common for all INICs) */
-+      {
-+              .ch_name = "ep01",
-+              .cfg = {
-+                      .direction = MOST_CH_TX,
-+                      .data_type = MOST_CH_SYNC,
-+                      .num_buffers = 8,
-+                      .buffer_size = 2 * 12 * 42,
-+                      .subbuffer_size = 12,
-+                      .packets_per_xact = 42,
-+              },
-+              .aim_name = "sound",
-+              .aim_param = "ep01-6ch.6x16",
-+      },
-+      {
-+              .ch_name = "ep02",
-+              .cfg = {
-+                      .direction = MOST_CH_TX,
-+                      .data_type = MOST_CH_ISOC,
-+                      .num_buffers = 8,
-+                      .buffer_size = 40 * 188,
-+                      .subbuffer_size = 188,
-+                      .packets_per_xact = 2,
-+              },
-+              .aim_name = "cdev",
-+              .aim_param = "inic-usb-itx1",
-+      },
-+      
-+      /* sentinel */
-+      {}
-+};
-+
-+static struct most_config_set config_set = {
-+      .probes = config_probes
-+};
-+
-+static int __init mod_init(void)
-+{
-+      most_register_config_set(&config_set);
-+      return 0;
-+}
-+
-+static void __exit mod_exit(void)
-+{
-+      most_deregister_config_set(&config_set);
-+}
-+
-+module_init(mod_init);
-+module_exit(mod_exit);
-+MODULE_LICENSE("GPL");
-+MODULE_AUTHOR("Andrey Shvetsov <andrey.shvetsov@k2l.de>");
-+MODULE_DESCRIPTION("Default configuration for the MOST channels");
-diff --git a/include/mostcore.h b/include/mostcore.h
-index dc87121..3c00efb 100644
---- a/include/mostcore.h
-+++ b/include/mostcore.h
-@@ -145,6 +145,39 @@ struct most_channel_config {
-       u16 dbr_size;
- };
-+/**
-+ * struct most_config_probe - matching rule, channel configuration and
-+ *     the optional AIM name used for the automatic configuration and linking
-+ *     of the channel
-+ * @dev_name: optional matching device id
-+ *     ("usb_device 1-1:1.0," "dim2-12345678", etc.)
-+ * @ch_name: matching channel name ("ep8f", "ca2", etc.)
-+ * @cfg: configuration that will be applied for the found channel
-+ * @aim_name: optional name of the AIM that will be linked to the channel
-+ *     ("cdev", "networking", "v4l", "sound")
-+ * @aim_param: AIM dependent parameter (it is the character device name
-+ *     for the cdev AIM, PCM format for the audio AIM, etc.)
-+ */
-+struct most_config_probe {
-+      const char *dev_name;
-+      const char *ch_name;
-+      struct most_channel_config cfg;
-+      const char *aim_name;
-+      const char *aim_param;
-+};
-+
-+/**
-+ * struct most_config_set - the configuration set containing
-+ *     several automatic configurations for the different channels
-+ * @probes: list of the matching rules and the configurations,
-+ *     that must be ended with the empty structure
-+ * @list: list head used by the MostCore
-+ */
-+struct most_config_set {
-+      const struct most_config_probe *probes;
-+      struct list_head list;
-+};
-+
- /*
-  * struct mbo - MOST Buffer Object.
-  * @context: context for core completion handler
-@@ -285,6 +318,37 @@ struct most_aim {
- };
- /**
-+ * most_register_config_set - registers the configuration set
-+ *
-+ * @cfg_set: configuration set to be registered for the future probes
-+ *
-+ * The function registers the given configuration set.
-+ *
-+ * It is possible to register or deregister several configuration sets
-+ * independently.  Different configuration sets may contain the
-+ * overlapped matching rules but later registered configuration set has
-+ * the higher priority over the prior registered set.
-+ *
-+ * The only the first matched configuration is applied for each
-+ * channel.
-+ *
-+ * The configuration for the channel is applied at the time of
-+ * registration of the parent most_interface.
-+ */
-+void most_register_config_set(struct most_config_set *cfg_set);
-+
-+/**
-+ * most_deregister_config_set - deregisters the prior registered
-+ *     configuration set
-+ *
-+ * @cfg_set: configuration set to be deregistered
-+ *
-+ * The calling of this function does not change the current
-+ * configuration of the channels.
-+ */
-+void most_deregister_config_set(struct most_config_set *cfg_set);
-+
-+/**
-  * most_register_interface - Registers instance of the interface.
-  * @iface: Pointer to the interface instance description.
-  *
-diff --git a/mostcore/core.c b/mostcore/core.c
-index 9e0a352..6035cf0 100644
---- a/mostcore/core.c
-+++ b/mostcore/core.c
-@@ -36,6 +36,8 @@ static struct class *most_class;
- static struct device *core_dev;
- static struct ida mdev_id;
- static int dummy_num_buffers;
-+static struct list_head config_probes;
-+struct mutex config_probes_mt; /* config_probes */
- struct most_c_aim_obj {
-       struct most_aim *ptr;
-@@ -918,6 +920,30 @@ most_c_obj *get_channel_by_name(char *mdev, char *mdev_ch)
-       return c;
- }
-+static int link_channel_to_aim(struct most_c_obj *c, struct most_aim *aim,
-+                             char *aim_param)
-+{
-+      int ret;
-+      struct most_aim **aim_ptr;
-+
-+      if (!c->aim0.ptr)
-+              aim_ptr = &c->aim0.ptr;
-+      else if (!c->aim1.ptr)
-+              aim_ptr = &c->aim1.ptr;
-+      else
-+              return -ENOSPC;
-+
-+      *aim_ptr = aim;
-+      ret = aim->probe_channel(c->iface, c->channel_id,
-+                               &c->cfg, &c->kobj, aim_param);
-+      if (ret) {
-+              *aim_ptr = NULL;
-+              return ret;
-+      }
-+
-+      return 0;
-+}
-+
- /**
-  * add_link_store - store() function for add_link attribute
-  * @aim_obj: pointer to AIM object
-@@ -946,45 +972,33 @@ static ssize_t add_link_store(struct most_aim_obj *aim_obj,
-                             size_t len)
- {
-       struct most_c_obj *c;
--      struct most_aim **aim_ptr;
-       char buffer[STRING_SIZE];
-       char *mdev;
-       char *mdev_ch;
--      char *mdev_devnod;
-+      char *aim_param;
-       char devnod_buf[STRING_SIZE];
-       int ret;
-       size_t max_len = min_t(size_t, len + 1, STRING_SIZE);
-       strlcpy(buffer, buf, max_len);
--      ret = split_string(buffer, &mdev, &mdev_ch, &mdev_devnod);
-+      ret = split_string(buffer, &mdev, &mdev_ch, &aim_param);
-       if (ret)
-               return ret;
--      if (!mdev_devnod || *mdev_devnod == 0) {
-+      if (!aim_param || *aim_param == 0) {
-               snprintf(devnod_buf, sizeof(devnod_buf), "%s-%s", mdev,
-                        mdev_ch);
--              mdev_devnod = devnod_buf;
-+              aim_param = devnod_buf;
-       }
-       c = get_channel_by_name(mdev, mdev_ch);
-       if (IS_ERR(c))
-               return -ENODEV;
--      if (!c->aim0.ptr)
--              aim_ptr = &c->aim0.ptr;
--      else if (!c->aim1.ptr)
--              aim_ptr = &c->aim1.ptr;
--      else
--              return -ENOSPC;
--
--      *aim_ptr = aim_obj->driver;
--      ret = aim_obj->driver->probe_channel(c->iface, c->channel_id,
--                                           &c->cfg, &c->kobj, mdev_devnod);
--      if (ret) {
--              *aim_ptr = NULL;
-+      ret = link_channel_to_aim(c, aim_obj->driver, aim_param);
-+      if (ret)
-               return ret;
--      }
-       return len;
- }
-@@ -1679,6 +1693,73 @@ int most_deregister_aim(struct most_aim *aim)
- }
- EXPORT_SYMBOL_GPL(most_deregister_aim);
-+void most_register_config_set(struct most_config_set *cfg_set)
-+{
-+      mutex_lock(&config_probes_mt);
-+      list_add(&cfg_set->list, &config_probes);
-+      mutex_unlock(&config_probes_mt);
-+}
-+EXPORT_SYMBOL(most_register_config_set);
-+
-+void most_deregister_config_set(struct most_config_set *cfg_set)
-+{
-+      mutex_lock(&config_probes_mt);
-+      list_del(&cfg_set->list);
-+      mutex_unlock(&config_probes_mt);
-+}
-+EXPORT_SYMBOL(most_deregister_config_set);
-+
-+static int probe_aim(struct most_c_obj *c,
-+                   const char *aim_name, const char *aim_param)
-+{
-+      struct most_aim_obj *aim_obj;
-+      char buf[STRING_SIZE];
-+
-+      list_for_each_entry(aim_obj, &aim_list, list) {
-+              if (!strcmp(aim_obj->driver->name, aim_name)) {
-+                      strlcpy(buf, aim_param ? aim_param : "", sizeof(buf));
-+                      return link_channel_to_aim(c, aim_obj->driver, buf);
-+              }
-+      }
-+      return 0;
-+}
-+
-+static bool probe_config_set(struct most_c_obj *c,
-+                           const char *dev_name, const char *ch_name,
-+                           const struct most_config_probe *p)
-+{
-+      int err;
-+
-+      for (; p->ch_name; p++) {
-+              if ((p->dev_name && strcmp(dev_name, p->dev_name)) ||
-+                  strcmp(ch_name, p->ch_name))
-+                      continue;
-+
-+              c->cfg = p->cfg;
-+              if (p->aim_name) {
-+                      err = probe_aim(c, p->aim_name, p->aim_param);
-+                      if (err)
-+                              pr_err("failed to autolink %s to %s: %d\n",
-+                                     ch_name, p->aim_name, err);
-+              }
-+              return true;
-+      }
-+      return false;
-+}
-+
-+static void find_configuration(struct most_c_obj *c, const char *dev_name,
-+                             const char *ch_name)
-+{
-+      struct most_config_set *plist;
-+
-+      mutex_lock(&config_probes_mt);
-+      list_for_each_entry(plist, &config_probes, list) {
-+              if (probe_config_set(c, dev_name, ch_name, plist->probes))
-+                      break;
-+      }
-+      mutex_unlock(&config_probes_mt);
-+}
-+
- /**
-  * most_register_interface - registers an interface with core
-  * @iface: pointer to the instance of the interface description.
-@@ -1777,6 +1858,7 @@ struct kobject *most_register_interface(struct most_interface *iface)
-               mutex_init(&c->start_mutex);
-               mutex_init(&c->nq_mutex);
-               list_add_tail(&c->list, &inst->channel_list);
-+              find_configuration(c, iface->description, channel_name);
-       }
-       pr_info("registered new MOST device mdev%d (%s)\n",
-               inst->dev_id, iface->description);
-@@ -1880,6 +1962,8 @@ static int __init most_init(void)
-       pr_info("init()\n");
-       INIT_LIST_HEAD(&instance_list);
-       INIT_LIST_HEAD(&aim_list);
-+      INIT_LIST_HEAD(&config_probes);
-+      mutex_init(&config_probes_mt);
-       ida_init(&mdev_id);
-       err = bus_register(&most_bus);
--- 
-2.7.4
-
diff --git a/recipes-kernel/most/files/0003-core-remove-kernel-log-for-MBO-status.patch b/recipes-kernel/most/files/0003-core-remove-kernel-log-for-MBO-status.patch
deleted file mode 100644 (file)
index 4703844..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From b269994be937cbb31c0d73ecc899ca8a545a6a4a Mon Sep 17 00:00:00 2001
-From: Christian Gromm <christian.gromm@microchip.com>
-Date: Mon, 4 Sep 2017 11:09:17 +0200
-Subject: [PATCH 3/5] core: remove kernel log for MBO status
-
-Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
----
- driver/mostcore/core.c | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/mostcore/core.c b/mostcore/core.c
-index 931efb9..595becc 100644
---- a/mostcore/core.c
-+++ b/mostcore/core.c
-@@ -1348,8 +1348,6 @@ static void most_write_completion(struct mbo *mbo)
-       BUG_ON((!mbo) || (!mbo->context));
-       c = mbo->context;
--      if (mbo->status == MBO_E_INVAL)
--              pr_info("WARN: Tx MBO status: invalid\n");
-       if (unlikely(c->is_poisoned || (mbo->status == MBO_E_CLOSE)))
-               trash_mbo(mbo);
-       else
--- 
-2.7.4
-
diff --git a/recipes-kernel/most/files/0004-most-video-set-device_caps.patch b/recipes-kernel/most/files/0004-most-video-set-device_caps.patch
deleted file mode 100644 (file)
index 010d4b0..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From a5fd2ae8d4a3b2a8f7a33a4ea469ea7ee0d946ef Mon Sep 17 00:00:00 2001
-From: Christian Gromm <christian.gromm@microchip.com>
-Date: Mon, 4 Sep 2017 15:36:38 +0200
-Subject: [PATCH 4/5] most: video: set device_caps
-
-Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
----
- driver/aim-v4l2/video.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/aim-v4l2/video.c b/aim-v4l2/video.c
-index e074841..6405a03 100644
---- a/aim-v4l2/video.c
-+++ b/aim-v4l2/video.c
-@@ -263,6 +263,7 @@ static int vidioc_querycap(struct file *file, void *priv,
-       snprintf(cap->bus_info, sizeof(cap->bus_info),
-                "%s", mdev->iface->description);
-+      cap->device_caps =
-       cap->capabilities =
-               V4L2_CAP_READWRITE |
-               V4L2_CAP_TUNER |
--- 
-2.7.4
-
diff --git a/recipes-kernel/most/files/0005-most-video-set-V4L2_CAP_DEVICE_CAPS-flag.patch b/recipes-kernel/most/files/0005-most-video-set-V4L2_CAP_DEVICE_CAPS-flag.patch
deleted file mode 100644 (file)
index ebaee9e..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From 7518453386ad3e82008186a6c9ca86ed8c136801 Mon Sep 17 00:00:00 2001
-From: Christian Gromm <christian.gromm@microchip.com>
-Date: Mon, 4 Sep 2017 16:08:38 +0200
-Subject: [PATCH 5/5] most: video: set V4L2_CAP_DEVICE_CAPS flag
-
-Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
----
- driver/aim-v4l2/video.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/aim-v4l2/video.c b/aim-v4l2/video.c
-index 6405a03..db75d4d 100644
---- a/aim-v4l2/video.c
-+++ b/aim-v4l2/video.c
-@@ -265,6 +265,7 @@ static int vidioc_querycap(struct file *file, void *priv,
-       cap->device_caps =
-       cap->capabilities =
-+              V4L2_CAP_DEVICE_CAPS |
-               V4L2_CAP_READWRITE |
-               V4L2_CAP_TUNER |
-               V4L2_CAP_VIDEO_CAPTURE;
--- 
-2.7.4
-
diff --git a/recipes-kernel/most/files/0006-dim2-fix-startup-sequence.patch b/recipes-kernel/most/files/0006-dim2-fix-startup-sequence.patch
deleted file mode 100644 (file)
index 59c6ae6..0000000
+++ /dev/null
@@ -1,186 +0,0 @@
-From 63bcd9b421ae7927948bffec9566db47f40ea290 Mon Sep 17 00:00:00 2001
-From: Andrey Shvetsov <andrey.shvetsov@k2l.de>
-Date: Tue, 30 Jan 2018 17:34:09 +0100
-Subject: [PATCH] staging: most: dim2: fix startup sequence
-
-Platform specific initializations (pdata->init) must be done before DIM2
-IP module startup (dim_startup).
-
-Signed-off-by: Andrey Shvetsov <andrey.shvetsov@k2l.de>
----
- hdm-dim2/dim2_hdm.c | 90 +++++++++++++++++++++++++++++++++++++++---------------------------------------------------
- 1 file changed, 39 insertions(+), 51 deletions(-)
-
-diff --git a/hdm-dim2/dim2_hdm.c b/hdm-dim2/dim2_hdm.c
-index 893b8e4..e4629a5 100644
---- a/hdm-dim2/dim2_hdm.c
-+++ b/hdm-dim2/dim2_hdm.c
-@@ -155,38 +155,6 @@ void dimcb_on_error(u8 error_id, const char *error_message)
- }
-
- /**
-- * startup_dim - initialize the dim2 interface
-- * @pdev: platform device
-- */
--static int startup_dim(struct platform_device *pdev)
--{
--      struct dim2_hdm *dev = platform_get_drvdata(pdev);
--      struct dim2_platform_data *pdata = pdev->dev.platform_data;
--      u8 hal_ret;
--      int ret;
--
--      if (!pdata) {
--              pr_err("missing platform data\n");
--              return -EINVAL;
--      }
--
--      ret = pdata->init ? pdata->init(pdata, dev->io_base) : 0;
--      if (ret)
--              return ret;
--
--      pr_info("sync: num of frames per sub-buffer: %u\n", fcnt);
--      hal_ret = dim_startup(dev->io_base, pdata->clk_speed, fcnt);
--      if (hal_ret != DIM_NO_ERROR) {
--              pr_err("dim_startup failed: %d\n", hal_ret);
--              if (pdata && pdata->destroy)
--                      pdata->destroy(pdata);
--              return -ENODEV;
--      }
--
--      return 0;
--}
--
--/**
-  * try_start_dim_transfer - try to transfer a buffer on a channel
-  * @hdm_ch: channel specific data
-  *
-@@ -727,10 +695,12 @@ static void dma_free(struct mbo *mbo, u32 size)
-  */
- static int dim2_probe(struct platform_device *pdev)
- {
-+      struct dim2_platform_data *pdata = pdev->dev.platform_data;
-       struct dim2_hdm *dev;
-       struct resource *res;
-       int ret, i;
-       struct kobject *kobj;
-+      u8 hal_ret;
-       int irq;
-
-       dev = devm_kzalloc(&pdev->dev, sizeof(*dev), GFP_KERNEL);
-@@ -745,38 +715,59 @@ static int dim2_probe(struct platform_device *pdev)
-       if (IS_ERR(dev->io_base))
-               return PTR_ERR(dev->io_base);
-
-+      if (!pdata) {
-+              dev_err(&pdev->dev, "missing platform data\n");
-+              return -EINVAL;
-+      }
-+
-+      ret = pdata->init ? pdata->init(pdata, dev->io_base) : 0;
-+      if (ret)
-+              return ret;
-+
-+      dev_info(&pdev->dev, "sync: num of frames per sub-buffer: %u\n", fcnt);
-+      hal_ret = dim_startup(dev->io_base, pdata->clk_speed, fcnt);
-+      if (hal_ret != DIM_NO_ERROR) {
-+              dev_err(&pdev->dev, "dim_startup failed: %d\n", hal_ret);
-+              ret = -ENODEV;
-+              goto err_bsp_destroy;
-+      }
-+
-       irq = platform_get_irq(pdev, 0);
-       if (irq < 0) {
-               dev_err(&pdev->dev, "failed to get ahb0_int irq: %d\n", irq);
--              return irq;
-+              ret = irq;
-+              goto err_shutdown_dim;
-       }
-
-       ret = devm_request_irq(&pdev->dev, irq, dim2_ahb_isr, 0,
-                              "dim2_ahb0_int", dev);
-       if (ret) {
-               dev_err(&pdev->dev, "failed to request ahb0_int irq %d\n", irq);
--              return ret;
-+              goto err_shutdown_dim;
-       }
-
-       irq = platform_get_irq(pdev, 1);
-       if (irq < 0) {
-               dev_err(&pdev->dev, "failed to get mlb_int irq: %d\n", irq);
--              return irq;
-+              ret = irq;
-+              goto err_shutdown_dim;
-       }
-
-       ret = devm_request_irq(&pdev->dev, irq, dim2_mlb_isr, 0,
-                              "dim2_mlb_int", dev);
-       if (ret) {
-               dev_err(&pdev->dev, "failed to request mlb_int irq %d\n", irq);
--              return ret;
-+              goto err_shutdown_dim;
-       }
-
-       init_waitqueue_head(&dev->netinfo_waitq);
-       dev->deliver_netinfo = 0;
--      dev->netinfo_task = kthread_run(&deliver_netinfo_thread, (void *)dev,
-+      dev->netinfo_task = kthread_run(&deliver_netinfo_thread, dev,
-                                       "dim2_netinfo");
--      if (IS_ERR(dev->netinfo_task))
--              return PTR_ERR(dev->netinfo_task);
-+      if (IS_ERR(dev->netinfo_task)) {
-+              ret = PTR_ERR(dev->netinfo_task);
-+              goto err_shutdown_dim;
-+      }
-
-       for (i = 0; i < DMA_CHANNELS; i++) {
-               struct most_channel_capability *cap = dev->capabilities + i;
-@@ -833,20 +824,17 @@ static int dim2_probe(struct platform_device *pdev)
-       if (ret)
-               goto err_unreg_iface;
-
--      ret = startup_dim(pdev);
--      if (ret) {
--              dev_err(&pdev->dev, "failed to initialize DIM2\n");
--              goto err_destroy_bus;
--      }
--
-       return 0;
-
--err_destroy_bus:
--      dim2_sysfs_destroy(&dev->bus);
- err_unreg_iface:
-       most_deregister_interface(&dev->most_iface);
- err_stop_thread:
-       kthread_stop(dev->netinfo_task);
-+err_shutdown_dim:
-+      dim_shutdown();
-+err_bsp_destroy:
-+      if (pdata && pdata->destroy)
-+              pdata->destroy(pdata);
-
-       return ret;
- }
-@@ -863,6 +851,10 @@ static int dim2_remove(struct platform_device *pdev)
-       struct dim2_platform_data *pdata = pdev->dev.platform_data;
-       unsigned long flags;
-
-+      dim2_sysfs_destroy(&dev->bus);
-+      most_deregister_interface(&dev->most_iface);
-+      kthread_stop(dev->netinfo_task);
-+
-       spin_lock_irqsave(&dim_lock, flags);
-       dim_shutdown();
-       spin_unlock_irqrestore(&dim_lock, flags);
-@@ -870,10 +862,6 @@ static int dim2_remove(struct platform_device *pdev)
-       if (pdata && pdata->destroy)
-               pdata->destroy(pdata);
-
--      dim2_sysfs_destroy(&dev->bus);
--      most_deregister_interface(&dev->most_iface);
--      kthread_stop(dev->netinfo_task);
--
-       /*
-        * break link to local platform_device_id struct
-        * to prevent crash by unload platform device module
---
-libgit2 0.26.0
diff --git a/recipes-kernel/most/files/0007-dim2-use-device-tree.patch b/recipes-kernel/most/files/0007-dim2-use-device-tree.patch
deleted file mode 100644 (file)
index 679fab7..0000000
+++ /dev/null
@@ -1,378 +0,0 @@
-From 8e16207392cd715ea88f6780981a3d55ab005588 Mon Sep 17 00:00:00 2001
-From: Andrey Shvetsov <andrey.shvetsov@k2l.de>
-Date: Mon, 12 Feb 2018 12:23:37 +0100
-Subject: [PATCH] staging: most: dim2: use device tree
-
-Current dim2 driver expects the existence of a platform driver that
-implements the platform specific initialization and delivery of the irq
-numbers.
-
-This patch integrates the device tree activity and platform specific
-code into the driver.
-
-Signed-off-by: Andrey Shvetsov <andrey.shvetsov@k2l.de>
----
- hdm-dim2/dim2_hdm.c                 | 222 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------
- hdm-dim2/dim2_hdm.h                 |  28 ----------------------------
- hdm-dim2/platform/dim2_arwen_mlb3.c | 165 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
- hdm-dim2/platform/dim2_arwen_mlb6.c | 169 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- hdm-dim2/platform/dim2_h2_dt.c      | 227 -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- hdm-dim2/platform/dim2_mx6q.c       | 192 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- hdm-dim2/platform/dim2_mx6q_dt.c    | 224 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- 7 files changed, 193 insertions(+), 1034 deletions(-)
- delete mode 100644 hdm-dim2/dim2_hdm.h
- delete mode 100644 hdm-dim2/platform/dim2_arwen_mlb3.c
- delete mode 100644 hdm-dim2/platform/dim2_arwen_mlb6.c
- delete mode 100644 hdm-dim2/platform/dim2_h2_dt.c
- delete mode 100644 hdm-dim2/platform/dim2_mx6q.c
- delete mode 100644 hdm-dim2/platform/dim2_mx6q_dt.c
-
-diff --git a/hdm-dim2/dim2_hdm.c b/hdm-dim2/dim2_hdm.c
-index e4629a5..2dba917 100644
---- a/hdm-dim2/dim2_hdm.c
-+++ b/hdm-dim2/dim2_hdm.c
-@@ -14,6 +14,7 @@
- #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
-
- #include <linux/module.h>
-+#include <linux/of_platform.h>
- #include <linux/printk.h>
- #include <linux/kernel.h>
- #include <linux/init.h>
-@@ -21,13 +22,13 @@
- #include <linux/interrupt.h>
- #include <linux/slab.h>
- #include <linux/io.h>
-+#include <linux/clk.h>
- #include <linux/dma-mapping.h>
- #include <linux/sched.h>
- #include <linux/kthread.h>
-
- #include <mostcore.h>
- #include "dim2_hal.h"
--#include "dim2_hdm.h"
- #include "dim2_errors.h"
- #include "dim2_sysfs.h"
-
-@@ -93,6 +94,9 @@ struct dim2_hdm {
-       struct most_interface most_iface;
-       char name[16 + sizeof "dim2-"];
-       void __iomem *io_base;
-+      u8 clk_speed;
-+      struct clk *clk;
-+      struct clk *clk_pll;
-       struct task_struct *netinfo_task;
-       wait_queue_head_t netinfo_waitq;
-       int deliver_netinfo;
-@@ -102,6 +106,12 @@ struct dim2_hdm {
-       struct medialb_bus bus;
-       void (*on_netinfo)(struct most_interface *,
-                          unsigned char, unsigned char *);
-+      void (*disable_platform)(struct platform_device *);
-+};
-+
-+struct dim2_platform_data {
-+      int (*enable)(struct platform_device *);
-+      void (*disable)(struct platform_device *);
- };
-
- #define iface_to_hdm(iface) container_of(iface, struct dim2_hdm, most_iface)
-@@ -686,6 +696,8 @@ static void dma_free(struct mbo *mbo, u32 size)
-       dma_free_coherent(NULL, size, mbo->virt_address, mbo->bus_address);
- }
-
-+static const struct of_device_id dim2_of_match[];
-+
- /*
-  * dim2_probe - dim2 probe handler
-  * @pdev: platform device structure
-@@ -695,7 +707,7 @@ static void dma_free(struct mbo *mbo, u32 size)
-  */
- static int dim2_probe(struct platform_device *pdev)
- {
--      struct dim2_platform_data *pdata = pdev->dev.platform_data;
-+      const struct dim2_platform_data *pdata;
-       struct dim2_hdm *dev;
-       struct resource *res;
-       int ret, i;
-@@ -703,6 +715,8 @@ static int dim2_probe(struct platform_device *pdev)
-       u8 hal_ret;
-       int irq;
-
-+      enum { MLB_INT_IDX, AHB0_INT_IDX };
-+
-       dev = devm_kzalloc(&pdev->dev, sizeof(*dev), GFP_KERNEL);
-       if (!dev)
-               return -ENOMEM;
-@@ -710,29 +724,30 @@ static int dim2_probe(struct platform_device *pdev)
-       dev->atx_idx = -1;
-
-       platform_set_drvdata(pdev, dev);
-+
-+      dev->clk_speed = CLK_4096FS;
-+
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       dev->io_base = devm_ioremap_resource(&pdev->dev, res);
-       if (IS_ERR(dev->io_base))
-               return PTR_ERR(dev->io_base);
-
--      if (!pdata) {
--              dev_err(&pdev->dev, "missing platform data\n");
--              return -EINVAL;
--      }
--
--      ret = pdata->init ? pdata->init(pdata, dev->io_base) : 0;
-+      pdata = of_match_node(dim2_of_match, pdev->dev.of_node)->data;
-+      ret = pdata && pdata->enable ? pdata->enable(pdev) : 0;
-       if (ret)
-               return ret;
-
-+      dev->disable_platform = pdata ? pdata->disable : 0;
-+
-       dev_info(&pdev->dev, "sync: num of frames per sub-buffer: %u\n", fcnt);
--      hal_ret = dim_startup(dev->io_base, pdata->clk_speed, fcnt);
-+      hal_ret = dim_startup(dev->io_base, dev->clk_speed, fcnt);
-       if (hal_ret != DIM_NO_ERROR) {
-               dev_err(&pdev->dev, "dim_startup failed: %d\n", hal_ret);
-               ret = -ENODEV;
--              goto err_bsp_destroy;
-+              goto err_disable_platform;
-       }
-
--      irq = platform_get_irq(pdev, 0);
-+      irq = platform_get_irq(pdev, AHB0_INT_IDX);
-       if (irq < 0) {
-               dev_err(&pdev->dev, "failed to get ahb0_int irq: %d\n", irq);
-               ret = irq;
-@@ -746,7 +761,7 @@ static int dim2_probe(struct platform_device *pdev)
-               goto err_shutdown_dim;
-       }
-
--      irq = platform_get_irq(pdev, 1);
-+      irq = platform_get_irq(pdev, MLB_INT_IDX);
-       if (irq < 0) {
-               dev_err(&pdev->dev, "failed to get mlb_int irq: %d\n", irq);
-               ret = irq;
-@@ -832,9 +847,9 @@ static int dim2_probe(struct platform_device *pdev)
-       kthread_stop(dev->netinfo_task);
- err_shutdown_dim:
-       dim_shutdown();
--err_bsp_destroy:
--      if (pdata && pdata->destroy)
--              pdata->destroy(pdata);
-+err_disable_platform:
-+      if (dev->disable_platform)
-+              dev->disable_platform(pdev);
-
-       return ret;
- }
-@@ -848,7 +863,6 @@ static int dim2_probe(struct platform_device *pdev)
- static int dim2_remove(struct platform_device *pdev)
- {
-       struct dim2_hdm *dev = platform_get_drvdata(pdev);
--      struct dim2_platform_data *pdata = pdev->dev.platform_data;
-       unsigned long flags;
-
-       dim2_sysfs_destroy(&dev->bus);
-@@ -859,37 +873,187 @@ static int dim2_remove(struct platform_device *pdev)
-       dim_shutdown();
-       spin_unlock_irqrestore(&dim_lock, flags);
-
--      if (pdata && pdata->destroy)
--              pdata->destroy(pdata);
-+      if (dev->disable_platform)
-+              dev->disable_platform(pdev);
-+
-+      return 0;
-+}
-+
-+/* platform specific functions [[ */
-+
-+static int fsl_mx6_enable(struct platform_device *pdev)
-+{
-+      struct dim2_hdm *dev = platform_get_drvdata(pdev);
-+      int ret;
-+
-+      dev->clk = devm_clk_get(&pdev->dev, "mlb");
-+      if (IS_ERR_OR_NULL(dev->clk)) {
-+              dev_err(&pdev->dev, "unable to get mlb clock\n");
-+              return -EFAULT;
-+      }
-+
-+      ret = clk_prepare_enable(dev->clk);
-+      if (ret) {
-+              dev_err(&pdev->dev, "%s\n", "clk_prepare_enable failed");
-+              return ret;
-+      }
-+
-+      if (dev->clk_speed >= CLK_2048FS) {
-+              /* enable pll */
-+              dev->clk_pll = devm_clk_get(&pdev->dev, "pll8_mlb");
-+              if (IS_ERR_OR_NULL(dev->clk_pll)) {
-+                      dev_err(&pdev->dev, "unable to get mlb pll clock\n");
-+                      clk_disable_unprepare(dev->clk);
-+                      return -EFAULT;
-+              }
-+
-+              writel(0x888, dev->io_base + 0x38);
-+              clk_prepare_enable(dev->clk_pll);
-+      }
-+
-+      return 0;
-+}
-+
-+static void fsl_mx6_disable(struct platform_device *pdev)
-+{
-+      struct dim2_hdm *dev = platform_get_drvdata(pdev);
-+
-+      if (dev->clk_speed >= CLK_2048FS)
-+              clk_disable_unprepare(dev->clk_pll);
-+
-+      clk_disable_unprepare(dev->clk);
-+}
-+
-+static int rcar_h2_enable(struct platform_device *pdev)
-+{
-+      struct dim2_hdm *dev = platform_get_drvdata(pdev);
-+      int ret;
-+
-+      dev->clk = devm_clk_get(&pdev->dev, NULL);
-+      if (IS_ERR(dev->clk)) {
-+              dev_err(&pdev->dev, "cannot get clock\n");
-+              return PTR_ERR(dev->clk);
-+      }
-+
-+      ret = clk_prepare_enable(dev->clk);
-+      if (ret) {
-+              dev_err(&pdev->dev, "%s\n", "clk_prepare_enable failed");
-+              return ret;
-+      }
-+
-+      if (dev->clk_speed >= CLK_2048FS) {
-+              /* enable MLP pll and LVDS drivers */
-+              writel(0x03, dev->io_base + 0x600);
-+              /* set bias */
-+              writel(0x888, dev->io_base + 0x38);
-+      } else {
-+              /* PLL */
-+              writel(0x04, dev->io_base + 0x600);
-+      }
-+
-
--      /*
--       * break link to local platform_device_id struct
--       * to prevent crash by unload platform device module
--       */
--      pdev->id_entry = NULL;
-+      /* BBCR = 0b11 */
-+      writel(0x03, dev->io_base + 0x500);
-+      writel(0x0002FF02, dev->io_base + 0x508);
-
-       return 0;
- }
-
--static const struct platform_device_id dim2_id[] = {
--      { "medialb_dim2" },
--      { }, /* Terminating entry */
-+static void rcar_h2_disable(struct platform_device *pdev)
-+{
-+      struct dim2_hdm *dev = platform_get_drvdata(pdev);
-+
-+      clk_disable_unprepare(dev->clk);
-+
-+      /* disable PLLs and LVDS drivers */
-+      writel(0x0, dev->io_base + 0x600);
-+}
-+
-+static int rcar_m3_enable(struct platform_device *pdev)
-+{
-+      struct dim2_hdm *dev = platform_get_drvdata(pdev);
-+      u32 enable_512fs = dev->clk_speed == CLK_512FS;
-+      int ret;
-+
-+      dev->clk = devm_clk_get(&pdev->dev, NULL);
-+      if (IS_ERR(dev->clk)) {
-+              dev_err(&pdev->dev, "cannot get clock\n");
-+              return PTR_ERR(dev->clk);
-+      }
-+
-+      ret = clk_prepare_enable(dev->clk);
-+      if (ret) {
-+              dev_err(&pdev->dev, "%s\n", "clk_prepare_enable failed");
-+              return ret;
-+      }
-+
-+      /* PLL */
-+      writel(0x04, dev->io_base + 0x600);
-+
-+      writel(enable_512fs, dev->io_base + 0x604);
-+
-+      /* BBCR = 0b11 */
-+      writel(0x03, dev->io_base + 0x500);
-+      writel(0x0002FF02, dev->io_base + 0x508);
-+
-+      return 0;
-+}
-+
-+static void rcar_m3_disable(struct platform_device *pdev)
-+{
-+      struct dim2_hdm *dev = platform_get_drvdata(pdev);
-+
-+      clk_disable_unprepare(dev->clk);
-+
-+      /* disable PLLs and LVDS drivers */
-+      writel(0x0, dev->io_base + 0x600);
-+}
-+
-+/* ]] platform specific functions */
-+
-+enum dim2_platforms { FSL_MX6, RCAR_H2, RCAR_M3 };
-+
-+static struct dim2_platform_data plat_data[] = {
-+      [FSL_MX6] = { .enable = fsl_mx6_enable, .disable = fsl_mx6_disable },
-+      [RCAR_H2] = { .enable = rcar_h2_enable, .disable = rcar_h2_disable },
-+      [RCAR_M3] = { .enable = rcar_m3_enable, .disable = rcar_m3_disable },
-+};
-+
-+static const struct of_device_id dim2_of_match[] = {
-+      {
-+              .compatible = "fsl,imx6q-mlb150",
-+              .data = plat_data + FSL_MX6
-+      },
-+      {
-+              .compatible = "renesas,mlp",
-+              .data = plat_data + RCAR_H2
-+      },
-+      {
-+              .compatible = "rcar,medialb-dim2",
-+              .data = plat_data + RCAR_M3
-+      },
-+      {
-+              .compatible = "xlnx,axi4-os62420_3pin-1.00.a",
-+      },
-+      {
-+              .compatible = "xlnx,axi4-os62420_6pin-1.00.a",
-+      },
-+      {},
- };
-
--MODULE_DEVICE_TABLE(platform, dim2_id);
-+MODULE_DEVICE_TABLE(of, dim2_of_match);
-
- static struct platform_driver dim2_driver = {
-       .probe = dim2_probe,
-       .remove = dim2_remove,
--      .id_table = dim2_id,
-       .driver = {
-               .name = "hdm_dim2",
-+              .of_match_table = dim2_of_match,
-       },
- };
-
- module_platform_driver(dim2_driver);
-
--MODULE_AUTHOR("Jain Roy Ambi <JainRoy.Ambi@microchip.com>");
- MODULE_AUTHOR("Andrey Shvetsov <andrey.shvetsov@k2l.de>");
- MODULE_DESCRIPTION("MediaLB DIM2 Hardware Dependent Module");
- MODULE_LICENSE("GPL");
-libgit2 0.26.0
diff --git a/recipes-kernel/most/files/0008-dim2-read-clock-speed-from-the-device-tree.patch b/recipes-kernel/most/files/0008-dim2-read-clock-speed-from-the-device-tree.patch
deleted file mode 100644 (file)
index 1b01fb1..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-From 839ad403a2d8081a6c15f6fc2836b01919338f3c Mon Sep 17 00:00:00 2001
-From: Andrey Shvetsov <andrey.shvetsov@k2l.de>
-Date: Mon, 12 Feb 2018 12:24:37 +0100
-Subject: [PATCH] staging: most: dim2: read clock speed from the device tree
-
-This implements reading of the clock speed parameter from the device
-tree.
-
-Signed-off-by: Andrey Shvetsov <andrey.shvetsov@k2l.de>
----
- Documentation/devicetree/bindings/inic/microchip,inic-dim2.txt | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- hdm-dim2/dim2_hdm.c                       | 50 +++++++++++++++++++++++++++++++++++++++++++++++++-
- 2 files changed, 113 insertions(+), 1 deletion(-)
- create mode 100644 Documentation/devicetree/bindings/inic/microchip,inic-dim2.txt
-
-diff --git a/hdm-dim2/dim2_hdm.c b/hdm-dim2/dim2_hdm.c
-index 2dba917..05e1896 100644
---- a/hdm-dim2/dim2_hdm.c
-+++ b/hdm-dim2/dim2_hdm.c
-@@ -698,6 +698,42 @@ static void dma_free(struct mbo *mbo, u32 size)
-
- static const struct of_device_id dim2_of_match[];
-
-+static struct {
-+      const char *clock_speed;
-+      u8 clk_speed;
-+} clk_mt[] = {
-+      { "256fs", CLK_256FS },
-+      { "512fs", CLK_512FS },
-+      { "1024fs", CLK_1024FS },
-+      { "2048fs", CLK_2048FS },
-+      { "3072fs", CLK_3072FS },
-+      { "4096fs", CLK_4096FS },
-+      { "6144fs", CLK_6144FS },
-+      { "8192fs", CLK_8192FS },
-+};
-+
-+/**
-+ * get_dim2_clk_speed - converts string to DIM2 clock speed value
-+ *
-+ * @clock_speed: string in the format "{NUMBER}fs"
-+ * @val: pointer to get one of the CLK_{NUMBER}FS values
-+ *
-+ * By success stores one of the CLK_{NUMBER}FS in the *val and returns 0,
-+ * otherwise returns -EINVAL.
-+ */
-+static int get_dim2_clk_speed(const char *clock_speed, u8 *val)
-+{
-+      int i;
-+
-+      for (i = 0; i < ARRAY_SIZE(clk_mt); i++) {
-+              if (!strcmp(clock_speed, clk_mt[i].clock_speed)) {
-+                      *val = clk_mt[i].clk_speed;
-+                      return 0;
-+              }
-+      }
-+      return -EINVAL;
-+}
-+
- /*
-  * dim2_probe - dim2 probe handler
-  * @pdev: platform device structure
-@@ -708,6 +744,7 @@ static const struct of_device_id dim2_of_match[];
- static int dim2_probe(struct platform_device *pdev)
- {
-       const struct dim2_platform_data *pdata;
-+      const char *clock_speed;
-       struct dim2_hdm *dev;
-       struct resource *res;
-       int ret, i;
-@@ -725,7 +762,18 @@ static int dim2_probe(struct platform_device *pdev)
-
-       platform_set_drvdata(pdev, dev);
-
--      dev->clk_speed = CLK_4096FS;
-+      ret = of_property_read_string(pdev->dev.of_node,
-+                                    "microchip,clock-speed", &clock_speed);
-+      if (ret) {
-+              dev_err(&pdev->dev, "missing dt property clock-speed\n");
-+              return ret;
-+      }
-+
-+      ret = get_dim2_clk_speed(clock_speed, &dev->clk_speed);
-+      if (ret) {
-+              dev_err(&pdev->dev, "bad dt property clock-speed\n");
-+              return ret;
-+      }
-
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       dev->io_base = devm_ioremap_resource(&pdev->dev, res);
---
-libgit2 0.26.0
diff --git a/recipes-kernel/most/files/0009-dim2-use-device-for-coherent-memory-allocation.patch b/recipes-kernel/most/files/0009-dim2-use-device-for-coherent-memory-allocation.patch
deleted file mode 100644 (file)
index 08cd6f9..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-From 756f2f1f90524c2620ed7951e436d13bdb929a6b Mon Sep 17 00:00:00 2001
-From: Andrey Shvetsov <andrey.shvetsov@k2l.de>
-Date: Mon, 12 Feb 2018 12:25:37 +0100
-Subject: [PATCH] staging: most: dim2: use device for coherent memory allocation
-
-On several modern architectures the allocation of coherent memory needs
-a device that has the dma_ops properly set.  This patch enables use of
-the DIM2 platform device for the allocation process.
-
-Signed-off-by: Andrey Shvetsov <andrey.shvetsov@k2l.de>
----
- hdm-dim2/dim2_hdm.c |  9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/hdm-dim2/dim2_hdm.c b/hdm-dim2/dim2_hdm.c
-index 05e1896..1847091 100644
---- a/hdm-dim2/dim2_hdm.c
-+++ b/hdm-dim2/dim2_hdm.c
-@@ -688,12 +688,16 @@ static int poison_channel(struct most_interface *most_iface, int ch_idx)
-
- static void *dma_alloc(struct mbo *mbo, u32 size)
- {
--      return dma_alloc_coherent(NULL, size, &mbo->bus_address, GFP_KERNEL);
-+      struct device *dev = mbo->ifp->dev;
-+
-+      return dma_alloc_coherent(dev, size, &mbo->bus_address, GFP_KERNEL);
- }
-
- static void dma_free(struct mbo *mbo, u32 size)
- {
--      dma_free_coherent(NULL, size, mbo->virt_address, mbo->bus_address);
-+      struct device *dev = mbo->ifp->dev;
-+
-+      dma_free_coherent(dev, size, mbo->virt_address, mbo->bus_address);
- }
-
- static const struct of_device_id dim2_of_match[];
-@@ -875,6 +879,7 @@ static int dim2_probe(struct platform_device *pdev)
-       dev->most_iface.poison_channel = poison_channel;
-       dev->most_iface.request_netinfo = request_netinfo;
-       dev->most_iface.extra_attrs = DBR_ATTRS;
-+      dev->most_iface.dev = &pdev->dev;
-
-       kobj = most_register_interface(&dev->most_iface);
-       if (IS_ERR(kobj)) {
---
-libgit2 0.26.0
diff --git a/recipes-kernel/most/most.bb b/recipes-kernel/most/most.bb
deleted file mode 100644 (file)
index 222c8aa..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-DESCRIPTION = "Build MOST driver"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
-
-inherit module
-
-PV = "0.1"
-
-SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/most;protocol=https;branch=${AGL_BRANCH}"
-
-S = "${WORKDIR}/git/driver"
-SRCREV = "794e6dc552e626eb6dd506baf941873414d9ef73"
-
-KERNEL_MODULE_AUTOLOAD += "aim_cdev aim_sound aim_network aim_v4l2 hdm_i2c hdm_dim2 hdm_usb mostcore"
\ No newline at end of file
diff --git a/recipes-kernel/most/most.bbappend b/recipes-kernel/most/most.bbappend
deleted file mode 100644 (file)
index d85565f..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-SRC_URI_append = " \
-           file://0002-src-most-add-auto-conf-feature.patch \ 
-           file://0003-core-remove-kernel-log-for-MBO-status.patch \
-           file://0004-most-video-set-device_caps.patch \
-           file://0005-most-video-set-V4L2_CAP_DEVICE_CAPS-flag.patch \
-           file://0006-dim2-fix-startup-sequence.patch \
-           file://0007-dim2-use-device-tree.patch \
-           file://0008-dim2-read-clock-speed-from-the-device-tree.patch \
-           file://0009-dim2-use-device-for-coherent-memory-allocation.patch \
-          "
diff --git a/recipes-multimedia/agl-service-unicens/agl-service-unicens_git.bb b/recipes-multimedia/agl-service-unicens/agl-service-unicens_git.bb
deleted file mode 100644 (file)
index 9590ad9..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY     = "4A - Infotainment network setup and access"
-DESCRIPTION = "Infotainment network setup and access (using Unified Centralized Network Stack)"
-HOMEPAGE    = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-service-unicens"
-SECTION     = "apps"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/apps/agl-service-unicens;protocol=https;branch=${AGL_BRANCH}"
-SRCREV = "${AGL_APP_REVISION}"
-
-PV = "0.1+git${SRCPV}"
-S  = "${WORKDIR}/git"
-
-inherit cmake aglwgt pkgconfig
-
-DEPENDS += "alsa-lib json-c systemd af-binder glib-2.0 libxml2"
-RDEPENDS_${PN} += "libxml2 "
-
diff --git a/recipes-multimedia/libmp4v2/files/0001-add-a-configure-option-to-disable-build-of-man-pages.patch b/recipes-multimedia/libmp4v2/files/0001-add-a-configure-option-to-disable-build-of-man-pages.patch
deleted file mode 100644 (file)
index 51896e8..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-From 530a31e3eb24b2f1ed7b30859ed62a2d1b24bd91 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Tue, 7 Feb 2017 11:51:58 +0100
-Subject: [PATCH] add a configure option to disable build of man-pages
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- configure.ac | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 8316c67..099fc0c 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -67,6 +67,8 @@ AC_ARG_ENABLE([largefile],
-     [AS_HELP_STRING([--disable-largefile],[disable LFS (large file support)])])
- AC_ARG_ENABLE([util],
-     [AS_HELP_STRING([--disable-util],[disable build of command-line utilities])])
-+AC_ARG_ENABLE([man],
-+    [AS_HELP_STRING([--disable-man],[disable build of man-pages])])
- AC_ARG_ENABLE([bi],
-     [AS_HELP_STRING([--enable-bi=ARCH],[enable -mARCH for bi-arch compilation])])
- AC_ARG_ENABLE([ub],
-@@ -395,7 +397,7 @@ AM_CONDITIONAL([ADD_PLATFORM_POSIX],[test "$X_PLATFORM" = "posix"])
- AM_CONDITIONAL([ADD_PLATFORM_WIN32],[test "$X_PLATFORM" = "win32"])
- AM_CONDITIONAL([ADD_UTIL],[test "$enable_util" != "no"])
--AM_CONDITIONAL([ADD_MANS],[test "$X_PLATFORM" != "win32"])
-+AM_CONDITIONAL([ADD_MANS],[test "$enable_man" != "no"])
- ###############################################################################
- # declare common substitutions
--- 
-2.9.3
-
diff --git a/recipes-multimedia/libmp4v2/libmp4v2_git.bb b/recipes-multimedia/libmp4v2/libmp4v2_git.bb
deleted file mode 100644 (file)
index dd1b347..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "The MP4v2 library provides an API to create and modify mp4 files"
-HOMEPAGE = "https://github.com/sergiomb2/libmp4v2/wiki"
-LICENSE = "MPLv1.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=eb3014b036b6d2151d944aef6a84c36f"
-
-inherit autotools-brokensep pkgconfig
-
-SRC_URI = " \
-    git://github.com/sergiomb2/${BPN}.git \
-    file://0001-add-a-configure-option-to-disable-build-of-man-pages.patch \
-"
-SRCREV = "855e9674232808ff3be7191b697dfb56917db21f"
-S = "${WORKDIR}/git"
-PV = "2.1.0+git${SRCPV}"
-
-
-SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
-EXTRA_OECONF = "--disable-man"
diff --git a/recipes-multimedia/lightmediascanner/lightmediascanner_%.bbappend b/recipes-multimedia/lightmediascanner/lightmediascanner_%.bbappend
deleted file mode 100644 (file)
index cbd740f..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-EXTRA_OECONF = "--enable-static"
-PACKAGECONFIG[mp4] = "--enable-mp4,--disable-mp4,libmp4v2"
-
-# add support MP3 because of the format of music files for AGL CES/ALS2017 Demo
-PACKAGECONFIG_append = " id3 mp4"
-
-# add required character sets for id3 tag scanning
-RDEPENDS_${PN}_append = " glibc-gconv-utf-16 glibc-gconv-iso8859-1"
diff --git a/recipes-qt/.gitkeep b/recipes-qt/.gitkeep
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/recipes-qt/packagegroups/packagegroup-agl-appfw-native-qt5.bb b/recipes-qt/packagegroups/packagegroup-agl-appfw-native-qt5.bb
deleted file mode 100644 (file)
index a22401f..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "Qt5 for native GUI framework of AGL IVI profile"
-DESCRIPTION = "A set of Qt5 packages which required by Native App Fw Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
-    packagegroup-agl-appfw-native-qt5 \
-    "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
-    qtbase \
-    qtbase-dev \
-    qtbase-plugins \
-    qtbase-staticdev \
-    qtbase-tools \
-    qtdeclarative \
-    qtdeclarative-qmlplugins \
-    qtdeclarative-tools \
-    qtcharts \
-    qtwayland \
-    qtwayland-plugins \
-    qtwayland-tools \
-    qtgraphicaleffects-qmlplugins \
-    qtvirtualkeyboard \
-    "
-RDEPENDS_${PN}_checkforkrogoth += "\
-    qtwayland-examples \
-    "
diff --git a/recipes-qt/packagegroups/packagegroup-agl-demo-qt-examples.bb b/recipes-qt/packagegroups/packagegroup-agl-demo-qt-examples.bb
deleted file mode 100644 (file)
index adebabe..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "The examples to test Qt5 on AGL Demo Platform"
-DESCRIPTION = "A set of packages which contains Qt5 examples"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
-    packagegroup-agl-demo-qt-examples \
-    "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
-    qt3d-examples \
-    qtbase-examples \
-    qtconnectivity-examples \
-    qtdeclarative-examples \
-    qtlocation-examples \
-    qtmultimedia-examples \
-    qtsensors-examples \
-    qtsystems-examples \
-    qttools-examples \
-    qtwayland-examples \
-    qtxmlpatterns-examples \
-    "
diff --git a/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bbappend b/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bbappend
deleted file mode 100644 (file)
index 300227e..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-# add missing dependencies for SDK
-
-RDEPENDS_${PN} += " \
-       qttools-plugins \
-       qtquickcontrols-dev \
-       qtquickcontrols-qmlplugins \
-       qtquickcontrols2-dev \
-       qtquickcontrols2-mkspecs \
-       qtquickcontrols2-qmlplugins \
-"
-
-# remove dependency on qtwebkit (still added to SDK by packagegroup-qt5-toolchain-target)
-# see SPEC-1159
-RDEPENDS_${PN}_remove = " \
-    qtwebkit-dev \
-    qtwebkit-mkspecs \
-    qtwebkit-qmlplugins \
-"
-
-# add QtAGLExtras
-RDEPENDS_${PN} += " \
-    ${@bb.utils.contains("DISTRO_FEATURES", "agl-hmi-framework", " qtaglextras-dev qtaglextras-mkspecs", "",d)} \
-"
diff --git a/recipes-qt/qml-execscript-plugin/qml-execscript-plugin_1.0.bb b/recipes-qt/qml-execscript-plugin/qml-execscript-plugin_1.0.bb
deleted file mode 100644 (file)
index dbeda2d..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Execute Script QML plugin"
-DESCRIPTION = "This provides a simple QML plugin able to execute script file."
-
-LICENSE = "CLOSED"
-
-DEPENDS = "qtbase-native qtdeclarative"
-
-SRC_URI = "git://github.com/ntanibata/qml-execscript-plugin.git;protocol=git;"
-SRCREV = "1f05c44cccd8aef485d8df8206c8df4e5ad6f310"
-S = "${WORKDIR}/git"
-
-inherit qmake5
-
-EXTRA_OECONF = "--with-moc-dir=${STAGING_BINDIR_NATIVE}/qt5"
-QML_LIBDIR = "${libdir}/qt5/qml"
-
-do_install() {
-    install -d ${D}${libdir}/qt5/qml/execScript/
-    install -m 0755 execScript/*.so ${D}${libdir}/qt5/qml/execScript/
-    install -m 0644 ../git/execScript/qmldir ${D}${libdir}/qt5/qml/execScript/
-}
-
-FILES_${PN} += "${QML_LIBDIR}/execScript/libexecscriptplugin.so"
-FILES_${PN} += "${QML_LIBDIR}/execScript/qmldir"
-FILES_${PN}-dbg += "${QML_LIBDIR}/execScript/.debug"
diff --git a/recipes-qt/qt5/qtbase-native_git.bbappend b/recipes-qt/qt5/qtbase-native_git.bbappend
deleted file mode 100644 (file)
index b7cfe8d..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-# Backport this fix from meta-qt5:
-# https://github.com/meta-qt5/meta-qt5/commit/bf7cdd963008f2d61bc4c324fff2bfafe511fb5f
-SRC_URI_remove = "file://0012-qdbuscpp2xml.pro-do-not-build-with-bootstrapped-depe.patch"
diff --git a/recipes-qt/qt5/qtbase/0001-Force-qdbus-to-make-introspect-for-every-findMetaObj.patch b/recipes-qt/qt5/qtbase/0001-Force-qdbus-to-make-introspect-for-every-findMetaObj.patch
deleted file mode 100644 (file)
index 10a1ddd..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-From a4943bb5c7fdf5eb297223d2c3bb02d2271bea48 Mon Sep 17 00:00:00 2001
-From: Risto Avila <risto.avila@theqtcompany.com>
-Date: Thu, 17 Dec 2015 04:22:53 +0200
-Subject: [PATCH] Force qdbus to make introspect for every findMetaObject
-
----
- src/dbus/qdbusintegrator.cpp | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp
-index cce8b9c..ae2a9dc 100644
---- a/src/dbus/qdbusintegrator.cpp
-+++ b/src/dbus/qdbusintegrator.cpp
-@@ -2512,8 +2512,11 @@ QDBusConnectionPrivate::findMetaObject(const QString &service, const QString &pa
-     if (!interface.isEmpty()) {
-         QDBusReadLocker locker(FindMetaObject1Action, this);
-         QDBusMetaObject *mo = cachedMetaObjects.value(interface, 0);
--        if (mo)
--            return mo;
-+        if (mo) {
-+            // service is not unique. Remove cached object to force introspect
-+            cachedMetaObjects.remove(interface);
-+            delete mo;
-+        }
-     }
-     // introspect the target object
--- 
-1.9.1
-
diff --git a/recipes-qt/qt5/qtbase_%.bbappend b/recipes-qt/qt5/qtbase_%.bbappend
deleted file mode 100644 (file)
index d568b12..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-DEPENDS_append_koelsch = " libegl"
-#DEPENDS_append_porter = " libegl"
-DEPENDS_append_porter = " ${@base_conditional('PREFERRED_PROVIDER_virtual/egl', 'mesa', 'mesa', 'libegl', d)}"
-
-PACKAGECONFIG_WAYLAND = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}"
-PACKAGECONFIG_GL = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2', '', d)}"
-PACKAGECONFIG_append = " ${PACKAGECONFIG_WAYLAND} icu accessibility"
-PACKAGECONFIG_append = " fontconfig"
-PACKAGECONFIG_append = " sql-sqlite"
-
-EXTRA_OECONF_append = ""
-
-# '-qpa wayland-egl' set wayland-egl as default of platform plagins
-PACKAGECONFIG[wayland]="-qpa wayland-egl -no-qpa-platform-guard"
diff --git a/recipes-qt/qt5/qtmultimedia/0001-metadata-image-support-with-the-data-URL-scheme-for-.patch b/recipes-qt/qt5/qtmultimedia/0001-metadata-image-support-with-the-data-URL-scheme-for-.patch
deleted file mode 100644 (file)
index 007e467..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-From ed61f1d932c5c6d38458fcd2e1d5d154383f017e Mon Sep 17 00:00:00 2001
-From: Tasuku Suzuki <tasuku.suzuki@qt.io>
-Date: Mon, 12 Dec 2016 16:32:47 +0900
-Subject: [PATCH] metadata image support with the "data" URL scheme for QtQuick
-
-add posterImage, coverArtImage and thumbnailImage to metadata
-
-Change-Id: I10b9bae10c219ffa41506d6e6b345020790217a6
----
- .../multimedia/qdeclarativemediametadata_p.h       | 33 ++++++++++++++++++++++
- 1 file changed, 33 insertions(+)
-
-diff --git a/src/imports/multimedia/qdeclarativemediametadata_p.h b/src/imports/multimedia/qdeclarativemediametadata_p.h
-index ede7f87..6a6a815 100644
---- a/src/imports/multimedia/qdeclarativemediametadata_p.h
-+++ b/src/imports/multimedia/qdeclarativemediametadata_p.h
-@@ -51,6 +51,9 @@
- // We mean it.
- //
-+#include <QtCore/QBuffer>
-+#include <QtGui/QImage>
-+#include <QtGui/QImageWriter>
- #include <QtQml/qqml.h>
- #include <QtMultimedia/qmediametadata.h>
- #include <QtMultimedia/qmediaservice.h>
-@@ -153,6 +156,9 @@ class QDeclarativeMediaMetaData : public QObject
-     Q_PROPERTY(QVariant gpsProcessingMethod READ gpsProcessingMethod WRITE setGPSProcessingMethod NOTIFY metaDataChanged)
-     Q_PROPERTY(QVariant gpsAreaInformation READ gpsAreaInformation WRITE setGPSAreaInformation NOTIFY metaDataChanged)
-+    Q_PROPERTY(QVariant posterImage READ posterImage NOTIFY metaDataChanged)
-+    Q_PROPERTY(QVariant coverArtImage READ coverArtImage NOTIFY metaDataChanged)
-+    Q_PROPERTY(QVariant thumbnailImage READ thumbnailImage NOTIFY metaDataChanged)
- public:
-     QDeclarativeMediaMetaData(QMediaObject *player, QObject *parent = 0)
-         : QObject(parent)
-@@ -425,6 +431,16 @@ QT_WARNING_POP
-     void setGPSAreaInformation(const QVariant &information) {
-         setMetaData(QMediaMetaData::GPSAreaInformation, information); }
-+    QVariant posterImage() const {
-+        return convertImageToUrl(m_mediaObject->metaData(QMediaMetaData::PosterImage));
-+    }
-+    QVariant coverArtImage() const {
-+        return convertImageToUrl(m_mediaObject->metaData(QMediaMetaData::CoverArtImage));
-+    }
-+    QVariant thumbnailImage() const {
-+        return convertImageToUrl(m_mediaObject->metaData(QMediaMetaData::ThumbnailImage));
-+    }
-+
- Q_SIGNALS:
-     void metaDataChanged();
-@@ -440,6 +456,23 @@ private:
-             m_writerControl->setMetaData(key, value);
-     }
-+    QUrl convertImageToUrl(const QVariant &variant) const
-+    {
-+        if (variant.type() != QVariant::Image)
-+            return QUrl();
-+
-+        QImage image = variant.value<QImage>();
-+        QByteArray data;
-+        QBuffer buffer(&data);
-+        buffer.open(QBuffer::WriteOnly);
-+        QImageWriter png(&buffer, "png");
-+        if (!png.write(image)) {
-+            return QUrl();
-+        }
-+        buffer.close();
-+        return QUrl(QStringLiteral("data:image/png;base64,") + data.toBase64());
-+    }
-+
-     QMediaObject *m_mediaObject;
-     QMetaDataWriterControl *m_writerControl;
-     bool m_requestedWriterControl;
--- 
-2.7.4
-
diff --git a/recipes-qt/qt5/qtmultimedia_%.bbappend b/recipes-qt/qt5/qtmultimedia_%.bbappend
deleted file mode 100644 (file)
index a06ac2d..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-FILESEXTRAPATHS_append := ":${THISDIR}/${PN}"
-
-PACKAGECONFIG_append = " gstreamer"
-
-SRC_URI_append = " \
-    file://0001-metadata-image-support-with-the-data-URL-scheme-for-.patch \
-    "
diff --git a/recipes-qt/qt5/qtsystems_%.bbappend b/recipes-qt/qt5/qtsystems_%.bbappend
deleted file mode 100644 (file)
index 550c58d..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-DEPENDS_remove = "bluez4"
-# currently Qt5 does not support bluez5 "Nothing PROVIDES 'gconfbluez5'"
-#DEPENDS_append = "bluez5"
diff --git a/recipes-qt/qt5/qtwayland/0001-Implement-initial-IVI-shell-support-with-shell-integ.patch b/recipes-qt/qt5/qtwayland/0001-Implement-initial-IVI-shell-support-with-shell-integ.patch
deleted file mode 100644 (file)
index 9495dcc..0000000
+++ /dev/null
@@ -1,693 +0,0 @@
-From f41ceb82b1adb1bae15d36a426bf39ea0e75cb68 Mon Sep 17 00:00:00 2001
-From: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
-Date: Thu, 5 Nov 2015 20:13:26 +0900
-Subject: [PATCH 1/2] Implement initial IVI-shell support with shell
- integration.
-
-QApplication can set numeric surface ID to its surface by
-following steps
--------------------------------------------------------
-#include <QApplication>
-#include <QQuickView>
-
-int main(int argc, char *argv[])
-{
-    QGuiApplication app(argc, argv);
-    QQuickView view(QUrl(QStringLiteral("qrc:/main.qml")));
-
-    view.setProperty("IVI-Surface-ID", 8000);
-    view.show();
-    return app.exec();
-}
--------------------------------------------------------
-
-If QApplication doesn't set the surface ID by itself, the ID is
-automatically assigned by qtwayland from 8000. When the application creates
-several surfaces, the ID is incremented like 8001,8002,,,,.
-
-Additionally, qtwayland now supports shell integration Framework. So
-The enviromental value QT_WAYLAND_SHELL_INTEGRATION=ivi-shell are required for
-Qt application.
-
-Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
----
- .gitignore                                         |   6 ++
- src/3rdparty/protocol/ivi-application.xml          |  99 +++++++++++++++++++
- src/client/client.pro                              |   3 +-
- src/plugins/plugins.pro                            |   3 +-
- .../shellintegration/ivi-shell/ivi-shell.json      |   3 +
- .../shellintegration/ivi-shell/ivi-shell.pro       |  30 ++++++
- src/plugins/shellintegration/ivi-shell/main.cpp    |  69 +++++++++++++
- .../ivi-shell/qwaylandivishellintegration.cpp      | 109 +++++++++++++++++++++
- .../ivi-shell/qwaylandivishellintegration.h        |  79 +++++++++++++++
- .../ivi-shell/qwaylandivisurface.cpp               |  71 ++++++++++++++
- .../ivi-shell/qwaylandivisurface_p.h               |  76 ++++++++++++++
- src/plugins/shellintegration/shellintegration.pro  |   3 +
- 12 files changed, 549 insertions(+), 2 deletions(-)
- create mode 100644 src/3rdparty/protocol/ivi-application.xml
- create mode 100644 src/plugins/shellintegration/ivi-shell/ivi-shell.json
- create mode 100644 src/plugins/shellintegration/ivi-shell/ivi-shell.pro
- create mode 100644 src/plugins/shellintegration/ivi-shell/main.cpp
- create mode 100644 src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp
- create mode 100644 src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h
- create mode 100644 src/plugins/shellintegration/ivi-shell/qwaylandivisurface.cpp
- create mode 100644 src/plugins/shellintegration/ivi-shell/qwaylandivisurface_p.h
- create mode 100644 src/plugins/shellintegration/shellintegration.pro
-
-diff --git a/.gitignore b/.gitignore
-index b33ca90..924afb2 100644
---- a/.gitignore
-+++ b/.gitignore
-@@ -61,6 +61,12 @@ src/plugins/hardwareintegration/*/*/qwayland*.h
- src/plugins/hardwareintegration/*/*/*-server-protocol.h
- src/plugins/hardwareintegration/*/*/*-client-protocol.h
- src/plugins/hardwareintegration/*/*/*-protocol.c
-+src/plugins/shellintegration/ivi-shell/qwayland-ivi-application.h
-+src/plugins/shellintegration/ivi-shell/qwayland-ivi-application.cpp
-+src/plugins/shellintegration/ivi-shell/qwayland-ivi-controller.h
-+src/plugins/shellintegration/ivi-shell/qwayland-ivi-controller.cpp
-+src/plugins/shellintegration/*/*-client-protocol.h
-+src/plugins/shellintegration/*/*-protocol.c
- tests/auto/client/tst_client
- tests/auto/compositor/tst_compositor
- *~
-diff --git a/src/3rdparty/protocol/ivi-application.xml b/src/3rdparty/protocol/ivi-application.xml
-new file mode 100644
-index 0000000..61ec7d2
---- /dev/null
-+++ b/src/3rdparty/protocol/ivi-application.xml
-@@ -0,0 +1,99 @@
-+<?xml version="1.0" encoding="UTF-8"?>
-+<protocol name="ivi_application">
-+
-+  <copyright>
-+    Copyright (C) 2013 DENSO CORPORATION
-+    Copyright (c) 2013 BMW Car IT GmbH
-+
-+    Permission to use, copy, modify, distribute, and sell this software and
-+    its documentation for any purpose is hereby granted without fee, provided
-+    that the above copyright notice appear in all copies and that both that
-+    copyright notice and this permission notice appear in supporting
-+    documentation, and that the name of the copyright holders not be used in
-+    advertising or publicity pertaining to distribution of the software
-+    without specific, written prior permission.  The copyright holders make
-+    no representations about the suitability of this software for any
-+    purpose.  It is provided "as is" without express or implied warranty.
-+
-+    THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
-+    SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
-+    FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
-+    SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
-+    RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
-+    CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
-+    CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+  </copyright>
-+
-+  <interface name="ivi_surface" version="1">
-+    <description summary="application interface to surface in ivi compositor"/>
-+
-+    <request name="destroy" type="destructor">
-+      <description summary="destroy ivi_surface">
-+        This removes link from ivi_id to wl_surface and destroys ivi_surface.
-+        The ID, ivi_id, is free and can be used for surface_create again.
-+      </description>
-+    </request>
-+
-+    <event name="configure">
-+      <description summary="suggest resize">
-+        The configure event asks the client to resize its surface.
-+
-+        The size is a hint, in the sense that the client is free to
-+        ignore it if it doesn't resize, pick a smaller size (to
-+        satisfy aspect ratio or resize in steps of NxM pixels).
-+
-+        The client is free to dismiss all but the last configure
-+        event it received.
-+
-+        The width and height arguments specify the size of the window
-+        in surface local coordinates.
-+      </description>
-+      <arg name="width" type="int"/>
-+      <arg name="height" type="int"/>
-+    </event>
-+  </interface>
-+
-+  <interface name="ivi_application" version="1">
-+    <description summary="create ivi-style surfaces">
-+      This interface is exposed as a global singleton.
-+      This interface is implemented by servers that provide IVI-style user interfaces.
-+      It allows clients to associate a ivi_surface with wl_surface.
-+    </description>
-+
-+    <enum name="error">
-+      <entry name="role" value="0" summary="given wl_surface has another role"/>
-+      <entry name="ivi_id" value="1" summary="given ivi_id is assigned to another wl_surface"/>
-+    </enum>
-+
-+    <request name="surface_create">
-+      <description summary="create ivi_surface with numeric ID in ivi compositor">
-+        This request gives the wl_surface the role of an IVI Surface. Creating more than
-+        one ivi_surface for a wl_surface is not allowed. Note, that this still allows the
-+        following example:
-+
-+         1. create a wl_surface
-+         2. create ivi_surface for the wl_surface
-+         3. destroy the ivi_surface
-+         4. create ivi_surface for the wl_surface (with the same or another ivi_id as before)
-+
-+        surface_create will create a interface:ivi_surface with numeric ID; ivi_id in
-+        ivi compositor. These ivi_ids are defined as unique in the system to identify
-+        it inside of ivi compositor. The ivi compositor implements business logic how to
-+        set properties of the surface with ivi_id according to status of the system.
-+        E.g. a unique ID for Car Navigation application is used for implementing special
-+        logic of the application about where it shall be located.
-+        The server regards following cases as protocol errors and disconnects the client.
-+         - wl_surface already has an nother role.
-+         - ivi_id is already assigned to an another wl_surface.
-+
-+        If client destroys ivi_surface or wl_surface which is assigne to the ivi_surface,
-+        ivi_id which is assigned to the ivi_surface is free for reuse.
-+      </description>
-+      <arg name="ivi_id" type="uint"/>
-+      <arg name="surface" type="object" interface="wl_surface"/>
-+      <arg name="id" type="new_id" interface="ivi_surface"/>
-+    </request>
-+
-+  </interface>
-+
-+</protocol>
-diff --git a/src/client/client.pro b/src/client/client.pro
-index 0c13a4a..ca48cce 100644
---- a/src/client/client.pro
-+++ b/src/client/client.pro
-@@ -6,7 +6,8 @@ MODULE=waylandclient
- MODULE_PLUGIN_TYPES = \
-             wayland-graphics-integration-client \
-             wayland-inputdevice-integration \
--            wayland-decoration-client
-+            wayland-decoration-client \
-+            wayland-shell-integration
-
- CONFIG += generated_privates
-
-diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro
-index a1a8a5b..9b66b85 100644
---- a/src/plugins/plugins.pro
-+++ b/src/plugins/plugins.pro
-@@ -2,4 +2,5 @@ TEMPLATE=subdirs
- SUBDIRS += \
-     platforms \
-     hardwareintegration \
--    decorations
-+    decorations \
-+    shellintegration
-diff --git a/src/plugins/shellintegration/ivi-shell/ivi-shell.json b/src/plugins/shellintegration/ivi-shell/ivi-shell.json
-new file mode 100644
-index 0000000..c48528e
---- /dev/null
-+++ b/src/plugins/shellintegration/ivi-shell/ivi-shell.json
-@@ -0,0 +1,3 @@
-+{
-+    "Keys":[ "ivi-shell" ]
-+}
-diff --git a/src/plugins/shellintegration/ivi-shell/ivi-shell.pro b/src/plugins/shellintegration/ivi-shell/ivi-shell.pro
-new file mode 100644
-index 0000000..ac12858
---- /dev/null
-+++ b/src/plugins/shellintegration/ivi-shell/ivi-shell.pro
-@@ -0,0 +1,30 @@
-+PLUGIN_TYPE = wayland-shell-integration
-+load(qt_plugin)
-+
-+QT += waylandclient-private
-+CONFIG += wayland-scanner
-+
-+!contains(QT_CONFIG, no-pkg-config) {
-+    PKGCONFIG += wayland-client wayland-cursor
-+    CONFIG += link_pkgconfig
-+    contains(QT_CONFIG, glib): PKGCONFIG_PRIVATE += glib-2.0
-+} else {
-+    LIBS += -lwayland-client -lwayland-cursor $$QT_LIBS_GLIB
-+}
-+
-+WAYLANDCLIENTSOURCES += \
-+    ../../../3rdparty/protocol/ivi-application.xml
-+
-+include(../../../../include/QtWaylandClient/headers.pri)
-+
-+HEADERS += \
-+    qwaylandivishellintegration.h \
-+    qwaylandivisurface_p.h
-+
-+SOURCES += \
-+    main.cpp \
-+    qwaylandivishellintegration.cpp \
-+    qwaylandivisurface.cpp
-+
-+OTHER_FILES += \
-+    ivi-shell.json
-diff --git a/src/plugins/shellintegration/ivi-shell/main.cpp b/src/plugins/shellintegration/ivi-shell/main.cpp
-new file mode 100644
-index 0000000..2382ff7
---- /dev/null
-+++ b/src/plugins/shellintegration/ivi-shell/main.cpp
-@@ -0,0 +1,69 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2015 ITAGE Corporation, author: <yusuke.binsaki@itage.co.jp>
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia.  For licensing terms and
-+** conditions see http://qt.digia.com/licensing.  For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights.  These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include <QtWaylandClient/private/qwaylandshellintegrationplugin_p.h>
-+#include "qwaylandivishellintegration.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+namespace QtWaylandClient {
-+
-+class QWaylandIviShellIntegrationPlugin : public QWaylandShellIntegrationPlugin
-+{
-+    Q_OBJECT
-+    Q_PLUGIN_METADATA(IID QWaylandShellIntegrationFactoryInterface_iid FILE "ivi-shell.json")
-+
-+public:
-+    virtual QWaylandShellIntegration *create(const QString &key, const QStringList &paramList) Q_DECL_OVERRIDE;
-+};
-+
-+QWaylandShellIntegration *QWaylandIviShellIntegrationPlugin::create(const QString &key, const QStringList &paramList)
-+{
-+    Q_UNUSED(key);
-+    Q_UNUSED(paramList);
-+    return new QWaylandIviShellIntegration();
-+}
-+
-+}
-+
-+QT_END_NAMESPACE
-+
-+#include "main.moc"
-diff --git a/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp
-new file mode 100644
-index 0000000..763fafb
---- /dev/null
-+++ b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp
-@@ -0,0 +1,109 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2015 ITAGE Corporation, author: <yusuke.binsaki@itage.co.jp>
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia.  For licensing terms and
-+** conditions see http://qt.digia.com/licensing.  For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights.  These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include <sys/types.h>
-+#include <unistd.h>
-+#include <stdint.h>
-+#include <stdlib.h>
-+
-+#include <QtWaylandClient/private/qwayland-wayland.h>
-+#include <QtWaylandClient/private/qwaylanddisplay_p.h>
-+#include <QtWaylandClient/private/qwaylandwindow_p.h>
-+#include <QtWaylandClient/private/qwaylandabstractdecoration_p.h>
-+#include "qwaylandivishellintegration.h"
-+#include "qwaylandivisurface_p.h"
-+#include "qwayland-ivi-application.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+namespace QtWaylandClient {
-+
-+QWaylandIviShellIntegration::QWaylandIviShellIntegration()
-+    : m_iviApplication(Q_NULLPTR)
-+{
-+}
-+
-+QWaylandIviShellIntegration::~QWaylandIviShellIntegration()
-+{
-+    delete m_iviApplication;
-+}
-+
-+bool QWaylandIviShellIntegration::initialize(QWaylandDisplay *display)
-+{
-+    display->addRegistryListener(registryIvi, this);
-+
-+    return true;
-+}
-+
-+QWaylandShellSurface *QWaylandIviShellIntegration::createShellSurface(QWaylandWindow *window)
-+{
-+    const int IVI_SURFACE_ID = 8000;
-+    if (!m_iviApplication)
-+        return Q_NULLPTR;
-+
-+    uint32_t id = 0;
-+    QVariant value = window->property("IVI-Surface-ID");
-+    if (value.isValid()) {
-+        id = value.toUInt();
-+    } else {
-+        id = IVI_SURFACE_ID + getpid();
-+    }
-+
-+    struct ivi_surface *surface = m_iviApplication->surface_create(id, window->object());
-+
-+    return new QWaylandIviSurface(surface, window);
-+}
-+
-+void QWaylandIviShellIntegration::registryIvi(void *data,
-+                                              struct wl_registry *registry,
-+                                              uint32_t id,
-+                                              const QString &interface,
-+                                              uint32_t version)
-+{
-+    QWaylandIviShellIntegration *shell = static_cast<QWaylandIviShellIntegration *>(data);
-+
-+    if (interface == QStringLiteral("ivi_application"))
-+        shell->m_iviApplication = new QtWayland::ivi_application(registry, id, version);
-+}
-+
-+}
-+
-+QT_END_NAMESPACE
-diff --git a/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h
-new file mode 100644
-index 0000000..4856ec6
---- /dev/null
-+++ b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h
-@@ -0,0 +1,79 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2015 ITAGE Corporation, author: <yusuke.binsaki@itage.co.jp>
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia.  For licensing terms and
-+** conditions see http://qt.digia.com/licensing.  For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights.  These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QWAYLANDIVIINTEGRATION_H
-+#define QWAYLANDIVIINTEGRATION_H
-+
-+#include <QtWaylandClient/private/qwaylandshellintegration_p.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+namespace QtWayland {
-+    struct wl_registry;
-+    class ivi_application;
-+}
-+
-+namespace QtWaylandClient {
-+
-+class QWaylandWindow;
-+class QWaylandDisplay;
-+
-+class Q_WAYLAND_CLIENT_EXPORT QWaylandIviShellIntegration : public QWaylandShellIntegration
-+{
-+public:
-+    QWaylandIviShellIntegration();
-+    ~QWaylandIviShellIntegration();
-+    bool initialize(QWaylandDisplay *display);
-+    QWaylandShellSurface *createShellSurface(QWaylandWindow *window);
-+
-+private:
-+    static void registryIvi(void *data, struct wl_registry *registry
-+                            , uint32_t id, const QString &interface, uint32_t version);
-+
-+private:
-+    QtWayland::ivi_application *m_iviApplication;
-+};
-+
-+}
-+
-+QT_END_NAMESPACE
-+
-+#endif //  QWAYLANDIVIINTEGRATION_H
-diff --git a/src/plugins/shellintegration/ivi-shell/qwaylandivisurface.cpp b/src/plugins/shellintegration/ivi-shell/qwaylandivisurface.cpp
-new file mode 100644
-index 0000000..3ce3b4e
---- /dev/null
-+++ b/src/plugins/shellintegration/ivi-shell/qwaylandivisurface.cpp
-@@ -0,0 +1,71 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia.  For licensing terms and
-+** conditions see http://qt.digia.com/licensing.  For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights.  These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include <QtWaylandClient/private/qwaylanddisplay_p.h>
-+#include <QtWaylandClient/private/qwaylandwindow_p.h>
-+#include <QtWaylandClient/private/qwaylandinputdevice_p.h>
-+#include <QtWaylandClient/private/qwaylandscreen_p.h>
-+#include "qwaylandivisurface_p.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+namespace QtWaylandClient {
-+
-+QWaylandIviSurface::QWaylandIviSurface(struct ::ivi_surface *ivi_surface, QWaylandWindow *window)
-+    : QtWayland::ivi_surface(ivi_surface)
-+    , QWaylandShellSurface(window)
-+    , m_window(window)
-+{
-+}
-+
-+QWaylandIviSurface::~QWaylandIviSurface()
-+{
-+    ivi_surface::destroy();
-+}
-+
-+void QWaylandIviSurface::ivi_surface_configure(int32_t width, int32_t height)
-+{
-+    this->m_window->configure(0, width, height);
-+}
-+
-+}
-+
-+QT_END_NAMESPACE
-diff --git a/src/plugins/shellintegration/ivi-shell/qwaylandivisurface_p.h b/src/plugins/shellintegration/ivi-shell/qwaylandivisurface_p.h
-new file mode 100644
-index 0000000..d8331c5
---- /dev/null
-+++ b/src/plugins/shellintegration/ivi-shell/qwaylandivisurface_p.h
-@@ -0,0 +1,76 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia.  For licensing terms and
-+** conditions see http://qt.digia.com/licensing.  For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights.  These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QWAYLANDIVISURFACE_H
-+#define QWAYLANDIVISURFACE_H
-+
-+#include <wayland-client.h>
-+
-+#include <QtWaylandClient/private/qwaylandclientexport_p.h>
-+#include <QtWaylandClient/private/qwaylandshellsurface_p.h>
-+#include "qwayland-ivi-application.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+namespace QtWaylandClient {
-+
-+class QWaylandWindow;
-+
-+class Q_WAYLAND_CLIENT_EXPORT QWaylandIviSurface : public QtWayland::ivi_surface
-+        , public QWaylandShellSurface
-+{
-+public:
-+    QWaylandIviSurface(struct ::ivi_surface *shell_surface, QWaylandWindow *window);
-+    virtual ~QWaylandIviSurface();
-+
-+private:
-+    virtual void ivi_surface_configure(int32_t width, int32_t height);
-+
-+    QWaylandWindow *m_window;
-+
-+    friend class QWaylandWindow;
-+};
-+
-+}
-+
-+QT_END_NAMESPACE
-+
-+#endif // QWAYLANDIVISURFACE_H
-diff --git a/src/plugins/shellintegration/shellintegration.pro b/src/plugins/shellintegration/shellintegration.pro
-new file mode 100644
-index 0000000..7abd6cc
---- /dev/null
-+++ b/src/plugins/shellintegration/shellintegration.pro
-@@ -0,0 +1,3 @@
-+TEMPLATE=subdirs
-+
-+SUBDIRS += ivi-shell
---
-1.8.3.1
diff --git a/recipes-qt/qt5/qtwayland/0001-protocol-update-3rd-party-ivi-application-protocol.patch b/recipes-qt/qt5/qtwayland/0001-protocol-update-3rd-party-ivi-application-protocol.patch
deleted file mode 100644 (file)
index c91e117..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-From 8caaf802a8b42e9bb1d74fc335a571882c75d73e Mon Sep 17 00:00:00 2001
-From: Holger Behrens <holger.behrens@windriver.com>
-Date: Tue, 3 Feb 2015 09:52:52 +0100
-Subject: [meta-ivi-demo][PATCH 1/2] protocol: update 3rd party ivi-application
- protocol
-
-Signed-off-by: Holger Behrens <holger.behrens@windriver.com>
----
- src/3rdparty/protocol/ivi-application.xml | 31 +++----------------------------
- 1 file changed, 3 insertions(+), 28 deletions(-)
-
-diff --git a/src/3rdparty/protocol/ivi-application.xml b/src/3rdparty/protocol/ivi-application.xml
-index 833fd38..b06ae6c 100644
---- a/src/3rdparty/protocol/ivi-application.xml
-+++ b/src/3rdparty/protocol/ivi-application.xml
-@@ -42,34 +42,9 @@
-             <arg name="visibility" type="int"/>
-         </event>
--        <enum name="warning_code">
--            <description summary="possible warning codes returned by ivi compositor">
--                These define all possible warning codes returned by ivi compositor on server-side warnings.
--                invalid_wl_surface:
--                    - wl_surface already has a another role.
--                  - wl_surface is destroyed before the ivi_surface is destroyed.
--                ivi_id_in_use: ivi_id is already assigned by another application.
--            </description>
--            <entry name="invalid_wl_surface" value="1" summary="wl_surface is invalid"/>
--            <entry name="ivi_id_in_use" value="2" summary="ivi_id is in use and can not be shared"/>
--        </enum>
--
--        <event name="warning">
--            <description summary="server-side warning detected">
--                The ivi compositor encountered warning while processing a request by this
--                application. The warning is defined by argument warning_code and optional
--                warning_text. If the warning is detected, client shall destroy the ivi_surface
--                object.
--
--              When a warning event is sent, the compositor turns the ivi_surface object inert.
--              The ivi_surface will not deliver further events, all requests on it are ignored
--              except 'destroy', and the association to the ivi_id is removed. The client
--              should destroy the ivi_surface object. If an inert ivi_surface object is used as
--              an argument to any other object's request, that request will [produce a fatal
--              error / produce a warning / be ignored].
--            </description>
--            <arg name="warning_code" type="int"/>
--            <arg name="warning_text" type="string" allow-null="true"/>
-+        <event name="configure">
-+            <arg name="width" type="int"/>
-+            <arg name="height" type="int"/>
-         </event>
-     </interface>
--- 
-2.2.1
-
diff --git a/recipes-qt/qt5/qtwayland/0002-Fix-multiple-QWindow.patch b/recipes-qt/qt5/qtwayland/0002-Fix-multiple-QWindow.patch
deleted file mode 100644 (file)
index 1777105..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-From 23534d35587a8b62c945fef1adb29109e5c01bfa Mon Sep 17 00:00:00 2001
-From: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
-Date: Fri, 6 Nov 2015 09:59:48 +0900
-Subject: [PATCH 2/2] Fix multiple QWindow
-
-Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
----
- .../ivi-shell/qwaylandivishellintegration.cpp            | 16 ++++++++++------
- .../ivi-shell/qwaylandivishellintegration.h              |  1 +
- 2 files changed, 11 insertions(+), 6 deletions(-)
-
-diff --git a/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp
-index 763fafb..c42f283 100644
---- a/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp
-+++ b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp
-@@ -58,6 +58,7 @@ namespace QtWaylandClient {
-
- QWaylandIviShellIntegration::QWaylandIviShellIntegration()
-     : m_iviApplication(Q_NULLPTR)
-+    , m_surfaceId(0)
- {
- }
-
-@@ -79,15 +80,18 @@ QWaylandShellSurface *QWaylandIviShellIntegration::createShellSurface(QWaylandWi
-     if (!m_iviApplication)
-         return Q_NULLPTR;
-
--    uint32_t id = 0;
--    QVariant value = window->property("IVI-Surface-ID");
--    if (value.isValid()) {
--        id = value.toUInt();
-+    if (m_surfaceId == 0) {
-+        QVariant value = window->property("IVI-Surface-ID");
-+        if (value.isValid()) {
-+            m_surfaceId = value.toUInt();
-+        } else {
-+            m_surfaceId = IVI_SURFACE_ID + getpid();
-+        }
-     } else {
--        id = IVI_SURFACE_ID + getpid();
-+        m_surfaceId++;
-     }
-
--    struct ivi_surface *surface = m_iviApplication->surface_create(id, window->object());
-+    struct ivi_surface *surface = m_iviApplication->surface_create(m_surfaceId, window->object());
-
-     return new QWaylandIviSurface(surface, window);
- }
-diff --git a/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h
-index 4856ec6..1d10e91 100644
---- a/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h
-+++ b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h
-@@ -70,6 +70,7 @@ private:
-
- private:
-     QtWayland::ivi_application *m_iviApplication;
-+    uint32_t m_surfaceId;
- };
-
- }
---
-1.8.3.1
diff --git a/recipes-qt/qt5/qtwayland/0002-qwaylandwindow-add-support-for-IVI-Surface-ID-proper.patch b/recipes-qt/qt5/qtwayland/0002-qwaylandwindow-add-support-for-IVI-Surface-ID-proper.patch
deleted file mode 100644 (file)
index 591ef71..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-From 31c60aedf415fd06b5c1aa16fdcef1504b67b96d Mon Sep 17 00:00:00 2001
-From: Holger Behrens <holger.behrens@windriver.com>
-Date: Tue, 3 Feb 2015 09:53:43 +0100
-Subject: [meta-ivi-demo][PATCH 2/2] qwaylandwindow: add support for
- IVI-Surface-ID property
-
-Signed-off-by: Holger Behrens <holger.behrens@windriver.com>
----
- src/client/qwaylandwindow.cpp | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
-index 45a58f2..781081a 100644
---- a/src/client/qwaylandwindow.cpp
-+++ b/src/client/qwaylandwindow.cpp
-@@ -100,7 +100,14 @@ QWaylandWindow::QWaylandWindow(QWindow *window)
-     if (!(window->flags() & Qt::BypassWindowManagerHint)) {
-         if (mDisplay->shellIvi()) {
--                mShellSurface = new QWaylandIviSurface(mDisplay->shellIvi()->surface_create(IVI_SURFACE_ID + getpid(), object()), this);
-+                unsigned int id = 0;
-+                QVariant value = window->property("IVI-Surface-ID");
-+                if (value.isValid()) {
-+                    id = value.toUInt();
-+                } else {
-+                    id = IVI_SURFACE_ID + getpid();
-+                }
-+                mShellSurface = new QWaylandIviSurface(mDisplay->shellIvi()->surface_create(id, object()), this);
-         } else if (mDisplay->shellXdg()) {
-            if (window->type() & Qt::Window) {
-                 mShellSurface = new QWaylandXdgSurface(mDisplay->shellXdg()->get_xdg_surface(object()), this);
--- 
-2.2.1
-
diff --git a/recipes-qt/qt5/qtwayland/0010-Added-manifest-file-according-to-smack-3-domain-mode.patch b/recipes-qt/qt5/qtwayland/0010-Added-manifest-file-according-to-smack-3-domain-mode.patch
deleted file mode 100644 (file)
index 39296c7..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-Add qt5wayland.manifest. Removed specfile change from patch.
-
-Adapted from:
-
-From 424c23191d81b072255bd7f178ad0ee2c2ea091a Mon Sep 17 00:00:00 2001
-From: Tomasz Olszak <olszak.tomasz@gmail.com>
-Date: Fri, 25 Apr 2014 14:32:22 +0200
-Subject: [PATCH 10/21] Added manifest file according to smack 3-domain model.
-
-Bug-Tizen:TIVI-2416
-
-Change-Id: I414e245a5c8847bec32ef6a97569d0f06221e1db
-Signed-off-by: Tomasz Olszak <olszak.tomasz@gmail.com>
----
- packaging/qt5-qtwayland.manifest | 5 +++++
- packaging/qt5-qtwayland.spec     | 4 ++++
- 2 files changed, 9 insertions(+)
- create mode 100644 packaging/qt5-qtwayland.manifest
-
-diff --git a/packaging/qt5-qtwayland.manifest b/packaging/qt5-qtwayland.manifest
-new file mode 100644
-index 0000000..75b0fa5
---- /dev/null
-+++ b/packaging/qt5-qtwayland.manifest
-@@ -0,0 +1,5 @@
-+<manifest>
-+    <request>
-+        <domain name="_"/>
-+    </request>
-+</manifest>
--- 
-1.9.1
-
diff --git a/recipes-qt/qt5/qtwayland/0016-xdg-shell-Add-xdg-shell-protocol-file-version-1.4.0.patch b/recipes-qt/qt5/qtwayland/0016-xdg-shell-Add-xdg-shell-protocol-file-version-1.4.0.patch
deleted file mode 100644 (file)
index 6bea626..0000000
+++ /dev/null
@@ -1,468 +0,0 @@
-From 5cd43dc7519f54f9786fb6c686a2ce1e682d4366 Mon Sep 17 00:00:00 2001
-From: Philippe Coval <philippe.coval@open.eurogiciel.org>
-Date: Fri, 25 Apr 2014 10:31:42 +0200
-Subject: [PATCH 16/21] xdg-shell: Add xdg-shell protocol file version 1.4.0
-
-Source: http://cgit.freedesktop.org/wayland/weston/plain/protocol/xdg-shell.xml?id=1.4.0
-
-This file will need to be refreshed on protocol update
-until xdg-shell land in wayland's public headers
-
-Task-number: QTBUG-38633/part/1of2
-Change-Id: I397d863dcfc2223ac6eb234c37dbcd7449ecffff
-Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
-Origin: https://www.qt.gitorious.org/qt/qtwayland/commit/c2a22eea6716e073875474adf624d8463eba836c
-Bug-Tizen: TIVI-3113/part
-Signed-off-by: Philippe Coval <philippe.coval@open.eurogiciel.org>
----
- src/3rdparty/protocol/xdg-shell.xml | 438 ++++++++++++++++++++++++++++++++++++
- 1 file changed, 438 insertions(+)
- create mode 100644 src/3rdparty/protocol/xdg-shell.xml
-
-diff --git a/src/3rdparty/protocol/xdg-shell.xml b/src/3rdparty/protocol/xdg-shell.xml
-new file mode 100644
-index 0000000..4e5cff8
---- /dev/null
-+++ b/src/3rdparty/protocol/xdg-shell.xml
-@@ -0,0 +1,438 @@
-+<?xml version="1.0" encoding="UTF-8"?>
-+<protocol name="xdg_shell">
-+
-+  <copyright>
-+    Copyright © 2008-2013 Kristian Høgsberg
-+    Copyright © 2013      Rafael Antognolli
-+    Copyright © 2013      Jasper St. Pierre
-+    Copyright © 2010-2013 Intel Corporation
-+
-+    Permission to use, copy, modify, distribute, and sell this
-+    software and its documentation for any purpose is hereby granted
-+    without fee, provided that the above copyright notice appear in
-+    all copies and that both that copyright notice and this permission
-+    notice appear in supporting documentation, and that the name of
-+    the copyright holders not be used in advertising or publicity
-+    pertaining to distribution of the software without specific,
-+    written prior permission.  The copyright holders make no
-+    representations about the suitability of this software for any
-+    purpose.  It is provided "as is" without express or implied
-+    warranty.
-+
-+    THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
-+    SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
-+    FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
-+    SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-+    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
-+    AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-+    ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
-+    THIS SOFTWARE.
-+  </copyright>
-+
-+  <interface name="xdg_shell" version="1">
-+    <description summary="create desktop-style surfaces">
-+      This interface is implemented by servers that provide
-+      desktop-style user interfaces.
-+
-+      It allows clients to associate a xdg_surface with
-+      a basic surface.
-+    </description>
-+
-+    <enum name="version">
-+      <description summary="latest protocol version">
-+      Use this enum to check the protocol version, and it will be updated
-+      automatically.
-+      </description>
-+      <entry name="current" value="1" summary="Always the latest version"/>
-+    </enum>
-+
-+
-+    <request name="use_unstable_version">
-+      <description summary="enable use of this unstable version">
-+      Use this request in order to enable use of this interface.
-+
-+      Understand and agree that one is using an unstable interface,
-+      that will likely change in the future, breaking the API.
-+      </description>
-+      <arg name="version" type="int"/>
-+    </request>
-+
-+    <request name="get_xdg_surface">
-+      <description summary="create a shell surface from a surface">
-+      Create a shell surface for an existing surface.
-+
-+      Only one shell or popup surface can be associated with a given
-+      surface.
-+      </description>
-+      <arg name="id" type="new_id" interface="xdg_surface"/>
-+      <arg name="surface" type="object" interface="wl_surface"/>
-+    </request>
-+
-+    <request name="get_xdg_popup">
-+      <description summary="create a shell surface from a surface">
-+      Create a popup surface for an existing surface.
-+
-+      Only one shell or popup surface can be associated with a given
-+      surface.
-+      </description>
-+      <arg name="id" type="new_id" interface="xdg_popup"/>
-+      <arg name="surface" type="object" interface="wl_surface"/>
-+      <arg name="parent" type="object" interface="wl_surface"/>
-+      <arg name="seat" type="object" interface="wl_seat" summary="the wl_seat whose pointer is used"/>
-+      <arg name="serial" type="uint" summary="serial of the implicit grab on the pointer"/>
-+      <arg name="x" type="int"/>
-+      <arg name="y" type="int"/>
-+      <arg name="flags" type="uint"/>
-+    </request>
-+  </interface>
-+
-+  <interface name="xdg_surface" version="1">
-+
-+    <description summary="desktop-style metadata interface">
-+      An interface that may be implemented by a wl_surface, for
-+      implementations that provide a desktop-style user interface.
-+
-+      It provides requests to treat surfaces like windows, allowing to set
-+      properties like maximized, fullscreen, minimized, and to move and resize
-+      them, and associate metadata like title and app id.
-+
-+      On the server side the object is automatically destroyed when
-+      the related wl_surface is destroyed.  On client side,
-+      xdg_surface.destroy() must be called before destroying
-+      the wl_surface object.
-+    </description>
-+
-+    <request name="destroy" type="destructor">
-+      <description summary="remove xdg_surface interface">
-+      The xdg_surface interface is removed from the wl_surface object
-+      that was turned into a xdg_surface with
-+      xdg_shell.get_xdg_surface request. The xdg_surface properties,
-+      like maximized and fullscreen, are lost. The wl_surface loses
-+      its role as a xdg_surface. The wl_surface is unmapped.
-+      </description>
-+    </request>
-+
-+    <request name="set_transient_for">
-+      <description summary="surface is a child of another surface">
-+      Setting a surface as transient of another means that it is child
-+      of another surface.
-+
-+      Child surfaces are stacked above their parents, and will be
-+      unmapped if the parent is unmapped too. They should not appear
-+      on task bars and alt+tab.
-+      </description>
-+      <arg name="parent" type="object" interface="wl_surface" allow-null="true"/>
-+    </request>
-+
-+    <request name="set_title">
-+      <description summary="set surface title">
-+      Set a short title for the surface.
-+
-+      This string may be used to identify the surface in a task bar,
-+      window list, or other user interface elements provided by the
-+      compositor.
-+
-+      The string must be encoded in UTF-8.
-+      </description>
-+      <arg name="title" type="string"/>
-+    </request>
-+
-+    <request name="set_app_id">
-+      <description summary="set surface class">
-+      Set an id for the surface.
-+
-+      The app id identifies the general class of applications to which
-+      the surface belongs.
-+
-+      It should be the ID that appears in the new desktop entry
-+      specification, the interface name.
-+      </description>
-+      <arg name="app_id" type="string"/>
-+    </request>
-+
-+    <request name="pong">
-+      <description summary="respond to a ping event">
-+      A client must respond to a ping event with a pong request or
-+      the client may be deemed unresponsive.
-+      </description>
-+      <arg name="serial" type="uint" summary="serial of the ping event"/>
-+    </request>
-+
-+    <event name="ping">
-+      <description summary="ping client">
-+      Ping a client to check if it is receiving events and sending
-+      requests. A client is expected to reply with a pong request.
-+      </description>
-+      <arg name="serial" type="uint"/>
-+    </event>
-+
-+    <request name="move">
-+      <description summary="start an interactive move">
-+      Start a pointer-driven move of the surface.
-+
-+      This request must be used in response to a button press event.
-+      The server may ignore move requests depending on the state of
-+      the surface (e.g. fullscreen or maximized).
-+      </description>
-+      <arg name="seat" type="object" interface="wl_seat" summary="the wl_seat whose pointer is used"/>
-+      <arg name="serial" type="uint" summary="serial of the implicit grab on the pointer"/>
-+    </request>
-+
-+    <enum name="resize_edge">
-+      <description summary="edge values for resizing">
-+      These values are used to indicate which edge of a surface
-+      is being dragged in a resize operation. The server may
-+      use this information to adapt its behavior, e.g. choose
-+      an appropriate cursor image.
-+      </description>
-+      <entry name="none" value="0"/>
-+      <entry name="top" value="1"/>
-+      <entry name="bottom" value="2"/>
-+      <entry name="left" value="4"/>
-+      <entry name="top_left" value="5"/>
-+      <entry name="bottom_left" value="6"/>
-+      <entry name="right" value="8"/>
-+      <entry name="top_right" value="9"/>
-+      <entry name="bottom_right" value="10"/>
-+    </enum>
-+
-+    <request name="resize">
-+      <description summary="start an interactive resize">
-+      Start a pointer-driven resizing of the surface.
-+
-+      This request must be used in response to a button press event.
-+      The server may ignore resize requests depending on the state of
-+      the surface (e.g. fullscreen or maximized).
-+      </description>
-+      <arg name="seat" type="object" interface="wl_seat" summary="the wl_seat whose pointer is used"/>
-+      <arg name="serial" type="uint" summary="serial of the implicit grab on the pointer"/>
-+      <arg name="edges" type="uint" summary="which edge or corner is being dragged"/>
-+    </request>
-+
-+    <event name="configure">
-+      <description summary="suggest resize">
-+      The configure event asks the client to resize its surface.
-+
-+      The size is a hint, in the sense that the client is free to
-+      ignore it if it doesn't resize, pick a smaller size (to
-+      satisfy aspect ratio or resize in steps of NxM pixels).
-+
-+      The edges parameter provides a hint about how the surface
-+      was resized. The client may use this information to decide
-+      how to adjust its content to the new size (e.g. a scrolling
-+      area might adjust its content position to leave the viewable
-+      content unmoved). Valid edge values are from resize_edge enum.
-+
-+      The client is free to dismiss all but the last configure
-+      event it received.
-+
-+      The width and height arguments specify the size of the window
-+      in surface local coordinates.
-+      </description>
-+
-+      <arg name="edges" type="uint"/>
-+      <arg name="width" type="int"/>
-+      <arg name="height" type="int"/>
-+    </event>
-+
-+    <request name="set_output">
-+      <description summary="set the default output used by this surface">
-+      Set the default output used by this surface when it is first mapped.
-+
-+      If this value is NULL (default), it's up to the compositor to choose
-+      which display will be used to map this surface.
-+
-+      When fullscreen or maximized state are set on this surface, and it
-+      wasn't mapped yet, the output set with this method will be used.
-+      Otherwise, the output where the surface is currently mapped will be
-+      used.
-+      </description>
-+      <arg name="output" type="object" interface="wl_output" allow-null="true"/>
-+    </request>
-+
-+    <event name="request_set_fullscreen">
-+      <description summary="server requests that the client set fullscreen">
-+      Event sent from the compositor to the client requesting that the client
-+      goes to a fullscreen state. It's the client job to call set_fullscreen
-+      and really trigger the fullscreen state.
-+      </description>
-+    </event>
-+
-+    <event name="request_unset_fullscreen">
-+      <description summary="server requests that the client unset fullscreen">
-+      Event sent from the compositor to the client requesting that the client
-+      leaves the fullscreen state. It's the client job to call
-+      unset_fullscreen and really leave the fullscreen state.
-+      </description>
-+    </event>
-+
-+    <request name="set_fullscreen">
-+      <description summary="set the surface state as fullscreen">
-+      Set the surface as fullscreen.
-+
-+      After this request, the compositor should send a configure event
-+      informing the output size.
-+
-+      This request informs the compositor that the next attached buffer
-+      committed will be in a fullscreen state. The buffer size should be the
-+      same size as the size informed in the configure event, if the client
-+      doesn't want to leave any empty area.
-+
-+      In other words: the next attached buffer after set_maximized is the new
-+      maximized buffer. And the surface will be positioned at the maximized
-+      position on commit.
-+
-+      A simple way to synchronize and wait for the correct configure event is
-+      to use a wl_display.sync request right after the set_fullscreen
-+      request. When the sync callback returns, the last configure event
-+      received just before it will be the correct one, and should contain the
-+      right size for the surface to maximize.
-+
-+      Setting one state won't unset another state. Use
-+      xdg_surface.unset_fullscreen for unsetting it.
-+      </description>
-+    </request>
-+
-+    <request name="unset_fullscreen">
-+      <description summary="unset the surface state as fullscreen">
-+      Unset the surface fullscreen state.
-+
-+      Same negotiation as set_fullscreen must be used.
-+      </description>
-+    </request>
-+
-+    <event name="request_set_maximized">
-+      <description summary="server requests that the client set maximized">
-+      Event sent from the compositor to the client requesting that the client
-+      goes to a maximized state. It's the client job to call set_maximized
-+      and really trigger the maximized state.
-+      </description>
-+    </event>
-+
-+    <event name="request_unset_maximized">
-+      <description summary="server requests that the client unset maximized">
-+      Event sent from the compositor to the client requesting that the client
-+      leaves the maximized state. It's the client job to call unset_maximized
-+      and really leave the maximized state.
-+      </description>
-+    </event>
-+
-+    <request name="set_maximized">
-+      <description summary="set the surface state as maximized">
-+      Set the surface as maximized.
-+
-+      After this request, the compositor will send a configure event
-+      informing the output size minus panel and other MW decorations.
-+
-+      This request informs the compositor that the next attached buffer
-+      committed will be in a maximized state. The buffer size should be the
-+      same size as the size informed in the configure event, if the client
-+      doesn't want to leave any empty area.
-+
-+      In other words: the next attached buffer after set_maximized is the new
-+      maximized buffer. And the surface will be positioned at the maximized
-+      position on commit.
-+
-+      A simple way to synchronize and wait for the correct configure event is
-+      to use a wl_display.sync request right after the set_maximized request.
-+      When the sync callback returns, the last configure event received just
-+      before it will be the correct one, and should contain the right size
-+      for the surface to maximize.
-+
-+      Setting one state won't unset another state. Use
-+      xdg_surface.unset_maximized for unsetting it.
-+      </description>
-+    </request>
-+
-+    <request name="unset_maximized">
-+      <description summary="unset the surface state as maximized">
-+      Unset the surface maximized state.
-+
-+      Same negotiation as set_maximized must be used.
-+      </description>
-+    </request>
-+
-+    <request name="set_minimized">
-+      <description summary="set the surface state as minimized">
-+      Set the surface minimized state.
-+
-+      Setting one state won't unset another state.
-+      </description>
-+    </request>
-+
-+    <event name="focused_set">
-+      <description summary="surface was focused">
-+      The focused_set event is sent when this surface has been
-+      activated. Window decorations should be updated accordingly.
-+      </description>
-+    </event>
-+
-+    <event name="focused_unset">
-+      <description summary="surface was unfocused">
-+      The focused_unset event is sent when this surface has been
-+      deactivated, because another surface has been activated. Window
-+      decorations should be updated accordingly.
-+      </description>
-+    </event>
-+  </interface>
-+
-+  <interface name="xdg_popup" version="1">
-+    <description summary="desktop-style metadata interface">
-+      An interface that may be implemented by a wl_surface, for
-+      implementations that provide a desktop-style popups/menus. A popup
-+      surface is a transient surface with an added pointer grab.
-+
-+      An existing implicit grab will be changed to owner-events mode,
-+      and the popup grab will continue after the implicit grab ends
-+      (i.e. releasing the mouse button does not cause the popup to be
-+      unmapped).
-+
-+      The popup grab continues until the window is destroyed or a mouse
-+      button is pressed in any other clients window. A click in any of
-+      the clients surfaces is reported as normal, however, clicks in
-+      other clients surfaces will be discarded and trigger the callback.
-+
-+      The x and y arguments specify the locations of the upper left
-+      corner of the surface relative to the upper left corner of the
-+      parent surface, in surface local coordinates.
-+
-+      xdg_popup surfaces are always transient for another surface.
-+    </description>
-+
-+    <request name="destroy" type="destructor">
-+      <description summary="remove xdg_surface interface">
-+      The xdg_surface interface is removed from the wl_surface object
-+      that was turned into a xdg_surface with
-+      xdg_shell.get_xdg_surface request. The xdg_surface properties,
-+      like maximized and fullscreen, are lost. The wl_surface loses
-+      its role as a xdg_surface. The wl_surface is unmapped.
-+      </description>
-+    </request>
-+
-+    <request name="pong">
-+      <description summary="respond to a ping event">
-+      A client must respond to a ping event with a pong request or
-+      the client may be deemed unresponsive.
-+      </description>
-+      <arg name="serial" type="uint" summary="serial of the ping event"/>
-+    </request>
-+
-+    <event name="ping">
-+      <description summary="ping client">
-+      Ping a client to check if it is receiving events and sending
-+      requests. A client is expected to reply with a pong request.
-+      </description>
-+      <arg name="serial" type="uint"/>
-+    </event>
-+
-+    <event name="popup_done">
-+      <description summary="popup interaction is done">
-+      The popup_done event is sent out when a popup grab is broken,
-+      that is, when the users clicks a surface that doesn't belong
-+      to the client owning the popup surface.
-+      </description>
-+      <arg name="serial" type="uint" summary="serial of the implicit grab on the pointer"/>
-+    </event>
-+
-+  </interface>
-+</protocol>
--- 
-1.9.1
-
diff --git a/recipes-qt/qt5/qtwayland/0017-xdg-shell-Add-minimize-feature-to-QWindow-using-wayl.patch b/recipes-qt/qt5/qtwayland/0017-xdg-shell-Add-minimize-feature-to-QWindow-using-wayl.patch
deleted file mode 100644 (file)
index fe1bb50..0000000
+++ /dev/null
@@ -1,1029 +0,0 @@
-From 0edba039247ce888dbb7ff0a93c7b9ec01bac46e Mon Sep 17 00:00:00 2001
-From: Philippe Coval <philippe.coval@open.eurogiciel.org>
-Date: Wed, 26 Mar 2014 10:16:01 +0100
-Subject: [PATCH 17/21] xdg-shell: Add minimize feature to QWindow using
- wayland's xdg-shell
-
-The feature is disabled by default,
-and can be enabled at runtime
-by exporting QT_WAYLAND_USE_XDG_SHELL env variable.
-
-This patch relies on presence of protocol file
-which has been imported from weston-1.4.0 sources,
-until the xdg-shell is merge into wayland itself.
-
-Because xdg-shell is experimental,
-code fallback to WaylandShell if no XdgShell
-but keep in mind those shells are exclusive.
-
-Since xdg-shell and wayland-shell share most of the API,
-some factorization is done by an (empty) abstraction class
-to keep the code more readable.
-
-Despite xdg-shell introduces new popups concept,
-they're not used on this change for maitainance purpose.
-
-Notes:
-
-* This change depends on presence of xdg-shell protocol file.
-
-* You can check a demo video
-  (qt-tizen-cinematic-experience-20140430-rzr)
-  of the test case at :
-  https://www.youtube.com/watch?v=pY_XXvKc_0E#
-
-* Use Super+Tab to show window again if hidden
-
-Task-number: QTBUG-38633/part/2of2
-Change-Id: I2d7ed85bea1847d82439fdfc893a3dbb2581ffff
-Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
-Origin: https://www.qt.gitorious.org/qt/qtwayland/commit/768484daaa64bea965bef981a16f59be8db0c190
-Bug-Tizen: TIVI-3113/part
-Signed-off-by: Philippe Coval <philippe.coval@open.eurogiciel.org>
----
- src/client/client.pro                 |   5 +
- src/client/qwaylanddisplay.cpp        |   5 +
- src/client/qwaylanddisplay_p.h        |   4 +
- src/client/qwaylandshellsurface.cpp   | 134 ------------------------
- src/client/qwaylandshellsurface_p.h   |  40 +++-----
- src/client/qwaylandwindow.cpp         |  40 ++++++--
- src/client/qwaylandwlshellsurface.cpp | 186 ++++++++++++++++++++++++++++++++++
- src/client/qwaylandwlshellsurface_p.h | 101 ++++++++++++++++++
- src/client/qwaylandxdgsurface.cpp     | 173 +++++++++++++++++++++++++++++++
- src/client/qwaylandxdgsurface_p.h     | 105 +++++++++++++++++++
- 10 files changed, 625 insertions(+), 168 deletions(-)
- create mode 100644 src/client/qwaylandwlshellsurface.cpp
- create mode 100644 src/client/qwaylandwlshellsurface_p.h
- create mode 100644 src/client/qwaylandxdgsurface.cpp
- create mode 100644 src/client/qwaylandxdgsurface_p.h
-
-diff --git a/src/client/client.pro b/src/client/client.pro
-index 10cbd31..9ecf82f 100644
---- a/src/client/client.pro
-+++ b/src/client/client.pro
-@@ -41,6 +41,7 @@ WAYLANDCLIENTSOURCES += \
-             ../extensions/qtkey-extension.xml \
-             ../extensions/windowmanager.xml \
-             ../3rdparty/protocol/text.xml \
-+            ../3rdparty/protocol/xdg-shell.xml \
- SOURCES +=  qwaylandintegration.cpp \
-             qwaylandnativeinterface.cpp \
-@@ -57,6 +58,8 @@ SOURCES +=  qwaylandintegration.cpp \
-             qwaylanddatadevicemanager.cpp \
-             qwaylanddatasource.cpp \
-             qwaylandshellsurface.cpp \
-+            qwaylandwlshellsurface.cpp \
-+            qwaylandxdgsurface.cpp \
-             qwaylandextendedoutput.cpp \
-             qwaylandextendedsurface.cpp \
-             qwaylandsubsurface.cpp \
-@@ -85,6 +88,8 @@ HEADERS +=  qwaylandintegration_p.h \
-             qwaylanddatadevicemanager_p.h \
-             qwaylanddatasource_p.h \
-             qwaylandshellsurface_p.h \
-+            qwaylandwlshellsurface_p.h \
-+            qwaylandxdgsurface_p.h \
-             qwaylandextendedoutput_p.h \
-             qwaylandextendedsurface_p.h \
-             qwaylandsubsurface_p.h \
-diff --git a/src/client/qwaylanddisplay.cpp b/src/client/qwaylanddisplay.cpp
-index 0b715c0..7f953ad 100644
---- a/src/client/qwaylanddisplay.cpp
-+++ b/src/client/qwaylanddisplay.cpp
-@@ -61,6 +61,7 @@
- #include "qwaylandqtkey_p.h"
- #include <QtWaylandClient/private/qwayland-text.h>
-+#include <QtWaylandClient/private/qwayland-xdg-shell.h>
- #include <QtCore/QAbstractEventDispatcher>
- #include <QtGui/private/qguiapplication_p.h>
-@@ -206,6 +207,10 @@ void QWaylandDisplay::registry_global(uint32_t id, const QString &interface, uin
-         mCompositor.init(registry, id);
-     } else if (interface == QStringLiteral("wl_shm")) {
-         mShm = static_cast<struct wl_shm *>(wl_registry_bind(registry, id, &wl_shm_interface,1));
-+    } else if (interface == QStringLiteral("xdg_shell")
-+               && qEnvironmentVariableIsSet("QT_WAYLAND_USE_XDG_SHELL")) {
-+        mShellXdg.reset(new QtWayland::xdg_shell(registry, id));
-+        mShellXdg->use_unstable_version(QtWayland::xdg_shell::version_current);
-     } else if (interface == QStringLiteral("wl_shell")){
-         mShell.reset(new QtWayland::wl_shell(registry, id));
-     } else if (interface == QStringLiteral("wl_seat")) {
-diff --git a/src/client/qwaylanddisplay_p.h b/src/client/qwaylanddisplay_p.h
-index 40cb2b2..cf5dfc2 100644
---- a/src/client/qwaylanddisplay_p.h
-+++ b/src/client/qwaylanddisplay_p.h
-@@ -51,6 +51,7 @@
- #include <QtWaylandClient/private/qwayland-wayland.h>
- #include <QtWaylandClient/private/qwaylandclientexport_p.h>
-+#include <QtWaylandClient/private/qwayland-xdg-shell.h>
- struct wl_cursor_image;
-@@ -78,6 +79,7 @@ namespace QtWayland {
-     class qt_sub_surface_extension;
-     class qt_surface_extension;
-     class wl_text_input_manager;
-+    class xdg_shell;
- }
- typedef void (*RegistryListener)(void *data,
-@@ -113,6 +115,7 @@ public:
-     QtWayland::wl_compositor *compositor() { return &mCompositor; }
-     QtWayland::wl_shell *shell() { return mShell.data(); }
-+    QtWayland::xdg_shell *shellXdg() { return mShellXdg.data(); }
-     QList<QWaylandInputDevice *> inputDevices() const { return mInputDevices; }
-     QWaylandInputDevice *defaultInputDevice() const;
-@@ -168,6 +171,7 @@ private:
-     QThread *mEventThread;
-     QWaylandEventThread *mEventThreadObject;
-     QScopedPointer<QtWayland::wl_shell> mShell;
-+    QScopedPointer<QtWayland::xdg_shell> mShellXdg;
-     QList<QPlatformScreen *> mScreens;
-     QList<QWaylandInputDevice *> mInputDevices;
-     QList<Listener> mRegistryListeners;
-diff --git a/src/client/qwaylandshellsurface.cpp b/src/client/qwaylandshellsurface.cpp
-index b7a819f..80e509b 100644
---- a/src/client/qwaylandshellsurface.cpp
-+++ b/src/client/qwaylandshellsurface.cpp
-@@ -40,137 +40,3 @@
- ****************************************************************************/
- #include "qwaylandshellsurface_p.h"
--
--#include "qwaylanddisplay_p.h"
--#include "qwaylandwindow_p.h"
--#include "qwaylandinputdevice_p.h"
--#include "qwaylanddecoration_p.h"
--#include "qwaylandscreen_p.h"
--
--#include <QtCore/QDebug>
--
--QT_BEGIN_NAMESPACE
--
--QWaylandShellSurface::QWaylandShellSurface(struct ::wl_shell_surface *shell_surface, QWaylandWindow *window)
--    : QtWayland::wl_shell_surface(shell_surface)
--    , m_window(window)
--    , m_maximized(false)
--    , m_fullscreen(false)
--{
--}
--
--QWaylandShellSurface::~QWaylandShellSurface()
--{
--    wl_shell_surface_destroy(object());
--}
--
--void QWaylandShellSurface::resize(QWaylandInputDevice *inputDevice, enum wl_shell_surface_resize edges)
--{
--    resize(inputDevice->wl_seat(),
--           inputDevice->serial(),
--           edges);
--}
--
--void QWaylandShellSurface::move(QWaylandInputDevice *inputDevice)
--{
--    move(inputDevice->wl_seat(),
--         inputDevice->serial());
--}
--
--void QWaylandShellSurface::setMaximized()
--{
--    m_maximized = true;
--    m_size = m_window->window()->geometry().size();
--    set_maximized(0);
--}
--
--void QWaylandShellSurface::setFullscreen()
--{
--    m_fullscreen = true;
--    m_size = m_window->window()->geometry().size();
--    set_fullscreen(WL_SHELL_SURFACE_FULLSCREEN_METHOD_DEFAULT, 0, 0);
--}
--
--void QWaylandShellSurface::setNormal()
--{
--    if (m_fullscreen || m_maximized) {
--        m_fullscreen = m_maximized = false;
--        setTopLevel();
--        QMargins m = m_window->frameMargins();
--        m_window->configure(0, m_size.width() + m.left() + m.right(), m_size.height() + m.top() + m.bottom());
--    }
--}
--
--void QWaylandShellSurface::setMinimized()
--{
--    // TODO: There's no wl_shell_surface API for this
--}
--
--void QWaylandShellSurface::setTopLevel()
--{
--    set_toplevel();
--}
--
--void QWaylandShellSurface::updateTransientParent(QWindow *parent)
--{
--    QWaylandWindow *parent_wayland_window = static_cast<QWaylandWindow *>(parent->handle());
--    if (!parent_wayland_window)
--        return;
--
--    // set_transient expects a position relative to the parent
--    QPoint transientPos = m_window->geometry().topLeft(); // this is absolute
--    QWindow *parentWin = m_window->window()->transientParent();
--    transientPos -= parentWin->geometry().topLeft();
--    if (parent_wayland_window->decoration()) {
--        transientPos.setX(transientPos.x() + parent_wayland_window->decoration()->margins().left());
--        transientPos.setY(transientPos.y() + parent_wayland_window->decoration()->margins().top());
--    }
--
--    uint32_t flags = 0;
--    Qt::WindowFlags wf = m_window->window()->flags();
--    if (wf.testFlag(Qt::ToolTip)
--            || wf.testFlag(Qt::WindowTransparentForInput))
--        flags |= WL_SHELL_SURFACE_TRANSIENT_INACTIVE;
--
--    set_transient(parent_wayland_window->object(),
--                  transientPos.x(),
--                  transientPos.y(),
--                  flags);
--}
--
--void QWaylandShellSurface::setPopup(QWaylandWindow *parent, QWaylandInputDevice *device, int serial)
--{
--    QWaylandWindow *parent_wayland_window = parent;
--    if (!parent_wayland_window)
--        return;
--
--    // set_popup expects a position relative to the parent
--    QPoint transientPos = m_window->geometry().topLeft(); // this is absolute
--    transientPos -= parent_wayland_window->geometry().topLeft();
--    if (parent_wayland_window->decoration()) {
--        transientPos.setX(transientPos.x() + parent_wayland_window->decoration()->margins().left());
--        transientPos.setY(transientPos.y() + parent_wayland_window->decoration()->margins().top());
--    }
--
--    set_popup(device->wl_seat(), serial, parent_wayland_window->object(),
--              transientPos.x(), transientPos.y(), 0);
--}
--
--void QWaylandShellSurface::shell_surface_ping(uint32_t serial)
--{
--    pong(serial);
--}
--
--void QWaylandShellSurface::shell_surface_configure(uint32_t edges,
--                                                   int32_t width,
--                                                   int32_t height)
--{
--    m_window->configure(edges, width, height);
--}
--
--void QWaylandShellSurface::shell_surface_popup_done()
--{
--    QCoreApplication::postEvent(m_window->window(), new QCloseEvent());
--}
--
--QT_END_NAMESPACE
-diff --git a/src/client/qwaylandshellsurface_p.h b/src/client/qwaylandshellsurface_p.h
-index 2477c3f..2f59f60 100644
---- a/src/client/qwaylandshellsurface_p.h
-+++ b/src/client/qwaylandshellsurface_p.h
-@@ -55,39 +55,25 @@ class QWaylandWindow;
- class QWaylandInputDevice;
- class QWindow;
--class Q_WAYLAND_CLIENT_EXPORT QWaylandShellSurface : public QtWayland::wl_shell_surface
-+class Q_WAYLAND_CLIENT_EXPORT QWaylandShellSurface
- {
- public:
--    QWaylandShellSurface(struct ::wl_shell_surface *shell_surface, QWaylandWindow *window);
--    ~QWaylandShellSurface();
-+    virtual ~QWaylandShellSurface() {}
-+    virtual void resize(QWaylandInputDevice * /*inputDevice*/, enum wl_shell_surface_resize /*edges*/)
-+    {}
--    using QtWayland::wl_shell_surface::resize;
--    void resize(QWaylandInputDevice *inputDevice, enum wl_shell_surface_resize edges);
--
--    using QtWayland::wl_shell_surface::move;
--    void move(QWaylandInputDevice *inputDevice);
-+    virtual void move(QWaylandInputDevice * /*inputDevice*/) {}
-+    virtual void setTitle(const QString & /*title*/) {}
-+    virtual void setAppId(const QString & /*appId*/) {}
- private:
--    void setMaximized();
--    void setFullscreen();
--    void setNormal();
--    void setMinimized();
--
--    void setTopLevel();
--    void updateTransientParent(QWindow *parent);
--    void setPopup(QWaylandWindow *parent, QWaylandInputDevice *device, int serial);
--
--    QWaylandWindow *m_window;
--    bool m_maximized;
--    bool m_fullscreen;
--    QSize m_size;
--
--    void shell_surface_ping(uint32_t serial) Q_DECL_OVERRIDE;
--    void shell_surface_configure(uint32_t edges,
--                                 int32_t width,
--                                 int32_t height) Q_DECL_OVERRIDE;
--    void shell_surface_popup_done() Q_DECL_OVERRIDE;
-+    virtual void setMaximized() {}
-+    virtual void setFullscreen() {}
-+    virtual void setNormal() {}
-+    virtual void setMinimized() {}
-+    virtual void setTopLevel() {}
-+    virtual void updateTransientParent(QWindow * /*parent*/) {}
-     friend class QWaylandWindow;
- };
-diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
-index 920c977..3fb3a49 100644
---- a/src/client/qwaylandwindow.cpp
-+++ b/src/client/qwaylandwindow.cpp
-@@ -46,6 +46,8 @@
- #include "qwaylandinputdevice_p.h"
- #include "qwaylandscreen_p.h"
- #include "qwaylandshellsurface_p.h"
-+#include "qwaylandwlshellsurface_p.h"
-+#include "qwaylandxdgsurface_p.h"
- #include "qwaylandextendedsurface_p.h"
- #include "qwaylandsubsurface_p.h"
- #include "qwaylanddecoration_p.h"
-@@ -92,8 +94,16 @@ QWaylandWindow::QWaylandWindow(QWindow *window)
-     static WId id = 1;
-     mWindowId = id++;
--    if (mDisplay->shell() && window->type() & Qt::Window && !(window->flags() & Qt::BypassWindowManagerHint))
--        mShellSurface = new QWaylandShellSurface(mDisplay->shell()->get_shell_surface(object()), this);
-+    if (!(window->flags() & Qt::BypassWindowManagerHint)) {
-+        if (mDisplay->shellXdg()) {
-+           if (window->type() & Qt::Window) {
-+                mShellSurface = new QWaylandXdgSurface(mDisplay->shellXdg()->get_xdg_surface(object()), this);
-+            }
-+        } else if (mDisplay->shell() && window->type() & Qt::Window) {
-+            mShellSurface = new QWaylandWlShellSurface(mDisplay->shell()->get_shell_surface(object()), this);
-+        }
-+    }
-+
-     if (mDisplay->windowExtension())
-         mExtendedWindow = new QWaylandExtendedSurface(this, mDisplay->windowExtension()->get_extended_surface(object()));
-     if (mDisplay->subSurfaceExtension())
-@@ -101,12 +111,12 @@ QWaylandWindow::QWaylandWindow(QWindow *window)
-     if (mShellSurface) {
-         // Set initial surface title
--        mShellSurface->set_title(window->title());
-+        mShellSurface->setTitle(window->title());
-         // Set surface class to the .desktop file name (obtained from executable name)
-         QFileInfo exeFileInfo(qApp->applicationFilePath());
-         QString className = exeFileInfo.baseName() + QLatin1String(".desktop");
--        mShellSurface->set_class(className);
-+        mShellSurface->setAppId(className);
-     }
-     if (QPlatformWindow::parent() && mSubSurfaceWindow) {
-@@ -170,7 +180,7 @@ void QWaylandWindow::setParent(const QPlatformWindow *parent)
- void QWaylandWindow::setWindowTitle(const QString &title)
- {
-     if (mShellSurface) {
--        mShellSurface->set_title(title);
-+        mShellSurface->setTitle(title);
-     }
-     if (mWindowDecoration && window()->isVisible())
-@@ -212,8 +222,10 @@ void QWaylandWindow::setVisible(bool visible)
-             mMouseDevice = parent->mMouseDevice;
-             mMouseSerial = parent->mMouseSerial;
--            if (mMouseDevice)
--                mShellSurface->setPopup(transientParent(), mMouseDevice, mMouseSerial);
-+            QWaylandWlShellSurface *wlshellSurface = dynamic_cast<QWaylandWlShellSurface*>(mShellSurface);
-+            if (mMouseDevice && wlshellSurface) {
-+                wlshellSurface->setPopup(transientParent(), mMouseDevice, mMouseSerial);
-+            }
-         }
-         if (!mSentInitialResize) {
-@@ -428,6 +440,20 @@ void QWaylandWindow::setWindowFlags(Qt::WindowFlags flags)
- bool QWaylandWindow::createDecoration()
- {
-+    // so far only xdg-shell support this "unminimize" trick, may be moved elsewhere
-+    if (mState == Qt::WindowMinimized) {
-+        QWaylandXdgSurface *xdgSurface = dynamic_cast<QWaylandXdgSurface *>(mShellSurface);
-+        if ( xdgSurface ) {
-+            if (xdgSurface->isFullscreen()) {
-+                setWindowStateInternal(Qt::WindowFullScreen);
-+            } else if (xdgSurface->isMaximized()) {
-+                setWindowStateInternal(Qt::WindowMaximized);
-+            } else {
-+                setWindowStateInternal(Qt::WindowNoState);
-+            }
-+        }
-+    }
-+
-     static bool disableWaylandDecorations = !qgetenv("QT_WAYLAND_DISABLE_WINDOWDECORATION").isEmpty();
-     if (disableWaylandDecorations)
-         return false;
-diff --git a/src/client/qwaylandwlshellsurface.cpp b/src/client/qwaylandwlshellsurface.cpp
-new file mode 100644
-index 0000000..4b73ec2
---- /dev/null
-+++ b/src/client/qwaylandwlshellsurface.cpp
-@@ -0,0 +1,186 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia.  For licensing terms and
-+** conditions see http://qt.digia.com/licensing.  For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights.  These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include "qwaylandwlshellsurface_p.h"
-+
-+#include "qwaylanddisplay_p.h"
-+#include "qwaylandwindow_p.h"
-+#include "qwaylandinputdevice_p.h"
-+#include "qwaylanddecoration_p.h"
-+#include "qwaylandscreen_p.h"
-+
-+#include <QtCore/QDebug>
-+
-+QT_BEGIN_NAMESPACE
-+
-+QWaylandWlShellSurface::QWaylandWlShellSurface(struct ::wl_shell_surface *shell_surface, QWaylandWindow *window)
-+    : QtWayland::wl_shell_surface(shell_surface)
-+    , m_window(window)
-+    , m_maximized(false)
-+    , m_fullscreen(false)
-+{
-+}
-+
-+QWaylandWlShellSurface::~QWaylandWlShellSurface()
-+{
-+    wl_shell_surface_destroy(object());
-+}
-+
-+void QWaylandWlShellSurface::resize(QWaylandInputDevice *inputDevice, enum wl_shell_surface_resize edges)
-+{
-+    resize(inputDevice->wl_seat(),
-+           inputDevice->serial(),
-+           edges);
-+}
-+
-+void QWaylandWlShellSurface::move(QWaylandInputDevice *inputDevice)
-+{
-+    move(inputDevice->wl_seat(),
-+         inputDevice->serial());
-+}
-+
-+void QWaylandWlShellSurface::setTitle(const QString & title)
-+{
-+    return QtWayland::wl_shell_surface::set_title(title);
-+}
-+
-+void QWaylandWlShellSurface::setAppId(const QString & appId)
-+{
-+    return QtWayland::wl_shell_surface::set_class(appId);
-+}
-+
-+void QWaylandWlShellSurface::setMaximized()
-+{
-+    m_maximized = true;
-+    m_size = m_window->window()->geometry().size();
-+    set_maximized(0);
-+}
-+
-+void QWaylandWlShellSurface::setFullscreen()
-+{
-+    m_fullscreen = true;
-+    m_size = m_window->window()->geometry().size();
-+    set_fullscreen(WL_SHELL_SURFACE_FULLSCREEN_METHOD_DEFAULT, 0, 0);
-+}
-+
-+void QWaylandWlShellSurface::setNormal()
-+{
-+    if (m_fullscreen || m_maximized) {
-+        m_fullscreen = m_maximized = false;
-+        setTopLevel();
-+        QMargins m = m_window->frameMargins();
-+        m_window->configure(0, m_size.width() + m.left() + m.right(), m_size.height() + m.top() + m.bottom());
-+    }
-+}
-+
-+void QWaylandWlShellSurface::setMinimized()
-+{
-+    // TODO: There's no wl_shell_surface API for this
-+}
-+
-+void QWaylandWlShellSurface::setTopLevel()
-+{
-+    set_toplevel();
-+}
-+
-+void QWaylandWlShellSurface::updateTransientParent(QWindow *parent)
-+{
-+    QWaylandWindow *parent_wayland_window = static_cast<QWaylandWindow *>(parent->handle());
-+    if (!parent_wayland_window)
-+        return;
-+
-+    // set_transient expects a position relative to the parent
-+    QPoint transientPos = m_window->geometry().topLeft(); // this is absolute
-+    QWindow *parentWin = m_window->window()->transientParent();
-+    transientPos -= parentWin->geometry().topLeft();
-+    if (parent_wayland_window->decoration()) {
-+        transientPos.setX(transientPos.x() + parent_wayland_window->decoration()->margins().left());
-+        transientPos.setY(transientPos.y() + parent_wayland_window->decoration()->margins().top());
-+    }
-+
-+    uint32_t flags = 0;
-+    Qt::WindowFlags wf = m_window->window()->flags();
-+    if (wf.testFlag(Qt::ToolTip)
-+            || wf.testFlag(Qt::WindowTransparentForInput))
-+        flags |= WL_SHELL_SURFACE_TRANSIENT_INACTIVE;
-+
-+    set_transient(parent_wayland_window->object(),
-+                  transientPos.x(),
-+                  transientPos.y(),
-+                  flags);
-+}
-+
-+void QWaylandWlShellSurface::setPopup(QWaylandWindow *parent, QWaylandInputDevice *device, int serial)
-+{
-+    QWaylandWindow *parent_wayland_window = parent;
-+    if (!parent_wayland_window)
-+        return;
-+
-+    // set_popup expects a position relative to the parent
-+    QPoint transientPos = m_window->geometry().topLeft(); // this is absolute
-+    transientPos -= parent_wayland_window->geometry().topLeft();
-+    if (parent_wayland_window->decoration()) {
-+        transientPos.setX(transientPos.x() + parent_wayland_window->decoration()->margins().left());
-+        transientPos.setY(transientPos.y() + parent_wayland_window->decoration()->margins().top());
-+    }
-+
-+    set_popup(device->wl_seat(), serial, parent_wayland_window->object(),
-+              transientPos.x(), transientPos.y(), 0);
-+}
-+
-+void QWaylandWlShellSurface::shell_surface_ping(uint32_t serial)
-+{
-+    pong(serial);
-+}
-+
-+void QWaylandWlShellSurface::shell_surface_configure(uint32_t edges,
-+                                                     int32_t width,
-+                                                     int32_t height)
-+{
-+    m_window->configure(edges, width, height);
-+}
-+
-+void QWaylandWlShellSurface::shell_surface_popup_done()
-+{
-+    QCoreApplication::postEvent(m_window->window(), new QCloseEvent());
-+}
-+
-+QT_END_NAMESPACE
-diff --git a/src/client/qwaylandwlshellsurface_p.h b/src/client/qwaylandwlshellsurface_p.h
-new file mode 100644
-index 0000000..d02bb7b
---- /dev/null
-+++ b/src/client/qwaylandwlshellsurface_p.h
-@@ -0,0 +1,101 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia.  For licensing terms and
-+** conditions see http://qt.digia.com/licensing.  For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights.  These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QWAYLANDWLSHELLSURFACE_H
-+#define QWAYLANDWLSHELLSURFACE_H
-+
-+#include <QtCore/QSize>
-+
-+#include <wayland-client.h>
-+
-+#include <QtWaylandClient/private/qwayland-wayland.h>
-+#include <QtWaylandClient/private/qwaylandclientexport_p.h>
-+#include "qwaylandshellsurface_p.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QWaylandWindow;
-+class QWaylandInputDevice;
-+class QWindow;
-+
-+class Q_WAYLAND_CLIENT_EXPORT QWaylandWlShellSurface : public QtWayland::wl_shell_surface
-+        , public QWaylandShellSurface
-+{
-+public:
-+    QWaylandWlShellSurface(struct ::wl_shell_surface *shell_surface, QWaylandWindow *window);
-+    virtual ~QWaylandWlShellSurface();
-+
-+    using QtWayland::wl_shell_surface::resize;
-+    void resize(QWaylandInputDevice *inputDevice, enum wl_shell_surface_resize edges) Q_DECL_OVERRIDE;
-+
-+    using QtWayland::wl_shell_surface::move;
-+    void move(QWaylandInputDevice *inputDevice) Q_DECL_OVERRIDE;
-+
-+    void setTitle(const QString & title) Q_DECL_OVERRIDE;
-+    void setAppId(const QString &appId) Q_DECL_OVERRIDE;
-+
-+private:
-+    void setMaximized() Q_DECL_OVERRIDE;
-+    void setFullscreen() Q_DECL_OVERRIDE;
-+    void setNormal() Q_DECL_OVERRIDE;
-+    void setMinimized() Q_DECL_OVERRIDE;
-+
-+    void setTopLevel() Q_DECL_OVERRIDE;
-+    void updateTransientParent(QWindow *parent) Q_DECL_OVERRIDE;
-+    void setPopup(QWaylandWindow *parent, QWaylandInputDevice *device, int serial);
-+
-+    QWaylandWindow *m_window;
-+    bool m_maximized;
-+    bool m_fullscreen;
-+    QSize m_size;
-+
-+    void shell_surface_ping(uint32_t serial) Q_DECL_OVERRIDE;
-+    void shell_surface_configure(uint32_t edges,
-+                                 int32_t width,
-+                                 int32_t height) Q_DECL_OVERRIDE;
-+    void shell_surface_popup_done() Q_DECL_OVERRIDE;
-+
-+    friend class QWaylandWindow;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif // QWAYLANDSHELLSURFACE_H
-diff --git a/src/client/qwaylandxdgsurface.cpp b/src/client/qwaylandxdgsurface.cpp
-new file mode 100644
-index 0000000..1b8affa
---- /dev/null
-+++ b/src/client/qwaylandxdgsurface.cpp
-@@ -0,0 +1,173 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia.  For licensing terms and
-+** conditions see http://qt.digia.com/licensing.  For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights.  These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include "qwaylandxdgsurface_p.h"
-+
-+#include "qwaylanddisplay_p.h"
-+#include "qwaylandwindow_p.h"
-+#include "qwaylandinputdevice_p.h"
-+#include "qwaylanddecoration_p.h"
-+#include "qwaylandscreen_p.h"
-+
-+#include <QtCore/QDebug>
-+
-+QT_BEGIN_NAMESPACE
-+
-+QWaylandXdgSurface::QWaylandXdgSurface(struct ::xdg_surface *xdg_surface, QWaylandWindow *window)
-+    : QtWayland::xdg_surface(xdg_surface)
-+    , m_window(window)
-+    , m_maximized(false)
-+    , m_minimized(false)
-+    , m_fullscreen(false)
-+{
-+}
-+
-+QWaylandXdgSurface::~QWaylandXdgSurface()
-+{
-+    xdg_surface_destroy(object());
-+}
-+
-+void QWaylandXdgSurface::resize(QWaylandInputDevice *inputDevice, enum wl_shell_surface_resize edges)
-+{
-+    // May need some conversion if types get incompatibles, ATM they're identical
-+    enum resize_edge const * const arg = reinterpret_cast<enum resize_edge const * const>(&edges);
-+    resize(inputDevice, *arg);
-+}
-+
-+void QWaylandXdgSurface::resize(QWaylandInputDevice *inputDevice, enum resize_edge edges)
-+{
-+    resize(inputDevice->wl_seat(),
-+           inputDevice->serial(),
-+           edges);
-+}
-+
-+void QWaylandXdgSurface::move(QWaylandInputDevice *inputDevice)
-+{
-+    move(inputDevice->wl_seat(),
-+         inputDevice->serial());
-+}
-+
-+void QWaylandXdgSurface::setMaximized()
-+{
-+    m_maximized = true;
-+    m_size = m_window->window()->geometry().size();
-+    set_maximized();
-+}
-+
-+void QWaylandXdgSurface::setFullscreen()
-+{
-+    m_fullscreen = true;
-+    m_size = m_window->window()->geometry().size();
-+    set_fullscreen();
-+}
-+
-+void QWaylandXdgSurface::setNormal()
-+{
-+    if (m_fullscreen || m_maximized  || m_minimized) {
-+        if (m_maximized) { unset_maximized(); }
-+        if (m_fullscreen) { unset_fullscreen(); }
-+
-+        m_fullscreen = m_maximized = m_minimized = false;
-+        setTopLevel();
-+        QMargins m = m_window->frameMargins();
-+        m_window->configure(0, m_size.width() + m.left() + m.right(), m_size.height() + m.top() + m.bottom());
-+    }
-+}
-+
-+void QWaylandXdgSurface::setMinimized()
-+{
-+    m_minimized = true;
-+    m_size = m_window->window()->geometry().size();
-+    set_minimized();
-+}
-+
-+void QWaylandXdgSurface::setTopLevel()
-+{
-+    // There's no xdg_shell_surface API for this, ignoring
-+}
-+
-+void QWaylandXdgSurface::updateTransientParent(QWindow *parent)
-+{
-+    QWaylandWindow *parent_wayland_window = static_cast<QWaylandWindow *>(parent->handle());
-+    if (!parent_wayland_window)
-+        return;
-+
-+    // set_transient expects a position relative to the parent
-+    QPoint transientPos = m_window->geometry().topLeft(); // this is absolute
-+    QWindow *parentWin = m_window->window()->transientParent();
-+    transientPos -= parentWin->geometry().topLeft();
-+    if (parent_wayland_window->decoration()) {
-+        transientPos.setX(transientPos.x() + parent_wayland_window->decoration()->margins().left());
-+        transientPos.setY(transientPos.y() + parent_wayland_window->decoration()->margins().top());
-+    }
-+
-+    uint32_t flags = 0;
-+    Qt::WindowFlags wf = m_window->window()->flags();
-+    if (wf.testFlag(Qt::ToolTip)
-+            || wf.testFlag(Qt::WindowTransparentForInput))
-+        flags |= XDG_SURFACE_SET_TRANSIENT_FOR;
-+
-+    set_transient_for(parent_wayland_window->object());
-+}
-+
-+void QWaylandXdgSurface::setTitle(const QString & title)
-+{
-+    return QtWayland::xdg_surface::set_title(title);
-+}
-+
-+void QWaylandXdgSurface::setAppId(const QString & appId)
-+{
-+    return QtWayland::xdg_surface::set_app_id(appId);
-+}
-+
-+void QWaylandXdgSurface::xdg_surface_ping(uint32_t serial)
-+{
-+    pong(serial);
-+}
-+
-+void QWaylandXdgSurface::xdg_surface_configure(uint32_t edges, int32_t width,
-+                                               int32_t height)
-+{
-+    m_window->configure(edges, width, height);
-+}
-+
-+
-+QT_END_NAMESPACE
-diff --git a/src/client/qwaylandxdgsurface_p.h b/src/client/qwaylandxdgsurface_p.h
-new file mode 100644
-index 0000000..744d3f3
---- /dev/null
-+++ b/src/client/qwaylandxdgsurface_p.h
-@@ -0,0 +1,105 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia.  For licensing terms and
-+** conditions see http://qt.digia.com/licensing.  For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights.  These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QWAYLANDXDGSURFACE_H
-+#define QWAYLANDXDGSURFACE_H
-+
-+#include <QtCore/QSize>
-+
-+#include <wayland-client.h>
-+
-+#include <QtWaylandClient/private/qwayland-xdg-shell.h>
-+#include <QtWaylandClient/private/qwaylandclientexport_p.h>
-+#include "qwaylandshellsurface_p.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QWaylandWindow;
-+class QWaylandInputDevice;
-+class QWindow;
-+
-+class Q_WAYLAND_CLIENT_EXPORT QWaylandXdgSurface : public QtWayland::xdg_surface
-+        , public QWaylandShellSurface
-+{
-+public:
-+    QWaylandXdgSurface(struct ::xdg_surface *shell_surface, QWaylandWindow *window);
-+    virtual ~QWaylandXdgSurface();
-+
-+    using QtWayland::xdg_surface::resize;
-+    void resize(QWaylandInputDevice *inputDevice, enum resize_edge edges);
-+
-+    void resize(QWaylandInputDevice *inputDevice, enum wl_shell_surface_resize edges) Q_DECL_OVERRIDE;
-+
-+    using QtWayland::xdg_surface::move;
-+    void move(QWaylandInputDevice *inputDevice) Q_DECL_OVERRIDE;
-+
-+    void setTitle(const QString &title) Q_DECL_OVERRIDE;
-+    void setAppId(const QString &appId) Q_DECL_OVERRIDE;
-+
-+    bool isFullscreen() const { return m_fullscreen; }
-+    bool isMaximized() const { return m_maximized; }
-+
-+private:
-+    void setMaximized() Q_DECL_OVERRIDE;
-+    void setFullscreen() Q_DECL_OVERRIDE;
-+    void setNormal() Q_DECL_OVERRIDE;
-+    void setMinimized() Q_DECL_OVERRIDE;
-+
-+    void setTopLevel() Q_DECL_OVERRIDE;
-+    void updateTransientParent(QWindow *parent) Q_DECL_OVERRIDE;
-+
-+private:
-+    QWaylandWindow *m_window;
-+    bool m_maximized;
-+    bool m_minimized;
-+    bool m_fullscreen;
-+    QSize m_size;
-+
-+    void xdg_surface_ping(uint32_t serial) Q_DECL_OVERRIDE;
-+    void xdg_surface_configure(uint32_t edges,
-+                               int32_t width,
-+                               int32_t height) Q_DECL_OVERRIDE;
-+    friend class QWaylandWindow;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif // QWAYLANDXDGSURFACE_H
--- 
-1.9.1
-
diff --git a/recipes-qt/qt5/qtwayland/0019-xdg-shell-upgrade-to-support-current-version-weston-.patch b/recipes-qt/qt5/qtwayland/0019-xdg-shell-upgrade-to-support-current-version-weston-.patch
deleted file mode 100644 (file)
index 8f0425a..0000000
+++ /dev/null
@@ -1,772 +0,0 @@
-From c4219cca0febd7119e0bec776fdc2877b3448e0b Mon Sep 17 00:00:00 2001
-From: Philippe Coval <philippe.coval@open.eurogiciel.org>
-Date: Tue, 10 Jun 2014 16:22:17 +0200
-Subject: [PATCH 19/21] xdg-shell: upgrade to support current version
- (weston-1.5.0)
-
-The protocol file is a raw copy of
-
-Source: http://cgit.freedesktop.org/wayland/weston/plain/protocol/xdg-shell.xml?id=1.5.0
-
-Task-number: QTBUG-38633/related
-Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
-Reviewed-by: Philippe Coval <rzr@gna.org>
-Origin: https://www.qt.gitorious.org/qt/qtwayland/commit/4bac130b97fbaa565aa9883eb302557ef0185d50
-Change-Id: I41ca2f89c09a8b6348ce2fbf6d59f44b4c81ffff
----
- src/3rdparty/protocol/xdg-shell.xml | 288 ++++++++++++++++++------------------
- src/client/client.pro               |   2 +
- src/client/qwaylanddisplay.cpp      |  10 +-
- src/client/qwaylanddisplay_p.h      |   5 +-
- src/client/qwaylandxdgshell.cpp     |  77 ++++++++++
- src/client/qwaylandxdgshell_p.h     |  73 +++++++++
- src/client/qwaylandxdgsurface.cpp   |  60 ++++++--
- src/client/qwaylandxdgsurface_p.h   |  11 +-
- 8 files changed, 364 insertions(+), 162 deletions(-)
- create mode 100644 src/client/qwaylandxdgshell.cpp
- create mode 100644 src/client/qwaylandxdgshell_p.h
-
-diff --git a/src/3rdparty/protocol/xdg-shell.xml b/src/3rdparty/protocol/xdg-shell.xml
-index 4e5cff8..79a2831 100644
---- a/src/3rdparty/protocol/xdg-shell.xml
-+++ b/src/3rdparty/protocol/xdg-shell.xml
-@@ -40,19 +40,22 @@
-     <enum name="version">
-       <description summary="latest protocol version">
--      Use this enum to check the protocol version, and it will be updated
--      automatically.
-+      The 'current' member of this enum gives the version of the
-+      protocol.  Implementations can compare this to the version
-+      they implement using static_assert to ensure the protocol and
-+      implementation versions match.
-       </description>
--      <entry name="current" value="1" summary="Always the latest version"/>
-+      <entry name="current" value="3" summary="Always the latest version"/>
-     </enum>
-     <request name="use_unstable_version">
-       <description summary="enable use of this unstable version">
--      Use this request in order to enable use of this interface.
--
--      Understand and agree that one is using an unstable interface,
--      that will likely change in the future, breaking the API.
-+      Negotiate the unstable version of the interface.  This
-+      mechanism is in place to ensure client and server agree on the
-+      unstable versions of the protocol that they speak or exit
-+      cleanly if they don't agree.  This request will go away once
-+      the xdg-shell protocol is stable.
-       </description>
-       <arg name="version" type="int"/>
-     </request>
-@@ -84,6 +87,28 @@
-       <arg name="y" type="int"/>
-       <arg name="flags" type="uint"/>
-     </request>
-+
-+    <event name="ping">
-+      <description summary="check if the client is alive">
-+        The ping event asks the client if it's still alive. Pass the
-+        serial specified in the event back to the compositor by sending
-+        a "pong" request back with the specified serial.
-+
-+        Compositors can use this to determine if the client is still
-+        alive. It's unspecified what will happen if the client doesn't
-+        respond to the ping request, or in what timeframe. Clients should
-+        try to respond in a reasonable amount of time.
-+      </description>
-+      <arg name="serial" type="uint" summary="pass this to the callback"/>
-+    </event>
-+
-+    <request name="pong">
-+      <description summary="respond to a ping event">
-+      A client must respond to a ping event with a pong request or
-+      the client may be deemed unresponsive.
-+      </description>
-+      <arg name="serial" type="uint" summary="serial of the ping event"/>
-+    </request>
-   </interface>
-   <interface name="xdg_surface" version="1">
-@@ -124,6 +149,32 @@
-       <arg name="parent" type="object" interface="wl_surface" allow-null="true"/>
-     </request>
-+    <request name="set_margin">
-+      <description summary="set the visible frame boundaries">
-+        This tells the compositor what the visible size of the window
-+        should be, so it can use it to determine what borders to use for
-+        constrainment and alignment.
-+
-+        CSD often has invisible areas for decoration purposes, like drop
-+        shadows. These "shadow" drawings need to be subtracted out of the
-+        normal boundaries of the window when computing where to place
-+        windows (e.g. to set this window so it's centered on top of another,
-+        or to put it to the left or right of the screen.)
-+
-+        This value should change as little as possible at runtime, to
-+        prevent flicker.
-+
-+        This value is also ignored when the window is maximized or
-+        fullscreen, and assumed to be 0.
-+
-+        If never called, this value is assumed to be 0.
-+      </description>
-+      <arg name="left_margin" type="int"/>
-+      <arg name="right_margin" type="int"/>
-+      <arg name="top_margin" type="int"/>
-+      <arg name="bottom_margin" type="int"/>
-+    </request>
-+
-     <request name="set_title">
-       <description summary="set surface title">
-       Set a short title for the surface.
-@@ -150,22 +201,6 @@
-       <arg name="app_id" type="string"/>
-     </request>
--    <request name="pong">
--      <description summary="respond to a ping event">
--      A client must respond to a ping event with a pong request or
--      the client may be deemed unresponsive.
--      </description>
--      <arg name="serial" type="uint" summary="serial of the ping event"/>
--    </request>
--
--    <event name="ping">
--      <description summary="ping client">
--      Ping a client to check if it is receiving events and sending
--      requests. A client is expected to reply with a pong request.
--      </description>
--      <arg name="serial" type="uint"/>
--    </event>
--
-     <request name="move">
-       <description summary="start an interactive move">
-       Start a pointer-driven move of the surface.
-@@ -217,12 +252,6 @@
-       ignore it if it doesn't resize, pick a smaller size (to
-       satisfy aspect ratio or resize in steps of NxM pixels).
--      The edges parameter provides a hint about how the surface
--      was resized. The client may use this information to decide
--      how to adjust its content to the new size (e.g. a scrolling
--      area might adjust its content position to leave the viewable
--      content unmoved). Valid edge values are from resize_edge enum.
--
-       The client is free to dismiss all but the last configure
-       event it received.
-@@ -230,7 +259,6 @@
-       in surface local coordinates.
-       </description>
--      <arg name="edges" type="uint"/>
-       <arg name="width" type="int"/>
-       <arg name="height" type="int"/>
-     </event>
-@@ -250,128 +278,122 @@
-       <arg name="output" type="object" interface="wl_output" allow-null="true"/>
-     </request>
--    <event name="request_set_fullscreen">
--      <description summary="server requests that the client set fullscreen">
--      Event sent from the compositor to the client requesting that the client
--      goes to a fullscreen state. It's the client job to call set_fullscreen
--      and really trigger the fullscreen state.
--      </description>
--    </event>
--
--    <event name="request_unset_fullscreen">
--      <description summary="server requests that the client unset fullscreen">
--      Event sent from the compositor to the client requesting that the client
--      leaves the fullscreen state. It's the client job to call
--      unset_fullscreen and really leave the fullscreen state.
--      </description>
--    </event>
-+    <enum name="state">
-+      <description summary="types of state on the surface">
-+        The different state values used on the surface. This is designed for
-+        state values like maximized, fullscreen. It is paired with the
-+        request_change_state event to ensure that both the client and the
-+        compositor setting the state can be synchronized.
--    <request name="set_fullscreen">
--      <description summary="set the surface state as fullscreen">
--      Set the surface as fullscreen.
-+        States set in this way are double-buffered. They will get applied on
-+        the next commit.
--      After this request, the compositor should send a configure event
--      informing the output size.
-+        Desktop environments may extend this enum by taking up a range of
-+        values and documenting the range they chose in this description.
-+        They are not required to document the values for the range that they
-+        chose. Ideally, any good extensions from a desktop environment should
-+        make its way into standardization into this enum.
--      This request informs the compositor that the next attached buffer
--      committed will be in a fullscreen state. The buffer size should be the
--      same size as the size informed in the configure event, if the client
--      doesn't want to leave any empty area.
-+        The current reserved ranges are:
--      In other words: the next attached buffer after set_maximized is the new
--      maximized buffer. And the surface will be positioned at the maximized
--      position on commit.
--
--      A simple way to synchronize and wait for the correct configure event is
--      to use a wl_display.sync request right after the set_fullscreen
--      request. When the sync callback returns, the last configure event
--      received just before it will be the correct one, and should contain the
--      right size for the surface to maximize.
--
--      Setting one state won't unset another state. Use
--      xdg_surface.unset_fullscreen for unsetting it.
-+        0x0000 - 0x0FFF: xdg-shell core values, documented below.
-+        0x1000 - 0x1FFF: GNOME
-       </description>
--    </request>
-+      <entry name="maximized" value="1" summary="the surface is maximized">
-+        A non-zero value indicates the surface is maximized. Otherwise,
-+        the surface is unmaximized.
-+      </entry>
-+      <entry name="fullscreen" value="2" summary="the surface is fullscreen">
-+        A non-zero value indicates the surface is fullscreen. Otherwise,
-+        the surface is not fullscreen.
-+      </entry>
-+    </enum>
--    <request name="unset_fullscreen">
--      <description summary="unset the surface state as fullscreen">
--      Unset the surface fullscreen state.
-+    <request name="request_change_state">
-+      <description summary="client requests to change a surface's state">
-+        This asks the compositor to change the state. If the compositor wants
-+        to change the state, it will send a change_state event with the same
-+        state_type, value, and serial, and the event flow continues as if it
-+        it was initiated by the compositor.
--      Same negotiation as set_fullscreen must be used.
-+        If the compositor does not want to change the state, it will send a
-+        change_state to the client with the old value of the state.
-       </description>
-+      <arg name="state_type" type="uint" summary="the state to set"/>
-+      <arg name="value" type="uint" summary="the value to change the state to"/>
-+      <arg name="serial" type="uint" summary="an event serial">
-+        This serial is so the client can know which change_state event corresponds
-+        to which request_change_state request it sent out.
-+      </arg>
-     </request>
--    <event name="request_set_maximized">
--      <description summary="server requests that the client set maximized">
--      Event sent from the compositor to the client requesting that the client
--      goes to a maximized state. It's the client job to call set_maximized
--      and really trigger the maximized state.
-+    <event name="change_state">
-+      <description summary="compositor wants to change a surface's state">
-+        This event tells the client to change a surface's state. The client
-+        should respond with an ack_change_state request to the compositor to
-+        guarantee that the compositor knows that the client has seen it.
-       </description>
--    </event>
--    <event name="request_unset_maximized">
--      <description summary="server requests that the client unset maximized">
--      Event sent from the compositor to the client requesting that the client
--      leaves the maximized state. It's the client job to call unset_maximized
--      and really leave the maximized state.
--      </description>
-+      <arg name="state_type" type="uint" summary="the state to set"/>
-+      <arg name="value" type="uint" summary="the value to change the state to"/>
-+      <arg name="serial" type="uint" summary="a serial for the compositor's own tracking"/>
-     </event>
--    <request name="set_maximized">
--      <description summary="set the surface state as maximized">
--      Set the surface as maximized.
--
--      After this request, the compositor will send a configure event
--      informing the output size minus panel and other MW decorations.
--
--      This request informs the compositor that the next attached buffer
--      committed will be in a maximized state. The buffer size should be the
--      same size as the size informed in the configure event, if the client
--      doesn't want to leave any empty area.
-+    <request name="ack_change_state">
-+      <description summary="ack a change_state event">
-+        When a change_state event is received, a client should then ack it
-+        using the ack_change_state request to ensure that the compositor
-+        knows the client has seen the event.
--      In other words: the next attached buffer after set_maximized is the new
--      maximized buffer. And the surface will be positioned at the maximized
--      position on commit.
-+        By this point, the state is confirmed, and the next attach should
-+        contain the buffer drawn for the new state value.
--      A simple way to synchronize and wait for the correct configure event is
--      to use a wl_display.sync request right after the set_maximized request.
--      When the sync callback returns, the last configure event received just
--      before it will be the correct one, and should contain the right size
--      for the surface to maximize.
--
--      Setting one state won't unset another state. Use
--      xdg_surface.unset_maximized for unsetting it.
-+        The values here need to be the same as the values in the cooresponding
-+        change_state event.
-       </description>
-+      <arg name="state_type" type="uint" summary="the state to set"/>
-+      <arg name="value" type="uint" summary="the value to change the state to"/>
-+      <arg name="serial" type="uint" summary="a serial to pass to change_state"/>
-     </request>
--    <request name="unset_maximized">
--      <description summary="unset the surface state as maximized">
--      Unset the surface maximized state.
--
--      Same negotiation as set_maximized must be used.
-+    <request name="set_minimized">
-+      <description summary="minimize the surface">
-+        Minimize the surface.
-       </description>
-     </request>
--    <request name="set_minimized">
--      <description summary="set the surface state as minimized">
--      Set the surface minimized state.
--
--      Setting one state won't unset another state.
-+    <event name="activated">
-+      <description summary="surface was activated">
-+      The activated_set event is sent when this surface has been
-+      activated, which means that the surface has user attention.
-+        Window decorations should be updated accordingly. You should
-+        not use this event for anything but the style of decorations
-+        you display, use wl_keyboard.enter and wl_keyboard.leave for
-+        determining keyboard focus.
-       </description>
--    </request>
-+    </event>
--    <event name="focused_set">
--      <description summary="surface was focused">
--      The focused_set event is sent when this surface has been
--      activated. Window decorations should be updated accordingly.
-+    <event name="deactivated">
-+      <description summary="surface was deactivated">
-+      The deactivate event is sent when this surface has been
-+        deactivated, which means that the surface lost user attention.
-+        Window decorations should be updated accordingly. You should
-+        not use this event for anything but the style of decorations
-+        you display, use wl_keyboard.enter and wl_keyboard.leave for
-+        determining keyboard focus.
-       </description>
-     </event>
--    <event name="focused_unset">
--      <description summary="surface was unfocused">
--      The focused_unset event is sent when this surface has been
--      deactivated, because another surface has been activated. Window
--      decorations should be updated accordingly.
-+    <event name="close">
-+      <description summary="surface wants to be closed">
-+        The close event is sent by the compositor when the user
-+        wants the surface to be closed. This should be equivalent to
-+        the user clicking the close button in client-side decorations,
-+        if your application has any...
-+
-+        This is only a request that the user intends to close your
-+        window. The client may choose to ignore this request, or show
-+        a dialog to ask the user to save their data...
-       </description>
-     </event>
-   </interface>
-@@ -409,22 +431,6 @@
-       </description>
-     </request>
--    <request name="pong">
--      <description summary="respond to a ping event">
--      A client must respond to a ping event with a pong request or
--      the client may be deemed unresponsive.
--      </description>
--      <arg name="serial" type="uint" summary="serial of the ping event"/>
--    </request>
--
--    <event name="ping">
--      <description summary="ping client">
--      Ping a client to check if it is receiving events and sending
--      requests. A client is expected to reply with a pong request.
--      </description>
--      <arg name="serial" type="uint"/>
--    </event>
--
-     <event name="popup_done">
-       <description summary="popup interaction is done">
-       The popup_done event is sent out when a popup grab is broken,
-diff --git a/src/client/client.pro b/src/client/client.pro
-index 9ecf82f..73e3b7f 100644
---- a/src/client/client.pro
-+++ b/src/client/client.pro
-@@ -59,6 +59,7 @@ SOURCES +=  qwaylandintegration.cpp \
-             qwaylanddatasource.cpp \
-             qwaylandshellsurface.cpp \
-             qwaylandwlshellsurface.cpp \
-+            qwaylandxdgshell.cpp \
-             qwaylandxdgsurface.cpp \
-             qwaylandextendedoutput.cpp \
-             qwaylandextendedsurface.cpp \
-@@ -89,6 +90,7 @@ HEADERS +=  qwaylandintegration_p.h \
-             qwaylanddatasource_p.h \
-             qwaylandshellsurface_p.h \
-             qwaylandwlshellsurface_p.h \
-+            qwaylandxdgshell_p.h \
-             qwaylandxdgsurface_p.h \
-             qwaylandextendedoutput_p.h \
-             qwaylandextendedsurface_p.h \
-diff --git a/src/client/qwaylanddisplay.cpp b/src/client/qwaylanddisplay.cpp
-index 7f953ad..2e25672 100644
---- a/src/client/qwaylanddisplay.cpp
-+++ b/src/client/qwaylanddisplay.cpp
-@@ -50,7 +50,7 @@
- #include "qwaylandclipboard_p.h"
- #include "qwaylanddatadevicemanager_p.h"
- #include "qwaylandhardwareintegration_p.h"
--
-+#include "qwaylandxdgshell_p.h"
- #include "qwaylandwindowmanagerintegration_p.h"
-@@ -209,8 +209,7 @@ void QWaylandDisplay::registry_global(uint32_t id, const QString &interface, uin
-         mShm = static_cast<struct wl_shm *>(wl_registry_bind(registry, id, &wl_shm_interface,1));
-     } else if (interface == QStringLiteral("xdg_shell")
-                && qEnvironmentVariableIsSet("QT_WAYLAND_USE_XDG_SHELL")) {
--        mShellXdg.reset(new QtWayland::xdg_shell(registry, id));
--        mShellXdg->use_unstable_version(QtWayland::xdg_shell::version_current);
-+        mShellXdg.reset(new QWaylandXdgShell(registry,id));
-     } else if (interface == QStringLiteral("wl_shell")){
-         mShell.reset(new QtWayland::wl_shell(registry, id));
-     } else if (interface == QStringLiteral("wl_seat")) {
-@@ -275,4 +274,9 @@ void QWaylandDisplay::forceRoundTrip()
-     wl_display_roundtrip(mDisplay);
- }
-+QtWayland::xdg_shell *QWaylandDisplay::shellXdg()
-+{
-+    return mShellXdg.data();
-+}
-+
- QT_END_NAMESPACE
-diff --git a/src/client/qwaylanddisplay_p.h b/src/client/qwaylanddisplay_p.h
-index cf5dfc2..f1b35a7 100644
---- a/src/client/qwaylanddisplay_p.h
-+++ b/src/client/qwaylanddisplay_p.h
-@@ -72,6 +72,7 @@ class QWaylandWindow;
- class QWaylandEventThread;
- class QWaylandIntegration;
- class QWaylandHardwareIntegration;
-+class QWaylandXdgShell;
- namespace QtWayland {
-     class qt_output_extension;
-@@ -115,7 +116,7 @@ public:
-     QtWayland::wl_compositor *compositor() { return &mCompositor; }
-     QtWayland::wl_shell *shell() { return mShell.data(); }
--    QtWayland::xdg_shell *shellXdg() { return mShellXdg.data(); }
-+    QtWayland::xdg_shell *shellXdg();
-     QList<QWaylandInputDevice *> inputDevices() const { return mInputDevices; }
-     QWaylandInputDevice *defaultInputDevice() const;
-@@ -171,7 +172,7 @@ private:
-     QThread *mEventThread;
-     QWaylandEventThread *mEventThreadObject;
-     QScopedPointer<QtWayland::wl_shell> mShell;
--    QScopedPointer<QtWayland::xdg_shell> mShellXdg;
-+    QScopedPointer<QWaylandXdgShell> mShellXdg;
-     QList<QPlatformScreen *> mScreens;
-     QList<QWaylandInputDevice *> mInputDevices;
-     QList<Listener> mRegistryListeners;
-diff --git a/src/client/qwaylandxdgshell.cpp b/src/client/qwaylandxdgshell.cpp
-new file mode 100644
-index 0000000..eb9f91c
---- /dev/null
-+++ b/src/client/qwaylandxdgshell.cpp
-@@ -0,0 +1,77 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2014 Eurogiciel, author: <philippe.coval@eurogiciel.fr>
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia.  For licensing terms and
-+** conditions see http://qt.digia.com/licensing.  For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights.  These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include "qwaylandxdgshell_p.h"
-+
-+#include "qwaylanddisplay_p.h"
-+#include "qwaylandwindow_p.h"
-+#include "qwaylandinputdevice_p.h"
-+#include "qwaylanddecoration_p.h"
-+#include "qwaylandscreen_p.h"
-+
-+#include <QtCore/QDebug>
-+
-+QT_BEGIN_NAMESPACE
-+
-+QWaylandXdgShell::QWaylandXdgShell(struct ::xdg_shell *shell)
-+    : QtWayland::xdg_shell(shell)
-+{
-+}
-+
-+QWaylandXdgShell::QWaylandXdgShell(struct ::wl_registry *registry, uint32_t id)
-+    : QtWayland::xdg_shell(registry, id)
-+{
-+    use_unstable_version(QtWayland::xdg_shell::version_current);
-+}
-+
-+QWaylandXdgShell::~QWaylandXdgShell()
-+{
-+    xdg_shell_destroy(object());
-+}
-+
-+
-+void QWaylandXdgShell::xdg_shell_ping(uint32_t serial)
-+{
-+    pong(serial);
-+}
-+
-+
-+QT_END_NAMESPACE
-diff --git a/src/client/qwaylandxdgshell_p.h b/src/client/qwaylandxdgshell_p.h
-new file mode 100644
-index 0000000..6a396bd
---- /dev/null
-+++ b/src/client/qwaylandxdgshell_p.h
-@@ -0,0 +1,73 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2014 Eurogiciel, author: <philippe.coval@eurogiciel.fr>
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia.  For licensing terms and
-+** conditions see http://qt.digia.com/licensing.  For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights.  These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QWAYLANDXDGSHELL_H
-+#define QWAYLANDXDGSHELL_H
-+
-+#include <QtCore/QSize>
-+
-+#include <wayland-client.h>
-+
-+#include <QtWaylandClient/private/qwayland-xdg-shell.h>
-+#include <QtWaylandClient/private/qwaylandclientexport_p.h>
-+#include "qwaylandshellsurface_p.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QWaylandWindow;
-+class QWaylandInputDevice;
-+class QWindow;
-+
-+class Q_WAYLAND_CLIENT_EXPORT QWaylandXdgShell : public QtWayland::xdg_shell
-+{
-+public:
-+    QWaylandXdgShell(struct ::xdg_shell *shell);
-+    QWaylandXdgShell(struct ::wl_registry *registry, uint32_t id);
-+
-+    virtual ~QWaylandXdgShell();
-+
-+private:
-+    void xdg_shell_ping(uint32_t serial) Q_DECL_OVERRIDE;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif // QWAYLANDXDGSHELL_H
-diff --git a/src/client/qwaylandxdgsurface.cpp b/src/client/qwaylandxdgsurface.cpp
-index 1b8affa..5fb74d2 100644
---- a/src/client/qwaylandxdgsurface.cpp
-+++ b/src/client/qwaylandxdgsurface.cpp
-@@ -87,23 +87,25 @@ void QWaylandXdgSurface::move(QWaylandInputDevice *inputDevice)
- void QWaylandXdgSurface::setMaximized()
- {
--    m_maximized = true;
--    m_size = m_window->window()->geometry().size();
--    set_maximized();
-+    if (!m_maximized)
-+        request_change_state(XDG_SURFACE_STATE_MAXIMIZED, true, 0);
- }
- void QWaylandXdgSurface::setFullscreen()
- {
--    m_fullscreen = true;
--    m_size = m_window->window()->geometry().size();
--    set_fullscreen();
-+    if (!m_fullscreen)
-+        request_change_state(XDG_SURFACE_STATE_FULLSCREEN, true, 0);
- }
- void QWaylandXdgSurface::setNormal()
- {
-     if (m_fullscreen || m_maximized  || m_minimized) {
--        if (m_maximized) { unset_maximized(); }
--        if (m_fullscreen) { unset_fullscreen(); }
-+        if (m_maximized) {
-+            request_change_state(XDG_SURFACE_STATE_MAXIMIZED, false, 0);
-+        }
-+        if (m_fullscreen) {
-+            request_change_state(XDG_SURFACE_STATE_FULLSCREEN, false, 0);
-+        }
-         m_fullscreen = m_maximized = m_minimized = false;
-         setTopLevel();
-@@ -158,16 +160,48 @@ void QWaylandXdgSurface::setAppId(const QString & appId)
-     return QtWayland::xdg_surface::set_app_id(appId);
- }
--void QWaylandXdgSurface::xdg_surface_ping(uint32_t serial)
-+void QWaylandXdgSurface::xdg_surface_configure(int32_t width, int32_t height)
- {
--    pong(serial);
-+    m_window->configure(0 , width, height);
- }
--void QWaylandXdgSurface::xdg_surface_configure(uint32_t edges, int32_t width,
--                                               int32_t height)
-+void QWaylandXdgSurface::xdg_surface_change_state(uint32_t state,
-+                                                  uint32_t value,
-+                                                  uint32_t serial)
- {
--    m_window->configure(edges, width, height);
-+
-+    if (state == XDG_SURFACE_STATE_MAXIMIZED
-+            || state == XDG_SURFACE_STATE_FULLSCREEN) {
-+        if (value) {
-+            m_size = m_window->window()->geometry().size();
-+        } else {
-+            QMargins m = m_window->frameMargins();
-+            m_window->configure(0, m_size.width() + m.left() + m.right(), m_size.height() + m.top() + m.bottom());
-+        }
-+    }
-+
-+    switch (state) {
-+    case XDG_SURFACE_STATE_MAXIMIZED:
-+        m_maximized = value;
-+        break;
-+    case XDG_SURFACE_STATE_FULLSCREEN:
-+        m_fullscreen = value;
-+        break;
-+    }
-+
-+    xdg_surface_ack_change_state(object(), state, value, serial);
- }
-+void QWaylandXdgSurface::xdg_surface_activated()
-+{
-+}
-+
-+void QWaylandXdgSurface::xdg_surface_deactivated()
-+{
-+}
-+
-+void QWaylandXdgSurface::xdg_surface_close()
-+{
-+}
- QT_END_NAMESPACE
-diff --git a/src/client/qwaylandxdgsurface_p.h b/src/client/qwaylandxdgsurface_p.h
-index 744d3f3..d2a154e 100644
---- a/src/client/qwaylandxdgsurface_p.h
-+++ b/src/client/qwaylandxdgsurface_p.h
-@@ -93,10 +93,15 @@ private:
-     bool m_fullscreen;
-     QSize m_size;
--    void xdg_surface_ping(uint32_t serial) Q_DECL_OVERRIDE;
--    void xdg_surface_configure(uint32_t edges,
--                               int32_t width,
-+    void xdg_surface_configure(int32_t width,
-                                int32_t height) Q_DECL_OVERRIDE;
-+    void xdg_surface_change_state(uint32_t state,
-+                                  uint32_t value,
-+                                  uint32_t serial) Q_DECL_OVERRIDE;
-+    void xdg_surface_activated() Q_DECL_OVERRIDE;
-+    void xdg_surface_deactivated() Q_DECL_OVERRIDE;
-+    void xdg_surface_close() Q_DECL_OVERRIDE;
-+
-     friend class QWaylandWindow;
- };
--- 
-1.9.1
-
diff --git a/recipes-qt/qt5/qtwayland/0020-Add-IVI-Shell-protocol-file-version-patch-v6.patch b/recipes-qt/qt5/qtwayland/0020-Add-IVI-Shell-protocol-file-version-patch-v6.patch
deleted file mode 100644 (file)
index 413459f..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-From b4f032b13338ad6c21024177b031c75063ef7493 Mon Sep 17 00:00:00 2001
-From: Manuel Bachmann <manuel.bachmann@open.eurogiciel.org>
-Date: Sun, 7 Sep 2014 08:19:30 +0200
-Subject: [PATCH 20/21] Add IVI-Shell protocol file version patch v6
-
-Source : http://lists.freedesktop.org/archives/wayland-devel/2014-June/015617.html
-
-This file comes from the last proposed definition of the IVI-Shell protocol,
-and will need to be refreshed on protocol update.
-
-Task-number: QTBUG-XXXXX/part/1of2
-
-Signed-off-by: Manuel Bachmann <manuel.bachmann@open.eurogiciel.org>
----
- src/3rdparty/protocol/ivi-application.xml | 101 ++++++++++++++++++++++++++++++
- 1 file changed, 101 insertions(+)
- create mode 100644 src/3rdparty/protocol/ivi-application.xml
-
-diff --git a/src/3rdparty/protocol/ivi-application.xml b/src/3rdparty/protocol/ivi-application.xml
-new file mode 100644
-index 0000000..833fd38
---- /dev/null
-+++ b/src/3rdparty/protocol/ivi-application.xml
-@@ -0,0 +1,101 @@
-+<?xml version="1.0" encoding="UTF-8"?>
-+<protocol name="ivi_application">
-+
-+    <copyright>
-+    Copyright (C) 2013 DENSO CORPORATION
-+    Copyright (c) 2013 BMW Car IT GmbH
-+
-+    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.
-+    </copyright>
-+
-+    <interface name="ivi_surface" version="1">
-+        <description summary="application interface to surface in ivi compositor"/>
-+
-+        <request name="destroy" type="destructor">
-+            <description summary="destroy ivi_surface">
-+                This removes link from ivi_id to wl_surface and destroys ivi_surface.
-+            </description>
-+        </request>
-+
-+        <event name="visibility">
-+            <description summary="visibility of surface in ivi compositor has changed">
-+                The new visibility state is provided in argument visibility.
-+                If visibility is 0, the surface has become invisible.
-+                If visibility is not 0, the surface has become visible.
-+            </description>
-+            <arg name="visibility" type="int"/>
-+        </event>
-+
-+        <enum name="warning_code">
-+            <description summary="possible warning codes returned by ivi compositor">
-+                These define all possible warning codes returned by ivi compositor on server-side warnings.
-+                invalid_wl_surface:
-+                    - wl_surface already has a another role.
-+                  - wl_surface is destroyed before the ivi_surface is destroyed.
-+                ivi_id_in_use: ivi_id is already assigned by another application.
-+            </description>
-+            <entry name="invalid_wl_surface" value="1" summary="wl_surface is invalid"/>
-+            <entry name="ivi_id_in_use" value="2" summary="ivi_id is in use and can not be shared"/>
-+        </enum>
-+
-+        <event name="warning">
-+            <description summary="server-side warning detected">
-+                The ivi compositor encountered warning while processing a request by this
-+                application. The warning is defined by argument warning_code and optional
-+                warning_text. If the warning is detected, client shall destroy the ivi_surface
-+                object.
-+
-+              When a warning event is sent, the compositor turns the ivi_surface object inert.
-+              The ivi_surface will not deliver further events, all requests on it are ignored
-+              except 'destroy', and the association to the ivi_id is removed. The client
-+              should destroy the ivi_surface object. If an inert ivi_surface object is used as
-+              an argument to any other object's request, that request will [produce a fatal
-+              error / produce a warning / be ignored].
-+            </description>
-+            <arg name="warning_code" type="int"/>
-+            <arg name="warning_text" type="string" allow-null="true"/>
-+        </event>
-+
-+    </interface>
-+
-+    <interface name="ivi_application" version="1">
-+        <description summary="create ivi-style surfaces">
-+          This interface is implemented by servers that provide desktop-style user interfaces.
-+          It allows clients to associate a ivi_surface with a basic surface.
-+      </description>
-+
-+        <request name="surface_create">
-+            <description summary="create ivi_surface with numeric ID in ivi compositor">
-+                surface_create will create a interface:ivi_surface with numeric ID; ivi_id in
-+                ivi compositor. These ivi_ids are defined as unique in the system to identify
-+                it inside of ivi compositor. The ivi compositor implements business logic how to
-+                set properties of the surface with ivi_id according to status of the system.
-+                E.g. a unique ID for Car Navigation application is used for implementing special
-+                logic of the application about where it shall be located.
-+              if a wl_surface which already has another role is set, the server regards this as
-+              error and disconnects the client.
-+            </description>
-+            <arg name="ivi_id" type="uint"/>
-+            <arg name="surface" type="object" interface="wl_surface"/>
-+            <arg name="id" type="new_id" interface="ivi_surface"/>
-+        </request>
-+
-+    </interface>
-+
-+</protocol>
--- 
-1.9.1
-
diff --git a/recipes-qt/qt5/qtwayland/0021-Implement-initial-IVI-Shell-support.patch b/recipes-qt/qt5/qtwayland/0021-Implement-initial-IVI-Shell-support.patch
deleted file mode 100644 (file)
index 8723def..0000000
+++ /dev/null
@@ -1,539 +0,0 @@
-From 1ddfa43692cabae0f552351cfbc09377e479471e Mon Sep 17 00:00:00 2001
-From: Manuel Bachmann <manuel.bachmann@open.eurogiciel.org>
-Date: Mon, 8 Sep 2014 11:38:01 +0200
-Subject: [PATCH 21/21] Implement initial IVI-Shell support
-
-IVI-Shell provides a shell interface for Weston, which maps the GENIVI API (http://www.genivi.org) for In-Vehicle Infotainment.
-
-This patch enables detecting the IVI-Shell interface at runtime, and creating compatible surfaces if found.
-
-Task-number: QTBUG-XXXXX/part/2of2
-
-Change-Id: I1f6c11bf56b727a54fb48faab9c076b61d635440
-Signed-off-by: Manuel Bachmann <manuel.bachmann@open.eurogiciel.org>
----
- src/client/client.pro             |   5 ++
- src/client/qwaylanddisplay.cpp    |   9 ++++
- src/client/qwaylanddisplay_p.h    |   5 ++
- src/client/qwaylandivishell.cpp   |  69 +++++++++++++++++++++++++
- src/client/qwaylandivishell_p.h   |  70 +++++++++++++++++++++++++
- src/client/qwaylandivisurface.cpp | 105 ++++++++++++++++++++++++++++++++++++++
- src/client/qwaylandivisurface_p.h |  90 ++++++++++++++++++++++++++++++++
- src/client/qwaylandwindow.cpp     |   8 ++-
- 8 files changed, 360 insertions(+), 1 deletion(-)
- create mode 100644 src/client/qwaylandivishell.cpp
- create mode 100644 src/client/qwaylandivishell_p.h
- create mode 100644 src/client/qwaylandivisurface.cpp
- create mode 100644 src/client/qwaylandivisurface_p.h
-
-diff --git a/src/client/client.pro b/src/client/client.pro
-index 73e3b7f..adb526d 100644
---- a/src/client/client.pro
-+++ b/src/client/client.pro
-@@ -42,6 +42,7 @@ WAYLANDCLIENTSOURCES += \
-             ../extensions/windowmanager.xml \
-             ../3rdparty/protocol/text.xml \
-             ../3rdparty/protocol/xdg-shell.xml \
-+            ../3rdparty/protocol/ivi-application.xml \
- SOURCES +=  qwaylandintegration.cpp \
-             qwaylandnativeinterface.cpp \
-@@ -61,6 +62,8 @@ SOURCES +=  qwaylandintegration.cpp \
-             qwaylandwlshellsurface.cpp \
-             qwaylandxdgshell.cpp \
-             qwaylandxdgsurface.cpp \
-+            qwaylandivishell.cpp \
-+            qwaylandivisurface.cpp \
-             qwaylandextendedoutput.cpp \
-             qwaylandextendedsurface.cpp \
-             qwaylandsubsurface.cpp \
-@@ -92,6 +95,8 @@ HEADERS +=  qwaylandintegration_p.h \
-             qwaylandwlshellsurface_p.h \
-             qwaylandxdgshell_p.h \
-             qwaylandxdgsurface_p.h \
-+            qwaylandivishell_p.h \
-+            qwaylandivisurface_p.h \
-             qwaylandextendedoutput_p.h \
-             qwaylandextendedsurface_p.h \
-             qwaylandsubsurface_p.h \
-diff --git a/src/client/qwaylanddisplay.cpp b/src/client/qwaylanddisplay.cpp
-index 2e25672..2a93db7 100644
---- a/src/client/qwaylanddisplay.cpp
-+++ b/src/client/qwaylanddisplay.cpp
-@@ -51,6 +51,7 @@
- #include "qwaylanddatadevicemanager_p.h"
- #include "qwaylandhardwareintegration_p.h"
- #include "qwaylandxdgshell_p.h"
-+#include "qwaylandivishell_p.h"
- #include "qwaylandwindowmanagerintegration_p.h"
-@@ -62,6 +63,7 @@
- #include <QtWaylandClient/private/qwayland-text.h>
- #include <QtWaylandClient/private/qwayland-xdg-shell.h>
-+#include <QtWaylandClient/private/qwayland-ivi-application.h>
- #include <QtCore/QAbstractEventDispatcher>
- #include <QtGui/private/qguiapplication_p.h>
-@@ -207,6 +209,8 @@ void QWaylandDisplay::registry_global(uint32_t id, const QString &interface, uin
-         mCompositor.init(registry, id);
-     } else if (interface == QStringLiteral("wl_shm")) {
-         mShm = static_cast<struct wl_shm *>(wl_registry_bind(registry, id, &wl_shm_interface,1));
-+    } else if (interface == QStringLiteral("ivi_application")) {
-+        mShellIvi.reset(new QWaylandIviShell(registry,id));
-     } else if (interface == QStringLiteral("xdg_shell")
-                && qEnvironmentVariableIsSet("QT_WAYLAND_USE_XDG_SHELL")) {
-         mShellXdg.reset(new QWaylandXdgShell(registry,id));
-@@ -279,4 +283,9 @@ QtWayland::xdg_shell *QWaylandDisplay::shellXdg()
-     return mShellXdg.data();
- }
-+QtWayland::ivi_application *QWaylandDisplay::shellIvi()
-+{
-+    return mShellIvi.data();
-+}
-+
- QT_END_NAMESPACE
-diff --git a/src/client/qwaylanddisplay_p.h b/src/client/qwaylanddisplay_p.h
-index f1b35a7..b9c686c 100644
---- a/src/client/qwaylanddisplay_p.h
-+++ b/src/client/qwaylanddisplay_p.h
-@@ -52,6 +52,7 @@
- #include <QtWaylandClient/private/qwayland-wayland.h>
- #include <QtWaylandClient/private/qwaylandclientexport_p.h>
- #include <QtWaylandClient/private/qwayland-xdg-shell.h>
-+#include <QtWaylandClient/private/qwayland-ivi-application.h>
- struct wl_cursor_image;
-@@ -72,6 +73,7 @@ class QWaylandWindow;
- class QWaylandEventThread;
- class QWaylandIntegration;
- class QWaylandHardwareIntegration;
-+class QWaylandIviShell;
- class QWaylandXdgShell;
- namespace QtWayland {
-@@ -81,6 +83,7 @@ namespace QtWayland {
-     class qt_surface_extension;
-     class wl_text_input_manager;
-     class xdg_shell;
-+    class ivi_application;
- }
- typedef void (*RegistryListener)(void *data,
-@@ -117,6 +120,7 @@ public:
-     QtWayland::wl_shell *shell() { return mShell.data(); }
-     QtWayland::xdg_shell *shellXdg();
-+    QtWayland::ivi_application *shellIvi();
-     QList<QWaylandInputDevice *> inputDevices() const { return mInputDevices; }
-     QWaylandInputDevice *defaultInputDevice() const;
-@@ -173,6 +177,7 @@ private:
-     QWaylandEventThread *mEventThreadObject;
-     QScopedPointer<QtWayland::wl_shell> mShell;
-     QScopedPointer<QWaylandXdgShell> mShellXdg;
-+    QScopedPointer<QWaylandIviShell> mShellIvi;
-     QList<QPlatformScreen *> mScreens;
-     QList<QWaylandInputDevice *> mInputDevices;
-     QList<Listener> mRegistryListeners;
-diff --git a/src/client/qwaylandivishell.cpp b/src/client/qwaylandivishell.cpp
-new file mode 100644
-index 0000000..9d63d0d
---- /dev/null
-+++ b/src/client/qwaylandivishell.cpp
-@@ -0,0 +1,69 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2014 Eurogiciel, author: <manuel.bachmann@open.eurogiciel.org>
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia.  For licensing terms and
-+** conditions see http://qt.digia.com/licensing.  For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights.  These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include "qwaylandivishell_p.h"
-+
-+#include "qwaylanddisplay_p.h"
-+#include "qwaylandwindow_p.h"
-+#include "qwaylandinputdevice_p.h"
-+#include "qwaylanddecoration_p.h"
-+#include "qwaylandscreen_p.h"
-+
-+#include <QtCore/QDebug>
-+
-+QT_BEGIN_NAMESPACE
-+
-+QWaylandIviShell::QWaylandIviShell(struct ::ivi_application *shell)
-+    : QtWayland::ivi_application(shell)
-+{
-+}
-+
-+QWaylandIviShell::QWaylandIviShell(struct ::wl_registry *registry, uint32_t id)
-+    : QtWayland::ivi_application(registry, id)
-+{
-+}
-+
-+QWaylandIviShell::~QWaylandIviShell()
-+{
-+    ivi_application_destroy(object());
-+}
-+
-+QT_END_NAMESPACE
-diff --git a/src/client/qwaylandivishell_p.h b/src/client/qwaylandivishell_p.h
-new file mode 100644
-index 0000000..f9f6983
---- /dev/null
-+++ b/src/client/qwaylandivishell_p.h
-@@ -0,0 +1,70 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2014 Eurogiciel, author: <manuel.bachmann@open.eurogiciel.org>
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia.  For licensing terms and
-+** conditions see http://qt.digia.com/licensing.  For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights.  These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QWAYLANDIVISHELL_H
-+#define QWAYLANDIVISHELL_H
-+
-+#include <QtCore/QSize>
-+
-+#include <wayland-client.h>
-+
-+#include <QtWaylandClient/private/qwayland-ivi-application.h>
-+#include <QtWaylandClient/private/qwaylandclientexport_p.h>
-+#include "qwaylandshellsurface_p.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QWaylandWindow;
-+class QWaylandInputDevice;
-+class QWindow;
-+
-+class Q_WAYLAND_CLIENT_EXPORT QWaylandIviShell : public QtWayland::ivi_application
-+{
-+public:
-+    QWaylandIviShell(struct ::ivi_application *shell);
-+    QWaylandIviShell(struct ::wl_registry *registry, uint32_t id);
-+
-+    virtual ~QWaylandIviShell();
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif // QWAYLANDIVISHELL_H
-diff --git a/src/client/qwaylandivisurface.cpp b/src/client/qwaylandivisurface.cpp
-new file mode 100644
-index 0000000..a12309e
---- /dev/null
-+++ b/src/client/qwaylandivisurface.cpp
-@@ -0,0 +1,105 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia.  For licensing terms and
-+** conditions see http://qt.digia.com/licensing.  For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights.  These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include "qwaylandivisurface_p.h"
-+
-+#include "qwaylanddisplay_p.h"
-+#include "qwaylandwindow_p.h"
-+#include "qwaylandinputdevice_p.h"
-+#include "qwaylanddecoration_p.h"
-+#include "qwaylandscreen_p.h"
-+
-+#include <QtCore/QDebug>
-+
-+QT_BEGIN_NAMESPACE
-+
-+QWaylandIviSurface::QWaylandIviSurface(struct ::ivi_surface *ivi_surface, QWaylandWindow *window)
-+    : QtWayland::ivi_surface(ivi_surface)
-+    , m_window(window)
-+{
-+}
-+
-+QWaylandIviSurface::~QWaylandIviSurface()
-+{
-+    ivi_surface_destroy(object());
-+}
-+
-+void QWaylandIviSurface::resize(QWaylandInputDevice *inputDevice, enum wl_shell_surface_resize edges)
-+{
-+}
-+
-+void QWaylandIviSurface::move(QWaylandInputDevice *inputDevice)
-+{
-+}
-+
-+void QWaylandIviSurface::setMaximized()
-+{
-+}
-+
-+void QWaylandIviSurface::setFullscreen()
-+{
-+}
-+
-+void QWaylandIviSurface::setNormal()
-+{
-+}
-+
-+void QWaylandIviSurface::setMinimized()
-+{
-+}
-+
-+void QWaylandIviSurface::setTopLevel()
-+{
-+}
-+
-+void QWaylandIviSurface::updateTransientParent(QWindow *parent)
-+{
-+}
-+
-+void QWaylandIviSurface::setTitle(const QString & title)
-+{
-+}
-+
-+void QWaylandIviSurface::setAppId(const QString & appId)
-+{
-+}
-+
-+QT_END_NAMESPACE
-diff --git a/src/client/qwaylandivisurface_p.h b/src/client/qwaylandivisurface_p.h
-new file mode 100644
-index 0000000..c6a7ce6
---- /dev/null
-+++ b/src/client/qwaylandivisurface_p.h
-@@ -0,0 +1,90 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia.  For licensing terms and
-+** conditions see http://qt.digia.com/licensing.  For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights.  These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QWAYLANDIVISURFACE_H
-+#define QWAYLANDIVISURFACE_H
-+
-+#include <QtCore/QSize>
-+
-+#include <wayland-client.h>
-+
-+#include <QtWaylandClient/private/qwayland-ivi-application.h>
-+#include <QtWaylandClient/private/qwaylandclientexport_p.h>
-+#include "qwaylandshellsurface_p.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QWaylandWindow;
-+class QWaylandInputDevice;
-+class QWindow;
-+class QWaylandExtendedSurface;
-+
-+class Q_WAYLAND_CLIENT_EXPORT QWaylandIviSurface : public QtWayland::ivi_surface
-+        , public QWaylandShellSurface
-+{
-+public:
-+    QWaylandIviSurface(struct ::ivi_surface *shell_surface, QWaylandWindow *window);
-+    virtual ~QWaylandIviSurface();
-+
-+    void resize(QWaylandInputDevice *inputDevice, enum wl_shell_surface_resize edges) Q_DECL_OVERRIDE;
-+    void move(QWaylandInputDevice *inputDevice) Q_DECL_OVERRIDE;
-+
-+    void setTitle(const QString &title) Q_DECL_OVERRIDE;
-+    void setAppId(const QString &appId) Q_DECL_OVERRIDE;
-+
-+private:
-+    void setMaximized() Q_DECL_OVERRIDE;
-+    void setFullscreen() Q_DECL_OVERRIDE;
-+    void setNormal() Q_DECL_OVERRIDE;
-+    void setMinimized() Q_DECL_OVERRIDE;
-+
-+    void setTopLevel() Q_DECL_OVERRIDE;
-+    void updateTransientParent(QWindow *parent) Q_DECL_OVERRIDE;
-+
-+private:
-+    QWaylandWindow *m_window;
-+
-+    friend class QWaylandWindow;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif // QWAYLANDIVISURFACE_H
-diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
-index 3fb3a49..45a58f2 100644
---- a/src/client/qwaylandwindow.cpp
-+++ b/src/client/qwaylandwindow.cpp
-@@ -39,6 +39,8 @@
- **
- ****************************************************************************/
-+#include <unistd.h>
-+
- #include "qwaylandwindow_p.h"
- #include "qwaylandbuffer_p.h"
-@@ -48,10 +50,12 @@
- #include "qwaylandshellsurface_p.h"
- #include "qwaylandwlshellsurface_p.h"
- #include "qwaylandxdgsurface_p.h"
-+#include "qwaylandivisurface_p.h"
- #include "qwaylandextendedsurface_p.h"
- #include "qwaylandsubsurface_p.h"
- #include "qwaylanddecoration_p.h"
- #include "qwaylandwindowmanagerintegration_p.h"
-+#define IVI_SURFACE_ID 8000
- #include <QtCore/QFileInfo>
- #include <QtGui/QWindow>
-@@ -95,7 +99,9 @@ QWaylandWindow::QWaylandWindow(QWindow *window)
-     mWindowId = id++;
-     if (!(window->flags() & Qt::BypassWindowManagerHint)) {
--        if (mDisplay->shellXdg()) {
-+        if (mDisplay->shellIvi()) {
-+                mShellSurface = new QWaylandIviSurface(mDisplay->shellIvi()->surface_create(IVI_SURFACE_ID + getpid(), object()), this);
-+        } else if (mDisplay->shellXdg()) {
-            if (window->type() & Qt::Window) {
-                 mShellSurface = new QWaylandXdgSurface(mDisplay->shellXdg()->get_xdg_surface(object()), this);
-             }
--- 
-1.9.1
-
diff --git a/recipes-qt/qt5/qtwayland/0099_qtwayland_no_evdev.patch b/recipes-qt/qt5/qtwayland/0099_qtwayland_no_evdev.patch
deleted file mode 100644 (file)
index 99b5193..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/tests/auto/compositor/compositor/compositor.pro b/tests/auto/compositor/compositor/compositor.pro
-index f0cdaf32..64b60218 100644
---- a/tests/auto/compositor/compositor/compositor.pro
-+++ b/tests/auto/compositor/compositor/compositor.pro
-@@ -7,9 +7,6 @@ QT += core-private gui-private waylandcompositor waylandcompositor-private
- QMAKE_USE += wayland-client wayland-server
--qtConfig(xkbcommon-evdev): \
--    QMAKE_USE += xkbcommon_evdev
--
- WAYLANDCLIENTSOURCES += \
-             ../../../../src/3rdparty/protocol/xdg-shell.xml \
-             ../../../../src/3rdparty/protocol/ivi-application.xml \
diff --git a/recipes-qt/qt5/qtwayland/UNUSED_NEEDS_CHECK_YOCTO_0018-packaging-enable-xdg-shell-at-runtime.patch b/recipes-qt/qt5/qtwayland/UNUSED_NEEDS_CHECK_YOCTO_0018-packaging-enable-xdg-shell-at-runtime.patch
deleted file mode 100644 (file)
index bca61b5..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-From 9617c349a212d5407087daf4f4a2386bce94ecc1 Mon Sep 17 00:00:00 2001
-From: Philippe Coval <philippe.coval@open.eurogiciel.org>
-Date: Thu, 12 Jun 2014 11:55:29 +0200
-Subject: [PATCH 18/21] packaging: enable xdg-shell at runtime
-
-Change-Id: Iffbae496f1e09c8fa44a28d4eb515678e3bbb297
-Bug-Tizen: TIVI-3113/part
-Signed-off-by: Philippe Coval <philippe.coval@open.eurogiciel.org>
----
- packaging/qt5-qtwayland.spec | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/packaging/qt5-qtwayland.spec b/packaging/qt5-qtwayland.spec
-index cba18e2..ff32185 100644
---- a/packaging/qt5-qtwayland.spec
-+++ b/packaging/qt5-qtwayland.spec
-@@ -97,6 +97,11 @@ rm -rf %{buildroot}
- %post
- /sbin/ldconfig
-+
-+f="/etc/profile.d/qt.sh"
-+grep QT_WAYLAND_USE_XDG_SHELL $f \
-+    || echo "QT_WAYLAND_USE_XDG_SHELL='defined'; export QT_WAYLAND_USE_XDG_SHELL"  >> $f
-+
- %postun
- /sbin/ldconfig
--- 
-1.9.1
-
diff --git a/recipes-qt/qt5/qtwayland/disable_xcomposite_egl_qt_wayland_client_buffer_integration.patch b/recipes-qt/qt5/qtwayland/disable_xcomposite_egl_qt_wayland_client_buffer_integration.patch
deleted file mode 100644 (file)
index f113266..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: git/qtwayland.pro
-===================================================================
---- git.orig/qtwayland.pro     2014-09-18 12:01:23.883582734 +0300
-+++ git/qtwayland.pro  2014-09-18 12:05:49.743574961 +0300
-@@ -7,7 +7,6 @@
- qtCompileTest(egl)
- qtCompileTest(brcm_egl)
- qtCompileTest(glx)
--qtCompileTest(xcomposite)
- qtCompileTest(drm_egl_server)
- load(qt_parts)
diff --git a/recipes-qt/qt5/qtwayland_%.bbappend b/recipes-qt/qt5/qtwayland_%.bbappend
deleted file mode 100644 (file)
index 9807840..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-FILESEXTRAPATHS_append := ":${THISDIR}/${PN}"
-
-# QT_MODULE_BRANCH = "5.4"
-
-# TODO:
-#  These patches for IVI-SHELL are tempolary disabled because of issues. And new
-#  patches are proposed.
-#
-#    file://0020-Add-IVI-Shell-protocol-file-version-patch-v6.patch \
-#    file://0021-Implement-initial-IVI-Shell-support.patch \
-#    file://0001-protocol-update-3rd-party-ivi-application-protocol.patch \
-#    file://0002-qwaylandwindow-add-support-for-IVI-Surface-ID-proper.patch \
-#
-#  The xdg-shell merged into upstream, so we don't need these patch anymore.
-#  But xdg-shell doesn't work well in current AGL Distro because of
-#  mismatch of protocol versions between server(weston) and client(Qt Apps).
-#
-#    file://0016-xdg-shell-Add-xdg-shell-protocol-file-version-1.4.0.patch \
-#    file://0017-xdg-shell-Add-minimize-feature-to-QWindow-using-wayl.patch \
-#    file://0019-xdg-shell-upgrade-to-support-current-version-weston-.patch \
-#
-
-SRC_URI_append = "\
-    file://0010-Added-manifest-file-according-to-smack-3-domain-mode.patch \
-    "
-SRC_URI_append_checkforkrogoth = "\
-    file://disable_xcomposite_egl_qt_wayland_client_buffer_integration.patch \
-    file://0001-Implement-initial-IVI-shell-support-with-shell-integ.patch \
-    file://0002-Fix-multiple-QWindow.patch \
-    "
-
-
-DEPENDS_append_koelsch = " libegl gles-user-module"
-DEPENDS_append_porter = " ${@base_conditional('PREFERRED_PROVIDER_virtual/egl', 'mesa', 'mesa', 'libegl gles-user-module', d)}"
-
-SRC_URI_append = " file://0099_qtwayland_no_evdev.patch "
diff --git a/recipes-qt/qt5/qtwebkit_%.bbappend b/recipes-qt/qt5/qtwebkit_%.bbappend
deleted file mode 100644 (file)
index 0420578..0000000
+++ /dev/null
@@ -1 +0,0 @@
-PACKAGECONFIG = "gstreamer qtlocation qtmultimedia qtsensors"
diff --git a/recipes-sdl/packagegroups/packagegroup-agl-smartdevicelink.bb b/recipes-sdl/packagegroups/packagegroup-agl-smartdevicelink.bb
deleted file mode 100644 (file)
index 7d13535..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION = "Set of packages for SmartDeviceLink"
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
-    packagegroup-agl-smartdevicelink \
-    "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
-    sdl-core \
-    "
-
-# Porter does not have the required gstreamer version
-RDEPENDS_${PN}_porter := ""
diff --git a/recipes-support/opencv/opencv_3.3.bbappend b/recipes-support/opencv/opencv_3.3.bbappend
deleted file mode 100644 (file)
index 8656abf..0000000
+++ /dev/null
@@ -1 +0,0 @@
-PACKAGECONFIG ?= "jpeg png v4l libv4l gstreamer"
diff --git a/recipes-support/udisks/files/automount.service b/recipes-support/udisks/files/automount.service
deleted file mode 100644 (file)
index 64c36e7..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-[Unit]
-Description=Automount Disk Manager
-After=udisks.service
-
-[Service]
-ExecStart=/usr/libexec/automount.sh
-
-[Install]
-WantedBy=multi-user.target
diff --git a/recipes-support/udisks/files/automount.sh b/recipes-support/udisks/files/automount.sh
deleted file mode 100755 (executable)
index bb0b1ae..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-
-pathtoname() {
-       udevadm info -p /sys/"$1" | awk -v FS== '/DEVNAME/ {print $2}'
-}
-
-MOUNT_OPTIONS="ro,flush"
-
-rmdir /media/* &> /dev/null || true
-for DEVNAME in $(udisks --enumerate-device-files|grep -e sd[a-z]); do
-       udisks --mount-options $MOUNT_OPTIONS --mount $DEVNAME
-done
-
-stdbuf -oL -- udevadm monitor --udev -s block | while read -r -- _ _ event devpath _; do
-       if [ "$event" = add ]; then
-               DEVNAME=$(pathtoname "$devpath")
-               udisks --mount-options $MOUNT_OPTIONS --mount $DEVNAME
-       fi
-done
diff --git a/recipes-support/udisks/files/org.freedesktop.UDisks.conf b/recipes-support/udisks/files/org.freedesktop.UDisks.conf
deleted file mode 100644 (file)
index 0098b94..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?> <!-- -*- XML -*- -->
-
-<!DOCTYPE busconfig PUBLIC
- "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
- "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
-<busconfig>
-  <!-- Only root can own the service -->
-  <policy user="root">
-    <allow own="org.freedesktop.UDisks"/>
-  </policy>
-
-  <policy context="default">
-    <allow send_destination="org.freedesktop.UDisks"/>
-
-    <allow send_destination="org.freedesktop.UDisks"
-           send_interface="org.freedesktop.DBus.Properties"/>
-    <allow send_destination="org.freedesktop.UDisks"
-           send_interface="org.freedesktop.DBus.Introspectable"/>
-    <allow send_destination="org.freedesktop.UDisks"
-           send_interface="org.freedesktop.UDisks"/>
-    <allow send_destination="org.freedesktop.UDisks"
-           send_interface="org.freedesktop.UDisks.Device"/>
-    <allow send_destination="org.freedesktop.UDisks"
-           send_interface="org.freedesktop.UDisks.Adapter"/>
-    <allow send_destination="org.freedesktop.UDisks"
-           send_interface="org.freedesktop.UDisks.Expander"/>
-    <allow send_destination="org.freedesktop.UDisks"
-           send_interface="org.freedesktop.UDisks.Port"/>
-    <allow receive_sender="org.freedesktop.UDisks" receive_type="signal"
-           receive_interface="org.freedesktop.UDisks"/>
-  </policy>
-</busconfig>
diff --git a/recipes-support/udisks/files/udisks.service b/recipes-support/udisks/files/udisks.service
deleted file mode 100644 (file)
index 4bd5584..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Disk Manager (legacy version)
-Documentation=man:udisks(7)
-
-[Service]
-Type=dbus
-BusName=org.freedesktop.UDisks
-ExecStart=/usr/libexec/udisks-daemon --no-debug
-
-[Install]
-WantedBy=multi-user.target
diff --git a/recipes-support/udisks/udisks_1.0.5.bbappend b/recipes-support/udisks/udisks_1.0.5.bbappend
deleted file mode 100644 (file)
index d55a167..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-SRC_URI += "file://org.freedesktop.UDisks.conf \
-            file://udisks.service \
-            file://automount.service \
-            file://automount.sh \
-           "
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-FILES_${PN} += "${base_libdir}/systemd/system/automount.service \
-                ${base_libdir}/systemd/system/udisks.service \
-                ${libexecdir}/automount.sh \
-               "
-
-SYSTEMD_AUTO_ENABLE = "enable"
-SYSTEMD_SERVICE_${PN} = "udisks.service automount.service"
-
-do_install_append () {
-    install -d ${D}${sysconfdir}/dbus-1/system.d
-    install -m 644 ${WORKDIR}/org.freedesktop.UDisks.conf ${D}${sysconfdir}/dbus-1/system.d/
-
-    install -d ${D}${base_libdir}/systemd/system
-    install -m 0644 ${WORKDIR}/udisks.service ${D}${base_libdir}/systemd/system
-
-    install -d ${D}${base_libdir}/systemd/system
-    install -m 0644 ${WORKDIR}/automount.service ${D}${base_libdir}/systemd/system
-
-    install -d ${D}${libexecdir}
-    install -m 0755 ${WORKDIR}/automount.sh ${D}${libexecdir}/automount.sh
-}