diff --git a/main/weston/0004-musl-weston-launcher.patch b/main/weston/0004-musl-weston-launcher.patch new file mode 100644 index 000000000..ca9487612 --- /dev/null +++ b/main/weston/0004-musl-weston-launcher.patch @@ -0,0 +1,40 @@ +diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c +index 140fde1..84f7d60 100644 +--- a/libweston/weston-launch.c ++++ b/libweston/weston-launch.c +@@ -33,7 +33,6 @@ + #include + #include + +-#include + #include + + #include +@@ -112,6 +111,25 @@ struct weston_launch { + + union cmsg_data { unsigned char b[4]; int fd; }; + ++static void ++error(int status, int errnum, const char *msg, ...) ++{ ++ va_list args; ++ ++ fputs("weston-launch: ", stderr); ++ va_start(args, msg); ++ vfprintf(stderr, msg, args); ++ va_end(args); ++ ++ if (errnum) ++ fprintf(stderr, ": %s\n", strerror(errnum)); ++ else ++ fputc('\n', stderr); ++ ++ if (status) ++ exit(status); ++} ++ + static gid_t * + read_groups(void) + { +-- +2.10.0 diff --git a/main/weston/0005-timespec.patch b/main/weston/0005-timespec.patch new file mode 100644 index 000000000..7c2c8f62e --- /dev/null +++ b/main/weston/0005-timespec.patch @@ -0,0 +1,10 @@ +--- a/tests/timespec-test.c ++++ b/tests/timespec-test.c +@@ -25,6 +25,7 @@ + + #include "config.h" + ++#include + #include + #include + #include diff --git a/main/weston/0006-compositor-fbdev-fix-start-up-assertion.patch b/main/weston/0006-compositor-fbdev-fix-start-up-assertion.patch new file mode 100644 index 000000000..e0ec518c1 --- /dev/null +++ b/main/weston/0006-compositor-fbdev-fix-start-up-assertion.patch @@ -0,0 +1,78 @@ +From acd71fb0af82fb6065dd239865bd18bbbf1ceab4 Mon Sep 17 00:00:00 2001 +From: Pekka Paalanen +Date: Tue, 15 Aug 2017 10:35:09 +0300 +Subject: [PATCH] compositor-fbdev: fix start-up assertion +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes the failure to start with fbdev-backend: + +weston: /home/pq/git/weston/libweston/compositor.c:4733: weston_compositor_add_pending_output: Assertion `output->disable' failed. + +The disable hook was completely unimplemented, and the regression was +caused by e952a01c3b42c7c870091e71488e9469bd897153 +"libweston: move asserts to add_pending_output()". +It used to work because Weston never tried to explicitly disable the +fbdev output, but now it is hitting the assert. + +Fix it by tentatively implementing a disable hook. It has not been +tested to work for explicit disabling, but it does solve the regression. + +Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=102208 +Cc: bluescreen_avenger@verizon.net +Signed-off-by: Pekka Paalanen +Reviewed-by: Armin Krezović +Tested-by: n3rdopolis +--- + libweston/compositor-fbdev.c | 23 +++++++++++++++++------ + 1 file changed, 17 insertions(+), 6 deletions(-) + +diff --git a/libweston/compositor-fbdev.c b/libweston/compositor-fbdev.c +index e80a5040..6a305385 100644 +--- a/libweston/compositor-fbdev.c ++++ b/libweston/compositor-fbdev.c +@@ -473,6 +473,21 @@ fbdev_output_enable(struct weston_output *base) + } + + static int ++fbdev_output_disable_handler(struct weston_output *base) ++{ ++ if (!base->enabled) ++ return 0; ++ ++ /* Close the frame buffer. */ ++ fbdev_output_disable(base); ++ ++ if (base->renderer_state != NULL) ++ pixman_renderer_output_destroy(base); ++ ++ return 0; ++} ++ ++static int + fbdev_output_create(struct fbdev_backend *backend, + const char *device) + { +@@ -497,7 +512,7 @@ fbdev_output_create(struct fbdev_backend *backend, + + output->base.name = strdup("fbdev"); + output->base.destroy = fbdev_output_destroy; +- output->base.disable = NULL; ++ output->base.disable = fbdev_output_disable_handler; + output->base.enable = fbdev_output_enable; + + weston_output_init(&output->base, backend->compositor); +@@ -539,11 +554,7 @@ fbdev_output_destroy(struct weston_output *base) + + weston_log("Destroying fbdev output.\n"); + +- /* Close the frame buffer. */ +- fbdev_output_disable(base); +- +- if (base->renderer_state != NULL) +- pixman_renderer_output_destroy(base); ++ fbdev_output_disable_handler(base); + + /* Remove the output. */ + weston_output_destroy(&output->base); diff --git a/main/weston/APKBUILD b/main/weston/APKBUILD index c73a03d76..86ce3bd66 100644 --- a/main/weston/APKBUILD +++ b/main/weston/APKBUILD @@ -6,8 +6,8 @@ # https://github.com/alpinelinux/aports/pull/1689 pkgname=weston pkgver=9999 -_pkgver=2.0.0 -pkgrel=2 +_pkgver=3.0.0 +pkgrel=5 _libname=lib$pkgname _libdir=$_libname-${_pkgver%%.*} pkgdesc="The reference Wayland server" @@ -15,7 +15,7 @@ url="http://wayland.freedesktop.org" arch="all" license="MIT" depends="" -makedepends="wayland-protocols libxkbcommon-dev xkeyboard-config libinput-dev libunwind-dev mtdev-dev libxcursor-dev glu-dev pango-dev colord-dev freerdp-dev libwebp-dev libva-dev dbus-dev" +makedepends="wayland-protocols libxkbcommon-dev xkeyboard-config libinput-dev libunwind-dev mtdev-dev libxcursor-dev glu-dev pango-dev colord-dev freerdp-dev libwebp-dev libva-dev dbus-dev linux-pam-dev" _cms="cms-colord cms-static" _shell="shell-desktop shell-fullscreen shell-ivi" _client="info terminal wcap-decode" @@ -30,14 +30,16 @@ done subpackages="$pkgname-dev $pkgname-doc $subpackages $pkgname-clients $_libname-desktop:_libd $_libname:libs $pkgname-xwayland $pkgname-desktop-x11:_x11:noarch - " +" source=" - http://wayland.freedesktop.org/releases/$pkgname-$_pkgver.tar.xz - no_0hz_refresh_rate.patch - 0001-compositor-fbdev-Added-parameter-pixman-type.patch - 0002-compositor-fbdev-Add-support-for-ABGR.patch - 0003-compositor-fbdev-print-the-pixman-type-guessed-in-ca.patch - " + http://wayland.freedesktop.org/releases/$pkgname-$_pkgver.tar.xz + 0001-compositor-fbdev-Added-parameter-pixman-type.patch + 0002-compositor-fbdev-Add-support-for-ABGR.patch + 0003-compositor-fbdev-print-the-pixman-type-guessed-in-ca.patch + 0004-musl-weston-launcher.patch + 0005-timespec.patch + 0006-compositor-fbdev-fix-start-up-assertion.patch +" builddir="$srcdir/$pkgname-$_pkgver" build() { @@ -55,9 +57,7 @@ build() { --enable-vaapi-recorder \ --enable-clients \ --enable-demo-clients-install \ - --disable-weston-launch \ - --disable-setuid-install \ - || return 1 + --disable-setuid-install make } @@ -133,8 +133,10 @@ _sub() { mkdir -p "$subpkgdir"/$path || return 1 mv "$pkgdir"/$path/$name "$subpkgdir"/$path } -sha512sums="085a0ba278932d41b50edd6e89db5df31cd6a1179c6cfe9a8ac5ac64e63b25cfc3da1ad8c587259273c3812593029b803867195e2d82b12b5cdd2588ac59acc6 weston-2.0.0.tar.xz -68d8485eed6a536924a8ebef7e0b45738330c38326fe659443c26d674f9538ec1c66033f83a7971914dcd72bc52333e3f55486c5a01e067e3f5fee8f5b489728 no_0hz_refresh_rate.patch +sha512sums="b824c39f2a884f6d50d607613f447090621f684c96f7d905f25f6e500dabd03ecb2b1cd1030babc193c3417223cb220103abb792437e1a5ead7229a76b5c7a58 weston-3.0.0.tar.xz 2daa68ee19f4e123d7f3148517c2afcd4df0f065815a0e28db38f301260cd833b7170060c46127e65a25021e2d814afb40fc0f2987cbb3ab5cd4f9dae778bc98 0001-compositor-fbdev-Added-parameter-pixman-type.patch fa1099258aaef38f228de2e9ca3e2ae5e9e21ed10891f8686f5abd16d7f6bc6c57e43e0bfc3175ed70f32bb80d98f6ec009e663cd4f8724e29dea13c7fcc12fb 0002-compositor-fbdev-Add-support-for-ABGR.patch -b5eb741ea8b6fcbd9de95e773fe0bf4ae6588ef57564f97a65aefc6c7ec29f1a01de9764a25672fd7c76c8ff514b497743cbaf279818123041c161c7a1e62bb6 0003-compositor-fbdev-print-the-pixman-type-guessed-in-ca.patch" +b5eb741ea8b6fcbd9de95e773fe0bf4ae6588ef57564f97a65aefc6c7ec29f1a01de9764a25672fd7c76c8ff514b497743cbaf279818123041c161c7a1e62bb6 0003-compositor-fbdev-print-the-pixman-type-guessed-in-ca.patch +856a28a324cb9adf94b92bf5489ff43827d57e6acee0c7e0e558018357166b782126e086a4308c3e3499d068fa07f02862cc20cdfbc9a3d6af30ec823eb1b78f 0004-musl-weston-launcher.patch +3e596af4bf0a6b06a5d28376043db111fe1c161ead04501fa6d2c667b5a21889cca3354d1bdc4ac794841bef68ed5e1a7a84e44e7d510e947e3673195706caed 0005-timespec.patch +5d356bc8534c5486b0c5daf727fb8d2cd8409f7f964e3f391c225a2b21b9f293e36d10344f55f0e6566bfbde415c990a72d57fe5db6081acd3c788106cda319f 0006-compositor-fbdev-fix-start-up-assertion.patch" diff --git a/main/weston/no_0hz_refresh_rate.patch b/main/weston/no_0hz_refresh_rate.patch deleted file mode 100644 index b893c2d1b..000000000 --- a/main/weston/no_0hz_refresh_rate.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/libweston/compositor-fbdev.c b/libweston/compositor-fbdev.c -index 32d71e0..e80a504 100644 ---- a/libweston/compositor-fbdev.c -+++ b/libweston/compositor-fbdev.c -@@ -253,7 +253,8 @@ calculate_refresh_rate(struct fb_var_screeninfo *vinfo) - if (refresh_rate > 200000) - refresh_rate = 200000; /* cap at 200 Hz */ - -- return refresh_rate; -+ if (refresh_rate >= 1000) /* at least 1 Hz */ -+ return refresh_rate; - } - - return 60 * 1000; /* default to 60 Hz */