[Spice-devel,Xspice,10/11] README.xspice: clone more repos, add some script lines and more

Submitted by Uri Lublin on Jan. 26, 2015, 10:35 a.m.

Details

Message ID b5de63bf12672741f9a5e234301c83553b87c11a.1422267879.git.uril@redhat.com
State New
Headers show

Not browsing as part of any series.

Commit Message

Uri Lublin Jan. 26, 2015, 10:35 a.m.
This helps build on a RHEL-6 machine
---
 README.xspice |   92 ++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 72 insertions(+), 20 deletions(-)

Patch hide | download patch | download mbox

diff --git a/README.xspice b/README.xspice
index 189f8b3..b04a2b1 100644
--- a/README.xspice
+++ b/README.xspice
@@ -44,7 +44,7 @@  fedora)
 DRV_DIR=/usr/lib64/xorg/modules/drivers
 XORG_CONF_DIR=/etc/X11
 
-git clone git://anongit.freedesktop.org/xorg/driver/xf86-video-qxl
+git clone git://anongit.freedesktop.org/xorg/driver/xf86-video-qxl xspice
 sudo yum install spice-server-devel spice-protocol
 
 cd xspice
@@ -64,15 +64,27 @@  any root permissions.
 This assumes you already have spice-protocol and spice-server
 installed into $TEST prefix below.
 
-TEST=/store/test
-grab xserver, xspice, xextproto and xkbcomp
+TEST=/store/test ( or TEST=$(pwd)/testxspice )
+mkdir -p $TEST/src
+cd $TEST/src
+
+# grab xserver, xspice, xextproto, xkbcomp and more
+for src in \
+    git://anongit.freedesktop.org/xorg/proto/xextproto \
+    git://anongit.freedesktop.org/xorg/proto/x11proto \
+    git://anongit.freedesktop.org/xorg/proto/fontsproto \
+    git://anongit.freedesktop.org/xorg/app/xkbcomp \
+    git://anongit.freedesktop.org/xorg/xserver \
+    git://anongit.freedesktop.org/xorg/lib/libxtrans \
+    git://anongit.freedesktop.org/xorg/lib/libxkbfile \
+    git://git.freedesktop.org/git/spice/spice-protocol \
+    git://git.freedesktop.org/git/spice/spice ;
+do
+    git clone $src;
+done
+
+git clone git://anongit.freedesktop.org/xorg/driver/xf86-video-qxl xspice
 
-for src in git://anongit.freedesktop.org/xorg/proto/xextproto \
-git://anongit.freedesktop.org/xorg/app/xkbcomp \
-git://anongit.freedesktop.org/xorg/xserver \
-git://anongit.freedesktop.org/xorg/lib/libxkbfile \
-git://git.freedesktop.org/git/spice/spice-protocol
-git://anongit.freedesktop.org/xorg/driver/xf86-video-qxl; do git clone $src; done
 
 build and install into some non common prefix (not to overwrite
 your existing server) - note that this is just for testing. This
@@ -80,35 +92,75 @@  should all work with the default server as well, but that server
 requires root generally and this is undesireable for testing (and
 running actually).
 
-export PKG_CONFIG_PATH=${TEST}/lib/pkgconfig
+export PKG_CONFIG_PATH=${TEST}/lib/pkgconfig:${TEST}/share/pkgconfig
+export MAKEFLAGS="-j4"
+
+#first build spice (or sudo yum install spice-devel or spice-server-devel)
+sudo yum-builddep spice (or spice-server)
+(cd spice-protocol; ./autogen.sh --prefix=$TEST && make install)
+(cd spice; ./autogen.sh --prefix=$TEST  && make install)
+
+# now build xserver
+sudo yum install xorg-x11-server-devel libxcb-util-devel xcb-util-keysyms-devel libXfont-devel
 (cd xextproto; ./autogen.sh --prefix=$TEST --without-xmlto && make install)
-(cd xserver; ./autogen.sh --prefix=$TEST && make install)
-(cd xkbcomp; ./autogen.sh --prefix=$TEST && make install)
+(cd x11proto; ./autogen.sh --prefix=$TEST && make install)
+(cd fontsproto; ./autogen.sh --prefix=$TEST && make install)
+(cd libxtrans; ./autogen.sh --prefix=$TEST && make install)
 (cd libxkbfile; ./autogen.sh --prefix=$TEST && make install)
-(cd spice-protocol; ./autogen.sh --prefix=$TEST  --datadir=$TEST/lib && make install)
-(cd xspice; ./autogen.sh --prefix=$TEST && make install)
+(cd xkbcomp; ./autogen.sh --prefix=$TEST && make install)
 
-mkdir -p $TEST/etc/X11
 
-place the tested config below in $TEST/etc/X11/spiceqxl.xorg.conf.
+# make sure DBUS_TYPE_UNIX_FD is defined (failed on my RHEL6 machine)
+ADDSTR="#ifndef DBUS_TYPE_UNIX_FD\n"
+ADDSTR+="#define DBUS_TYPE_UNIX_FD  ((int) 'h')\n"
+ADDSTR+="#endif"
+sed -i "/define DBUS_TIMEOUT/ a$ADDSTR" \
+    xserver/hw/xfree86/os-support/linux/systemd-logind.c
+
+# need ACLOCAL for libxtrans
+export ACLOCAL="aclocal -I $TEST/share/aclocal"
+(cd xserver; ./autogen.sh --prefix=$TEST && make install)
+
+# and now xspice
+(cd xspice; ./autogen.sh --prefix=$TEST --enable-xspice && make install)
+
+mkdir -p $TEST/etc/X11
+cp xspice/examples/spiceqxl.xorg.conf.example $TEST/etc/X11/spiceqxl.xorg.conf
 
 last bit is a little ugly (FIXME), copy over the xkb bits from the existing X11
 installation:
 mkdir -p $TEST/share/X11
 cp -R /usr/share/X11/xkb $TEST/share/X11
 
+# Possibly also build spice-vdagent:
+sudo yum install libXrandr-devel libXinerama-devel
+git clone git://anongit.freedesktop.org/spice/linux/vd_agent spice-vdagent
+(cd spice-vdagent ; ./autogen.sh --prefix=$TEST && make install)
+
 = 3. Running =
 $XORG is either your own built $TEST/bin/Xorg or just the default Xorg
 
+If you built your own Xorg server:
+export PATH="$TEST/bin:$TEST/sbin:$PATH"
+export LD_LIBRARY_PATH=${TEST}/lib
+export XORG=$TEST/bin/Xorg # or /usr/bin/Xorg
+
+== 3.1 Run Xorg directly ==
 Run server with:
 export XSPICE_PORT=5900
 $XORG -noreset -config spiceqxl.xorg.conf :3.0
 
+== 3.2 Run using the Xspice script ==
 Or equivalently:
-./xspice --port 5900 :3.0
 
-Run X clients as usual by setting DISPLAY=:3.0
+xspice/scripts/Xspice --port 5900 --disable-ticketing --xorg $XORG :3.0 [--vdagent]
+(and many more options available -- see scripts/Xspice)
+
+Run X clients as usual by setting DISPLAY=:3.0, for example
+# DISPLAY=:3.0 firefox &  or 
+# DISPLAY=:3.0 twm &  DISPLAY=:3.0 xterm &
 
-Run a spice client:
-spicec -h localhost -p 5900
+Run spice client:
+sudo yum install virt-viewer
+remote-viewer spice://localhost:5900