diff mbox series

[v2,1/1] package/weston: bump to version 11.0.1

Message ID 20221214151958.3419333-1-james.hilliard1@gmail.com
State Superseded, archived
Headers show
Series [v2,1/1] package/weston: bump to version 11.0.1 | expand

Commit Message

James Hilliard Dec. 14, 2022, 3:19 p.m. UTC
Drop patch which is now upstream.

Drop no longer supported weston-launch.

Drop no longer supported color-management-colord config option.

Remove duplicate backend-headless config option.

Add new libgbm requirement for renderer-gl.

Add new freerdp server requirement for backend-rdp.

Add support for new screenshare feature.

Add support for new rdp as backend default feature.

Ensure we have at least one launcher by selecting seatd if
launcher-logind dependencies are not selected.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
Changes v1 -> v2:
  - bump to version 11.0.1
  - propagate freerdp-server dependencies to weston-rdp
  - ensure we have at least one launcher enabled
---
 ...ncy-on-screenshooter-client-protocol.patch | 38 -------------------
 package/weston/Config.in                      | 22 ++++++++++-
 package/weston/weston.hash                    |  6 +--
 package/weston/weston.mk                      | 30 +++++----------
 4 files changed, 33 insertions(+), 63 deletions(-)
 delete mode 100644 package/weston/0001-tests-Add-dependency-on-screenshooter-client-protocol.patch

Comments

Thomas Petazzoni Feb. 8, 2023, 7:33 p.m. UTC | #1
Hello,

Thanks for the patch. It overall looks good, but I have one
question/comment.

On Wed, 14 Dec 2022 08:19:58 -0700
James Hilliard <james.hilliard1@gmail.com> wrote:

> @@ -73,7 +84,9 @@ config BR2_PACKAGE_WESTON_RDP
>  	depends on BR2_TOOLCHAIN_HAS_SYNC_4
>  	depends on BR2_USE_WCHAR # freerdp
>  	depends on BR2_INSTALL_LIBSTDCPP # freerdp
> +	depends on BR2_PACKAGE_XORG7 # freerdp-server

It feels really odd that we need to build half of the X.org planet to
have RDP support in Weston. Is this dependency really needed? Isn't
that something "wrong" in the freerdp package that should be fixed?

Best regards,

Thomas
James Hilliard Feb. 8, 2023, 8:05 p.m. UTC | #2
On Wed, Feb 8, 2023 at 12:33 PM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> Hello,
>
> Thanks for the patch. It overall looks good, but I have one
> question/comment.
>
> On Wed, 14 Dec 2022 08:19:58 -0700
> James Hilliard <james.hilliard1@gmail.com> wrote:
>
> > @@ -73,7 +84,9 @@ config BR2_PACKAGE_WESTON_RDP
> >       depends on BR2_TOOLCHAIN_HAS_SYNC_4
> >       depends on BR2_USE_WCHAR # freerdp
> >       depends on BR2_INSTALL_LIBSTDCPP # freerdp
> > +     depends on BR2_PACKAGE_XORG7 # freerdp-server
>
> It feels really odd that we need to build half of the X.org planet to
> have RDP support in Weston. Is this dependency really needed? Isn't
> that something "wrong" in the freerdp package that should be fixed?

Well there's a long comment in freerdp regarding this issue:
https://github.com/buildroot/buildroot/blob/d0603d853b78c3029cad4150389f8786b5f3e7c2/package/freerdp/freerdp.mk#L100-L121

Anyways for weston I'm just propagating the dependency for now, if
something changes with freerdp regarding the dependency we can drop
the xorg requirement from weston later on.

>
> Best regards,
>
> Thomas
> --
> Thomas Petazzoni, co-owner and CEO, Bootlin
> Embedded Linux and Kernel engineering and training
> https://bootlin.com
diff mbox series

Patch

