[packages/weston] - updated to 6.0.0 - updated freerdp2 patch (now only fixes uninitialized memory issue)
qboosh
qboosh at pld-linux.org
Mon Apr 22 10:38:47 CEST 2019
commit b38afc9eaf5d5d28ad64b450acb3fb4c9dac9f31
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Mon Apr 22 10:39:00 2019 +0200
- updated to 6.0.0
- updated freerdp2 patch (now only fixes uninitialized memory issue)
weston-freerdp2.patch | 123 ++++----------------------------------------------
weston.spec | 65 ++++++++++++++++----------
2 files changed, 50 insertions(+), 138 deletions(-)
---
diff --git a/weston.spec b/weston.spec
index 5047d3c..ecc095c 100644
--- a/weston.spec
+++ b/weston.spec
@@ -11,17 +11,21 @@
%bcond_without sclients # simple clients
%bcond_without clients # non-simple clients
%bcond_with glclients # full GL clients [require cairo-gl/cairo-egl, not recommended]
+%bcond_without remoting # remoting-plugin (requires DRM compositor + GStreamer)
+%if %{without drm}
+%undefine with_remoting
+%endif
Summary: Weston - Wayland demos
Summary(pl.UTF-8): Weston - programy demonstracyjne dla protokołu Wayland
Name: weston
-Version: 5.0.0
-Release: 5
+Version: 6.0.0
+Release: 1
License: MIT
Group: Applications
#Source0Download: https://wayland.freedesktop.org/releases.html
Source0: https://wayland.freedesktop.org/releases/%{name}-%{version}.tar.xz
-# Source0-md5: 752a04ce3c65af4884cfac4e57231bdb
+# Source0-md5: 7c634e262f8a464a076c97fd50ad36b3
Patch0: %{name}-freerdp2.patch
URL: https://wayland.freedesktop.org/
BuildRequires: Mesa-libEGL-devel >= 7.10
@@ -35,8 +39,13 @@ BuildRequires: dbus-devel >= 1.6
BuildRequires: doxygen
# or freerdp >= 1.1.0 (without freerdp2 patch)
%{?with_rdp:BuildRequires: freerdp2-devel >= 2.0.0-0.20180809.1}
+%if %{with remoting}
+BuildRequires: gstreamer-devel >= 1.0
+BuildRequires: gstreamer-plugins-base-devel >= 1.0
+%endif
BuildRequires: lcms2-devel >= 2
BuildRequires: libdrm-devel >= 2.4.68
+BuildRequires: libevdev-devel
BuildRequires: libinput-devel >= 0.8.0
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
@@ -50,7 +59,7 @@ BuildRequires: tar >= 1:1.22
BuildRequires: wayland-devel >= 1.12.0
# for wayland and sclients, but also desktop-shell, which is always enabled
BuildRequires: wayland-egl-devel
-BuildRequires: wayland-protocols >= 1.13
+BuildRequires: wayland-protocols >= 1.17
BuildRequires: xorg-lib-libxkbcommon-devel >= 0.5.0
BuildRequires: xz
%if %{with drm}
@@ -200,10 +209,12 @@ Wtyczka składająca RDP dla Westona.
%{__autoheader}
%{__automake}
%configure \
+ --enable-autotools \
%{!?with_clients:--disable-clients} \
%{!?with_drm:--disable-drm-compositor} \
%{!?with_libunwind:--disable-libunwind} \
%{?with_rdp:--enable-rdp-compositor} \
+ %{?with_remoting:--enable-remoting} \
%{!?with_sclients:--disable-simple-clients} \
--disable-setuid-install \
--disable-silent-rules \
@@ -221,7 +232,7 @@ rm -rf $RPM_BUILD_ROOT
DESTDIR=$RPM_BUILD_ROOT
%{__rm} $RPM_BUILD_ROOT%{_libdir}/libweston-*.la
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/libweston-5/*.la \
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libweston-6/*.la \
$RPM_BUILD_ROOT%{_libdir}/weston/*.la
%clean
@@ -240,11 +251,12 @@ rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_bindir}/weston-launch
%endif
%if %{with clients}
+%attr(755,root,root) %{_bindir}/weston-debug
%attr(755,root,root) %{_bindir}/weston-info
+%attr(755,root,root) %{_bindir}/weston-screenshooter
%attr(755,root,root) %{_bindir}/weston-terminal
%attr(755,root,root) %{_libexecdir}/weston-desktop-shell
%attr(755,root,root) %{_libexecdir}/weston-keyboard
-%attr(755,root,root) %{_libexecdir}/weston-screenshooter
%attr(755,root,root) %{_libexecdir}/weston-simple-im
%endif
%dir %{_libdir}/weston
@@ -262,6 +274,7 @@ rm -rf $RPM_BUILD_ROOT
%dir %{_datadir}/wayland-sessions
%{_datadir}/wayland-sessions/weston.desktop
%{_mandir}/man1/weston.1*
+%{_mandir}/man1/weston-debug.1*
%{_mandir}/man5/weston.ini.5*
%{_mandir}/man7/weston-drm.7*
@@ -299,38 +312,42 @@ rm -rf $RPM_BUILD_ROOT
%files libs
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libweston-5.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libweston-5.so.0
-%attr(755,root,root) %{_libdir}/libweston-desktop-5.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libweston-desktop-5.so.0
-%dir %{_libdir}/libweston-5
+%attr(755,root,root) %{_libdir}/libweston-6.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libweston-6.so.0
+%attr(755,root,root) %{_libdir}/libweston-desktop-6.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libweston-desktop-6.so.0
+%dir %{_libdir}/libweston-6
%if %{with drm}
-%attr(755,root,root) %{_libdir}/libweston-5/drm-backend.so
+%attr(755,root,root) %{_libdir}/libweston-6/drm-backend.so
+%endif
+%attr(755,root,root) %{_libdir}/libweston-6/fbdev-backend.so
+%attr(755,root,root) %{_libdir}/libweston-6/gl-renderer.so
+%attr(755,root,root) %{_libdir}/libweston-6/headless-backend.so
+%if %{with remoting}
+%attr(755,root,root) %{_libdir}/libweston-6/remoting-plugin.so
%endif
-%attr(755,root,root) %{_libdir}/libweston-5/fbdev-backend.so
-%attr(755,root,root) %{_libdir}/libweston-5/gl-renderer.so
-%attr(755,root,root) %{_libdir}/libweston-5/headless-backend.so
%if %{with wayland}
-%attr(755,root,root) %{_libdir}/libweston-5/wayland-backend.so
+%attr(755,root,root) %{_libdir}/libweston-6/wayland-backend.so
%endif
%if %{with x11}
-%attr(755,root,root) %{_libdir}/libweston-5/x11-backend.so
+%attr(755,root,root) %{_libdir}/libweston-6/x11-backend.so
%endif
%if %{with xwayland}
-%attr(755,root,root) %{_libdir}/libweston-5/xwayland.so
+%attr(755,root,root) %{_libdir}/libweston-6/xwayland.so
%endif
%files libs-devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libweston-5.so
-%attr(755,root,root) %{_libdir}/libweston-desktop-5.so
-%{_includedir}/libweston-5
-%{_pkgconfigdir}/libweston-5.pc
-%{_pkgconfigdir}/libweston-desktop-5.pc
+%attr(755,root,root) %{_libdir}/libweston-6.so
+%attr(755,root,root) %{_libdir}/libweston-desktop-6.so
+%{_includedir}/libweston-6
+%{_pkgconfigdir}/libweston-6.pc
+%{_pkgconfigdir}/libweston-desktop-6.pc
+%{_npkgconfigdir}/libweston-6-protocols.pc
%if %{with rdp}
%files compositor-rdp
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libweston-5/rdp-backend.so
+%attr(755,root,root) %{_libdir}/libweston-6/rdp-backend.so
%{_mandir}/man7/weston-rdp.7*
%endif
diff --git a/weston-freerdp2.patch b/weston-freerdp2.patch
index 7fc2e77..bf2c1c3 100644
--- a/weston-freerdp2.patch
+++ b/weston-freerdp2.patch
@@ -1,117 +1,12 @@
---- weston-5.0.0/libweston/compositor-rdp.c.orig 2018-08-24 20:04:16.000000000 +0200
-+++ weston-5.0.0/libweston/compositor-rdp.c 2018-10-11 21:16:08.197352052 +0200
-@@ -86,6 +86,7 @@
- #include <freerdp/listener.h>
- #include <freerdp/update.h>
- #include <freerdp/input.h>
-+#include <freerdp/cache/cache.h>
- #include <freerdp/codec/color.h>
- #include <freerdp/codec/rfx.h>
- #include <freerdp/codec/nsc.h>
-@@ -198,8 +199,10 @@
- uint32_t *ptr;
- RFX_RECT *rfxRect;
- rdpUpdate *update = peer->update;
-- SURFACE_BITS_COMMAND *cmd = &update->surface_bits_command;
-+ SURFACE_BITS_COMMAND *cmd = calloc(1, sizeof(SURFACE_BITS_COMMAND));
- RdpPeerContext *context = (RdpPeerContext *)peer->context;
-+ if (!cmd)
-+ return;
-
- Stream_Clear(context->encode_stream);
- Stream_SetPosition(context->encode_stream, 0);
-@@ -209,8 +212,6 @@
-
- #ifdef HAVE_SKIP_COMPRESSION
- cmd->skipCompression = TRUE;
--#else
-- memset(cmd, 0, sizeof(*cmd));
- #endif
- cmd->destLeft = damage->extents.x1;
- cmd->destTop = damage->extents.y1;
-@@ -246,6 +247,8 @@
- SURFACE_BITMAP_DATA(cmd) = Stream_Buffer(context->encode_stream);
-
- update->SurfaceBits(update->context, cmd);
-+
-+ free(cmd);
- }
-
-
-@@ -255,8 +258,10 @@
- int width, height;
- uint32_t *ptr;
- rdpUpdate *update = peer->update;
-- SURFACE_BITS_COMMAND *cmd = &update->surface_bits_command;
-+ SURFACE_BITS_COMMAND *cmd = calloc(1, sizeof(SURFACE_BITS_COMMAND));
- RdpPeerContext *context = (RdpPeerContext *)peer->context;
-+ if (!cmd)
-+ return;
-
- Stream_Clear(context->encode_stream);
- Stream_SetPosition(context->encode_stream, 0);
-@@ -266,8 +271,6 @@
-
- #ifdef HAVE_SKIP_COMPRESSION
- cmd->skipCompression = TRUE;
--#else
-- memset(cmd, 0, sizeof(*cmd));
- #endif
-
- cmd->destLeft = damage->extents.x1;
-@@ -290,6 +293,8 @@
- SURFACE_BITMAP_DATA(cmd) = Stream_Buffer(context->encode_stream);
-
- update->SurfaceBits(update->context, cmd);
-+
-+ free(cmd);
- }
-
- static void
-@@ -310,15 +315,19 @@
- rdp_peer_refresh_raw(pixman_region32_t *region, pixman_image_t *image, freerdp_peer *peer)
- {
- rdpUpdate *update = peer->update;
-- SURFACE_BITS_COMMAND *cmd = &update->surface_bits_command;
-- SURFACE_FRAME_MARKER *marker = &update->surface_frame_marker;
-+ SURFACE_BITS_COMMAND *cmd = calloc(1, sizeof(SURFACE_BITS_COMMAND));
-+ if (!cmd)
-+ return;
-+ SURFACE_FRAME_MARKER *marker = calloc(1, sizeof(SURFACE_FRAME_MARKER));
-+ if (!marker)
-+ goto fail2;
- pixman_box32_t *rect, subrect;
- int nrects, i;
- int heightIncrement, remainingHeight, top;
-
- rect = pixman_region32_rectangles(region, &nrects);
+--- weston-6.0.0/libweston/compositor-rdp.c.orig 2019-03-28 02:15:13.000000000 +0100
++++ weston-6.0.0/libweston/compositor-rdp.c 2019-04-22 10:01:34.149025872 +0200
+@@ -320,7 +320,8 @@
if (!nrects)
-- return;
-+ goto fail;
-
- marker->frameId++;
- marker->frameAction = SURFACECMD_FRAMEACTION_BEGIN;
-@@ -362,6 +371,10 @@
-
- marker->frameAction = SURFACECMD_FRAMEACTION_END;
- update->SurfaceFrameMarker(peer->context, marker);
-+fail:
-+ free(marker);
-+fail2:
-+ free(cmd);
- }
-
- static void
-@@ -1055,9 +1068,10 @@
- peersItem->flags |= RDP_PEER_ACTIVATED;
+ return;
- /* disable pointer on the client side */
-+ POINTER_SYSTEM_UPDATE pointer_system;
-+ pointer_system.type = SYSPTR_NULL;
- pointer = client->update->pointer;
-- pointer->pointer_system.type = SYSPTR_NULL;
-- pointer->PointerSystem(client->context, &pointer->pointer_system);
-+ pointer->PointerSystem(client->context, &pointer_system);
+- marker.frameId++;
++ memset(&marker, 0, sizeof(marker));
++ marker.frameId++; /* FIXME: always 1? */
+ marker.frameAction = SURFACECMD_FRAMEACTION_BEGIN;
+ update->SurfaceFrameMarker(peer->context, &marker);
- /* sends a full refresh */
- box.x1 = 0;
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/weston.git/commitdiff/b38afc9eaf5d5d28ad64b450acb3fb4c9dac9f31
More information about the pld-cvs-commit
mailing list