* [PR PATCH] xorg-server: update to 1.20.10
@ 2020-12-01 19:57 pullmoll
2020-12-02 20:15 ` [PR PATCH] [Merged]: " leahneukirchen
0 siblings, 1 reply; 2+ messages in thread
From: pullmoll @ 2020-12-01 19:57 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 364 bytes --]
There is a new pull request by pullmoll against master on the void-packages repository
https://github.com/pullmoll/void-packages xorg-server
https://github.com/void-linux/void-packages/pull/26869
xorg-server: update to 1.20.10
Also add a patch to fix build w/ musl-1.2.1
A patch file from https://github.com/void-linux/void-packages/pull/26869.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-xorg-server-26869.patch --]
[-- Type: text/x-diff, Size: 13677 bytes --]
From a34844b009c32f24570af91459eefea849e802b4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= <pullmoll@t-online.de>
Date: Tue, 1 Dec 2020 20:51:23 +0100
Subject: [PATCH] xorg-server: update to 1.20.10
Also add a patch to fix build w/ musl-1.2.1
---
.../patches/fix-musl-input_event.patch | 43 ++++
.../fix-use-after-free-after-switch-vt.patch | 30 ---
srcpkgs/xorg-server/patches/mr-508.patch | 229 ------------------
srcpkgs/xorg-server/template | 6 +-
4 files changed, 46 insertions(+), 262 deletions(-)
create mode 100644 srcpkgs/xorg-server/patches/fix-musl-input_event.patch
delete mode 100644 srcpkgs/xorg-server/patches/fix-use-after-free-after-switch-vt.patch
delete mode 100644 srcpkgs/xorg-server/patches/mr-508.patch
diff --git a/srcpkgs/xorg-server/patches/fix-musl-input_event.patch b/srcpkgs/xorg-server/patches/fix-musl-input_event.patch
new file mode 100644
index 00000000000..ec1ae8f3751
--- /dev/null
+++ b/srcpkgs/xorg-server/patches/fix-musl-input_event.patch
@@ -0,0 +1,43 @@
+Source: @pullmoll
+Upstream: no
+Reason: Gracefully handle transition to 64 bit time with musl-1.2.1
+
+--- hw/dmx/input/usb-keyboard.c 2020-12-01 17:32:25.000000000 +0100
++++ hw/dmx/input/usb-keyboard.c 2020-12-01 20:28:02.489695853 +0100
+@@ -278,8 +278,8 @@
+
+ gettimeofday(&tv, NULL);
+ for (i = 0; i < 5; i++) {
+- event.time.tv_sec = tv.tv_sec;
+- event.time.tv_usec = tv.tv_usec;
++ event.input_event_sec = tv.tv_sec;
++ event.input_event_usec = tv.tv_usec;
+ event.type = EV_LED;
+ if (i == 0)
+ led = 1; /* LED_CAPSL == 0x01 */
+--- hw/dmx/examples/ev.c 2020-12-01 17:32:25.000000000 +0100
++++ hw/dmx/examples/ev.c 2020-12-01 20:31:24.585605950 +0100
+@@ -114,8 +114,8 @@
+ if ((fd = open(name, O_RDWR, 0)) >= 0) {
+ printf("%s: open, fd = %d\n", name, fd);
+ for (i = 0; i < LED_MAX; i++) {
+- event.time.tv_sec = time(0);
+- event.time.tv_usec = 0;
++ event.input_event_sec = time(0);
++ event.input_event_usec = 0;
+ event.type = EV_LED;
+ event.code = i;
+ event.value = 0;
+@@ -123,9 +123,10 @@
+ }
+
+ while ((rc = read(fd, &event, sizeof(event))) > 0) {
++ struct timeval t = {event.input_event_sec, event.input_event_usec};
+ printf("%-24.24s.%06lu type 0x%04x; code 0x%04x;"
+ " value 0x%08x; ",
+- ctime(&event.time.tv_sec),
+- event.time.tv_usec, event.type, event.code, event.value);
++ ctime(&t.tv_sec),
++ t.tv_usec, event.type, event.code, event.value);
+ switch (event.type) {
+ case EV_KEY:
diff --git a/srcpkgs/xorg-server/patches/fix-use-after-free-after-switch-vt.patch b/srcpkgs/xorg-server/patches/fix-use-after-free-after-switch-vt.patch
deleted file mode 100644
index 8627de7e707..00000000000
--- a/srcpkgs/xorg-server/patches/fix-use-after-free-after-switch-vt.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 919f1f46fc67dae93b2b3f278fcbfc77af34ec58 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <mdaenzer@redhat.com>
-Date: Mon, 31 Aug 2020 12:10:43 +0200
-Subject: [PATCH] xfree86: Take second reference for SavedCursor in
- xf86CursorSetCursor
-
-The same pointer is kept in CurrentCursor as well, therefore two
-RefCursor calls are needed.
-
-Fixes use-after-free after switching VTs.
-
-Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1067
----
- hw/xfree86/ramdac/xf86CursorRD.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git hw/xfree86/ramdac/xf86CursorRD.c hw/xfree86/ramdac/xf86CursorRD.c
-index 9aa3de97bd..c8362d1690 100644
---- hw/xfree86/ramdac/xf86CursorRD.c
-+++ hw/xfree86/ramdac/xf86CursorRD.c
-@@ -334,6 +334,9 @@ xf86CursorSetCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCurs,
- ScreenPriv->HotY = cursor->bits->yhot;
-
- if (!infoPtr->pScrn->vtSema) {
-+ cursor = RefCursor(cursor);
-+ if (ScreenPriv->SavedCursor)
-+ FreeCursor(ScreenPriv->SavedCursor, None);
- ScreenPriv->SavedCursor = cursor;
- return;
- }
diff --git a/srcpkgs/xorg-server/patches/mr-508.patch b/srcpkgs/xorg-server/patches/mr-508.patch
deleted file mode 100644
index d3a47c866fa..00000000000
--- a/srcpkgs/xorg-server/patches/mr-508.patch
+++ /dev/null
@@ -1,229 +0,0 @@
-https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/508/diffs
-
-From 4b6fce5975c2f931a0478cf4deeec97529b05eb6 Mon Sep 17 00:00:00 2001
-From: Olivier Fourdan <ofourdan@redhat.com>
-Date: Tue, 8 Sep 2020 10:01:55 +0200
-Subject: [PATCH 1/3] Revert "linux: Fix platform device probe for DT-based
- PCI"
-
-This reverts commit 249a12c54a9316b089bd22683c011519348496df.
-
-https://gitlab.freedesktop.org/xorg/xserver/-/issues/1068
----
- config/udev.c | 27 +--------------------------
- 1 file changed, 1 insertion(+), 26 deletions(-)
-
---- config/udev.c
-+++ config/udev.c
-@@ -464,31 +464,6 @@ config_udev_fini(void)
-
- #ifdef CONFIG_UDEV_KMS
-
--/* Find the last occurrence of the needle in haystack */
--static char *strrstr(const char *haystack, const char *needle)
--{
-- char *prev, *last, *tmp;
--
-- prev = strstr(haystack, needle);
-- if (!prev)
-- return NULL;
--
-- last = prev;
-- tmp = prev + 1;
--
-- while (tmp) {
-- last = strstr(tmp, needle);
-- if (!last)
-- return prev;
-- else {
-- prev = last;
-- tmp = prev + 1;
-- }
-- }
--
-- return last;
--}
--
- static void
- config_udev_odev_setup_attribs(struct udev_device *udev_device, const char *path, const char *syspath,
- int major, int minor,
-@@ -503,7 +478,7 @@ config_udev_odev_setup_attribs(struct udev_device *udev_device, const char *path
- attribs->minor = minor;
-
- value = udev_device_get_property_value(udev_device, "ID_PATH");
-- if (value && (str = strrstr(value, "pci-"))) {
-+ if (value && (str = strstr(value, "pci-"))) {
- attribs->busid = XNFstrdup(str);
- attribs->busid[3] = ':';
- }
---
-GitLab
-
-
-From 39cb95e959fab97a7e255dda1a1599b096fb0f7e Mon Sep 17 00:00:00 2001
-From: Olivier Fourdan <ofourdan@redhat.com>
-Date: Tue, 8 Sep 2020 10:03:11 +0200
-Subject: [PATCH 2/3] Revert "linux: Fix platform device PCI detection for
- complex bus topologies"
-
-This reverts commit 5c96eb5f44e62a4cfe835023cde304eb5795b8fd.
-
-https://gitlab.freedesktop.org/xorg/xserver/-/issues/1068
----
- config/udev.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
---- config/udev.c
-+++ config/udev.c
-@@ -470,7 +470,7 @@ config_udev_odev_setup_attribs(struct udev_device *udev_device, const char *path
- config_odev_probe_proc_ptr probe_callback)
- {
- struct OdevAttributes *attribs = config_odev_allocate_attributes();
-- const char *value, *str;
-+ const char *value;
-
- attribs->path = XNFstrdup(path);
- attribs->syspath = XNFstrdup(syspath);
-@@ -478,8 +478,8 @@ config_udev_odev_setup_attribs(struct udev_device *udev_device, const char *path
- attribs->minor = minor;
-
- value = udev_device_get_property_value(udev_device, "ID_PATH");
-- if (value && (str = strstr(value, "pci-"))) {
-- attribs->busid = XNFstrdup(str);
-+ if (value && !strncmp(value, "pci-", 4)) {
-+ attribs->busid = XNFstrdup(value);
- attribs->busid[3] = ':';
- }
-
---
-GitLab
-
-
-From af4c84ce8855e84c0ad89b929bc972e884f0b8e3 Mon Sep 17 00:00:00 2001
-From: Olivier Fourdan <ofourdan@redhat.com>
-Date: Tue, 8 Sep 2020 10:03:33 +0200
-Subject: [PATCH 3/3] Revert "linux: Make platform device probe less fragile"
-
-This reverts commit 74b7427c41b4e4104af7abf70a996c086d3d7628.
-
-https://gitlab.freedesktop.org/xorg/xserver/-/issues/1068
----
- config/udev.c | 17 +++++------------
- hw/xfree86/os-support/linux/lnx_platform.c | 20 ++++++++++++++++++--
- 2 files changed, 23 insertions(+), 14 deletions(-)
-
---- config/udev.c
-+++ config/udev.c
-@@ -56,7 +56,7 @@ static struct udev_monitor *udev_monitor;
-
- #ifdef CONFIG_UDEV_KMS
- static void
--config_udev_odev_setup_attribs(struct udev_device *udev_device, const char *path, const char *syspath,
-+config_udev_odev_setup_attribs(const char *path, const char *syspath,
- int major, int minor,
- config_odev_probe_proc_ptr probe_callback);
- #endif
-@@ -128,7 +128,7 @@ device_added(struct udev_device *udev_device)
-
- LogMessage(X_INFO, "config/udev: Adding drm device (%s)\n", path);
-
-- config_udev_odev_setup_attribs(udev_device, path, syspath, major(devnum),
-+ config_udev_odev_setup_attribs(path, syspath, major(devnum),
- minor(devnum), NewGPUDeviceRequest);
- return;
- }
-@@ -322,7 +322,7 @@ device_removed(struct udev_device *device)
-
- LogMessage(X_INFO, "config/udev: removing GPU device %s %s\n",
- syspath, path);
-- config_udev_odev_setup_attribs(device, path, syspath, major(devnum),
-+ config_udev_odev_setup_attribs(path, syspath, major(devnum),
- minor(devnum), DeleteGPUDeviceRequest);
- /* Retry vtenter after a drm node removal */
- systemd_logind_vtenter();
-@@ -465,24 +465,17 @@ config_udev_fini(void)
- #ifdef CONFIG_UDEV_KMS
-
- static void
--config_udev_odev_setup_attribs(struct udev_device *udev_device, const char *path, const char *syspath,
-+config_udev_odev_setup_attribs(const char *path, const char *syspath,
- int major, int minor,
- config_odev_probe_proc_ptr probe_callback)
- {
- struct OdevAttributes *attribs = config_odev_allocate_attributes();
-- const char *value;
-
- attribs->path = XNFstrdup(path);
- attribs->syspath = XNFstrdup(syspath);
- attribs->major = major;
- attribs->minor = minor;
-
-- value = udev_device_get_property_value(udev_device, "ID_PATH");
-- if (value && !strncmp(value, "pci-", 4)) {
-- attribs->busid = XNFstrdup(value);
-- attribs->busid[3] = ':';
-- }
--
- /* ownership of attribs is passed to probe layer */
- probe_callback(attribs);
- }
-@@ -523,7 +516,7 @@ config_udev_odev_probe(config_odev_probe_proc_ptr probe_callback)
- else if (!check_seat(udev_device))
- goto no_probe;
-
-- config_udev_odev_setup_attribs(udev_device, path, syspath, major(devnum),
-+ config_udev_odev_setup_attribs(path, syspath, major(devnum),
- minor(devnum), probe_callback);
- no_probe:
- udev_device_unref(udev_device);
---- hw/xfree86/os-support/linux/lnx_platform.c
-+++ hw/xfree86/os-support/linux/lnx_platform.c
-@@ -23,13 +23,13 @@
- static Bool
- get_drm_info(struct OdevAttributes *attribs, char *path, int delayed_index)
- {
-+ drmSetVersion sv;
- drmVersionPtr v;
-+ char *buf;
- int fd;
- int err = 0;
- Bool paused, server_fd = FALSE;
-
-- LogMessage(X_INFO, "Platform probe for %s\n", attribs->syspath);
--
- fd = systemd_logind_take_fd(attribs->major, attribs->minor, path, &paused);
- if (fd != -1) {
- if (paused) {
-@@ -48,6 +48,18 @@ get_drm_info(struct OdevAttributes *attribs, char *path, int delayed_index)
- if (fd == -1)
- return FALSE;
-
-+ sv.drm_di_major = 1;
-+ sv.drm_di_minor = 4;
-+ sv.drm_dd_major = -1; /* Don't care */
-+ sv.drm_dd_minor = -1; /* Don't care */
-+
-+ err = drmSetInterfaceVersion(fd, &sv);
-+ if (err) {
-+ xf86Msg(X_ERROR, "%s: failed to set DRM interface version 1.4: %s\n",
-+ path, strerror(-err));
-+ goto out;
-+ }
-+
- /* for a delayed probe we've already added the device */
- if (delayed_index == -1) {
- xf86_add_platform_device(attribs, FALSE);
-@@ -57,6 +69,10 @@ get_drm_info(struct OdevAttributes *attribs, char *path, int delayed_index)
- if (server_fd)
- xf86_platform_devices[delayed_index].flags |= XF86_PDEV_SERVER_FD;
-
-+ buf = drmGetBusid(fd);
-+ xf86_platform_odev_attributes(delayed_index)->busid = XNFstrdup(buf);
-+ drmFreeBusid(buf);
-+
- v = drmGetVersion(fd);
- if (!v) {
- xf86Msg(X_ERROR, "%s: failed to query DRM version\n", path);
---
-GitLab
-
diff --git a/srcpkgs/xorg-server/template b/srcpkgs/xorg-server/template
index 6e589ed7762..1cbee6712e2 100644
--- a/srcpkgs/xorg-server/template
+++ b/srcpkgs/xorg-server/template
@@ -1,7 +1,7 @@
# Template file for 'xorg-server'
pkgname=xorg-server
-version=1.20.9
-revision=4
+version=1.20.10
+revision=1
build_style=meson
configure_args="-Dipv6=true -Dxorg=true -Dxnest=true -Dxephyr=true
-Dxvfb=true -Dhal=false -Dudev=true -Dxkb_dir=/usr/share/X11/xkb
@@ -25,7 +25,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
license="MIT, BSD-3-Clause"
homepage="https://xorg.freedesktop.org"
distfiles="${XORG_SITE}/xserver/${pkgname}-${version}.tar.bz2"
-checksum=e219f2e0dfe455467939149d7cd2ee53b79b512cc1d2094ae4f5c9ed9ccd3571
+checksum=977420c082450dc808de301ef56af4856d653eea71519a973c3490a780cb7c99
lib32disabled=yes
provides="xserver-abi-extension-10_1 xserver-abi-input-24_1
xserver-abi-video-24_1 xf86-video-modesetting-1_1"
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PR PATCH] [Merged]: xorg-server: update to 1.20.10
2020-12-01 19:57 [PR PATCH] xorg-server: update to 1.20.10 pullmoll
@ 2020-12-02 20:15 ` leahneukirchen
0 siblings, 0 replies; 2+ messages in thread
From: leahneukirchen @ 2020-12-02 20:15 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 207 bytes --]
There's a merged pull request on the void-packages repository
xorg-server: update to 1.20.10
https://github.com/void-linux/void-packages/pull/26869
Description:
Also add a patch to fix build w/ musl-1.2.1
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-12-02 20:15 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-01 19:57 [PR PATCH] xorg-server: update to 1.20.10 pullmoll
2020-12-02 20:15 ` [PR PATCH] [Merged]: " leahneukirchen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).