commit:     bd21e9ce615caa06002d6df6c97444e913e0244a
Author:     Jason Schulz <jason <AT> schulz <DOT> name>
AuthorDate: Sat Dec 26 22:56:29 2015 +0000
Commit:     Patrice Clement <monsieurp <AT> gentoo <DOT> org>
CommitDate: Sun Dec 27 00:43:19 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bd21e9ce

x11-misc/virtualgl: race condition fix

This fixes a race condition in the openrc script.

Gentoo-Bug: 569226
Suggested-By: Jason Schulz <jason <AT> schulz.name>

 x11-misc/virtualgl/files/vgl.initd-r3        | 46 +++++++++++++++
 x11-misc/virtualgl/virtualgl-2.4.1-r3.ebuild | 86 ++++++++++++++++++++++++++++
 2 files changed, 132 insertions(+)

diff --git a/x11-misc/virtualgl/files/vgl.initd-r3 
b/x11-misc/virtualgl/files/vgl.initd-r3
new file mode 100644
index 0000000..970a29e
--- /dev/null
+++ b/x11-misc/virtualgl/files/vgl.initd-r3
@@ -0,0 +1,46 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# TODO: description="*" and other OpenRC 0.9+ candies
+
+depend() {
+       need xdm
+       after sshd
+}
+
+start() {
+       ebegin "Starting VirtualGL"
+       truncate --size=0 /var/lib/VirtualGL/vgl_xauth_key
+
+  set_xauth
+
+  if [ -z "$XAUTHORITY" ]; then
+
+    einfo "Waiting for xauthority..."
+
+    # wait for xauth file
+    while true; do 
+      set_xauth
+
+      if [ -e "$XAUTHORITY" ]; then
+        break;
+      fi
+
+      sleep 1
+    done 
+  fi
+
+
+       xauth -f /var/lib/VirtualGL/vgl_xauth_key add $DISPLAY . `xauth -f 
$XAUTHORITY list | awk '{print $3;exit}'` && \
+               chmod 644 /var/lib/VirtualGL/vgl_xauth_key
+       eend $?
+}
+
+stop() {
+       ebegin "Stopping VirtualGL"
+       [ -f /var/lib/VirtualGL/vgl_xauth_key ] && \
+               rm /var/lib/VirtualGL/vgl_xauth_key
+       eend $?
+}

diff --git a/x11-misc/virtualgl/virtualgl-2.4.1-r3.ebuild 
b/x11-misc/virtualgl/virtualgl-2.4.1-r3.ebuild
new file mode 100644
index 0000000..a0454f6
--- /dev/null
+++ b/x11-misc/virtualgl/virtualgl-2.4.1-r3.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit cmake-multilib multilib systemd
+
+DESCRIPTION="Run OpenGL applications remotely with full 3D hardware 
acceleration"
+HOMEPAGE="http://www.virtualgl.org/";
+
+MY_PN="VirtualGL"
+MY_P="${MY_PN}-${PV}"
+S="${WORKDIR}/${MY_P}"
+SRC_URI="mirror://sourceforge/${PN}/files/${PV}/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="LGPL-2.1 wxWinLL-3.1 FLTK"
+KEYWORDS="~amd64 ~x86"
+IUSE="libressl ssl"
+
+RDEPEND="
+       ssl? (
+               !libressl? ( dev-libs/openssl:0[${MULTILIB_USEDEP}] )
+               libressl? ( dev-libs/libressl[${MULTILIB_USEDEP}] )
+       )
+       media-libs/libjpeg-turbo[${MULTILIB_USEDEP}]
+       x11-libs/libX11[${MULTILIB_USEDEP}]
+       x11-libs/libXext[${MULTILIB_USEDEP}]
+       x11-libs/libXv[${MULTILIB_USEDEP}]
+       virtual/glu[${MULTILIB_USEDEP}]
+       virtual/opengl[${MULTILIB_USEDEP}]
+       amd64? ( abi_x86_32? (
+               >=media-libs/libjpeg-turbo-1.3.0-r3[abi_x86_32]
+               >=x11-libs/libX11-1.6.2[abi_x86_32]
+               >=x11-libs/libXext-1.3.2[abi_x86_32]
+               >=x11-libs/libXv-1.0.10[abi_x86_32]
+               >=virtual/glu-9.0-r1[abi_x86_32]
+               >=virtual/opengl-7.0-r1[abi_x86_32]
+       ) )
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+       # Use /var/lib, bug #428122
+       sed -e "s#/etc/opt#/var/lib#g" -i doc/unixconfig.txt doc/index.html 
doc/advancedopengl.txt \
+               server/vglrun.in server/vglgenkey server/vglserver_config || die
+
+       default
+}
+
+src_configure() {
+       abi_configure() {
+               local mycmakeargs=(
+                       $(cmake-utils_use ssl VGL_USESSL)
+                       -DVGL_DOCDIR=/usr/share/doc/"${PF}"
+                       -DTJPEG_INCLUDE_DIR=/usr/include
+                       -DVGL_LIBDIR=/usr/$(get_libdir)
+                       -DTJPEG_LIBRARY=/usr/$(get_libdir)/libturbojpeg.so
+                       -DCMAKE_LIBRARY_PATH=/usr/$(get_libdir)
+                       -DVGL_FAKELIBDIR=/usr/fakelib/${ABI}
+               )
+               cmake-utils_src_configure
+       }
+       multilib_parallel_foreach_abi abi_configure
+}
+
+src_install() {
+       cmake-multilib_src_install
+
+       # Make config dir
+       dodir /var/lib/VirtualGL
+       fowners root:video /var/lib/VirtualGL
+       fperms 0750 /var/lib/VirtualGL
+       newinitd "${FILESDIR}/vgl.initd-r3" vgl
+       newconfd "${FILESDIR}/vgl.confd-r2" vgl
+
+       exeinto /usr/libexec
+       doexe "${FILESDIR}/vgl-helper.sh"
+       systemd_dounit "${FILESDIR}/vgl.service"
+
+       # Rename glxinfo to vglxinfo to avoid conflict with x11-apps/mesa-progs
+       mv "${D}"/usr/bin/{,v}glxinfo || die
+
+       # Remove license files, bug 536284
+       rm "${D}"/usr/share/doc/${PF}/{LGPL.txt*,LICENSE*} || die
+}

Reply via email to