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-1.0.0.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
Version: 1.0.5
Release: 1%{?alphatag}%{?dist}
Version: %{apiver}.0.0
Release: 1%{?dist}
Summary: Reference compositor for Wayland
Group: User Interface/X
License: BSD and CC-BY-SA
URL: http://wayland.freedesktop.org/
%if 0%{?gitdate}
Source0: %{name}-%{gitdate}.tar.bz2
%else
Source0: http://wayland.freedesktop.org/releases/%{name}-%{version}.tar.xz
%endif
Source1: make-git-snapshot.sh
Source0: https://gitlab.freedesktop.org/wayland/%{name}/-/releases/%{version}/downloads/%{name}-%{version}.tar.xz
# git diff-tree -p 1.0.5..origin/1.0 > weston-$(git describe origin/1.0).patch
Patch0: weston-1.0.5-11-g9a576c3.patch
BuildRequires: autoconf
BuildRequires: cairo-devel >= 1.10.0
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: glib2-devel
BuildRequires: libdrm-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: 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-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
Weston is the reference wayland compositor that can run on KMS, under X11
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
%setup -q -n %{name}-%{?gitdate:%{gitdate}}%{!?gitdate:%{version}}
%patch0 -p1 -b .git
%setup -q
%build
# temporary force to pick up configure.ac changes
%if 1 || 0%{?gitdate}
autoreconf -ivf
%endif
%configure --disable-static --disable-setuid-install --enable-xwayland
make %{?_smp_mflags}
# ninja injects -Wl,--no-undefined, which intereferes with LTO, so undo
# the setting. Thanks to the SuSE folks for the workaround.
export LDFLAGS="%{?build_ldflags} -Wl,-z,undefs"
%meson
%meson_build
%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
%defattr(-,root,root,-)
%doc README
%doc data/COPYING
%license COPYING
%doc README.md
%{_bindir}/weston
%{_bindir}/weston-info
%{_bindir}/weston-launch
%{_bindir}/weston-debug
%{_bindir}/weston-screenshooter
%{_bindir}/weston-terminal
%{_bindir}/wcap-decode
%dir %{_libdir}/weston
%{_libdir}/weston/desktop-shell.so
%{_libdir}/weston/drm-backend.so
%{_libdir}/weston/tablet-shell.so
%{_libdir}/weston/wayland-backend.so
%{_libdir}/weston/x11-backend.so
%{_libdir}/weston/xwayland.so
%{_libdir}/weston/fullscreen-shell.so
%{_libdir}/weston/hmi-controller.so
%{_libdir}/weston/ivi-shell.so
%{_libdir}/weston/screen-share.so
%{_libdir}/weston/systemd-notify.so
%{_libdir}/weston/kiosk-shell.so
%{_libdir}/weston/libexec_weston.so*
%{_libexecdir}/weston-*
%{_mandir}/man1/*.1*
%{_mandir}/man5/*.5*
@ -91,8 +135,377 @@ find $RPM_BUILD_ROOT -name \*.la | xargs rm -f
%dir %{_datadir}/weston
%{_datadir}/weston/*.png
%{_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
* 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
- 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
- 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
* Mon Sep 17 2012 Thorsten Leemhuis <fedora@leemhuis.info> 0.95.0-2