Compare commits

...

125 Commits
f18 ... rawhide

Author SHA1 Message Date
Erico Nunes c8b3f9724d Update to 11.0.0
Remove libweston-desktop following upstream.
Remove weston-info, cms-{colord,static}.so following upstream.

Signed-off-by: Erico Nunes <ernunes@redhat.com>
2022-10-07 16:39:46 +02:00
Simone Caronni c644b15b62 Rebuild for updated FreeRDP 2022-08-15 15:52:06 +02:00
Fedora Release Engineering cdcfe5dc70 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 12:21:03 +00:00
Erico Nunes 2380b6e304 Update to 10.0.1
Update to 10.0.1
Update download URL

Signed-off-by: Erico Nunes <ernunes@redhat.com>
2022-07-14 15:03:25 +02:00
Erico Nunes 8be221babf Update to 10.0.0
- Remove weston-launch following upstream.
- Update shipped libraries.

Signed-off-by: Erico Nunes <ernunes@redhat.com>
2022-04-12 21:20:04 +02:00
Dave Olsthoorn 88bc641857 Update to 9.0.0
Use pipewire compat package for plugin

Signed-off-by: Dave Olsthoorn <dave@bewaar.me>
Signed-off-by: Erico Nunes <ernunes@redhat.com>
2022-04-12 18:35:31 +02:00
Fedora Release Engineering 6caf91fcc4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-22 04:24:15 +00:00
Fedora Release Engineering b66625051c - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 20:53:01 +00:00
Simone Caronni ba715cfd98 Rebuild for updated FreeRDP 2021-04-15 14:41:26 +02:00
Fedora Release Engineering ae5fef1998 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 23:26:22 +00:00
Fedora Release Engineering 546765bb20 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 14:04:52 +00:00
Jeff Law 7baa8f9f68 Fix link flags to work with LTO 2020-07-08 15:33:20 -06:00
Simone Caronni 2196f4a0ab Rebuild for updated FreeRDP 2020-05-22 21:21:30 +02:00
Pokorra, Gerd 73e7757c43 add requires mesa-dri-drivers 2020-02-19 09:56:14 +01:00
Simone Caronni e2b3463e80 Rebuild for updated FreeRDP 2020-02-07 18:26:23 +01:00
gerd 3a22f1596a update to 8.0.0 2020-01-28 10:55:12 +01:00
gerd 53decfe925 increment the release 2020-01-20 16:42:01 +01:00
gerd eb7f75c133 do the standard build 2020-01-20 16:40:37 +01:00
gerd 839b11f255 update to RC1 for weston 8.0 2020-01-20 14:20:40 +01:00
gerd 7825618334 increment release number 2019-09-27 14:05:58 +02:00
gerd e0a6f1a29f Add and remove the group 'weston-launch' with the package in the post section 2019-09-27 14:02:33 +02:00
Gerd Pokorra 92a5e05d77 Update weston.spec 2019-09-15 18:28:08 +00:00
Gerd Pokorra 65f9203838 Update weston.spec 2019-09-15 18:26:27 +00:00
gerd a702f8823a update to 7.0.0 2019-09-12 12:02:34 +02:00
Takao Fujiwara 8e3ba86432 Add weston-demo sub package to include weston-editor 2019-09-04 20:38:35 +09:00
Fedora Release Engineering 4188611783 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-27 03:24:17 +00:00
Kalev Lember 520b3503db Update to 6.0.0 2019-03-29 09:56:12 +01:00
Kalev Lember 1ac4d8ab3c Update to 5.0.91 2019-02-28 22:13:42 +01:00
Fedora Release Engineering 0b1303eadc - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-03 11:39:21 +00:00
Kalev Lember d897fd1baa Update to 5.0.0 2018-09-11 15:06:13 +02:00
Kalev Lember a1c41f3a24 Fix files list 2018-08-13 12:47:22 +02:00
Kalev Lember 2ab9d1208e Update to 4.0.93 2018-08-13 12:36:25 +02:00
Florian Weimer 8c74745e0c Rebuild with fixed binutils 2018-07-31 13:08:38 +02:00
Kalev Lember 9669c51a2d Update to 4.0.92 2018-07-29 06:30:02 +02:00
Fedora Release Engineering 14f1b9f2ba - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-14 08:48:10 +00:00
Igor Gnatenko e8bc5f58a7 add BuildRequires: gcc
Reference: https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot
2018-07-09 19:06:53 +02:00
Kalev Lember fcedbc7ea9 Update to 4.0.0 2018-04-10 01:04:50 +02:00
Kalev Lember 8775a7d804 Build with FreeRDP 1.2
FreeRDP 2.0 changed API again and weston no longer builds against it.

