diff options
author | Jason Schulz <jason@schulz.name> | 2015-12-26 14:56:29 -0800 |
---|---|---|
committer | Jason Schulz <jason@schulz.name> | 2015-12-26 16:43:19 -0800 |
commit | bd21e9ce615caa06002d6df6c97444e913e0244a (patch) | |
tree | c38e6d8d9a561d7adbe6273ae7a69ae3523d4fa1 /x11-misc | |
parent | net-dns/dnscrypt-proxy: ease of use improvements. (diff) | |
download | gentoo-bd21e9ce615caa06002d6df6c97444e913e0244a.tar.gz gentoo-bd21e9ce615caa06002d6df6c97444e913e0244a.tar.bz2 gentoo-bd21e9ce615caa06002d6df6c97444e913e0244a.zip |
x11-misc/virtualgl: race condition fix
This fixes a race condition in the openrc script.
Gentoo-Bug: 569226
Suggested-By: Jason Schulz <jason@schulz.name>
Diffstat (limited to 'x11-misc')
-rw-r--r-- | x11-misc/virtualgl/files/vgl.initd-r3 | 46 | ||||
-rw-r--r-- | x11-misc/virtualgl/virtualgl-2.4.1-r3.ebuild | 86 |
2 files changed, 132 insertions, 0 deletions
diff --git a/x11-misc/virtualgl/files/vgl.initd-r3 b/x11-misc/virtualgl/files/vgl.initd-r3 new file mode 100644 index 000000000000..970a29e4fafc --- /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 000000000000..a0454f6cc5ea --- /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 +} |