diff --git a/package/weston/0001-tests-Add-dependency-on-screenshooter-client-protocol.patch b/package/weston/0001-tests-Add-dependency-on-screenshooter-client-protocol.patch
deleted file mode 100644
index 927215380e..0000000000
--- a/package/weston/0001-tests-Add-dependency-on-screenshooter-client-protocol.patch
+++ /dev/null
@@ -1,38 +0,0 @@ 
-From 2ac6b6b084a877adde64db7faff2ed22eb3ea97a Mon Sep 17 00:00:00 2001
-From: Daniel Stone <daniels@collabora.com>
-Date: Tue, 8 Feb 2022 22:39:42 +0000
-Subject: [PATCH] tests: Add dependency on screenshooter client protocol
-
-Given that the test-helper code relies on the screenshooter protocol,
-make sure it's available for us to build, and the dependency ensures we
-build in order.
-
-Fixes: #588
-
-Signed-off-by: Daniel Stone <daniels@collabora.com>
-
-[Retrieved from:
-https://gitlab.freedesktop.org/wayland/weston/-/commit/2ac6b6b084a877adde64db7faff2ed22eb3ea97a]
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
----
- tests/meson.build | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/tests/meson.build b/tests/meson.build
-index 2d464ddcc..222091cd1 100644
---- a/tests/meson.build
-+++ b/tests/meson.build
-@@ -29,8 +29,9 @@ lib_test_client = static_library(
- 		'weston-test-client-helper.c',
- 		'weston-test-fixture-compositor.c',
- 		weston_test_client_protocol_h,
--		weston_screenshooter_protocol_c,
- 		weston_test_protocol_c,
-+		weston_screenshooter_client_protocol_h,
-+		weston_screenshooter_protocol_c,
- 		viewporter_client_protocol_h,
- 		viewporter_protocol_c,
- 		'color_util.h',
--- 
-GitLab
-
diff --git a/package/weston/Config.in b/package/weston/Config.in
index 3b4e932b7d..e6d057f26e 100644
--- a/package/weston/Config.in
+++ b/package/weston/Config.in
@@ -18,6 +18,7 @@  config BR2_PACKAGE_WESTON
 	select BR2_PACKAGE_JPEG
 	select BR2_PACKAGE_LIBINPUT
 	select BR2_PACKAGE_LIBDRM
+	select BR2_PACKAGE_SEATD if !BR2_PACKAGE_DBUS || !BR2_PACKAGE_SYSTEMD
 	# Runtime dependency
 	select BR2_PACKAGE_XKEYBOARD_CONFIG
 	select BR2_PACKAGE_WESTON_SHELL_DESKTOP if !BR2_PACKAGE_WESTON_HAS_SHELL
@@ -42,6 +43,15 @@  config BR2_PACKAGE_WESTON_DEFAULT_HEADLESS
 	bool "headless"
 	select BR2_PACKAGE_WESTON_HEADLESS
 
+config BR2_PACKAGE_WESTON_DEFAULT_RDP
+	bool "rdp"
+	depends on BR2_USE_MMU # freerdp, libglib2
+	depends on BR2_TOOLCHAIN_HAS_SYNC_4
+	depends on BR2_USE_WCHAR # freerdp
+	depends on BR2_INSTALL_LIBSTDCPP # freerdp
+	depends on BR2_PACKAGE_XORG7 # freerdp-server
+	select BR2_PACKAGE_WESTON_RDP
+
 config BR2_PACKAGE_WESTON_DEFAULT_WAYLAND
 	bool "wayland (nested)"
 	select BR2_PACKAGE_WESTON_WAYLAND
@@ -60,6 +70,7 @@  config BR2_PACKAGE_WESTON_DEFAULT_COMPOSITOR
 	string
 	default "drm"      if BR2_PACKAGE_WESTON_DEFAULT_DRM
 	default "headless" if BR2_PACKAGE_WESTON_DEFAULT_HEADLESS
+	default "rdp"      if BR2_PACKAGE_WESTON_DEFAULT_RDP
 	default "wayland"  if BR2_PACKAGE_WESTON_DEFAULT_WAYLAND
 	default "x11"      if BR2_PACKAGE_WESTON_DEFAULT_X11
 
@@ -73,7 +84,9 @@  config BR2_PACKAGE_WESTON_RDP
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4
 	depends on BR2_USE_WCHAR # freerdp
 	depends on BR2_INSTALL_LIBSTDCPP # freerdp
+	depends on BR2_PACKAGE_XORG7 # freerdp-server
 	select BR2_PACKAGE_FREERDP
+	select BR2_PACKAGE_FREERDP_SERVER
 	help
 	  This enables the RDP backend, which allows accessing weston
 	  through the network with any RDP-compliant client.
@@ -87,10 +100,11 @@  config BR2_PACKAGE_WESTON_RDP
 	  /etc/freerdp/server/ so you may want to change them in a
 	  post-build script or a rootfs overlay.
 
-comment "RDP compositor needs a toolchain w/ wchar, C++"
+comment "RDP compositor needs a toolchain w/ wchar, C++, X.org"
 	depends on BR2_USE_MMU
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4
-	depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP
+	depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP || \
+		!BR2_PACKAGE_XORG7
 
 config BR2_PACKAGE_WESTON_HEADLESS
 	bool "headless (testing) compositor"
@@ -143,6 +157,10 @@  config BR2_PACKAGE_WESTON_SHELL_KIOSK
 	default y
 	select BR2_PACKAGE_WESTON_HAS_SHELL
 
+config BR2_PACKAGE_WESTON_SCREENSHARE
+	bool "screenshare"
+	default y
+
 config BR2_PACKAGE_WESTON_DEMO_CLIENTS
 	bool "demo clients"
 	depends on BR2_USE_MMU # pango
diff --git a/package/weston/weston.hash b/package/weston/weston.hash
index d58ca1ef70..44db3155fe 100644
--- a/package/weston/weston.hash
+++ b/package/weston/weston.hash
@@ -1,4 +1,4 @@ 
-# From https://lists.freedesktop.org/archives/wayland-devel/2022-June/042260.html
-sha256  8a9e52506a865a7410981b04f8341b89b84106db8531ab1f9fdd37b5dc034115  weston-10.0.1.tar.xz
-sha512  688d843096a95b463161b98e85ca3443b31ba2ee49fc8d456a2780cc96f576e9d097054e9f361997a66e9cc8373cf29e406a742dae3884b3b50b26acf1710c8c  weston-10.0.1.tar.xz
+# From https://lists.freedesktop.org/archives/wayland-devel/2022-December/042538.html
+sha256  a413f68c252957fc3191c3650823ec356ae8c124ccc0cb440da5cdc4e2cb9e57  weston-11.0.1.tar.xz
+sha512  d451230fc260b45aaaadb5cf0aa360629e45e72e3b3676c6ec040d6c6549dbb57d05683effd962c3b2d61482b47a6c990d12cc736c896b501d982c8c4d34834c  weston-11.0.1.tar.xz
 sha256  fdb65868f65d0fbdb05c2d3b779e10ce9969fa0c4b9262ba4f260e87086ab860  COPYING
diff --git a/package/weston/weston.mk b/package/weston/weston.mk
index 5e71473640..aa028e1953 100644
--- a/package/weston/weston.mk
+++ b/package/weston/weston.mk
@@ -4,8 +4,8 @@ 
 #
 ################################################################################
 
-WESTON_VERSION = 10.0.1
-WESTON_SITE = https://gitlab.freedesktop.org/wayland/weston/-/releases/$(WESTON_VERSION)/downloads
+WESTON_VERSION = 11.0.1
+WESTON_SITE = https://gitlab.freedesktop.org/wayland/weston/uploads/f5648c818fba5432edc3ea63c4db4813
 WESTON_SOURCE = weston-$(WESTON_VERSION).tar.xz
 WESTON_LICENSE = MIT
 WESTON_LICENSE_FILES = COPYING
@@ -16,8 +16,6 @@  WESTON_DEPENDENCIES = host-pkgconf wayland wayland-protocols \
 	libxkbcommon pixman libpng udev cairo libinput libdrm
 
 WESTON_CONF_OPTS = \
-	-Dbackend-headless=false \
-	-Dcolor-management-colord=false \
 	-Ddoc=false \
 	-Dremoting=false \
 	-Dtools=calibrator,debug,info,terminal,touch-calibrator
@@ -57,23 +55,9 @@  else
 WESTON_CONF_OPTS += -Dimage-webp=false
 endif
 
-# weston-launch must be u+s root in order to work properly
-ifeq ($(BR2_PACKAGE_LINUX_PAM),y)
-define WESTON_PERMISSIONS
-	/usr/bin/weston-launch f 4755 0 0 - - - - -
-endef
-define WESTON_USERS
-	- - weston-launch -1 - - - - Weston launcher group
-endef
-WESTON_CONF_OPTS += -Ddeprecated-weston-launch=true
-WESTON_DEPENDENCIES += linux-pam
-else
-WESTON_CONF_OPTS += -Ddeprecated-weston-launch=false
-endif
-
-ifeq ($(BR2_PACKAGE_HAS_LIBEGL_WAYLAND)$(BR2_PACKAGE_HAS_LIBGLES),yy)
+ifeq ($(BR2_PACKAGE_HAS_LIBEGL_WAYLAND)$(BR2_PACKAGE_HAS_LIBGBM)$(BR2_PACKAGE_HAS_LIBGLES),yyy)
 WESTON_CONF_OPTS += -Drenderer-gl=true
-WESTON_DEPENDENCIES += libegl libgles
+WESTON_DEPENDENCIES += libegl libgbm libgles
 ifeq ($(BR2_PACKAGE_PIPEWIRE)$(BR2_PACKAGE_WESTON_DRM),yy)
 WESTON_CONF_OPTS += -Dpipewire=true
 WESTON_DEPENDENCIES += pipewire
@@ -180,6 +164,12 @@  else
 WESTON_CONF_OPTS += -Dshell-kiosk=false
 endif
 
+ifeq ($(BR2_PACKAGE_WESTON_SCREENSHARE),y)
+WESTON_CONF_OPTS += -Dscreenshare=true
+else
+WESTON_CONF_OPTS += -Dscreenshare=false
+endif
+
 ifeq ($(BR2_PACKAGE_WESTON_DEMO_CLIENTS),y)
 WESTON_CONF_OPTS += -Ddemo-clients=true
 WESTON_DEPENDENCIES += pango