This reverts commit 002cd14f55.
2018-04-03 11:31:23 +02:00
Kalev Lember 06acc73bb1 Remove ldconfig scriptlets 2018-04-03 10:47:57 +02:00
Kalev Lember 85c304e3e3 Update to 3.0.93 2018-04-03 10:46:02 +02:00
Kalev Lember 0755787d69 Update to 3.0.92 2018-03-20 11:11:35 +01:00
Kalev Lember 29e81302c1 Update to 3.0.91 2018-02-27 11:42:35 +01:00
Fedora Release Engineering 86f8aa1028 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-09 20:52:39 +00:00
Simone Caronni 002cd14f55 Drop FreeRDP 1.2 requirement, use FreeRDP 2.0 2018-01-16 09:57:29 +01:00
Björn Esser ffa02ab557
Rebuilt for libva.so.2 2018-01-15 18:47:51 +01:00
Kalev Lember 39405d8f89 Update to 3.0.0 2017-08-09 10:46:27 +02:00
Kalev Lember daf2108180 Update to 2.99.93 2017-08-02 20:07:16 +02:00
Florian Weimer d50da9c3dd Rebuild with fixed binutils for ppc64le (#1475636) 2017-07-30 18:32:58 +02:00
Kalev Lember fd21eb584a Update to 2.99.92 2017-07-26 18:25:40 +02:00
Kalev Lember af3d96af48 Update to 2.99.91 2017-07-19 11:53:25 +02:00
Kalev Lember 6480bc1a5d Add an apiver define
Weston is getting bumped to new parallel API rather often and this
avoids having to constantly update the file lists.
2017-07-19 11:50:37 +02:00
Adam Jackson b86b62c5fe Stop BuildRequiring cairo-gl. We install none of the additional demo clients
it builds, and it's going away from the cairo package soon.
2017-07-13 14:00:49 -04:00
Kalev Lember c852e73f0c Update to 2.0.0 2017-06-21 07:39:07 +02:00
Kalev Lember ec39eb124b Use standard whitespace 2017-06-21 07:31:46 +02:00
Simone Caronni 4851902569 Lower the freerdp1.2 build requirements 2017-03-21 16:16:13 +01:00
Simone Caronni 8175ce4bba Update build requirements 2017-03-21 15:23:17 +01:00
Simone Caronni 676211561c Build requirement compat-freerdp12 has been renamed to freerdp1.2 2017-03-21 15:20:38 +01:00
Simone Caronni fbbc4dfc7d libdrm-devel already provides intel libraries 2017-03-07 13:28:11 +01:00
Simone Caronni e4a389178c Fix typo 2017-03-07 13:16:04 +01:00
Simone Caronni d27cfea627 Enable RDP again through FreeRDP 1.2 compatibility package 2017-03-07 12:16:36 +01:00
Rex Dieter 6805d6a0dd %build: --disable-silent-rules
fix FTBFS: disable broken rpd support (#1424540)
fix rpaths
2017-03-04 15:15:45 -06:00
Fedora Release Engineering 679d3b1cf2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-11 17:20:30 +00:00
Sandro Mani 7faaa3c306 Rebuild (libwebp) 2017-02-01 19:33:52 +01:00
Kalev Lember c04c6e7652 Drop outdated BR versions
Nobody's been keeping them up to date.
2016-09-21 10:02:48 +02:00
Kalev Lember 497ae7b060 Update to 1.12.0 2016-09-21 10:02:43 +02:00
Kalev Lember b7ac8d9dce Update to 1.11.94 2016-09-14 14:09:57 +02:00
Kalev Lember 5964bcdb50 Update to 1.11.93 2016-09-08 11:37:39 +02:00
Kalev Lember 6cc15c502e Don't set group tags
They are unused in Fedora.
2016-08-31 08:27:44 +02:00
Kalev Lember 10f76474da Update to 1.11.92 2016-08-31 08:27:04 +02:00
Kalev Lember 18a849b2a2 Run ldconfig scripts for the new -libs subpackage 2016-08-17 14:06:53 +02:00
Kalev Lember 16db69a111 Update to 1.11.91
... and add a -libs subpackage for new libraries.
2016-08-17 10:33:11 +02:00
Kalev Lember e3b7597fbb Update to 1.11.0 2016-06-01 07:21:49 +02:00
Kalev Lember 0499d8c969 Update to 1.10.93 2016-05-25 07:09:54 +02:00
Kalev Lember aa6ee8d77c Update to 1.10.92 2016-05-18 18:44:51 +03:00
Kalev Lember 93c9741f30 Update to 1.10.91 2016-05-08 21:45:48 +02:00
Adam Williamson b06bc6483a fix pkgconfig module name and adjust to an API change
See https://bugs.freedesktop.org/show_bug.cgi?id=94520
2016-04-22 17:57:52 -07:00
Adam Williamson 5c50144be6 rebuild for changed freerdp sonames 2016-04-22 13:31:53 -07:00
Kalev Lember a3d232e736 Update to 1.10.0 2016-02-18 14:23:39 +01:00
Kalev Lember f8bfb03c5a Update to 1.9.92 2016-02-04 21:01:35 +01:00
Igor Gnatenko 8a6e4c299e Rebuilt for libwebp soname bump
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2015-12-28 15:12:16 +01:00
Kalev Lember 3602ae70f2 Rebuilt for freerdp soname bump 2015-11-20 11:19:23 +01:00
Kalev Lember 817fb7a3a2 Use make_install macro 2015-09-22 19:12:07 +02:00
Kalev Lember 1a928d9af6 Remove old spec file conditionals
Fedora 20 and older are no longer supported.
2015-09-22 19:12:07 +02:00
Kalev Lember 74d2b5b0b8 Update to 1.9.0 2015-09-22 12:04:57 +02:00
Kalev Lember 996955b386 Update to 1.8.93 2015-09-16 16:32:19 +02:00
Kalev Lember 1235df5076 Drop git snapshot handling
We've been building it from tarballs for several years now.
2015-09-16 16:31:02 +02:00
Kalev Lember 1954d37971 Update to 1.8.92 2015-09-02 11:03:10 +02:00
Kalev Lember 1dc4c5c3d1 Drop old, unapplied patches 2015-09-02 11:02:08 +02:00
Kalev Lember 8455f271a4 Use license macro for COPYING 2015-08-21 17:26:14 +02:00
Kalev Lember 89391209a0 Update to 1.8.91 2015-08-21 17:25:33 +02:00
Adam Jackson 86f0fb1646 weston 1.8.0 2015-07-21 11:01:43 -04:00
Dennis Gilmore 00d89edcef - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-19 02:21:55 +00:00
Adam Jackson 19209acfd4 sources 2015-05-26 12:50:14 -04:00
Adam Jackson ae11f13b26 weston 1.7.92
- Backport patches to fall back to argb buffer if no xrgb is available
2015-05-26 12:47:04 -04:00
Peter Hutterer 77d4725492 Rebuild for libinput soname bump 2015-03-10 10:33:08 +10:00
Richard Hughes 451c5b9a40 Update to 1.7.0 2015-02-17 15:05:24 +00:00
Peter Hutterer 5c93bee385 Update to and require libinput 0.8 2015-01-19 09:35:26 +10:00
Peter Hutterer e483b076e8 Drop obsolete patch line 2015-01-16 14:48:55 +10:00
Kevin Fenzi 96c1740b5a Rebuild for new freerdp 2014-12-19 22:20:58 -07:00
Kalev Lember 6a95b0012e Install weston-launch as setuid root
https://bugzilla.redhat.com/show_bug.cgi?id=1064023
2014-09-21 17:12:19 +02:00
Kalev Lember 47979dc2c1 Drop unneeded defattr lines 2014-09-21 17:09:52 +02:00
Kalev Lember 9a739570bd Enable webp and vaapi support 2014-09-21 17:07:55 +02:00
Kalev Lember 65c7ef3d95 Pull in the main package for -devel subpackage 2014-09-21 16:19:50 +02:00
Kalev Lember ced8cc5fdf Update to 1.6.0 2014-09-21 16:16:52 +02:00
Peter Hutterer b5257bc7e1 Rebuild for libinput soname bump 2014-09-12 17:14:01 +10:00
Kevin Fenzi 31389ab417 Update to 1.5.91 2014-08-22 16:44:38 -06:00
Peter Robinson 0ec02ce6e0 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild 2014-08-18 08:29:12 +00:00
Kevin Fenzi 772d0c5ca4 Rebuild for new libfreerdp 2014-07-19 11:09:49 -06:00
Lubomir Rintel 7eb51f114d Enable DBus support so that logind integration actually works 2014-06-15 16:45:37 +02:00
Dennis Gilmore 6285c47519 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild 2014-06-07 23:25:32 -05:00
Dan Horák e1980c201a - libunwind available only on selected arches 2014-05-27 13:51:44 +02:00
Richard Hughes 3a9aa60445 Weston 1.5.0 2014-05-21 11:30:45 +01:00
Richard Hughes bf68d1ce8b Weston 1.4.93 2014-05-13 09:52:04 +01:00
Adam Jackson b1e0385910 Rebuild for new sonames in libxcb 1.10 2014-01-27 15:14:51 -05:00
Richard Hughes e85241745d Weston 1.4.0 2014-01-24 11:52:23 +00:00
Richard Hughes 94c2e13aa4 Weston 1.3.93 2014-01-20 09:26:24 +00:00
Richard Hughes 524ad4d020 Fix filelists 2013-12-17 11:05:29 +00:00
Richard Hughes 0ae2521ed9 Weston 1.3.91 2013-12-17 10:53:01 +00:00
Lubomir Rintel fb4face1ca Weston 1.3.1 2013-11-25 15:03:10 +01:00
Adam Jackson 62a75fa248 Build RDP backend if we have new enough freerdp (#991220) 2013-10-03 10:22:24 -04:00
Dennis Gilmore 337d39da58 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild 2013-08-04 01:47:53 -05:00
Richard Hughes 99210b2ed4 Weston 1.2.0 2013-07-15 13:12:10 +01:00
Richard Hughes abc244150d Update to a git snapshot based on what will become 1.1.90 2013-05-15 10:46:07 +01:00
Richard Hughes a31f2e246b weston 1.1.0 2013-04-16 17:16:28 +01:00
Richard Hughes b2c567baab weston 1.0.6 2013-03-27 17:40:17 +00:00
5 changed files with 523 additions and 774 deletions

51
.gitignore vendored
View File

@ -3,3 +3,54 @@
/weston-0.99.0.tar.xz /weston-0.99.0.tar.xz
/weston-1.0.0.tar.xz /weston-1.0.0.tar.xz
/weston-1.0.5.tar.xz /weston-1.0.5.tar.xz
/weston-1.0.6.tar.xz
/weston-1.1.0.tar.xz
/weston-20130515.tar.bz2
/weston-1.2.0.tar.xz
/weston-1.3.1.tar.xz
/weston-1.3.91.tar.xz
/weston-1.3.93.tar.xz
/weston-1.4.0.tar.xz
/weston-1.4.93.tar.xz
/weston-1.5.0.tar.xz
/weston-1.5.91.tar.xz
/weston-1.6.0.tar.xz
/weston-1.7.0.tar.xz
/weston-1.7.92.tar.xz
/weston-1.8.0.tar.xz
/weston-1.8.91.tar.xz
/weston-1.8.92.tar.xz
/weston-1.8.93.tar.xz
/weston-1.9.0.tar.xz
/weston-1.9.92.tar.xz
/weston-1.10.0.tar.xz
/weston-1.10.91.tar.xz
/weston-1.10.92.tar.xz
/weston-1.10.93.tar.xz
/weston-1.11.0.tar.xz
/weston-1.11.91.tar.xz
/weston-1.11.92.tar.xz
/weston-1.11.93.tar.xz
/weston-1.11.94.tar.xz
/weston-1.12.0.tar.xz
/weston-2.0.0.tar.xz
/weston-2.99.91.tar.xz
/weston-2.99.92.tar.xz
/weston-2.99.93.tar.xz
/weston-3.0.0.tar.xz
/weston-3.0.91.tar.xz
/weston-3.0.92.tar.xz
/weston-3.0.93.tar.xz
/weston-4.0.0.tar.xz
/weston-4.0.92.tar.xz
/weston-4.0.93.tar.xz
/weston-5.0.0.tar.xz
/weston-5.0.91.tar.xz
/weston-6.0.0.tar.xz
/weston-7.0.0.tar.xz
/weston-7.0.93.tar.xz
/weston-8.0.0.tar.xz
/weston-9.0.0.tar.xz
/weston-10.0.0.tar.xz
/weston-10.0.1.tar.xz
/weston-11.0.0.tar.xz

View File

@ -1,22 +0,0 @@
#!/bin/sh
# Usage: ./make-git-snapshot.sh [COMMIT]
#
# to make a snapshot of the given tag/branch. Defaults to HEAD.
# Point env var REF to a local mesa repo to reduce clone time.
DIRNAME=weston-$( date +%Y%m%d )
echo REF ${REF:+--reference $REF}
echo DIRNAME $DIRNAME
echo HEAD ${1:-HEAD}
rm -rf $DIRNAME
git clone ${REF:+--reference $REF} \
git://anongit.freedesktop.org/wayland/wayland-demos $DIRNAME
GIT_DIR=$DIRNAME/.git git archive --format=tar --prefix=$DIRNAME/ ${1:-HEAD} \
| bzip2 > $DIRNAME.tar.bz2
# rm -rf $DIRNAME

View File

@ -1 +1 @@
2f70393d577f06f89dc011ab6fec2bfa weston-1.0.5.tar.xz SHA512 (weston-11.0.0.tar.xz) = 71554dc870e9c6832fdfb8f0e8dbcd7ad01c3827041c2f7fe4b7679df33b242fd00e7f0c8728d1aeecc648f8296a9d3fc502a66c91ec662f03086d9a28aab3ea

View File

@ -1,693 +0,0 @@
diff --git a/configure.ac b/configure.ac
index 8a9c291..7bc5c83 100644
--- a/configure.ac
+++ b/configure.ac
@@ -240,6 +240,13 @@ fi
AC_SUBST(GCC_CFLAGS)
AC_SUBST(GCC_CXXFLAGS)
+PKG_CHECK_MODULES(LIBUNWIND, libunwind,
+ [have_libunwind=yes], [have_libunwind=no])
+if test "x$have_libunwind" = xyes; then
+ AC_DEFINE(HAVE_LIBUNWIND, 1, [Have libunwind support])
+fi
+AM_CONDITIONAL(HAVE_LIBUNWIND, [test "x$have_libunwind" = xyes])
+
WAYLAND_SCANNER_RULES(['$(top_srcdir)/protocol'])
AC_CONFIG_FILES([Makefile
diff --git a/src/Makefile.am b/src/Makefile.am
index 4be2e11..447b911 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -7,8 +7,9 @@ AM_CPPFLAGS = \
-DLIBEXECDIR='"$(libexecdir)"'
weston_LDFLAGS = -export-dynamic
-weston_CFLAGS = $(GCC_CFLAGS) $(COMPOSITOR_CFLAGS)
-weston_LDADD = $(COMPOSITOR_LIBS) $(DLOPEN_LIBS) -lm ../shared/libshared.la
+weston_CFLAGS = $(GCC_CFLAGS) $(COMPOSITOR_CFLAGS) $(LIBUNWIND_CFLAGS)
+weston_LDADD = $(COMPOSITOR_LIBS) $(LIBUNWIND_LIBS) \
+ $(DLOPEN_LIBS) -lm ../shared/libshared.la
weston_SOURCES = \
git-version.h \
diff --git a/src/compositor-drm.c b/src/compositor-drm.c
index 48b2685..84c51ff 100644
--- a/src/compositor-drm.c
+++ b/src/compositor-drm.c
@@ -1797,7 +1797,7 @@ drm_restore(struct weston_compositor *ec)
static const char default_seat[] = "seat0";
-static void
+static int
device_added(struct udev_device *udev_device, struct drm_seat *master)
{
struct weston_compositor *c;
@@ -1811,7 +1811,7 @@ device_added(struct udev_device *udev_device, struct drm_seat *master)
device_seat = default_seat;
if (strcmp(device_seat, master->seat_id))
- return;
+ return 0;
c = master->base.compositor;
devnode = udev_device_get_devnode(udev_device);
@@ -1822,20 +1822,26 @@ device_added(struct udev_device *udev_device, struct drm_seat *master)
fd = weston_launcher_open(c, devnode, O_RDWR | O_NONBLOCK);
if (fd < 0) {
weston_log("opening input device '%s' failed.\n", devnode);
- return;
+ return -1;
}
device = evdev_device_create(&master->base, devnode, fd);
- if (!device) {
+ if (device == EVDEV_UNHANDLED_DEVICE) {
close(fd);
weston_log("not using input device '%s'.\n", devnode);
- return;
+ return 0;
+ } else if (device == NULL) {
+ close(fd);
+ weston_log("failed to create input device '%s'.\n", devnode);
+ return -1;
}
wl_list_insert(master->devices_list.prev, &device->link);
+
+ return 0;
}
-static void
+static int
evdev_add_devices(struct udev *udev, struct weston_seat *seat_base)
{
struct drm_seat *seat = (struct drm_seat *) seat_base;
@@ -1857,7 +1863,11 @@ evdev_add_devices(struct udev *udev, struct weston_seat *seat_base)
continue;
}
- device_added(device, seat);
+ if (device_added(device, seat) < 0) {
+ udev_device_unref(device);
+ udev_enumerate_unref(e);
+ return -1;
+ }
udev_device_unref(device);
}
@@ -1874,6 +1884,8 @@ evdev_add_devices(struct udev *udev, struct weston_seat *seat_base)
"(Weston backend option 'seat', "
"udev device property ID_SEAT)\n");
}
+
+ return 0;
}
static int
@@ -1976,7 +1988,7 @@ drm_led_update(struct weston_seat *seat_base, enum weston_led leds)
evdev_led_update(device, leds);
}
-static void
+static struct drm_seat *
evdev_input_create(struct weston_compositor *c, struct udev *udev,
const char *seat_id)
{
@@ -1984,7 +1996,7 @@ evdev_input_create(struct weston_compositor *c, struct udev *udev,
seat = malloc(sizeof *seat);
if (seat == NULL)
- return;
+ return NULL;
memset(seat, 0, sizeof *seat);
weston_seat_init(&seat->base, c);
@@ -1992,13 +2004,17 @@ evdev_input_create(struct weston_compositor *c, struct udev *udev,
wl_list_init(&seat->devices_list);
seat->seat_id = strdup(seat_id);
- if (!evdev_enable_udev_monitor(udev, &seat->base)) {
- free(seat->seat_id);
- free(seat);
- return;
- }
+ if (!evdev_enable_udev_monitor(udev, &seat->base))
+ goto err;
+ if (evdev_add_devices(udev, &seat->base) < 0)
+ goto err;
+
+ return seat;
- evdev_add_devices(udev, &seat->base);
+ err:
+ free(seat->seat_id);
+ free(seat);
+ return NULL;
}
static void
@@ -2307,7 +2323,10 @@ drm_compositor_create(struct wl_display *display,
path = NULL;
- evdev_input_create(&ec->base, ec->udev, seat);
+ if (evdev_input_create(&ec->base, ec->udev, seat) == NULL) {
+ weston_log("failed to create input devices\n");
+ goto err_sprite;
+ }
loop = wl_display_get_event_loop(ec->base.wl_display);
ec->drm_source =
@@ -2357,6 +2376,8 @@ err_sprite:
err_udev_dev:
udev_device_unref(drm_device);
err_tty:
+ if (weston_launcher_drm_set_master(&ec->base, ec->drm.fd, 0) < 0)
+ weston_log("failed to drop master: %m\n");
tty_destroy(ec->tty);
err_udev:
udev_unref(ec->udev);
diff --git a/src/compositor-x11.c b/src/compositor-x11.c
index d1b6ec7..9bd7a43 100644
--- a/src/compositor-x11.c
+++ b/src/compositor-x11.c
@@ -293,7 +293,8 @@ x11_input_create(struct x11_compositor *c, int no_input)
weston_seat_init_pointer(&c->core_seat);
keymap = x11_compositor_get_keymap(c);
- weston_seat_init_keyboard(&c->core_seat, keymap);
+ if (weston_seat_init_keyboard(&c->core_seat, keymap) < 0)
+ return -1;
if (keymap)
xkb_map_unref(keymap);
diff --git a/src/compositor.c b/src/compositor.c
index bb129d6..6d7b2c7 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -49,6 +49,11 @@
#include <sys/time.h>
#include <time.h>
+#ifdef HAVE_LIBUNWIND
+#define UNW_LOCAL_ONLY
+#include <libunwind.h>
+#endif
+
#include <wayland-server.h>
#include "compositor.h"
#include "../shared/os-compatibility.h"
@@ -2145,6 +2150,7 @@ seat_get_keyboard(struct wl_client *client, struct wl_resource *resource,
seat->seat.keyboard->focus->resource.client == client) {
wl_keyboard_set_focus(seat->seat.keyboard,
seat->seat.keyboard->focus);
+ wl_data_device_set_keyboard_focus(&seat->seat);
}
}
@@ -2202,14 +2208,15 @@ device_handle_new_drag_icon(struct wl_listener *listener, void *data)
weston_seat_update_drag_surface(seat, 0, 0);
}
-static void weston_compositor_xkb_init(struct weston_compositor *ec,
- struct xkb_rule_names *names)
+static int
+weston_compositor_xkb_init(struct weston_compositor *ec,
+ struct xkb_rule_names *names)
{
if (ec->xkb_context == NULL) {
ec->xkb_context = xkb_context_new(0);
if (ec->xkb_context == NULL) {
weston_log("failed to create XKB context\n");
- exit(1);
+ return -1;
}
}
@@ -2221,6 +2228,8 @@ static void weston_compositor_xkb_init(struct weston_compositor *ec,
ec->xkb_names.model = strdup("pc105");
if (!ec->xkb_names.layout)
ec->xkb_names.layout = strdup("us");
+
+ return 0;
}
static void xkb_info_destroy(struct weston_xkb_info *xkb_info)
@@ -2246,7 +2255,7 @@ static void weston_compositor_xkb_destroy(struct weston_compositor *ec)
xkb_context_unref(ec->xkb_context);
}
-static void
+static int
weston_xkb_info_new_keymap(struct weston_xkb_info *xkb_info)
{
char *keymap_str;
@@ -2275,7 +2284,7 @@ weston_xkb_info_new_keymap(struct weston_xkb_info *xkb_info)
keymap_str = xkb_map_get_as_string(xkb_info->keymap);
if (keymap_str == NULL) {
weston_log("failed to get string version of keymap\n");
- exit(EXIT_FAILURE);
+ return -1;
}
xkb_info->keymap_size = strlen(keymap_str) + 1;
@@ -2297,21 +2306,21 @@ weston_xkb_info_new_keymap(struct weston_xkb_info *xkb_info)
strcpy(xkb_info->keymap_area, keymap_str);
free(keymap_str);
- return;
+ return 0;
err_dev_zero:
close(xkb_info->keymap_fd);
xkb_info->keymap_fd = -1;
err_keymap_str:
free(keymap_str);
- exit(EXIT_FAILURE);
+ return -1;
}
-static void
+static int
weston_compositor_build_global_keymap(struct weston_compositor *ec)
{
if (ec->xkb_info.keymap != NULL)
- return;
+ return 0;
ec->xkb_info.keymap = xkb_map_new_from_names(ec->xkb_context,
&ec->xkb_names,
@@ -2319,28 +2328,32 @@ weston_compositor_build_global_keymap(struct weston_compositor *ec)
if (ec->xkb_info.keymap == NULL) {
weston_log("failed to compile global XKB keymap\n");
weston_log(" tried rules %s, model %s, layout %s, variant %s, "
- "options %s",
+ "options %s\n",
ec->xkb_names.rules, ec->xkb_names.model,
ec->xkb_names.layout, ec->xkb_names.variant,
ec->xkb_names.options);
- exit(1);
+ return -1;
}
- weston_xkb_info_new_keymap(&ec->xkb_info);
+ if (weston_xkb_info_new_keymap(&ec->xkb_info) < 0)
+ return -1;
+
+ return 0;
}
-WL_EXPORT void
+WL_EXPORT int
weston_seat_init_keyboard(struct weston_seat *seat, struct xkb_keymap *keymap)
{
if (seat->has_keyboard)
- return;
+ return 0;
if (keymap != NULL) {
seat->xkb_info.keymap = xkb_map_ref(keymap);
- weston_xkb_info_new_keymap(&seat->xkb_info);
- }
- else {
- weston_compositor_build_global_keymap(seat->compositor);
+ if (weston_xkb_info_new_keymap(&seat->xkb_info) < 0)
+ return -1;
+ } else {
+ if (weston_compositor_build_global_keymap(seat->compositor) < 0)
+ return -1;
seat->xkb_info = seat->compositor->xkb_info;
seat->xkb_info.keymap = xkb_map_ref(seat->xkb_info.keymap);
}
@@ -2348,7 +2361,7 @@ weston_seat_init_keyboard(struct weston_seat *seat, struct xkb_keymap *keymap)
seat->xkb_state.state = xkb_state_new(seat->xkb_info.keymap);
if (seat->xkb_state.state == NULL) {
weston_log("failed to initialise XKB state\n");
- exit(1);
+ return -1;
}
seat->xkb_state.leds = 0;
@@ -2357,6 +2370,8 @@ weston_seat_init_keyboard(struct weston_seat *seat, struct xkb_keymap *keymap)
wl_seat_set_keyboard(&seat->seat, &seat->keyboard);
seat->has_keyboard = 1;
+
+ return 0;
}
WL_EXPORT void
@@ -2837,7 +2852,8 @@ weston_compositor_init(struct weston_compositor *ec,
weston_plane_init(&ec->primary_plane, 0, 0);
- weston_compositor_xkb_init(ec, &xkb_names);
+ if (weston_compositor_xkb_init(ec, &xkb_names) < 0)
+ return -1;
ec->ping_handler = NULL;
@@ -2902,13 +2918,88 @@ static int on_term_signal(int signal_number, void *data)
return 1;
}
+#ifdef HAVE_LIBUNWIND
+
static void
-on_segv_signal(int s, siginfo_t *siginfo, void *context)
+print_backtrace(void)
+{
+ unw_cursor_t cursor;
+ unw_context_t context;
+ unw_word_t off;
+ unw_proc_info_t pip;
+ int ret, i = 0;
+ char procname[256];
+ const char *filename;
+ Dl_info dlinfo;
+
+ pip.unwind_info = NULL;
+ ret = unw_getcontext(&context);
+ if (ret) {
+ weston_log("unw_getcontext: %d\n", ret);
+ return;
+ }
+
+ ret = unw_init_local(&cursor, &context);
+ if (ret) {
+ weston_log("unw_init_local: %d\n", ret);
+ return;
+ }
+
+ ret = unw_step(&cursor);
+ while (ret > 0) {
+ ret = unw_get_proc_info(&cursor, &pip);
+ if (ret) {
+ weston_log("unw_get_proc_info: %d\n", ret);
+ break;
+ }
+
+ ret = unw_get_proc_name(&cursor, procname, 256, &off);
+ if (ret && ret != -UNW_ENOMEM) {
+ if (ret != -UNW_EUNSPEC)
+ weston_log("unw_get_proc_name: %d\n", ret);
+ procname[0] = '?';
+ procname[1] = 0;
+ }
+
+ if (dladdr((void *)(pip.start_ip + off), &dlinfo) && dlinfo.dli_fname &&
+ *dlinfo.dli_fname)
+ filename = dlinfo.dli_fname;
+ else
+ filename = "?";
+
+ weston_log("%u: %s (%s%s+0x%x) [%p]\n", i++, filename, procname,
+ ret == -UNW_ENOMEM ? "..." : "", (int)off, (void *)(pip.start_ip + off));
+
+ ret = unw_step(&cursor);
+ if (ret < 0)
+ weston_log("unw_step: %d\n", ret);
+ }
+}
+
+#else
+
+static void
+print_backtrace(void)
{
void *buffer[32];
int i, count;
Dl_info info;
+ count = backtrace(buffer, ARRAY_LENGTH(buffer));
+ for (i = 0; i < count; i++) {
+ dladdr(buffer[i], &info);
+ weston_log(" [%016lx] %s (%s)\n",
+ (long) buffer[i],
+ info.dli_sname ? info.dli_sname : "--",
+ info.dli_fname);
+ }
+}
+
+#endif
+
+static void
+on_segv_signal(int s, siginfo_t *siginfo, void *context)
+{
/* This SIGSEGV handler will do a best-effort backtrace, and
* then call the backend restore function, which will switch
* back to the vt we launched from or ungrab X etc and then
@@ -2919,14 +3010,7 @@ on_segv_signal(int s, siginfo_t *siginfo, void *context)
weston_log("caught segv\n");
- count = backtrace(buffer, ARRAY_LENGTH(buffer));
- for (i = 0; i < count; i++) {
- dladdr(buffer[i], &info);
- weston_log(" [%016lx] %s (%s)\n",
- (long) buffer[i],
- info.dli_sname ? info.dli_sname : "--",
- info.dli_fname);
- }
+ print_backtrace();
segv_compositor->restore(segv_compositor);
diff --git a/src/compositor.h b/src/compositor.h
index 121f6bf..c7c583e 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -722,7 +722,7 @@ void
weston_seat_init(struct weston_seat *seat, struct weston_compositor *ec);
void
weston_seat_init_pointer(struct weston_seat *seat);
-void
+int
weston_seat_init_keyboard(struct weston_seat *seat, struct xkb_keymap *keymap);
void
weston_seat_init_touch(struct weston_seat *seat);
diff --git a/src/evdev.c b/src/evdev.c
index 1c65b7b..321992e 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -381,7 +381,7 @@ evdev_device_data(int fd, uint32_t mask, void *data)
}
static int
-evdev_configure_device(struct evdev_device *device)
+evdev_handle_device(struct evdev_device *device)
{
struct input_absinfo absinfo;
unsigned long ev_bits[NBITS(EV_MAX)];
@@ -467,9 +467,15 @@ evdev_configure_device(struct evdev_device *device)
weston_log("input device %s, %s "
"ignored: unsupported device type\n",
device->devname, device->devnode);
- return -1;
+ return 0;
}
+ return 1;
+}
+
+static int
+evdev_configure_device(struct evdev_device *device)
+{
if ((device->caps &
(EVDEV_MOTION_ABS | EVDEV_MOTION_REL | EVDEV_BUTTON))) {
weston_seat_init_pointer(device->seat);
@@ -477,7 +483,8 @@ evdev_configure_device(struct evdev_device *device)
device->devname, device->devnode);
}
if ((device->caps & EVDEV_KEYBOARD)) {
- weston_seat_init_keyboard(device->seat, NULL);
+ if (weston_seat_init_keyboard(device->seat, NULL) < 0)
+ return -1;
weston_log("input device %s, %s is a keyboard\n",
device->devname, device->devnode);
}
@@ -519,6 +526,13 @@ evdev_device_create(struct weston_seat *seat, const char *path, int device_fd)
ioctl(device->fd, EVIOCGNAME(sizeof(devname)), devname);
device->devname = strdup(devname);
+ if (!evdev_handle_device(device)) {
+ free(device->devnode);
+ free(device->devname);
+ free(device);
+ return EVDEV_UNHANDLED_DEVICE;
+ }
+
if (evdev_configure_device(device) == -1)
goto err1;
diff --git a/src/evdev.h b/src/evdev.h
index 85c4739..7222de3 100644
--- a/src/evdev.h
+++ b/src/evdev.h
@@ -85,6 +85,8 @@ struct evdev_device {
#define TEST_BIT(array, bit) ((array[LONG(bit)] >> OFF(bit)) & 1)
/* end copied */
+#define EVDEV_UNHANDLED_DEVICE ((struct evdev_device *) 1)
+
struct evdev_dispatch;
struct evdev_dispatch_interface {
diff --git a/src/shell.c b/src/shell.c
index 831b125..d9b977e 100644
--- a/src/shell.c
+++ b/src/shell.c
@@ -238,6 +238,9 @@ get_shell_surface(struct weston_surface *surface);
static struct desktop_shell *
shell_surface_get_shell(struct shell_surface *shsurf);
+static void
+surface_rotate(struct shell_surface *surface, struct wl_seat *seat);
+
static bool
shell_surface_is_top_fullscreen(struct shell_surface *shsurf)
{
@@ -1234,6 +1237,9 @@ busy_cursor_grab_button(struct wl_pointer_grab *base,
if (shsurf && button == BTN_LEFT && state) {
activate(shsurf->shell, shsurf->surface, seat);
surface_move(shsurf, seat);
+ } else if (shsurf && button == BTN_RIGHT && state) {
+ activate(shsurf->shell, shsurf->surface, seat);
+ surface_rotate(shsurf, &seat->seat);
}
}
@@ -1873,6 +1879,14 @@ shell_map_popup(struct shell_surface *shsurf)
struct weston_surface *es = shsurf->surface;
struct weston_surface *parent = shsurf->parent;
+ /* Remove the old transform. We don't want to add it twice
+ * otherwise Weston will go into an infinite loop when going
+ * through the transforms. */
+ if (!wl_list_empty(&shsurf->popup.parent_transform.link)) {
+ wl_list_remove(&shsurf->popup.parent_transform.link);
+ wl_list_init(&shsurf->popup.parent_transform.link);
+ }
+
es->output = parent->output;
shsurf->popup.grab.interface = &popup_grab_interface;
@@ -2041,6 +2055,7 @@ create_shell_surface(void *shell, struct weston_surface *surface,
weston_matrix_init(&shsurf->rotation.rotation);
wl_list_init(&shsurf->workspace_transform.link);
+ wl_list_init(&shsurf->popup.parent_transform.link);
shsurf->type = SHELL_SURFACE_NONE;
shsurf->next_type = SHELL_SURFACE_NONE;
@@ -2092,7 +2107,16 @@ static const struct wl_shell_interface shell_implementation = {
static void
handle_screensaver_sigchld(struct weston_process *proc, int status)
{
+ struct desktop_shell *shell =
+ container_of(proc, struct desktop_shell, screensaver.process);
+ struct weston_output *output;
+
proc->pid = 0;
+
+ if (shell->locked)
+ wl_list_for_each(output, &shell->compositor->output_list, link)
+ if (output->set_dpms)
+ output->set_dpms(output, WESTON_DPMS_STANDBY);
}
static void
@@ -2577,23 +2601,12 @@ static const struct wl_pointer_grab_interface rotate_grab_interface = {
};
static void
-rotate_binding(struct wl_seat *seat, uint32_t time, uint32_t button,
- void *data)
+surface_rotate(struct shell_surface *surface, struct wl_seat *seat)
{
- struct weston_surface *base_surface =
- (struct weston_surface *) seat->pointer->focus;
- struct shell_surface *surface;
struct rotate_grab *rotate;
float dx, dy;
float r;
- if (base_surface == NULL)
- return;
-
- surface = get_shell_surface(base_surface);
- if (!surface || surface->type == SHELL_SURFACE_FULLSCREEN)
- return;
-
rotate = malloc(sizeof *rotate);
if (!rotate)
return;
@@ -2631,6 +2644,24 @@ rotate_binding(struct wl_seat *seat, uint32_t time, uint32_t button,
}
static void
+rotate_binding(struct wl_seat *seat, uint32_t time, uint32_t button,
+ void *data)
+{
+ struct weston_surface *base_surface =
+ (struct weston_surface *) seat->pointer->focus;
+ struct shell_surface *surface;
+
+ if (base_surface == NULL)
+ return;
+
+ surface = get_shell_surface(base_surface);
+ if (!surface || surface->type == SHELL_SURFACE_FULLSCREEN)
+ return;
+
+ surface_rotate(surface, seat);
+}
+
+static void
lower_fullscreen_layer(struct desktop_shell *shell)
{
struct workspace *ws;
@@ -2785,6 +2816,9 @@ show_input_panels(struct wl_listener *listener, void *data)
struct input_panel_surface *surface, *next;
struct weston_surface *ws;
+ if (shell->showing_input_panels)
+ return;
+
shell->showing_input_panels = true;
if (!shell->locked)
diff --git a/src/xwayland/window-manager.c b/src/xwayland/window-manager.c
index 1b2c0da..67e8236 100644
--- a/src/xwayland/window-manager.c
+++ b/src/xwayland/window-manager.c
@@ -746,20 +746,17 @@ weston_wm_window_draw_decoration(void *data)
if (window->surface) {
pixman_region32_fini(&window->surface->pending.opaque);
- pixman_region32_init_rect(&window->surface->pending.opaque, 0, 0,
- width, height);
-
/* We leave an extra pixel around the X window area to
* make sure we don't sample from the undefined alpha
* channel when filtering. */
- pixman_region32_intersect_rect(&window->surface->pending.opaque,
- &window->surface->pending.opaque,
- x - 1, y - 1,
- window->width + 2,
- window->height + 2);
+ pixman_region32_init_rect(&window->surface->pending.opaque,
+ x - 1, y - 1,
+ window->width + 2,
+ window->height + 2);
window->surface->geometry.dirty = 1;
- pixman_region32_init_rect(&window->surface->input,
+ pixman_region32_fini(&window->surface->pending.input);
+ pixman_region32_init_rect(&window->surface->pending.input,
t->margin, t->margin,
width - 2 * t->margin,
height - 2 * t->margin);

View File

@ -1,89 +1,133 @@
#define gitdate 20120424 %global apiver 11
Name: weston Name: weston
Version: 1.0.5 Version: %{apiver}.0.0
Release: 1%{?alphatag}%{?dist} Release: 1%{?dist}
Summary: Reference compositor for Wayland Summary: Reference compositor for Wayland
Group: User Interface/X
License: BSD and CC-BY-SA License: BSD and CC-BY-SA
URL: http://wayland.freedesktop.org/ URL: http://wayland.freedesktop.org/
%if 0%{?gitdate} Source0: https://gitlab.freedesktop.org/wayland/%{name}/-/releases/%{version}/downloads/%{name}-%{version}.tar.xz
Source0: %{name}-%{gitdate}.tar.bz2
%else
Source0: http://wayland.freedesktop.org/releases/%{name}-%{version}.tar.xz
%endif
Source1: make-git-snapshot.sh
# git diff-tree -p 1.0.5..origin/1.0 > weston-$(git describe origin/1.0).patch BuildRequires: gcc
Patch0: weston-1.0.5-11-g9a576c3.patch BuildRequires: gcc-c++
BuildRequires: autoconf
BuildRequires: cairo-devel >= 1.10.0
BuildRequires: glib2-devel BuildRequires: glib2-devel
BuildRequires: libdrm-devel
BuildRequires: libjpeg-turbo-devel BuildRequires: libjpeg-turbo-devel
BuildRequires: libpng-devel
BuildRequires: librsvg2
BuildRequires: libtool
%if 0%{?fedora} < 18
BuildRequires: libudev-devel
%endif
BuildRequires: libunwind-devel
BuildRequires: libwayland-client-devel
BuildRequires: libwayland-server-devel
BuildRequires: libwayland-cursor-devel
BuildRequires: libxcb-devel
BuildRequires: libXcursor-devel
BuildRequires: libxkbcommon-devel >= 0.1.0-8
BuildRequires: mesa-libEGL-devel >= 8.1
BuildRequires: mesa-libgbm-devel
BuildRequires: mesa-libGLES-devel
BuildRequires: mesa-libGLU-devel
BuildRequires: mesa-libwayland-egl-devel
BuildRequires: mtdev-devel
BuildRequires: pam-devel BuildRequires: pam-devel
BuildRequires: pixman-devel # ninja-build is a dependency from meson
BuildRequires: meson
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(cairo) >= 1.10.0
BuildRequires: pkgconfig(cairo-xcb)
BuildRequires: pkgconfig(colord) >= 0.1.27
BuildRequires: pkgconfig(dbus-1) >= 1.6
BuildRequires: pkgconfig(egl)
BuildRequires: pkgconfig(freerdp2)
BuildRequires: pkgconfig(gbm) >= 10.2
BuildRequires: pkgconfig(glesv2)
BuildRequires: pkgconfig(lcms2)
BuildRequires: pkgconfig(libdrm) >= 2.4.30
BuildRequires: pkgconfig(libevdev)
BuildRequires: pkgconfig(libinput) >= 0.8.0
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libsystemd) >= 209
BuildRequires: pkgconfig(libudev) >= 136
# libunwind available only on selected arches
%ifarch %{arm} aarch64 hppa ia64 mips ppc %{power64} %{ix86} x86_64
BuildRequires: libunwind-devel
%endif
BuildRequires: pkgconfig(libva) >= 0.34.0
BuildRequires: pkgconfig(libva-drm) >= 0.34.0
BuildRequires: pkgconfig(libwebp)
BuildRequires: pkgconfig(libxml-2.0) >= 2.6
BuildRequires: pkgconfig(mtdev) >= 1.1.0
BuildRequires: pkgconfig(pangocairo)
BuildRequires: pkgconfig(pixman-1) >= 0.25.2
BuildRequires: pkgconfig(wayland-client) >= 1.12.0
BuildRequires: pkgconfig(wayland-cursor)
BuildRequires: pkgconfig(wayland-egl)
BuildRequires: pkgconfig(wayland-protocols) >= 1.24
BuildRequires: pkgconfig(wayland-scanner)
BuildRequires: pkgconfig(wayland-server)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(x11-xcb)
BuildRequires: pkgconfig(xcb)
BuildRequires: pkgconfig(xcb-composite)
BuildRequires: pkgconfig(xcb-shm)
BuildRequires: pkgconfig(xcb-xfixes)
BuildRequires: pkgconfig(xcb-xkb)
BuildRequires: pkgconfig(xcursor)
BuildRequires: pkgconfig(xkbcommon)
BuildRequires: pkgconfig(libpipewire-0.2)
BuildRequires: poppler-devel BuildRequires: poppler-devel
BuildRequires: poppler-glib-devel BuildRequires: poppler-glib-devel
BuildRequires: systemd-devel BuildRequires: gstreamer1-devel
BuildRequires: gstreamer1-plugins-base-devel
BuildRequires: pipewire-devel
BuildRequires: libseat-devel
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: mesa-dri-drivers
%description %description
Weston is the reference wayland compositor that can run on KMS, under X11 Weston is the reference wayland compositor that can run on KMS, under X11
or under another compositor. or under another compositor.
%package libs
Summary: Weston compositor libraries
%description libs
This package contains Weston compositor libraries.
%package demo
Summary: Weston demo program files
%description demo
This package contains Weston demo program files.
%package devel
Summary: Common headers for weston
License: MIT
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description devel
Common headers for weston
%prep %prep
%setup -q -n %{name}-%{?gitdate:%{gitdate}}%{!?gitdate:%{version}} %setup -q
%patch0 -p1 -b .git
%build %build
# temporary force to pick up configure.ac changes # ninja injects -Wl,--no-undefined, which intereferes with LTO, so undo
%if 1 || 0%{?gitdate} # the setting. Thanks to the SuSE folks for the workaround.
autoreconf -ivf export LDFLAGS="%{?build_ldflags} -Wl,-z,undefs"
%endif %meson
%configure --disable-static --disable-setuid-install --enable-xwayland %meson_build
make %{?_smp_mflags}
%install %install
make install DESTDIR=$RPM_BUILD_ROOT %meson_install
find $RPM_BUILD_ROOT -name \*.la | xargs rm -f %check
# may be standalone tests can be done
#%%meson_test
%files %files
%defattr(-,root,root,-) %license COPYING
%doc README %doc README.md
%doc data/COPYING
%{_bindir}/weston %{_bindir}/weston
%{_bindir}/weston-info %{_bindir}/weston-debug
%{_bindir}/weston-launch %{_bindir}/weston-screenshooter
%{_bindir}/weston-terminal %{_bindir}/weston-terminal
%{_bindir}/wcap-decode %{_bindir}/wcap-decode
%dir %{_libdir}/weston %dir %{_libdir}/weston
%{_libdir}/weston/desktop-shell.so %{_libdir}/weston/desktop-shell.so
%{_libdir}/weston/drm-backend.so %{_libdir}/weston/fullscreen-shell.so
%{_libdir}/weston/tablet-shell.so %{_libdir}/weston/hmi-controller.so
%{_libdir}/weston/wayland-backend.so %{_libdir}/weston/ivi-shell.so
%{_libdir}/weston/x11-backend.so %{_libdir}/weston/screen-share.so
%{_libdir}/weston/xwayland.so %{_libdir}/weston/systemd-notify.so
%{_libdir}/weston/kiosk-shell.so
%{_libdir}/weston/libexec_weston.so*
%{_libexecdir}/weston-* %{_libexecdir}/weston-*
%{_mandir}/man1/*.1* %{_mandir}/man1/*.1*
%{_mandir}/man5/*.5* %{_mandir}/man5/*.5*
@ -91,8 +135,377 @@ find $RPM_BUILD_ROOT -name \*.la | xargs rm -f
%dir %{_datadir}/weston %dir %{_datadir}/weston
%{_datadir}/weston/*.png %{_datadir}/weston/*.png
%{_datadir}/weston/wayland.svg %{_datadir}/weston/wayland.svg
%{_datadir}/wayland-sessions/weston.desktop
%files libs
%license COPYING
%dir %{_libdir}/libweston-%{apiver}
%{_libdir}/libweston-%{apiver}/color-lcms.so
%{_libdir}/libweston-%{apiver}/drm-backend.so
%{_libdir}/libweston-%{apiver}/gl-renderer.so
%{_libdir}/libweston-%{apiver}/headless-backend.so
%{_libdir}/libweston-%{apiver}/pipewire-plugin.so
%{_libdir}/libweston-%{apiver}/remoting-plugin.so
%{_libdir}/libweston-%{apiver}/rdp-backend.so
%{_libdir}/libweston-%{apiver}/wayland-backend.so
%{_libdir}/libweston-%{apiver}/x11-backend.so
%{_libdir}/libweston-%{apiver}/xwayland.so
%{_libdir}/libweston-%{apiver}.so.0*
%files demo
%license COPYING
%{_bindir}/weston-calibrator
%{_bindir}/weston-clickdot
%{_bindir}/weston-cliptest
%{_bindir}/weston-confine
%{_bindir}/weston-dnd
%{_bindir}/weston-editor
%{_bindir}/weston-eventdemo
%{_bindir}/weston-flower
%{_bindir}/weston-fullscreen
%{_bindir}/weston-image
%{_bindir}/weston-multi-resource
%{_bindir}/weston-presentation-shm
%{_bindir}/weston-resizor
%{_bindir}/weston-scaler
%{_bindir}/weston-simple-damage
%{_bindir}/weston-content_protection
%{_bindir}/weston-simple-dmabuf-egl
%{_bindir}/weston-simple-dmabuf-feedback
%{_bindir}/weston-simple-dmabuf-v4l
%{_bindir}/weston-simple-egl
%{_bindir}/weston-simple-shm
%{_bindir}/weston-simple-touch
%{_bindir}/weston-smoke
%{_bindir}/weston-stacking
%{_bindir}/weston-subsurfaces
%{_bindir}/weston-touch-calibrator
%{_bindir}/weston-transformed
%files devel
%{_includedir}/libweston-%{apiver}/
%{_includedir}/weston/
%{_libdir}/pkgconfig/libweston-%{apiver}.pc
%{_libdir}/pkgconfig/libweston-desktop-%{apiver}.pc
%{_libdir}/pkgconfig/weston.pc
%{_libdir}/libweston-%{apiver}.so
%{_datadir}/pkgconfig/libweston-%{apiver}-protocols.pc
%{_datadir}/libweston-%{apiver}/protocols/
%changelog %changelog
* Fri Oct 07 2022 Erico Nunes <ernunes@redhat.com> - 11.0.0-1
- Update to 11.0.0
- Remove libweston-desktop following upstream.
- Remove weston-info, cms-{colord,static}.so following upstream.
* Mon Aug 15 2022 Simone Caronni <negativo17@gmail.com> - 10.0.1-3
- Rebuild for updated FreeRDP.
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 10.0.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jul 14 2022 Erico Nunes <ernunes@redhat.com> - 10.0.1-1
- Update to 10.0.1
- Update download URL
* Tue Apr 12 2022 Erico Nunes <ernunes@redhat.com> - 10.0.0-1
- Update to 10.0.0
- Remove weston-launch following upstream.
- Update shipped libraries.
* Tue Apr 12 2022 Dave Olsthoorn <daveo@fedoraproject.org> - 9.0.0-1
- Update to 9.0.0
- Use pipewire compat package for plugin
- (ernunes) Rebased from https://src.fedoraproject.org/rpms/weston/pull-request/3
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 8.0.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 8.0.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu Apr 15 2021 Simone Caronni <negativo17@gmail.com> - 8.0.0-8
- Rebuild for updated FreeRDP.
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 8.0.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 8.0.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jul 08 2020 Jeff Law <law@redhat.com> - 8.0.0-5
- Fix link flags to work with LTO
* Fri May 22 2020 Simone Caronni <negativo17@gmail.com> - 8.0.0-4
- Rebuild for updated FreeRDP.
* Tue Feb 18 2020 Gerd Pokorra <gp@zimt.uni-siegen.de> - 8.0.0-3
- Add requires mesa-dri-drivers
- Work around at some meson build problem in rawhide
* Fri Feb 07 2020 Simone Caronni <negativo17@gmail.com> - 8.0.0-2
- Rebuild for updated FreeRDP.
* Tue Jan 28 2020 Gerd Pokorra <gp@zimt.uni-siegen.de> - 8.0.0-1
- Update to 8.0.0
* Mon Jan 20 2020 Gerd Pokorra <gp@zimt.uni-siegen.de> - 7.0.93-2
- Do the standard meson build with the meson macros
* Mon Jan 20 2020 Gerd Pokorra <gp@zimt.uni-siegen.de> - 7.0.93-1
- Update to RC1 for Weston 8.0 (version 7.0.93)
- Remove have_simple_dmabuf_drm_client variable
- The executable weston-simple-dmabuf-drm is gone
* Fri Sep 27 2019 Gerd Pokorra <gp@zimt.uni-siegen.de> - 7.0.0-2
- Add and remove the group 'weston-launch' with the package in the post section
* Thu Sep 12 2019 Gerd Pokorra <gp@zimt.uni-siegen.de> - 7.0.0-1
- Update to 7.0.0
- Use meson as build system
- Use the apivar macro in the version line
* Wed Sep 04 2019 Takao Fujiwara <tfujiwar@redhat.com> - 6.0.0-3
- Add weston-demo sub package to include weston-editor
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Mar 29 2019 Kalev Lember <klember@redhat.com> - 6.0.0-1
- Update to 6.0.0
* Thu Feb 28 2019 Kalev Lember <klember@redhat.com> - 5.0.91-1
- Update to 5.0.91
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Tue Sep 11 2018 Kalev Lember <klember@redhat.com> - 5.0.0-1
- Update to 5.0.0
* Mon Aug 13 2018 Kalev Lember <klember@redhat.com> - 4.0.93-1
- Update to 4.0.93
* Tue Jul 31 2018 Florian Weimer <fweimer@redhat.com> - 4.0.92-2
- Rebuild with fixed binutils
* Sun Jul 29 2018 Kalev Lember <klember@redhat.com> - 4.0.92-1
- Update to 4.0.92
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon Apr 09 2018 Kalev Lember <klember@redhat.com> - 4.0.0-1
- Update to 4.0.0
* Tue Apr 03 2018 Kalev Lember <klember@redhat.com> - 3.0.93-1
- Update to 3.0.93
- Remove ldconfig scriptlets
- Build with FreeRDP 1.2
* Tue Mar 20 2018 Kalev Lember <klember@redhat.com> - 3.0.92-1
- Update to 3.0.92
* Tue Feb 27 2018 Kalev Lember <klember@redhat.com> - 3.0.91-1
- Update to 3.0.91
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Tue Jan 16 2018 Simone Caronni <negativo17@gmail.com> - 3.0.0-3
- Drop FreeRDP 1.2 requirement, use FreeRDP 2.0.
* Mon Jan 15 2018 Björn Esser <besser82@fedoraproject.org> - 3.0.0-2
- Rebuilt for libva.so.2
* Wed Aug 09 2017 Kalev Lember <klember@redhat.com> - 3.0.0-1
- Update to 3.0.0
* Wed Aug 02 2017 Kalev Lember <klember@redhat.com> - 2.99.93-1
- Update to 2.99.93
* Sun Jul 30 2017 Florian Weimer <fweimer@redhat.com> - 2.99.92-2
- Rebuild with binutils fix for ppc64le (#1475636)
* Wed Jul 26 2017 Kalev Lember <klember@redhat.com> - 2.99.92-1
- Update to 2.99.92
* Wed Jul 19 2017 Kalev Lember <klember@redhat.com> - 2.99.91-1
- Update to 2.99.91
* Thu Jul 13 2017 Adam Jackson <ajax@redhat.com> - 2.0.0-2
- Stop BuildRequiring cairo-gl. We install none of the additional demo clients
it builds, and it's going away from the cairo package soon.
* Wed Jun 21 2017 Kalev Lember <klember@redhat.com> - 2.0.0-1
- Update to 2.0.0
* Tue Mar 21 2017 Simone Caronni <negativo17@gmail.com> - 1.12.0-6
- Build requirement compat-freerdp12 has been renamed to freerdp1.2.
* Tue Mar 07 2017 Simone Caronni <negativo17@gmail.com> - 1.12.0-5
- Update build requirements, enable RDP again through FreeRDP 1.2 compatibility
package.
* Sat Mar 04 2017 Rex Dieter <rdieter@fedoraproject.org> - 1.12.0-4
- %%build: --disable-silent-rules
- fix FTBFS: disable broken rpd support (#1424540)
- fix rpaths
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Wed Feb 01 2017 Sandro Mani <manisandro@gmail.com> - 1.12.0-2
- Rebuild (libwebp)
* Wed Sep 21 2016 Kalev Lember <klember@redhat.com> - 1.12.0-1
- Update to 1.12.0
* Wed Sep 14 2016 Kalev Lember <klember@redhat.com> - 1.11.94-1
- Update to 1.11.94
* Thu Sep 08 2016 Kalev Lember <klember@redhat.com> - 1.11.93-1
- Update to 1.11.93
* Wed Aug 31 2016 Kalev Lember <klember@redhat.com> - 1.11.92-1
- Update to 1.11.92
- Don't set group tags
* Wed Aug 17 2016 Kalev Lember <klember@redhat.com> - 1.11.91-2
- Run ldconfig scripts for the new -libs subpackage
* Wed Aug 17 2016 Kalev Lember <klember@redhat.com> - 1.11.91-1
- Update to 1.11.91
- Add a -libs subpackage
* Wed Jun 01 2016 Kalev Lember <klember@redhat.com> - 1.11.0-1
- Update to 1.11.0
* Wed May 25 2016 Kalev Lember <klember@redhat.com> - 1.10.93-1
- Update to 1.10.93
* Wed May 18 2016 Kalev Lember <klember@redhat.com> - 1.10.92-1
- Update to 1.10.92
* Sun May 08 2016 Kalev Lember <klember@redhat.com> - 1.10.91-1
- Update to 1.10.91
* Fri Apr 22 2016 Adam Williamson <awilliam@redhat.com> - 1.10.0-2
- rebuild for changed freerdp sonames
* Thu Feb 18 2016 Kalev Lember <klember@redhat.com> - 1.10.0-1
- Update to 1.10.0
* Thu Feb 04 2016 Kalev Lember <klember@redhat.com> - 1.9.92-1
- Update to 1.9.92
* Mon Dec 28 2015 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 1.9.0-3
- Rebuilt for libwebp soname bump
* Fri Nov 20 2015 Kalev Lember <klember@redhat.com> - 1.9.0-2
- Rebuilt for freerdp soname bump
* Tue Sep 22 2015 Kalev Lember <klember@redhat.com> - 1.9.0-1
- Update to 1.9.0
- Use make_install macro
* Wed Sep 16 2015 Kalev Lember <klember@redhat.com> - 1.8.93-1
- Update to 1.8.93
* Wed Sep 02 2015 Kalev Lember <klember@redhat.com> - 1.8.92-1
- Update to 1.8.92
* Fri Aug 21 2015 Kalev Lember <klember@redhat.com> - 1.8.91-1
- Update to 1.8.91
- Use license macro for COPYING
* Tue Jul 21 2015 Adam Jackson <ajax@redhat.com> 1.8.0-1
- weston 1.8.0
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7.92-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Tue May 26 2015 Adam Jackson <ajax@redhat.com> 1.7.92-1
- weston 1.7.92
- Backport patches to fall back to argb buffer if no xrgb is available
* Tue Mar 10 2015 Peter Hutterer <peter.hutterer@redhat.com> - 1.7.0-2
- Rebuild for libinput soname bump
* Tue Feb 17 2015 Richard Hughes <rhughes@redhat.com> - 1.7.0-1
- Update to 1.7.0
* Fri Jan 16 2015 Peter Hutterer <peter.hutterer@redhat.com> 1.6.0-4
- Update to and require libinput 0.8
* Fri Dec 19 2014 Kevin Fenzi <kevin@scrye.com> 1.6.0-3
- Rebuild for new freerdp
* Sun Sep 21 2014 Kalev Lember <kalevlember@gmail.com> - 1.6.0-2
- Enable webp and vaapi support
- Install weston-launch as setuid root (#1064023)
* Sun Sep 21 2014 Kalev Lember <kalevlember@gmail.com> - 1.6.0-1
- Update to 1.6.0
- Pull in the main package for -devel subpackage
* Fri Sep 12 2014 Peter Hutterer <peter.hutterer@redhat.com> - 1.5.91-2
- Rebuild for libinput soname bump
* Fri Aug 22 2014 Kevin Fenzi <kevin@scrye.com> 1.5.91-1
- Update to 1.5.91
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jul 19 2014 Kevin Fenzi <kevin@scrye.com> 1.5.0-6
- Rebuild for new libfreerdp
* Sun Jun 15 2014 Lubomir Rintel <lkundrak@v3.sk> - 1.5.0-5
- Enable DBus support so that logind integration actually works
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Tue May 27 2014 Dan Horák <dan[at]danny.cz> - 1.5.0-3
- libunwind available only on selected arches
* Wed May 21 2014 Richard Hughes <rhughes@redhat.com> - 1.5.0-1
- Weston 1.5.0
* Tue May 13 2014 Richard Hughes <rhughes@redhat.com> - 1.4.93-1
- Weston 1.4.93
* Mon Jan 27 2014 Adam Jackson <ajax@redhat.com> 1.4.0-2
- Rebuild for new sonames in libxcb 1.10
* Fri Jan 24 2014 Richard Hughes <rhughes@redhat.com> - 1.4.0-1
- Weston 1.4.0
* Mon Jan 20 2014 Richard Hughes <rhughes@redhat.com> - 1.3.93-1
- Weston 1.3.93
* Tue Dec 17 2013 Richard Hughes <rhughes@redhat.com> - 1.3.91-1
- Weston 1.3.91
* Mon Nov 25 2013 Lubomir Rintel <lkundrak@v3.sk> - 1.3.1-1
- Weston 1.3.1
* Thu Oct 03 2013 Adam Jackson <ajax@redhat.com> 1.2.0-3
- Build RDP backend if we have new enough freerdp (#991220)
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Wed May 15 2013 Richard Hughes <rhughes@redhat.com> - 1.1.90-0.1.20130515
- Update to a git snapshot based on what will become 1.1.90
* Tue Apr 16 2013 Richard Hughes <richard@hughsie.com> 1.1.0-1
- weston 1.1.0
* Wed Mar 27 2013 Richard Hughes <richard@hughsie.com> 1.0.6-1
- weston 1.0.6
* Thu Feb 21 2013 Adam Jackson <ajax@redhat.com> 1.0.5-1 * Thu Feb 21 2013 Adam Jackson <ajax@redhat.com> 1.0.5-1
- weston 1.0.5+ (actually tip of 1.0 branch) - weston 1.0.5+ (actually tip of 1.0 branch)
@ -114,7 +527,7 @@ find $RPM_BUILD_ROOT -name \*.la | xargs rm -f
* Thu Oct 18 2012 Adam Jackson <ajax@redhat.com> 0.99.0-1 * Thu Oct 18 2012 Adam Jackson <ajax@redhat.com> 0.99.0-1
- weston 0.99.0 - weston 0.99.0
* Tue Sep 17 2012 Thorsten Leemhuis <fedora@leemhuis.info> 0.95.0-3 * Mon Sep 17 2012 Thorsten Leemhuis <fedora@leemhuis.info> 0.95.0-3
- add libXcursor-devel as BR - add libXcursor-devel as BR
* Mon Sep 17 2012 Thorsten Leemhuis <fedora@leemhuis.info> 0.95.0-2 * Mon Sep 17 2012 Thorsten Leemhuis <fedora@leemhuis.info> 0.95.0-2