summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBuildbot system user <buildbot@medusa>2018-12-15 16:18:08 +0000
committerBuildbot system user <buildbot@medusa>2018-12-15 16:18:08 +0000
commit348d7b4d62ee124753a65da12fefd68664a7313f (patch)
tree59d95962681be719da51da7955b4eff52408bb34
parent99c1debc68ee331ff971c0cd02d3bdd16da03a28 (diff)
Update patches
-rw-r--r--patches/libxtrans/0001-Use-a-lock-file-in-addition-to-the-UNIX-domain-socke.patch55
-rw-r--r--patches/xf86-video-dummy/0001-Link-with-no-undefined-libtool-flag.patch29
-rw-r--r--patches/xf86-video-nested/0001-Link-with-no-undefined-libtool-flag.patch29
-rw-r--r--patches/xserver-meson/0001-Ensure-tests-don-t-get-run-in-parallel.patch32
4 files changed, 145 insertions, 0 deletions
diff --git a/patches/libxtrans/0001-Use-a-lock-file-in-addition-to-the-UNIX-domain-socke.patch b/patches/libxtrans/0001-Use-a-lock-file-in-addition-to-the-UNIX-domain-socke.patch
new file mode 100644
index 0000000..c7689da
--- /dev/null
+++ b/patches/libxtrans/0001-Use-a-lock-file-in-addition-to-the-UNIX-domain-socke.patch
@@ -0,0 +1,55 @@
+From 0af706b8207729257074eef202f1294f7beaefe7 Mon Sep 17 00:00:00 2001
+From: Jon Turney <jon.turney@dronecode.org.uk>
+Date: Thu, 27 Sep 2018 17:27:37 +0100
+Subject: [PATCH lib/libxtrans] Use a lock file in addition to the UNIX domain
+ socket file
+
+When a server listens on UNIX domain socket only, it unconditionally
+unlink()s any existing socket before trying to bind() it. If that socket
+belonged to a still-running server, it's no longer contactable.
+
+This isn't a problem on Linux, as ordinarily an attempt is made to create an
+abstract socket first (which fails if it's already bound). But if that's
+turned off, or on a different OS which doesn't support abstract sockets,
+this will cause problems.
+
+eg. 'Xvfb -displayfd 2 -nolisten local &' repeated always gets allocated the
+same display number.
+---
+ Xtranssock.c | 19 +++++++++++++++++--
+ 1 file changed, 17 insertions(+), 2 deletions(-)
+
+diff --git a/Xtranssock.c b/Xtranssock.c
+index b06579c..6a7058d 100644
+--- a/Xtranssock.c
++++ b/Xtranssock.c
+@@ -1003,9 +1003,24 @@ TRANS(SocketUNIXCreateListener) (XtransConnInfo ciptr, const char *port,
+ if (abstract) {
+ sockname.sun_path[0] = '\0';
+ namelen = offsetof(struct sockaddr_un, sun_path) + 1 + strlen(&sockname.sun_path[1]);
+- }
+- else
++ } else {
++ char lock[108+5];
++ int lock_fd;
++
++ snprintf(lock, sizeof(lock), "%s.lock", sockname.sun_path);
++ lock_fd = open(lock, O_RDONLY | O_CREAT, 0600);
++ if (lock_fd < 0)
++ return TRANS_CREATE_LISTENER_FAILED;
++
++ if (flock(lock_fd, LOCK_EX | LOCK_NB) < 0) {
++ close(lock_fd);
++ return TRANS_ADDR_IN_USE;
++ }
++
++ /* If another server process doesn't already have this socket bound,
++ it's ok to unlink and bind */
+ unlink (sockname.sun_path);
++ }
+
+ if ((status = TRANS(SocketCreateListener) (ciptr,
+ (struct sockaddr *) &sockname, namelen, flags)) < 0)
+--
+2.17.0
+
diff --git a/patches/xf86-video-dummy/0001-Link-with-no-undefined-libtool-flag.patch b/patches/xf86-video-dummy/0001-Link-with-no-undefined-libtool-flag.patch
new file mode 100644
index 0000000..d1c1ecb
--- /dev/null
+++ b/patches/xf86-video-dummy/0001-Link-with-no-undefined-libtool-flag.patch
@@ -0,0 +1,29 @@
+From 1fd3201c53b752fad9f30192c9d602cc238818f5 Mon Sep 17 00:00:00 2001
+From: Jon Turney <jon.turney@dronecode.org.uk>
+Date: Sat, 15 Dec 2018 16:09:07 +0000
+Subject: [PATCH driver/xf86-video-dummy] Link with -no-undefined libtool flag
+
+"Use -no-undefined to assure libtool that the library has no unresolved
+symbols at link time, so that libtool will build a shared library on
+platforms that require that all symbols are resolved when the library is
+linked."
+---
+ src/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index c0d82e0..eadc2fb 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -28,7 +28,7 @@
+ AM_CFLAGS = $(XORG_CFLAGS) $(PCIACCESS_CFLAGS)
+
+ dummy_drv_la_LTLIBRARIES = dummy_drv.la
+-dummy_drv_la_LDFLAGS = -module -avoid-version
++dummy_drv_la_LDFLAGS = -module -avoid-version -no-undefined
+ dummy_drv_la_LIBADD = $(XORG_LIBS)
+ dummy_drv_ladir = @moduledir@/drivers
+
+--
+2.17.0
+
diff --git a/patches/xf86-video-nested/0001-Link-with-no-undefined-libtool-flag.patch b/patches/xf86-video-nested/0001-Link-with-no-undefined-libtool-flag.patch
new file mode 100644
index 0000000..0eaa7ee
--- /dev/null
+++ b/patches/xf86-video-nested/0001-Link-with-no-undefined-libtool-flag.patch
@@ -0,0 +1,29 @@
+From 4daaa7e07347febd1f88137a7002131fe8722ddc Mon Sep 17 00:00:00 2001
+From: Jon Turney <jon.turney@dronecode.org.uk>
+Date: Sat, 15 Dec 2018 16:16:40 +0000
+Subject: [PATCH driver/xf86-video-nested] Link with -no-undefined libtool flag
+
+"Use -no-undefined to assure libtool that the library has no unresolved
+symbols at link time, so that libtool will build a shared library on
+platforms that require that all symbols are resolved when the library is
+linked."
+---
+ src/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 44dc656..e304ad8 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -24,7 +24,7 @@
+ AM_CFLAGS = $(XORG_CFLAGS) $(PCIACCESS_CFLAGS) $(X11_CFLAGS) $(XEXT_CFLAGS)
+
+ nested_drv_la_LTLIBRARIES = nested_drv.la
+-nested_drv_la_LDFLAGS = -module -avoid-version
++nested_drv_la_LDFLAGS = -module -avoid-version -no-undefined
+ nested_drv_la_LIBADD = $(XORG_LIBS) $(X11_LIBS) $(XEXT_LIBS)
+ nested_drv_ladir = @moduledir@/drivers
+
+--
+2.17.0
+
diff --git a/patches/xserver-meson/0001-Ensure-tests-don-t-get-run-in-parallel.patch b/patches/xserver-meson/0001-Ensure-tests-don-t-get-run-in-parallel.patch
new file mode 100644
index 0000000..c9c42c1
--- /dev/null
+++ b/patches/xserver-meson/0001-Ensure-tests-don-t-get-run-in-parallel.patch
@@ -0,0 +1,32 @@
+From f6843f4c9707fa098edded26004d2c8d969b27ca Mon Sep 17 00:00:00 2001
+From: Jon Turney <jon.turney@dronecode.org.uk>
+Date: Thu, 27 Sep 2018 17:15:49 +0100
+Subject: [PATCH xserver] Ensure tests don't get run in parallel
+
+---
+ test/meson.build | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/test/meson.build b/test/meson.build
+index 33b7941e0..a59cde782 100644
+--- a/test/meson.build
++++ b/test/meson.build
+@@ -12,6 +12,7 @@ if get_option('xvfb')
+ test('xvfb-piglit', find_program('scripts/xvfb-piglit.sh'),
+ env: piglit_env,
+ timeout: 1200,
++ is_parallel: false,
+ )
+
+ if get_option('xephyr') and build_glamor
+@@ -19,6 +20,7 @@ if get_option('xvfb')
+ find_program('scripts/xephyr-glamor-piglit.sh'),
+ env: piglit_env,
+ timeout: 1200,
++ is_parallel: false,
+ )
+ endif
+ endif
+--
+2.17.0
+