diff options
author | Buildbot system user <buildbot@medusa> | 2018-12-15 16:18:08 +0000 |
---|---|---|
committer | Buildbot system user <buildbot@medusa> | 2018-12-15 16:18:08 +0000 |
commit | 348d7b4d62ee124753a65da12fefd68664a7313f (patch) | |
tree | 59d95962681be719da51da7955b4eff52408bb34 | |
parent | 99c1debc68ee331ff971c0cd02d3bdd16da03a28 (diff) |
Update patches
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 + |