mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-01-17 23:34:07 +00:00
removed extra/xorg-server, arm patch merged upstream
This commit is contained in:
parent
c370d733bd
commit
dd8d18e0b9
10 changed files with 0 additions and 830 deletions
|
@ -1,10 +0,0 @@
|
||||||
# Collection of quirks and blacklist/whitelists for specific devices.
|
|
||||||
|
|
||||||
|
|
||||||
# Accelerometer device, posts data through ABS_X/ABS_Y, making X unusable
|
|
||||||
# http://bugs.freedesktop.org/show_bug.cgi?id=22442
|
|
||||||
Section "InputClass"
|
|
||||||
Identifier "ThinkPad HDAPS accelerometer blacklist"
|
|
||||||
MatchProduct "ThinkPad HDAPS accelerometer data"
|
|
||||||
Option "Ignore" "on"
|
|
||||||
EndSection
|
|
|
@ -1,219 +0,0 @@
|
||||||
# $Id: PKGBUILD 180178 2013-03-18 16:08:50Z andyrtr $
|
|
||||||
# Maintainer: AndyRTR <andyrtr@archlinux.org>
|
|
||||||
# Maintainer: Jan de Groot <jgc@archlinux.org>
|
|
||||||
|
|
||||||
pkgbase=xorg-server
|
|
||||||
pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-common' 'xorg-server-devel')
|
|
||||||
pkgver=1.14.1
|
|
||||||
pkgrel=1
|
|
||||||
arch=('i686' 'x86_64')
|
|
||||||
license=('custom')
|
|
||||||
url="http://xorg.freedesktop.org"
|
|
||||||
makedepends=('pixman' 'libx11' 'mesa' 'mesa-libgl' 'xf86driproto' 'xcmiscproto' 'xtrans' 'bigreqsproto' 'randrproto' 'inputproto' 'fontsproto' 'videoproto'
|
|
||||||
'compositeproto' 'recordproto' 'scrnsaverproto' 'resourceproto' 'xineramaproto' 'libxkbfile' 'libxfont' 'renderproto' 'libpciaccess'
|
|
||||||
'libxv' 'xf86dgaproto' 'libxmu' 'libxrender' 'libxi' 'dmxproto' 'libxaw' 'libdmx' 'libxtst' 'libxres' 'xorg-xkbcomp' 'xorg-util-macros'
|
|
||||||
'xorg-font-util' 'glproto' 'dri2proto' 'libgcrypt')
|
|
||||||
options=('!libtool')
|
|
||||||
source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2
|
|
||||||
autoconfig-nvidia.patch
|
|
||||||
autoconfig-sis.patch
|
|
||||||
xserver-1.6.0-less-acpi-brokenness.patch
|
|
||||||
bug59825.patch
|
|
||||||
xvfb-run
|
|
||||||
xvfb-run.1
|
|
||||||
10-quirks.conf
|
|
||||||
git-fixes.patch
|
|
||||||
arm.patch)
|
|
||||||
sha256sums=('a5adb02571efb7d7459dde83286a3adb77dfd1a52a7348e75d2dc72d6f8d28aa'
|
|
||||||
'66e25f76a7496c429e0aff4b0670f168719bb0ceaeb88c6f2272f2bf3ed21162'
|
|
||||||
'd027776fac1f7675b0a9ee817502290b1c45f9c09b0f0a6bb058c35f92361e84'
|
|
||||||
'e033f9bcc21980f7f0428e6ed6c362a3d55ad293b05fd6e6c6c1933b86f9e63a'
|
|
||||||
'26ee6ff255a60d7c1e136c612925eb63c86e85a4a3a55d531852ad9275526588'
|
|
||||||
'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9'
|
|
||||||
'2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776'
|
|
||||||
'94612f5c0d34a3b7152915c2e285c7b462e9d8e38d3539bd551a339498eac166'
|
|
||||||
'd0832cc16b5e6c1dee2959055a4b327f5c87e2a67b5f427d654663057207b2c1'
|
|
||||||
'ca90b99582f70eae4e91409ceccbcaa728b9640eeed6ef99f75a173d89f41a0b')
|
|
||||||
|
|
||||||
build() {
|
|
||||||
cd "${srcdir}/${pkgbase}-${pkgver}"
|
|
||||||
|
|
||||||
# Use nouveau/nv/nvidia drivers for nvidia devices
|
|
||||||
patch -Np1 -i "${srcdir}/autoconfig-nvidia.patch"
|
|
||||||
|
|
||||||
# Use unofficial imedia SiS driver for supported SiS devices
|
|
||||||
patch -Np0 -i "${srcdir}/autoconfig-sis.patch"
|
|
||||||
|
|
||||||
# https://bugs.freedesktop.org/show_bug.cgi?id=59825 - fixes crash with vboxvideo
|
|
||||||
patch -Np1 -i "${srcdir}/bug59825.patch"
|
|
||||||
|
|
||||||
# From Fedora. Do not build acpid code, it is buggy and we do not need it
|
|
||||||
patch -Np1 -i "${srcdir}/xserver-1.6.0-less-acpi-brokenness.patch"
|
|
||||||
|
|
||||||
# post release git fixes
|
|
||||||
patch -Np1 -i "${srcdir}/git-fixes.patch"
|
|
||||||
|
|
||||||
# ARM fix
|
|
||||||
patch -Np1 -i "${srcdir}/arm.patch"
|
|
||||||
|
|
||||||
autoreconf -fi
|
|
||||||
./configure --prefix=/usr \
|
|
||||||
--enable-ipv6 \
|
|
||||||
--enable-dri \
|
|
||||||
--enable-dmx \
|
|
||||||
--enable-xvfb \
|
|
||||||
--enable-xnest \
|
|
||||||
--enable-composite \
|
|
||||||
--enable-xcsecurity \
|
|
||||||
--enable-xorg \
|
|
||||||
--enable-xephyr \
|
|
||||||
--enable-glx-tls \
|
|
||||||
--enable-kdrive \
|
|
||||||
--enable-kdrive-evdev \
|
|
||||||
--enable-kdrive-kbd \
|
|
||||||
--enable-kdrive-mouse \
|
|
||||||
--enable-install-setuid \
|
|
||||||
--enable-config-udev \
|
|
||||||
--disable-config-dbus \
|
|
||||||
--enable-record \
|
|
||||||
--disable-xfbdev \
|
|
||||||
--disable-xfake \
|
|
||||||
--disable-static \
|
|
||||||
--sysconfdir=/etc/X11 \
|
|
||||||
--localstatedir=/var \
|
|
||||||
--with-xkb-path=/usr/share/X11/xkb \
|
|
||||||
--with-xkb-output=/var/lib/xkb \
|
|
||||||
--with-fontrootdir=/usr/share/fonts
|
|
||||||
make
|
|
||||||
|
|
||||||
# Disable subdirs for make install rule to make splitting easier
|
|
||||||
sed -e 's/^DMX_SUBDIRS =.*/DMX_SUBDIRS =/' \
|
|
||||||
-e 's/^XVFB_SUBDIRS =.*/XVFB_SUBDIRS =/' \
|
|
||||||
-e 's/^XNEST_SUBDIRS =.*/XNEST_SUBDIRS = /' \
|
|
||||||
-e 's/^KDRIVE_SUBDIRS =.*/KDRIVE_SUBDIRS =/' \
|
|
||||||
-i hw/Makefile
|
|
||||||
}
|
|
||||||
|
|
||||||
package_xorg-server-common() {
|
|
||||||
pkgdesc="Xorg server common files"
|
|
||||||
depends=('xkeyboard-config' 'xorg-xkbcomp' 'xorg-setxkbmap' 'xorg-fonts-misc')
|
|
||||||
|
|
||||||
cd "${srcdir}/${pkgbase}-${pkgver}"
|
|
||||||
install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-common"
|
|
||||||
install -m644 COPYING "${pkgdir}/usr/share/licenses/xorg-server-common"
|
|
||||||
|
|
||||||
make -C xkb DESTDIR="${pkgdir}" install-data
|
|
||||||
|
|
||||||
install -m755 -d "${pkgdir}/usr/share/man/man1"
|
|
||||||
install -m644 man/Xserver.1 "${pkgdir}/usr/share/man/man1/"
|
|
||||||
|
|
||||||
install -m755 -d "${pkgdir}/usr/lib/xorg"
|
|
||||||
install -m644 dix/protocol.txt "${pkgdir}/usr/lib/xorg/"
|
|
||||||
}
|
|
||||||
|
|
||||||
package_xorg-server() {
|
|
||||||
pkgdesc="Xorg X server"
|
|
||||||
depends=(libxdmcp libxfont libpciaccess libdrm 'pixman>=0.28.0' libgcrypt libxau xorg-server-common xf86-input-evdev)
|
|
||||||
backup=('etc/X11/xorg.conf.d/10-evdev.conf' 'etc/X11/xorg.conf.d/10-quirks.conf')
|
|
||||||
# see xorg-server-*/hw/xfree86/common/xf86Module.h for ABI versions - we provide major numbers that drivers can depend on
|
|
||||||
provides=('X-ABI-VIDEODRV_VERSION=14' 'X-ABI-XINPUT_VERSION=19' 'X-ABI-EXTENSION_VERSION=7.0' 'x-server')
|
|
||||||
groups=('xorg')
|
|
||||||
conflicts=('nvidia-utils<=290.10')
|
|
||||||
|
|
||||||
cd "${srcdir}/${pkgbase}-${pkgver}"
|
|
||||||
make DESTDIR="${pkgdir}" install
|
|
||||||
|
|
||||||
install -m755 -d "${pkgdir}/etc/X11"
|
|
||||||
mv "${pkgdir}/usr/share/X11/xorg.conf.d" "${pkgdir}/etc/X11/"
|
|
||||||
install -m644 "${srcdir}/10-quirks.conf" "${pkgdir}/etc/X11/xorg.conf.d/"
|
|
||||||
|
|
||||||
rmdir "${pkgdir}/usr/share/X11"
|
|
||||||
|
|
||||||
# Needed for non-mesa drivers, libgl will restore it
|
|
||||||
mv "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" \
|
|
||||||
"${pkgdir}/usr/lib/xorg/modules/extensions/libglx.xorg"
|
|
||||||
|
|
||||||
rm -rf "${pkgdir}/var"
|
|
||||||
|
|
||||||
rm -f "${pkgdir}/usr/share/man/man1/Xserver.1"
|
|
||||||
rm -f "${pkgdir}/usr/lib/xorg/protocol.txt"
|
|
||||||
|
|
||||||
install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server"
|
|
||||||
ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server/COPYING"
|
|
||||||
|
|
||||||
rm -rf "${pkgdir}/usr/lib/pkgconfig"
|
|
||||||
rm -rf "${pkgdir}/usr/include"
|
|
||||||
rm -rf "${pkgdir}/usr/share/aclocal"
|
|
||||||
}
|
|
||||||
|
|
||||||
package_xorg-server-xephyr() {
|
|
||||||
pkgdesc="A nested X server that runs as an X application"
|
|
||||||
depends=(libxfont libgl libgcrypt libxv 'pixman>=0.28.0' xorg-server-common)
|
|
||||||
|
|
||||||
cd "${srcdir}/${pkgbase}-${pkgver}/hw/kdrive"
|
|
||||||
make DESTDIR="${pkgdir}" install
|
|
||||||
|
|
||||||
install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xephyr"
|
|
||||||
ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xephyr/COPYING"
|
|
||||||
}
|
|
||||||
|
|
||||||
package_xorg-server-xvfb() {
|
|
||||||
pkgdesc="Virtual framebuffer X server"
|
|
||||||
depends=(libxfont libxdmcp libxau libgcrypt 'pixman>=0.28.0' xorg-server-common)
|
|
||||||
|
|
||||||
cd "${srcdir}/${pkgbase}-${pkgver}/hw/vfb"
|
|
||||||
make DESTDIR="${pkgdir}" install
|
|
||||||
|
|
||||||
install -m755 "${srcdir}/xvfb-run" "${pkgdir}/usr/bin/"
|
|
||||||
install -m644 "${srcdir}/xvfb-run.1" "${pkgdir}/usr/share/man/man1/"
|
|
||||||
|
|
||||||
install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xvfb"
|
|
||||||
ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xvfb/COPYING"
|
|
||||||
}
|
|
||||||
|
|
||||||
package_xorg-server-xnest() {
|
|
||||||
pkgdesc="A nested X server that runs as an X application"
|
|
||||||
depends=(libxfont libxext libgcrypt 'pixman>=0.28.0' xorg-server-common)
|
|
||||||
|
|
||||||
cd "${srcdir}/${pkgbase}-${pkgver}/hw/xnest"
|
|
||||||
make DESTDIR="${pkgdir}" install
|
|
||||||
|
|
||||||
install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xnest"
|
|
||||||
ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xnest/COPYING"
|
|
||||||
}
|
|
||||||
|
|
||||||
package_xorg-server-xdmx() {
|
|
||||||
pkgdesc="Distributed Multihead X Server and utilities"
|
|
||||||
depends=(libxfont libxi libgcrypt libxaw libxrender libdmx libxfixes 'pixman>=0.28.0' xorg-server-common)
|
|
||||||
|
|
||||||
cd "${srcdir}/${pkgbase}-${pkgver}/hw/dmx"
|
|
||||||
make DESTDIR="${pkgdir}" install
|
|
||||||
|
|
||||||
install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xdmx"
|
|
||||||
ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xdmx/COPYING"
|
|
||||||
}
|
|
||||||
|
|
||||||
package_xorg-server-devel() {
|
|
||||||
pkgdesc="Development files for the X.Org X server"
|
|
||||||
depends=(# see pkgdir/usr/lib/pkgconfig/xorg-server.pc
|
|
||||||
xproto randrproto renderproto xextproto inputproto kbproto
|
|
||||||
fontsproto pixman videoproto xf86driproto glproto
|
|
||||||
mesa dri2proto xineramaproto libpciaccess
|
|
||||||
# see FS#32146
|
|
||||||
resourceproto scrnsaverproto
|
|
||||||
# not technically required but almost every Xorg pkg needs it to build
|
|
||||||
xorg-util-macros)
|
|
||||||
|
|
||||||
cd "${srcdir}/${pkgbase}-${pkgver}"
|
|
||||||
make DESTDIR="${pkgdir}" install
|
|
||||||
|
|
||||||
rm -rf "${pkgdir}/usr/bin"
|
|
||||||
rm -rf "${pkgdir}/usr/share/man"
|
|
||||||
rm -rf "${pkgdir}/usr/share/doc"
|
|
||||||
rm -rf "${pkgdir}/usr/share/X11"
|
|
||||||
rm -rf "${pkgdir}/usr/lib/xorg"
|
|
||||||
rm -rf "${pkgdir}/var"
|
|
||||||
|
|
||||||
install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-devel"
|
|
||||||
ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-devel/COPYING"
|
|
||||||
}
|
|
|
@ -1,26 +0,0 @@
|
||||||
see ARM related bug reports [1-3]
|
|
||||||
|
|
||||||
[1] https://github.com/archlinuxarm/PKGBUILDs/issues/446I
|
|
||||||
[2] http://www.raspberrypi.org/phpBB3/viewtopic.php?t=38568&p=321673
|
|
||||||
[3] http://lists.linuxtogo.org/pipermail/openembedded-core/2013-April/037805.html
|
|
||||||
|
|
||||||
Signed-off-by: Andreas Müller <schnitzeltony at googlemail.com>
|
|
||||||
---
|
|
||||||
include/dixstruct.h | 2 +-
|
|
||||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/include/dixstruct.h b/include/dixstruct.h
|
|
||||||
index 6784819..aef822c 100644
|
|
||||||
--- a/include/dixstruct.h
|
|
||||||
+++ b/include/dixstruct.h
|
|
||||||
@@ -96,7 +96,7 @@ typedef struct _Client {
|
|
||||||
unsigned int clientGone:1;
|
|
||||||
unsigned int closeDownMode:2;
|
|
||||||
unsigned int clientState:2;
|
|
||||||
- char smart_priority;
|
|
||||||
+ signed char smart_priority;
|
|
||||||
short noClientException; /* this client died or needs to be killed */
|
|
||||||
int priority;
|
|
||||||
ReplySwapPtr pSwapReplyFunc;
|
|
||||||
--
|
|
||||||
1.7.6.5
|
|
|
@ -1,28 +0,0 @@
|
||||||
diff -Nur xorg-server-1.11.99.902.orig/hw/xfree86/common/xf86pciBus.c xorg-server-1.11.99.902/hw/xfree86/common/xf86pciBus.c
|
|
||||||
--- xorg-server-1.11.99.902.orig/hw/xfree86/common/xf86pciBus.c 2012-02-10 10:10:37.583014924 +0000
|
|
||||||
+++ xorg-server-1.11.99.902/hw/xfree86/common/xf86pciBus.c 2012-02-10 11:16:07.148971317 +0000
|
|
||||||
@@ -1144,7 +1144,23 @@
|
|
||||||
int idx = 0;
|
|
||||||
|
|
||||||
#ifdef __linux__
|
|
||||||
- driverList[idx++] = "nouveau";
|
|
||||||
+ switch (dev->device_id)
|
|
||||||
+ {
|
|
||||||
+ /* NV1 */
|
|
||||||
+ case 0x0008:
|
|
||||||
+ case 0x0009:
|
|
||||||
+ driverList[idx++] = "vesa";
|
|
||||||
+ break;
|
|
||||||
+ /* NV3 */
|
|
||||||
+ case 0x0018:
|
|
||||||
+ case 0x0019:
|
|
||||||
+ driverList[idx++] = "nouveau";
|
|
||||||
+ break;
|
|
||||||
+ default:
|
|
||||||
+ driverList[idx++] = "nouveau";
|
|
||||||
+ driverList[idx++] = "nvidia";
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
#endif
|
|
||||||
driverList[idx++] = "nv";
|
|
||||||
break;
|
|
|
@ -1,21 +0,0 @@
|
||||||
--- hw/xfree86/common/xf86pciBus.c.orig 2011-09-24 10:53:45.421697668 +0000
|
|
||||||
+++ hw/xfree86/common/xf86pciBus.c 2011-09-24 10:55:56.416250708 +0000
|
|
||||||
@@ -1200,9 +1200,15 @@
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
- case 0x1039:
|
|
||||||
- driverList[0] = "sis";
|
|
||||||
- break;
|
|
||||||
+ case 0x1039:
|
|
||||||
+ switch (dev->device_id)
|
|
||||||
+ {
|
|
||||||
+ case 0x6350: case 0x6351:
|
|
||||||
+ driverList[0] = "sisimedia"; driverList[1] = "sis"; break;
|
|
||||||
+ default:
|
|
||||||
+ driverList[0] = "sis"; break;
|
|
||||||
+ }
|
|
||||||
+ break;
|
|
||||||
case 0x126f:
|
|
||||||
driverList[0] = "siliconmotion";
|
|
||||||
break;
|
|
|
@ -1,12 +0,0 @@
|
||||||
diff -U 3 -b -d -p -r -- a/glx/glxdri.c b/glx/glxdri.c
|
|
||||||
--- a/glx/glxdri.c 2013-01-24 22:14:35.216092949 +0100
|
|
||||||
+++ b/glx/glxdri.c 2013-01-24 22:13:48.499427991 +0100
|
|
||||||
@@ -971,6 +971,8 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
|
||||||
size_t buffer_size;
|
|
||||||
ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
|
|
||||||
|
|
||||||
+ framebuffer.base = NULL;
|
|
||||||
+
|
|
||||||
if (!xf86LoaderCheckSymbol("DRIQueryDirectRenderingCapable") ||
|
|
||||||
!DRIQueryDirectRenderingCapable(pScreen, &isCapable) || !isCapable) {
|
|
||||||
LogMessage(X_INFO,
|
|
|
@ -1,27 +0,0 @@
|
||||||
From 5047810a4c20fab444b8c6eb146c55dcdb0d4219 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Aaron Plattner <aplattner@nvidia.com>
|
|
||||||
Date: Wed, 06 Mar 2013 17:40:28 +0000
|
|
||||||
Subject: fb: Rename wfbDestroyGlyphCache
|
|
||||||
|
|
||||||
Renaming this function was missed in commit
|
|
||||||
9cbcb5bd6a5360a128d15b77a02d8d3351f74366, so both libfb.so and libwfb.so define
|
|
||||||
functions named fbDestroyGlyphCache.
|
|
||||||
|
|
||||||
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
|
|
||||||
Reviewed-by: Søren Sandmann <ssp@redhat.com>
|
|
||||||
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
||||||
---
|
|
||||||
diff --git a/fb/wfbrename.h b/fb/wfbrename.h
|
|
||||||
index 588440c..54d00d0 100644
|
|
||||||
--- a/fb/wfbrename.h
|
|
||||||
+++ b/fb/wfbrename.h
|
|
||||||
@@ -52,6 +52,7 @@
|
|
||||||
#define fbCreatePixmap wfbCreatePixmap
|
|
||||||
#define fbCreatePixmapBpp wfbCreatePixmapBpp
|
|
||||||
#define fbCreateWindow wfbCreateWindow
|
|
||||||
+#define fbDestroyGlyphCache wfbDestroyGlyphCache
|
|
||||||
#define fbDestroyPixmap wfbDestroyPixmap
|
|
||||||
#define fbDestroyWindow wfbDestroyWindow
|
|
||||||
#define fbDoCopy wfbDoCopy
|
|
||||||
--
|
|
||||||
cgit v0.9.0.2-2-gbebe
|
|
|
@ -1,25 +0,0 @@
|
||||||
From 0002cde5312e785529b2901d7f8a82d5623e4ca7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Adam Jackson <ajax@redhat.com>
|
|
||||||
Date: Wed, 9 Nov 2011 11:52:06 +1000
|
|
||||||
Subject: [PATCH 2/7] Don't build the ACPI code.
|
|
||||||
|
|
||||||
No good can come of this.
|
|
||||||
---
|
|
||||||
configure.ac | 1 -
|
|
||||||
1 file changed, 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index a12783c..54f4464 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -1620,7 +1620,6 @@ if test "x$XORG" = xyes; then
|
|
||||||
linux_alpha=yes
|
|
||||||
;;
|
|
||||||
i*86|amd64*|x86_64*|ia64*)
|
|
||||||
- linux_acpi="yes"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
;;
|
|
||||||
--
|
|
||||||
1.7.10.1
|
|
||||||
|
|
|
@ -1,180 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# $Id: xvfb-run 2027 2004-11-16 14:54:16Z branden $
|
|
||||||
|
|
||||||
# This script starts an instance of Xvfb, the "fake" X server, runs a command
|
|
||||||
# with that server available, and kills the X server when done. The return
|
|
||||||
# value of the command becomes the return value of this script.
|
|
||||||
#
|
|
||||||
# If anyone is using this to build a Debian package, make sure the package
|
|
||||||
# Build-Depends on xvfb, xbase-clients, and xfonts-base.
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
PROGNAME=xvfb-run
|
|
||||||
SERVERNUM=99
|
|
||||||
AUTHFILE=
|
|
||||||
ERRORFILE=/dev/null
|
|
||||||
STARTWAIT=3
|
|
||||||
XVFBARGS="-screen 0 640x480x8"
|
|
||||||
LISTENTCP="-nolisten tcp"
|
|
||||||
XAUTHPROTO=.
|
|
||||||
|
|
||||||
# Query the terminal to establish a default number of columns to use for
|
|
||||||
# displaying messages to the user. This is used only as a fallback in the event
|
|
||||||
# the COLUMNS variable is not set. ($COLUMNS can react to SIGWINCH while the
|
|
||||||
# script is running, and this cannot, only being calculated once.)
|
|
||||||
DEFCOLUMNS=$(stty size 2>/dev/null | awk '{print $2}') || true
|
|
||||||
if ! expr "$DEFCOLUMNS" : "[[:digit:]]\+$" >/dev/null 2>&1; then
|
|
||||||
DEFCOLUMNS=80
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Display a message, wrapping lines at the terminal width.
|
|
||||||
message () {
|
|
||||||
echo "$PROGNAME: $*" | fmt -t -w ${COLUMNS:-$DEFCOLUMNS}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Display an error message.
|
|
||||||
error () {
|
|
||||||
message "error: $*" >&2
|
|
||||||
}
|
|
||||||
|
|
||||||
# Display a usage message.
|
|
||||||
usage () {
|
|
||||||
if [ -n "$*" ]; then
|
|
||||||
message "usage error: $*"
|
|
||||||
fi
|
|
||||||
cat <<EOF
|
|
||||||
Usage: $PROGNAME [OPTION ...] COMMAND
|
|
||||||
Run COMMAND (usually an X client) in a virtual X server environment.
|
|
||||||
Options:
|
|
||||||
-a --auto-servernum try to get a free server number, starting at
|
|
||||||
--server-num
|
|
||||||
-e FILE --error-file=FILE file used to store xauth errors and Xvfb
|
|
||||||
output (default: $ERRORFILE)
|
|
||||||
-f FILE --auth-file=FILE file used to store auth cookie
|
|
||||||
(default: ./.Xauthority)
|
|
||||||
-h --help display this usage message and exit
|
|
||||||
-n NUM --server-num=NUM server number to use (default: $SERVERNUM)
|
|
||||||
-l --listen-tcp enable TCP port listening in the X server
|
|
||||||
-p PROTO --xauth-protocol=PROTO X authority protocol name to use
|
|
||||||
(default: xauth command's default)
|
|
||||||
-s ARGS --server-args=ARGS arguments (other than server number and
|
|
||||||
"-nolisten tcp") to pass to the Xvfb server
|
|
||||||
(default: "$XVFBARGS")
|
|
||||||
-w DELAY --wait=DELAY delay in seconds to wait for Xvfb to start
|
|
||||||
before running COMMAND (default: $STARTWAIT)
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
|
|
||||||
# Find a free server number by looking at .X*-lock files in /tmp.
|
|
||||||
find_free_servernum() {
|
|
||||||
# Sadly, the "local" keyword is not POSIX. Leave the next line commented in
|
|
||||||
# the hope Debian Policy eventually changes to allow it in /bin/sh scripts
|
|
||||||
# anyway.
|
|
||||||
#local i
|
|
||||||
|
|
||||||
i=$SERVERNUM
|
|
||||||
while [ -f /tmp/.X$i-lock ]; do
|
|
||||||
i=$(($i + 1))
|
|
||||||
done
|
|
||||||
echo $i
|
|
||||||
}
|
|
||||||
|
|
||||||
# Clean up files
|
|
||||||
clean_up() {
|
|
||||||
if [ -e "$AUTHFILE" ]; then
|
|
||||||
XAUTHORITY=$AUTHFILE xauth remove ":$SERVERNUM" >>"$ERRORFILE" 2>&1
|
|
||||||
fi
|
|
||||||
if [ -n "$XVFB_RUN_TMPDIR" ]; then
|
|
||||||
if ! rm -r "$XVFB_RUN_TMPDIR"; then
|
|
||||||
error "problem while cleaning up temporary directory"
|
|
||||||
exit 5
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Parse the command line.
|
|
||||||
ARGS=$(getopt --options +ae:f:hn:lp:s:w: \
|
|
||||||
--long auto-servernum,error-file:,auth-file:,help,server-num:,listen-tcp,xauth-protocol:,server-args:,wait: \
|
|
||||||
--name "$PROGNAME" -- "$@")
|
|
||||||
GETOPT_STATUS=$?
|
|
||||||
|
|
||||||
if [ $GETOPT_STATUS -ne 0 ]; then
|
|
||||||
error "internal error; getopt exited with status $GETOPT_STATUS"
|
|
||||||
exit 6
|
|
||||||
fi
|
|
||||||
|
|
||||||
eval set -- "$ARGS"
|
|
||||||
|
|
||||||
while :; do
|
|
||||||
case "$1" in
|
|
||||||
-a|--auto-servernum) SERVERNUM=$(find_free_servernum) ;;
|
|
||||||
-e|--error-file) ERRORFILE="$2"; shift ;;
|
|
||||||
-f|--auth-file) AUTHFILE="$2"; shift ;;
|
|
||||||
-h|--help) SHOWHELP="yes" ;;
|
|
||||||
-n|--server-num) SERVERNUM="$2"; shift ;;
|
|
||||||
-l|--listen-tcp) LISTENTCP="" ;;
|
|
||||||
-p|--xauth-protocol) XAUTHPROTO="$2"; shift ;;
|
|
||||||
-s|--server-args) XVFBARGS="$2"; shift ;;
|
|
||||||
-w|--wait) STARTWAIT="$2"; shift ;;
|
|
||||||
--) shift; break ;;
|
|
||||||
*) error "internal error; getopt permitted \"$1\" unexpectedly"
|
|
||||||
exit 6
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ "$SHOWHELP" ]; then
|
|
||||||
usage
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "$*" ]; then
|
|
||||||
usage "need a command to run" >&2
|
|
||||||
exit 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! which xauth >/dev/null; then
|
|
||||||
error "xauth command not found"
|
|
||||||
exit 3
|
|
||||||
fi
|
|
||||||
|
|
||||||
# tidy up after ourselves
|
|
||||||
trap clean_up EXIT
|
|
||||||
|
|
||||||
# If the user did not specify an X authorization file to use, set up a temporary
|
|
||||||
# directory to house one.
|
|
||||||
if [ -z "$AUTHFILE" ]; then
|
|
||||||
XVFB_RUN_TMPDIR="$(mktemp -d -t $PROGNAME.XXXXXX)"
|
|
||||||
AUTHFILE="$XVFB_RUN_TMPDIR/Xauthority"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Start Xvfb.
|
|
||||||
MCOOKIE=$(mcookie)
|
|
||||||
XAUTHORITY=$AUTHFILE xauth source - << EOF >>"$ERRORFILE" 2>&1
|
|
||||||
add :$SERVERNUM $XAUTHPROTO $MCOOKIE
|
|
||||||
EOF
|
|
||||||
XAUTHORITY=$AUTHFILE Xvfb ":$SERVERNUM" $XVFBARGS $LISTENTCP >>"$ERRORFILE" \
|
|
||||||
2>&1 &
|
|
||||||
XVFBPID=$!
|
|
||||||
sleep "$STARTWAIT"
|
|
||||||
if ! kill -0 $XVFBPID 2>/dev/null; then
|
|
||||||
echo "Xvfb failed to start" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Start the command and save its exit status.
|
|
||||||
set +e
|
|
||||||
DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@" 2>&1
|
|
||||||
RETVAL=$?
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# Kill Xvfb now that the command has exited.
|
|
||||||
kill $XVFBPID
|
|
||||||
|
|
||||||
# Return the executed command's exit status.
|
|
||||||
exit $RETVAL
|
|
||||||
|
|
||||||
# vim:set ai et sts=4 sw=4 tw=80:
|
|
|
@ -1,282 +0,0 @@
|
||||||
.\" $Id: xvfb-run.1 2138 2005-01-17 23:40:27Z branden $
|
|
||||||
.\"
|
|
||||||
.\" Copyright 1998-2004 Branden Robinson <branden@debian.org>.
|
|
||||||
.\"
|
|
||||||
.\" This is free software; you may redistribute it and/or modify
|
|
||||||
.\" it under the terms of the GNU General Public License as
|
|
||||||
.\" published by the Free Software Foundation; either version 2,
|
|
||||||
.\" or (at your option) any later version.
|
|
||||||
.\"
|
|
||||||
.\" This is distributed in the hope that it will be useful, but
|
|
||||||
.\" WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
.\" GNU General Public License for more details.
|
|
||||||
.\"
|
|
||||||
.\" You should have received a copy of the GNU General Public License with
|
|
||||||
.\" the Debian operating system, in /usr/share/common-licenses/GPL; if
|
|
||||||
.\" not, write to the Free Software Foundation, Inc., 59 Temple Place,
|
|
||||||
.\" Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
.\"
|
|
||||||
.\" We need the URL macro from groff's www macro package, but also want
|
|
||||||
.\" things to work all right for people who don't have it. So we define
|
|
||||||
.\" our own URL macro and let the www macro package override it if it's
|
|
||||||
.\" available.
|
|
||||||
.de URL
|
|
||||||
\\$2 \(laURL: \\$1 \(ra\\$3
|
|
||||||
..
|
|
||||||
.if \n[.g] .mso www.tmac
|
|
||||||
.TH xvfb\-run 1 "2004\-11\-12" "Debian Project"
|
|
||||||
.SH NAME
|
|
||||||
xvfb\-run \- run specified X client or command in a virtual X server environment
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.B xvfb\-run
|
|
||||||
[
|
|
||||||
.I options
|
|
||||||
]
|
|
||||||
.I command
|
|
||||||
.SH DESCRIPTION
|
|
||||||
.B xvfb\-run
|
|
||||||
is a wrapper for the
|
|
||||||
.BR Xvfb (1x)
|
|
||||||
command which simplifies the task of running commands (typically an X
|
|
||||||
client, or a script containing a list of clients to be run) within a virtual
|
|
||||||
X server environment.
|
|
||||||
.PP
|
|
||||||
.B xvfb\-run
|
|
||||||
sets up an X authority file (or uses an existing user\-specified one),
|
|
||||||
writes a cookie to it (see
|
|
||||||
.BR xauth (1x))
|
|
||||||
and then starts the
|
|
||||||
.B Xvfb
|
|
||||||
X server as a background process.
|
|
||||||
The process ID of
|
|
||||||
.B Xvfb
|
|
||||||
is stored for later use.
|
|
||||||
The specified
|
|
||||||
.I command
|
|
||||||
is then run using the X display corresponding to the
|
|
||||||
.B Xvfb
|
|
||||||
server
|
|
||||||
just started and the X authority file created earlier.
|
|
||||||
.PP
|
|
||||||
When the
|
|
||||||
.I command
|
|
||||||
exits, its status is saved, the
|
|
||||||
.B Xvfb
|
|
||||||
server is killed (using the process ID stored earlier), the X authority
|
|
||||||
cookie removed, and the authority file deleted (if the user did not specify
|
|
||||||
one to use).
|
|
||||||
.B xvfb\-run
|
|
||||||
then exits with the exit status of
|
|
||||||
.IR command .
|
|
||||||
.PP
|
|
||||||
.B xvfb\-run
|
|
||||||
requires the
|
|
||||||
.B xauth
|
|
||||||
command to function.
|
|
||||||
.SH OPTIONS
|
|
||||||
.TP
|
|
||||||
.B \-a\fR,\fB \-\-auto\-servernum
|
|
||||||
Try to get a free server number, starting at 99, or the argument to
|
|
||||||
.BR \-\-server\-num .
|
|
||||||
.TP
|
|
||||||
.BI \-e\ file \fR,\fB\ \-\-error\-file= file
|
|
||||||
Store output from
|
|
||||||
.B xauth
|
|
||||||
and
|
|
||||||
.B Xvfb
|
|
||||||
in
|
|
||||||
.IR file .
|
|
||||||
The default is
|
|
||||||
.IR /dev/null .
|
|
||||||
.TP
|
|
||||||
.BI \-f\ file \fR,\fB\ \-\-auth\-file= file
|
|
||||||
Store X authentication data in
|
|
||||||
.IR file .
|
|
||||||
By default, a temporary directory called
|
|
||||||
.IR xvfb\-run. PID
|
|
||||||
(where PID is the process ID of
|
|
||||||
.B xvfb\-run
|
|
||||||
itself) is created in the directory specified by the environment variable
|
|
||||||
.B TMPDIR
|
|
||||||
(or
|
|
||||||
.I /tmp
|
|
||||||
if that variable is null or unset), and the
|
|
||||||
.BR tempfile (1)
|
|
||||||
command is used to create a file in that temporary directory called
|
|
||||||
.IR Xauthority .
|
|
||||||
.TP
|
|
||||||
.B \-h\fR,\fB \-\-help
|
|
||||||
Display a usage message and exit.
|
|
||||||
.TP
|
|
||||||
.BI \-n\ servernumber \fR,\fB\ \-\-server\-num= servernumber
|
|
||||||
Use
|
|
||||||
.I servernumber
|
|
||||||
as the server number (but see the
|
|
||||||
.B \-a\fR,\fB \-\-auto\-servernum
|
|
||||||
option above).
|
|
||||||
The default is 99.
|
|
||||||
.TP
|
|
||||||
.B \-l\fR,\fB \-\-listen\-tcp
|
|
||||||
Enable TCP port listening in the X server.
|
|
||||||
For security reasons (to avoid denial\-of\-service attacks or exploits),
|
|
||||||
TCP port listening is disabled by default.
|
|
||||||
.TP
|
|
||||||
.BI \-p\ protocolname \fR,\fB\ \-\-xauth\-protocol= protocolname
|
|
||||||
Use
|
|
||||||
.I protocolname
|
|
||||||
as the X authority protocol to use.
|
|
||||||
The default is \(oq.\(cq, which
|
|
||||||
.B xauth
|
|
||||||
interprets as its own default protocol, which is MIT\-MAGIC\-COOKIE\-1.
|
|
||||||
.TP
|
|
||||||
.BI \-s\ arguments \fR,\fB\ \-\-server\-args= arguments
|
|
||||||
Pass
|
|
||||||
.I arguments
|
|
||||||
to the
|
|
||||||
.B Xvfb
|
|
||||||
server.
|
|
||||||
Be careful to quote any whitespace characters that may occur within
|
|
||||||
.I arguments
|
|
||||||
to prevent them from regarded as separators for
|
|
||||||
.BR xvfb\-run 's
|
|
||||||
own arguments.
|
|
||||||
Also, note that specification of \(oq\-nolisten tcp\(cq in
|
|
||||||
.I arguments
|
|
||||||
may override the function of
|
|
||||||
.BR xvfb\-run 's
|
|
||||||
own
|
|
||||||
.B \-l\fR,\fB \-\-listen\-tcp
|
|
||||||
option, and that specification of the server number (e.g., \(oq:1\(cq) may
|
|
||||||
be ignored because of the way the X server parses its argument list.
|
|
||||||
Use the
|
|
||||||
.B xvfb\-run
|
|
||||||
option
|
|
||||||
.BI \-n\ servernumber \fR,\fB\ \-\-server\-num= servernumber
|
|
||||||
to achieve the latter function.
|
|
||||||
The default is \(oq\-screen 0 640x480x8\(cq.
|
|
||||||
.TP
|
|
||||||
.BI \-w\ delay \fR,\fB\ \-\-wait= delay
|
|
||||||
Wait
|
|
||||||
.I delay
|
|
||||||
seconds after launching
|
|
||||||
.B Xvfb
|
|
||||||
before attempting to start the specified command.
|
|
||||||
The default is 3.
|
|
||||||
.SH ENVIRONMENT
|
|
||||||
.TP
|
|
||||||
.B COLUMNS
|
|
||||||
indicates the width of the terminal device in character cells.
|
|
||||||
This value is used for formatting diagnostic messages.
|
|
||||||
If not set, the terminal is queried using
|
|
||||||
.BR stty (1)
|
|
||||||
to determine its width.
|
|
||||||
If that fails, a value of \(oq80\(cq is assumed.
|
|
||||||
.TP
|
|
||||||
.B TMPDIR
|
|
||||||
specifies the directory in which to place
|
|
||||||
.BR xvfb\-run 's
|
|
||||||
temporary directory for storage of the X authority file; only used if the
|
|
||||||
.B \-f
|
|
||||||
or
|
|
||||||
.B \-\-auth\-file
|
|
||||||
options are not specified.
|
|
||||||
.SH "OUTPUT FILES"
|
|
||||||
.PP
|
|
||||||
Unless the
|
|
||||||
.B \-f
|
|
||||||
or
|
|
||||||
.B \-\-auth\-file
|
|
||||||
options are specified, a temporary
|
|
||||||
directory and file within it are created (and deleted) to store the X
|
|
||||||
authority cookies used by the
|
|
||||||
.B Xvfb
|
|
||||||
server and client(s) run under it.
|
|
||||||
See
|
|
||||||
.BR tempfile (1).
|
|
||||||
If \-f or \-\-auth\-file are used, then the specified X authority file is
|
|
||||||
only written to, not created or deleted (though
|
|
||||||
.B xauth
|
|
||||||
creates an authority file itself if told to use use that does not already
|
|
||||||
exist).
|
|
||||||
.PP
|
|
||||||
An error file with a user\-specified name is also created if the
|
|
||||||
.B \-e
|
|
||||||
or
|
|
||||||
.B \-\-error\-file
|
|
||||||
options are specifed; see above.
|
|
||||||
.SH "EXIT STATUS"
|
|
||||||
.B xvfb\-run
|
|
||||||
uses its exit status as well as output to standard error to communicate
|
|
||||||
diagnostics.
|
|
||||||
The exit status of \(oq1\(cq is not used, and should be interpreted as failure
|
|
||||||
of the specified command.
|
|
||||||
.TP
|
|
||||||
0
|
|
||||||
.B xvfb\-run
|
|
||||||
only uses this exit status if the
|
|
||||||
.B \-h\fR,\fB \-\-help
|
|
||||||
option is given.
|
|
||||||
In all other situations, this may be interpreted as success of the specified
|
|
||||||
command.
|
|
||||||
.TP
|
|
||||||
2
|
|
||||||
No command to run was specified.
|
|
||||||
.TP
|
|
||||||
3
|
|
||||||
The
|
|
||||||
.B xauth
|
|
||||||
command is not available.
|
|
||||||
.TP
|
|
||||||
4
|
|
||||||
The temporary directory that was going to be used already exists; since
|
|
||||||
.B xvfb\-run
|
|
||||||
produces a uniquely named directory, this may indicate an attempt by another
|
|
||||||
process on the system to exploit a temporary file race condition.
|
|
||||||
.TP
|
|
||||||
5
|
|
||||||
A problem was encountered while cleaning up the temporary directory.
|
|
||||||
.TP
|
|
||||||
6
|
|
||||||
A problem was encountered while using
|
|
||||||
.BR getopt (1)
|
|
||||||
to parse the command\-line arguments.
|
|
||||||
.SH EXAMPLES
|
|
||||||
.TP
|
|
||||||
.B xvfb\-run \-\-auto\-servernum \-\-server\-num=1 xlogo
|
|
||||||
runs the
|
|
||||||
.BR xlogo (1x)
|
|
||||||
demonstration client inside the
|
|
||||||
.B Xvfb
|
|
||||||
X server on the first available server number greater than or equal to 1.
|
|
||||||
.TP
|
|
||||||
.B xvfb\-run \-\-server\-args="\-screen 0 1024x768x24" ico \-faces
|
|
||||||
runs the
|
|
||||||
.BR ico (1x)
|
|
||||||
demonstration client (and passes it the
|
|
||||||
.B \-faces
|
|
||||||
argument) inside the
|
|
||||||
.B Xvfb
|
|
||||||
X server, configured with a root window of 1024 by 768 pixels and a color
|
|
||||||
depth of 24 bits.
|
|
||||||
.PP
|
|
||||||
Note that the demo X clients used in the above examples will not exit on
|
|
||||||
their own, so they will have to be killed before
|
|
||||||
.B xvfb\-run
|
|
||||||
will exit.
|
|
||||||
.SH BUGS
|
|
||||||
See
|
|
||||||
.URL "http://bugs.debian.org/xvfb" "the Debian Bug Tracking System" .
|
|
||||||
If you wish to report a bug in
|
|
||||||
.BR xvfb\-run ,
|
|
||||||
please use the
|
|
||||||
.BR reportbug (1)
|
|
||||||
command.
|
|
||||||
.SH AUTHOR
|
|
||||||
.B xfvb\-run
|
|
||||||
was written by Branden Robinson and Jeff Licquia with sponsorship from
|
|
||||||
Progeny Linux Systems.
|
|
||||||
.SH "SEE ALSO"
|
|
||||||
.BR Xvfb (1x),
|
|
||||||
.BR xauth (1x)
|
|
||||||
.\" vim:set et tw=80:
|
|
Loading…
Reference in a new issue