rpms/xen/devel xen-xenstore-cli.patch, NONE, 1.1 xen-initscript.patch, 1.9, 1.10 xen.spec, 1.203, 1.204 xen.sysconfig, 1.1, NONE

Daniel P. Berrange (berrange) fedora-extras-commits at redhat.com
Fri Feb 1 23:30:50 UTC 2008


Author: berrange

Update of /cvs/pkgs/rpms/xen/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv4407

Modified Files:
	xen-initscript.patch xen.spec 
Added Files:
	xen-xenstore-cli.patch 
Removed Files:
	xen.sysconfig 
Log Message:
Create a xen-runtime sub-package to allow use of Xen without XenD python stack

xen-xenstore-cli.patch:

--- NEW FILE xen-xenstore-cli.patch ---
diff -r c6776b6da8ee tools/xenstore/xenstore_client.c
--- a/tools/xenstore/xenstore_client.c	Wed Nov 14 23:35:43 2007 +0000
+++ b/tools/xenstore/xenstore_client.c	Fri Feb 01 22:17:48 2008 +0100
@@ -350,7 +350,9 @@ main(int argc, char **argv)
 
     xsh = socket ? xs_daemon_open() : xs_domain_open();
     if (xsh == NULL)
-	err(1, socket ? "xs_daemon_open" : "xs_domain_open");
+	xsh = socket ? xs_domain_open() : xs_daemon_open();
+    if (xsh == NULL)
+	err(1, "xs_*_open");
 
   again:
     if (transaction) {

xen-initscript.patch:

Index: xen-initscript.patch
===================================================================
RCS file: /cvs/pkgs/rpms/xen/devel/xen-initscript.patch,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- xen-initscript.patch	10 Jan 2008 21:37:26 -0000	1.9
+++ xen-initscript.patch	1 Feb 2008 23:30:45 -0000	1.10
@@ -1,45 +1,159 @@
-diff -rup xen-unstable-16606.orig/tools/examples/init.d/xend xen-unstable-16606.new/tools/examples/init.d/xend
---- xen-unstable-16606.orig/tools/examples/init.d/xend	2007-12-13 04:31:03.000000000 -0500
-+++ xen-unstable-16606.new/tools/examples/init.d/xend	2007-12-14 12:22:16.000000000 -0500
-@@ -19,48 +19,161 @@
- # Description:       Starts and stops the Xen control daemon.
- ### END INIT INFO
- 
+diff -rupN xen-3.2.0.orig/tools/examples/init.d/blktapctrl xen-3.2.0.new/tools/examples/init.d/blktapctrl
+--- xen-3.2.0.orig/tools/examples/init.d/blktapctrl	1969-12-31 19:00:00.000000000 -0500
++++ xen-3.2.0.new/tools/examples/init.d/blktapctrl	2008-02-01 17:45:49.000000000 -0500
+@@ -0,0 +1,80 @@
++#!/bin/bash
++#
++# blktapctrl	Script to start the Xen blktapctrl daemon
++#
++# Author:       Daniel Berrange <berrange at redhat.com>
++#
++# chkconfig: 2345 97 01
++# description: Starts and stops the Xen blktapctrl daemon.
++### BEGIN INIT INFO
++# Provides:          blktapctrl
++# Required-Start:    $syslog $remote_fs
++# Should-Start:
++# Required-Stop:     $syslog $remote_fs
++# Should-Stop:
++# Default-Start:     3 4 5
++# Default-Stop:      0 1 2 6
++# Default-Enabled:   yes
++# Short-Description: Start/stop blktapctrl
++# Description:       Starts and stops the Xen blktapctrl daemon
++### END INIT INFO
++
 +# Source function library.
 +. /etc/rc.d/init.d/functions
 +
 +if [ ! -d /proc/xen ]; then
 +	exit 0
 +fi
- if ! grep -q "control_d" /proc/xen/capabilities ; then
- 	exit 0
- fi
- 
--# Wait for Xend to be up
--function await_daemons_up
--{
--	i=1
--	rets=10
--	xend status
--	while [ $? -ne 0 -a $i -lt $rets ]; do
--	    sleep 1
--	    echo -n .
--	    i=$(($i + 1))
--	    xend status
--	done
++if ! grep -q "control_d" /proc/xen/capabilities ; then
++	exit 0
++fi
++
 +# Default config params
-+XENSTORED_PID="/var/run/xenstore.pid"
-+XENSTORED_ARGS=
++BLKTAPCTRL_ARGS=
++
++# User customized params
++test -f /etc/sysconfig/blktapctrl && . /etc/sysconfig/blktapctrl
++
++start() {
++	echo -n $"Starting xen blktapctrl daemon: "
++        /usr/sbin/blktapctrl $BLKTAPCTRL_ARGS
++	RETVAL=$?
++	test $RETVAL = 0 && echo_success || echo_failure
++        echo
++        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/blktapctrl
++}
++
++stop() {
++	echo -n $"Stoping xen blktapctrl daemon: "
++        # Refuse to stop blktapctrl as it'll kill all guests
++        RETVAL=1
++        echo_failure
++        echo
++}
++
++rcstatus() {
++        status blktapctrl
++        RETVAL=$?
++	test $RETVAL = 0 && echo_success || echo_failure
++	echo
++}
++
++
++RETVAL=0
++case "$1" in
++  start)
++        start
++	;;
++  stop)
++        stop
++	;;
++  status)
++        rcstatus
++	;;
++  *)
++	echo $"Usage: $0 {start|stop|status}"
++	exit 1
++esac
 +
++exit $RETVAL
++
+diff -rupN xen-3.2.0.orig/tools/examples/init.d/sysconfig.blktapctrl xen-3.2.0.new/tools/examples/init.d/sysconfig.blktapctrl
+--- xen-3.2.0.orig/tools/examples/init.d/sysconfig.blktapctrl	1969-12-31 19:00:00.000000000 -0500
++++ xen-3.2.0.new/tools/examples/init.d/sysconfig.blktapctrl	2008-02-01 17:49:46.000000000 -0500
+@@ -0,0 +1 @@
++#BLKTAPCTRL_ARGS=
+diff -rupN xen-3.2.0.orig/tools/examples/init.d/sysconfig.xenconsoled xen-3.2.0.new/tools/examples/init.d/sysconfig.xenconsoled
+--- xen-3.2.0.orig/tools/examples/init.d/sysconfig.xenconsoled	1969-12-31 19:00:00.000000000 -0500
++++ xen-3.2.0.new/tools/examples/init.d/sysconfig.xenconsoled	2008-02-01 17:49:56.000000000 -0500
+@@ -0,0 +1,12 @@
++
++# Log all hypervisor messages (cf xm dmesg)
++#XENCONSOLED_LOG_HYPERVISOR=no
++
++# Log all guest console output (cf xm console)
++#XENCONSOLED_LOG_GUESTS=no
++
++# Location to store guest & hypervisor logs
++#XENCONSOLED_LOG_DIR=/var/log/xen/console
++
++#XENCONSOLED_ARGS=
++
+diff -rupN xen-3.2.0.orig/tools/examples/init.d/sysconfig.xenstored xen-3.2.0.new/tools/examples/init.d/sysconfig.xenstored
+--- xen-3.2.0.orig/tools/examples/init.d/sysconfig.xenstored	1969-12-31 19:00:00.000000000 -0500
++++ xen-3.2.0.new/tools/examples/init.d/sysconfig.xenstored	2008-02-01 17:50:02.000000000 -0500
+@@ -0,0 +1,4 @@
++
++#XENSTORED_PID="/var/run/xenstore.pid"
++#XENSTORED_ARGS=
++
+diff -rupN xen-3.2.0.orig/tools/examples/init.d/xenconsoled xen-3.2.0.new/tools/examples/init.d/xenconsoled
+--- xen-3.2.0.orig/tools/examples/init.d/xenconsoled	1969-12-31 19:00:00.000000000 -0500
++++ xen-3.2.0.new/tools/examples/init.d/xenconsoled	2008-02-01 18:07:00.000000000 -0500
+@@ -0,0 +1,121 @@
++#!/bin/bash
++#
++# xenconsoled	Script to start and stop the Xen xenconsoled daemon
++#
++# Author:       Daniel P. Berrange <berrange at redhat.com>
++#
++# chkconfig: 2345 97 01
++# description: Starts and stops the Xen control daemon.
++### BEGIN INIT INFO
++# Provides:          xenconsoled
++# Required-Start:    $syslog $remote_fs
++# Should-Start:
++# Required-Stop:     $syslog $remote_fs
++# Should-Stop:
++# Default-Start:     3 4 5
++# Default-Stop:      0 1 2 6
++# Default-Enabled:   yes
++# Short-Description: Start/stop xenconsoled
++# Description:       Starts and stops the Xen xenconsoled daemon.
++### END INIT INFO
++
++# Source function library.
++. /etc/rc.d/init.d/functions
++
++if [ ! -d /proc/xen ]; then
++	exit 0
++fi
++if ! grep -q "control_d" /proc/xen/capabilities ; then
++	exit 0
++fi
++
++# Default config params
 +XENCONSOLED_LOG_HYPERVISOR=no
 +XENCONSOLED_LOG_GUESTS=no
 +XENCONSOLED_LOG_DIR=/var/log/xen/console
 +XENCONSOLED_ARGS=
 +
-+BLKTAPCTRL_ARGS=
-+
 +# User customized params
-+test -f /etc/sysconfig/xend && . /etc/sysconfig/xend
++test -f /etc/sysconfig/xenconsoled && . /etc/sysconfig/xenconsoled
 +
 +XENCONSOLED_LOG=none
 +if [ "$XENCONSOLED_LOG_HYPERVISOR" = "yes" ]
@@ -58,87 +172,129 @@
 +fi
 +
 +start() {
-+	echo -n $"Starting xen daemons: "
-+
-+	echo -n "xenstored "
-+        /usr/sbin/xenstored --pid-file $XENSTORED_PID $XENSTORED_ARGS
-+	rc=$?
-+	test $rc = 0 || RETVAL=$rc
-+
-+	echo -n "blktapctrl "
-+        /usr/sbin/blktapctrl $BLKTAPCTRL_ARGS
-+	rc=$?
-+	test $rc = 0 || RETVAL=$rc
-+
-+	echo -n "xenconsoled "
++	echo -n $"Starting xenconsoled daemon: "
 +        /usr/sbin/xenconsoled --log=$XENCONSOLED_LOG --log-dir=$XENCONSOLED_LOG_DIR $XENCONSOLED_ARGS
-+	rc=$?
-+	test $rc = 0 || RETVAL=$rc
-+
-+        echo -n "xend"
-+	/usr/sbin/xend
-+	rc=$?
-+	test $rc = 0 || RETVAL=$rc
-+
++	RETVAL=$?
 +	test $RETVAL = 0 && echo_success || echo_failure
 +        echo
-+        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/xend
- }
- 
-+stop() {
-+	echo -n $"Stopping xen daemons: "
-+
-+	# NB not safe to stop xenstored, or blktapctrl if guests are active
-+	# or backend driver modules are loaded, so we skip them
++        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/xenconsoled
++}
 +
-+	echo -n "xenconsoled "
++stop() {
++	echo -n $"Stopping xenconsoled daemon: "
 +	killproc xenconsoled > /dev/null
-+	rc=$?
-+	test $rc = 0 || RETVAL=$rc
++	RETVAL=$?
++	test $RETVAL = 0 && echo_success || echo_failure
++        echo
++        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/xenconsoled
++}
 +
-+	echo -n "xend "
-+	killproc xend > /dev/null
-+	rc=$?
-+	test $rc = 0 || RETVAL=$rc
++rcstatus() {
++        status xenconsoled
++        RETVAL=$?
++	test $RETVAL = 0 && echo_success || echo_failure
++	echo
++}
 +
++reload() {
++	echo -n $"Reloading xenconsoled daemon: "
++	killproc xenconsoled -HUP > /dev/null
++	RETVAL=$?
 +	test $RETVAL = 0 && echo_success || echo_failure
 +        echo
-+        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/xend
 +}
 +
-+rcstatus() {
-+        status xenstored
-+        rc=$?
-+        test $rc != 0 && RETVAL=$rc
++RETVAL=0
++case "$1" in
++  start)
++        start
++	;;
++  stop)
++        stop
++	;;
++  status)
++        rcstatus
++	;;
++  reload)
++	reload
++        ;;
++  restart|force-reload)
++	stop
++        start
++	;;
++  condrestart)
++        if [ -f /var/lock/subsys/xenconsoled ]
++        then
++                stop
++                start
++        fi
++        ;;
++  *)
++	echo $"Usage: $0 {start|stop|status|restart|condrestart|reload|force-reload}"
++	exit 1
++esac
 +
-+        status blktapctrl
-+        rc=$?
-+        test $rc != 0 && RETVAL=$rc
++exit $RETVAL
 +
-+        status xenconsoled
-+        rc=$?
-+        test $rc != 0 && RETVAL=$rc
+diff -rupN xen-3.2.0.orig/tools/examples/init.d/xend xen-3.2.0.new/tools/examples/init.d/xend
+--- xen-3.2.0.orig/tools/examples/init.d/xend	2008-02-01 17:13:01.000000000 -0500
++++ xen-3.2.0.new/tools/examples/init.d/xend	2008-02-01 17:45:22.000000000 -0500
+@@ -19,48 +19,79 @@
+ # Description:       Starts and stops the Xen control daemon.
+ ### END INIT INFO
+ 
++# Source function library.
++. /etc/rc.d/init.d/functions
 +
++if [ ! -d /proc/xen ]; then
++	exit 0
++fi
+ if ! grep -q "control_d" /proc/xen/capabilities ; then
+ 	exit 0
+ fi
+ 
+-# Wait for Xend to be up
+-function await_daemons_up
+-{
+-	i=1
+-	rets=10
+-	xend status
+-	while [ $? -ne 0 -a $i -lt $rets ]; do
+-	    sleep 1
+-	    echo -n .
+-	    i=$(($i + 1))
+-	    xend status
+-	done
++# Default config params
++start() {
++	echo -n $"Starting xend daemon: "
++	/usr/sbin/xend
++	RETVAL=$?
++	test $RETVAL = 0 && echo_success || echo_failure
++        echo
++        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/xend
++}
++
++stop() {
++	echo -n $"Stopping xend daemon: "
++	killproc xend > /dev/null
++	RETVAL=$?
++	test $RETVAL = 0 && echo_success || echo_failure
++        echo
++        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/xend
+ }
+ 
++rcstatus() {
 +        status xend
-+        rc=$?
-+        test $rc != 0 && RETVAL=$rc
++        RETVAL=$?
 +	test $RETVAL = 0 && echo_success || echo_failure
 +	echo
 +}
 +
 +reload() {
-+	echo -n $"Reloading xen daemons: "
-+
-+	echo -n "xenconsoled "
-+	killproc xenconsoled -HUP > /dev/null
-+	rc=$?
-+	test $rc = 0 || RETVAL=$rc
-+
-+	echo -n "xend "
++	echo -n $"Reloading xend daemon: "
 +	killproc xend -HUP > /dev/null
-+	rc=$?
-+	test $rc = 0 || RETVAL=$rc
-+
++	RETVAL=$?
 +	test $RETVAL = 0 && echo_success || echo_failure
 +        echo
 +}
@@ -186,9 +342,125 @@
 -exit $?
 +exit $RETVAL
  
-diff -rup xen-unstable-16606.orig/tools/misc/xend xen-unstable-16606.new/tools/misc/xend
---- xen-unstable-16606.orig/tools/misc/xend	2007-12-13 04:31:03.000000000 -0500
-+++ xen-unstable-16606.new/tools/misc/xend	2007-12-14 12:24:23.000000000 -0500
+diff -rupN xen-3.2.0.orig/tools/examples/init.d/xenstored xen-3.2.0.new/tools/examples/init.d/xenstored
+--- xen-3.2.0.orig/tools/examples/init.d/xenstored	1969-12-31 19:00:00.000000000 -0500
++++ xen-3.2.0.new/tools/examples/init.d/xenstored	2008-02-01 18:06:42.000000000 -0500
+@@ -0,0 +1,83 @@
++#!/bin/bash
++#
++# xenstored	Script to start and stop the Xen control daemon.
++#
++# Author:       Daniel Berrange <berrange at redhat.com
++#
++# chkconfig: 2345 96 01
++# description: Starts and stops the Xen xenstored daemon.
++### BEGIN INIT INFO
++# Provides:          xenstored
++# Required-Start:    $syslog $remote_fs
++# Should-Start:
++# Required-Stop:     $syslog $remote_fs
++# Should-Stop:
++# Default-Start:     3 4 5
++# Default-Stop:      0 1 2 6
++# Default-Enabled:   yes
++# Short-Description: Start/stop xenstored
++# Description:       Starts and stops the Xen control daemon.
++### END INIT INFO
++
++# Source function library.
++. /etc/rc.d/init.d/functions
++
++if [ ! -d /proc/xen ]; then
++	exit 0
++fi
++if ! grep -q "control_d" /proc/xen/capabilities ; then
++	exit 0
++fi
++
++# Default config params
++XENSTORED_PID="/var/run/xenstore.pid"
++XENSTORED_ARGS=
++
++# User customized params
++test -f /etc/sysconfig/xenstored && . /etc/sysconfig/xenstored
++
++start() {
++	echo -n $"Starting xenstored daemon: "
++        /usr/sbin/xenstored --pid-file $XENSTORED_PID $XENSTORED_ARGS
++	RETVAL=$?
++	test $RETVAL = 0 && echo_success || echo_failure
++        echo
++        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/xenstored
++}
++
++stop() {
++	echo -n $"Stopping xenstored daemon: "
++
++	# NB not safe to stop xenstored, if guests are active
++	# or backend driver modules are loaded, so we refuse
++        RETVAL=1
++	test $RETVAL = 0 && echo_success || echo_failure
++        echo
++        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/xenstored
++}
++
++rcstatus() {
++        status xenstored
++        RETVAL=$?
++	test $RETVAL = 0 && echo_success || echo_failure
++	echo
++}
++
++RETVAL=0
++case "$1" in
++  start)
++        start
++	;;
++  stop)
++        stop
++	;;
++  status)
++        rcstatus
++	;;
++  *)
++	echo $"Usage: $0 {start|stop|status}"
++	exit 1
++esac
++
++exit $RETVAL
++
+diff -rupN xen-3.2.0.orig/tools/examples/Makefile xen-3.2.0.new/tools/examples/Makefile
+--- xen-3.2.0.orig/tools/examples/Makefile	2008-01-16 13:34:59.000000000 -0500
++++ xen-3.2.0.new/tools/examples/Makefile	2008-02-01 18:06:08.000000000 -0500
+@@ -3,6 +3,12 @@ include $(XEN_ROOT)/tools/Rules.mk
+ 
+ # Init scripts.
+ XEND_INITD = init.d/xend
++BLKTAPCTRL_INITD = init.d/blktapctrl
++BLKTAPCTRL_SYSCONFIG = init.d/sysconfig.blktapctrl
++XENCONSOLED_INITD = init.d/xenconsoled
++XENCONSOLED_SYSCONFIG = init.d/sysconfig.xenconsoled
++XENSTORED_INITD = init.d/xenstored
++XENSTORED_SYSCONFIG = init.d/sysconfig.xenstored
+ XENDOMAINS_INITD = init.d/xendomains
+ XENDOMAINS_SYSCONFIG = init.d/sysconfig.xendomains
+ 
+@@ -67,6 +73,12 @@ install-initd:
+ 	[ -d $(DESTDIR)/etc/init.d ] || $(INSTALL_DIR) $(DESTDIR)/etc/init.d
+ 	[ -d $(DESTDIR)/etc/sysconfig ] || $(INSTALL_DIR) $(DESTDIR)/etc/sysconfig
+ 	$(INSTALL_PROG) $(XEND_INITD) $(DESTDIR)/etc/init.d
++	$(INSTALL_PROG) $(BLKTAPCTRL_INITD) $(DESTDIR)/etc/init.d
++	$(INSTALL_PROG) $(BLKTAPCTRL_SYSCONFIG) $(DESTDIR)/etc/sysconfig/blktapctrl
++	$(INSTALL_PROG) $(XENCONSOLED_INITD) $(DESTDIR)/etc/init.d
++	$(INSTALL_PROG) $(XENCONSOLED_SYSCONFIG) $(DESTDIR)/etc/sysconfig/xenconsoled
++	$(INSTALL_PROG) $(XENSTORED_INITD) $(DESTDIR)/etc/init.d
++	$(INSTALL_PROG) $(XENSTORED_SYSCONFIG) $(DESTDIR)/etc/sysconfig/xenstored
+ 	$(INSTALL_PROG) $(XENDOMAINS_INITD) $(DESTDIR)/etc/init.d
+ 	$(INSTALL_PROG) $(XENDOMAINS_SYSCONFIG) $(DESTDIR)/etc/sysconfig/xendomains
+ 
+diff -rupN xen-3.2.0.orig/tools/misc/xend xen-3.2.0.new/tools/misc/xend
+--- xen-3.2.0.orig/tools/misc/xend	2008-02-01 17:13:01.000000000 -0500
++++ xen-3.2.0.new/tools/misc/xend	2008-02-01 17:12:38.000000000 -0500
 @@ -8,142 +8,15 @@
  """Xen management daemon.
     Provides console server and HTTP management api.
@@ -333,9 +605,9 @@
  
  if __name__ == '__main__':
      sys.exit(main())
-diff -rup xen-unstable-16606.orig/tools/python/xen/xend/osdep.py xen-unstable-16606.new/tools/python/xen/xend/osdep.py
---- xen-unstable-16606.orig/tools/python/xen/xend/osdep.py	2007-12-13 04:31:03.000000000 -0500
-+++ xen-unstable-16606.new/tools/python/xen/xend/osdep.py	2007-12-14 12:25:03.000000000 -0500
+diff -rupN xen-3.2.0.orig/tools/python/xen/xend/osdep.py xen-3.2.0.new/tools/python/xen/xend/osdep.py
+--- xen-3.2.0.orig/tools/python/xen/xend/osdep.py	2008-02-01 17:13:01.000000000 -0500
++++ xen-3.2.0.new/tools/python/xen/xend/osdep.py	2008-02-01 17:12:38.000000000 -0500
 @@ -26,7 +26,7 @@ _scripts_dir = {
  
  _xend_autorestart = {
@@ -345,9 +617,9 @@
      "SunOS": False,
  }
  
-diff -rup xen-unstable-16606.orig/tools/python/xen/xend/server/SrvDaemon.py xen-unstable-16606.new/tools/python/xen/xend/server/SrvDaemon.py
---- xen-unstable-16606.orig/tools/python/xen/xend/server/SrvDaemon.py	2007-12-13 04:31:03.000000000 -0500
-+++ xen-unstable-16606.new/tools/python/xen/xend/server/SrvDaemon.py	2007-12-14 12:22:16.000000000 -0500
+diff -rupN xen-3.2.0.orig/tools/python/xen/xend/server/SrvDaemon.py xen-3.2.0.new/tools/python/xen/xend/server/SrvDaemon.py
+--- xen-3.2.0.orig/tools/python/xen/xend/server/SrvDaemon.py	2008-02-01 17:13:01.000000000 -0500
++++ xen-3.2.0.new/tools/python/xen/xend/server/SrvDaemon.py	2008-02-01 17:12:38.000000000 -0500
 @@ -109,7 +109,14 @@ class Daemon:
          # Fork, this allows the group leader to exit,
          # which means the child can never again regain control of the


Index: xen.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xen/devel/xen.spec,v
retrieving revision 1.203
retrieving revision 1.204
diff -u -r1.203 -r1.204
--- xen.spec	21 Jan 2008 14:37:00 -0000	1.203
+++ xen.spec	1 Feb 2008 23:30:45 -0000	1.204
@@ -2,12 +2,13 @@
 
 # Always set these 3 tags
 %define base_version 3.2.0
-%define base_release 2
+%define base_release 3
 
 # Hypervisor ABI
 %define hv_abi  3.2
 # Whether to build -hypervisor pacakges
-%define hv_build 1
+# XXX keep this off until we finally kill off the kernel-xen PRM
+%define hv_build 0
 
 # For testing upstream dev trees run either
 #    hg archive -t tgz ../xen-unstable-[changeset].tgz
@@ -55,16 +56,16 @@
 Release: %{release_tag}
 Group:   Development/Libraries
 License: GPLv2+ and LGPLv2+ and BSD
-URL:     http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html
+URL:     http://xen.org/
 Source0: %{source_tag}
-Source2: %{name}.modules
-Source3: %{name}.sysconfig
-Source4: %{name}.logrotate
+Source1: %{name}.modules
+Source2: %{name}.logrotate
 Patch1: xen-initscript.patch
 Patch3: xen-compile-fixes.patch
 Patch5: xen-hvm-kernel-boot-xend.patch
 Patch6: xen-hvm-kernel-boot-relocatable.patch
 Patch7: xen-hvm-kernel-boot-nonrelocatable.patch
+Patch8: xen-xenstore-cli.patch
 Patch13: xen-dumpdir.patch
 
 Patch36: xen-qemu-bootmenu.patch
@@ -76,16 +77,16 @@
 
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
 BuildRequires: transfig libidn-devel zlib-devel texi2html SDL-devel curl-devel
-BuildRequires: libX11-devel python-devel ghostscript tetex-latex 
+BuildRequires: libX11-devel python-devel ghostscript tetex-latex
 BuildRequires: ncurses-devel gtk2-devel libaio-devel
-# for the docs 
-BuildRequires: perl 
+# for the docs
+BuildRequires: perl
 # so that the makefile knows to install udev rules
-BuildRequires: udev 
+BuildRequires: udev
 %ifnarch ia64
 # so that x86_64 builds pick up glibc32 correctly
 BuildRequires: /usr/include/gnu/stubs-32.h
-# for the VMX "bios" 
+# for the VMX "bios"
 BuildRequires: dev86
 %endif
 BuildRequires: gettext
@@ -93,11 +94,7 @@
 BuildRequires: openssl-devel
 Requires: bridge-utils
 Requires: udev >= 059
-Requires: python-virtinst
-Requires: xen-libs = %{version}-%{release}
-# Ensure we at least have a suitable kernel installed, though we can't
-# force user to actually boot it.
-Requires: xen-hypervisor-abi = %{hv_abi}
+Requires: xen-runtime = %{version}-%{release}
 # Not strictly a dependency, but kpartx is by far the most useful tool right
 # now for accessing domU data from within a dom0 so bring it in when the user
 # installs xen.
@@ -106,14 +103,9 @@
 ExclusiveArch: i386 i686 x86_64 ia64
 
 %description
-This package contains the Xen hypervisor and Xen tools, needed to
-run virtual machines on x86 systems, together with the kernel-xen*
-packages.  Information on how to use Xen can be found at the Xen
-project pages.
-
-Virtualisation can be used to run multiple versions or multiple
-Linux distributions on one system, or to test untrusted applications
-in a sandboxed environment.  
+This package contains the XenD daemon and xm command line
+tools, needed to manage virtual machines running under the
+Xen hypervisor
 
 %package libs
 Summary: Libraries for Xen tools
@@ -122,8 +114,22 @@
 Requires(post): /sbin/ldconfig
 
 %description libs
-This package contains the libraries needed to run applications to manage 
-Xen virtual machines.
+This package contains the libraries needed to run applications
+which manage Xen virtual machines.
+
+
+%package runtime
+Summary: Core Xen runtime environment
+Group: Development/Libraries
+Requires: xen-libs = %{version}-%{release}
+# Ensure we at least have a suitable kernel installed, though we can't
+# force user to actually boot it.
+Requires: xen-hypervisor-abi = %{hv_abi}
+
+%description runtime
+This package contains the runtime programs and daemons which
+form the core Xen userspace environment.
+
 
 %if %{hv_build}
 %package hypervisor
@@ -141,16 +147,17 @@
 Requires: xen-libs = %{version}-%{release}
 
 %description devel
-This package contains what's needed to develop applications to manage Xen
-virtual machines. 
+This package contains what's needed to develop applications
+which manage Xen virtual machines.
 
 %prep
 %setup -q -n %{directory_tag}
-%patch1 -p1 -b .init
-%patch3 -p1 -b .compile
+%patch1 -p1
+%patch3 -p1
 %patch5 -p1
 %patch6 -p1
 %patch7 -p1
+%patch8 -p1
 %patch13 -p1
 
 %patch36 -p1
@@ -162,9 +169,9 @@
 
 %build
 %if %{hv_build}
-CFLAGS="$RPM_OPT_FLAGS" %{__make} XENFB_TOOLS=y XEN_PYTHON_NATIVE_INSTALL=1 DESTDIR=%{buildroot} tools docs xen
+CFLAGS="$RPM_OPT_FLAGS" %{__make} XEN_PYTHON_NATIVE_INSTALL=1 DESTDIR=%{buildroot} tools docs xen
 %else
-CFLAGS="$RPM_OPT_FLAGS" %{__make} XENFB_TOOLS=y XEN_PYTHON_NATIVE_INSTALL=1 DESTDIR=%{buildroot} tools docs
+CFLAGS="$RPM_OPT_FLAGS" %{__make} XEN_PYTHON_NATIVE_INSTALL=1 DESTDIR=%{buildroot} tools docs
 %endif
 
 %install
@@ -201,16 +208,35 @@
 mv -f %{buildroot}%{_sysconfdir}/udev/xen-backend.rules %{buildroot}%{_sysconfdir}/udev/rules.d/
 
 mkdir -p %{buildroot}%{_sysconfdir}/sysconfig/modules
-install -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/modules/%{name}.modules
-install -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/sysconfig/xend
+install -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/sysconfig/modules/%{name}.modules
 
 mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d/
-install -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
+install -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
 
 # silly doc dir fun
 rm -fr %{buildroot}%{_datadir}/doc/xen
 rm -rf %{buildroot}%{_datadir}/doc/qemu
 
+# Pointless wrapper
+rm -f %{buildroot}%{_libdir}/%{name}/bin/qemu-dm.debug
+# Pointless helper
+rm -f %{buildroot}%{_sbindir}/xen-python-path
+# Just plain evil
+rm -f %{buildroot}%{_sbindir}/netfix
+
+# Tools that upstream are dropping
+# ...replaced by kpartx
+rm -f %{buildroot}%{_bindir}/lomount
+# ...replaced by any serial console program
+rm -f %{buildroot}%{_bindir}/xencons
+
+# Not built into our Xen kernels
+rm -f %{buildroot}%{_bindir}/xenperf
+rm -f %{buildroot}%{_sbindir}/xenperf
+
+# Doesn't work
+rm -f %{buildroot}%{_sbindir}/xsview
+
 # create dirs in /var/run so that selinux contexts are right (#195952)
 mkdir -p %{buildroot}%{_localstatedir}/run/xend
 mkdir -p %{buildroot}%{_localstatedir}/log/xen
@@ -236,58 +262,169 @@
   /sbin/chkconfig --del xendomains
 fi
 
+%post runtime
+/sbin/chkconfig --add xenconsoled
+/sbin/chkconfig --add xenstored
+/sbin/chkconfig --add blktapctrl
+
+if [ $1 != 0 ]; then
+  service xenconsoled condrestart
+fi
+
+%preun runtime
+if [ $1 = 0 ]; then
+  /sbin/chkconfig --del xenconsoled
+  /sbin/chkconfig --del xenstored
+  /sbin/chkconfig --del blktapctrl
+fi
+
 %post libs -p /sbin/ldconfig
 %postun libs -p /sbin/ldconfig
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+# Base package only contains XenD/xm python stuff
 #files -f xen-xm.lang
 %files
 %defattr(-,root,root)
 %doc COPYING README
 %doc docs/pdf/
 %doc docs/misc/
-%{_sbindir}/*
-%{_bindir}/*
+%{_sbindir}/xend
+%{_sbindir}/xm
+# XenD / xm python code
 %{python_sitearch}/%{name}
-%{python_sitearch}/fsimage.so
-%{python_sitearch}/grub
-%{python_sitearch}/pygrub-*.egg-info
+%if "%fedora" > "8"
 %{python_sitearch}/xen-*.egg-info
-%{_libdir}/%{name}
-%{_mandir}/man?/*.?.gz
-%dir /usr/lib/xen
-%ifnarch ia64
-%dir /usr/lib/xen/boot
-/usr/lib/xen/boot/hvmloader
 %endif
+%{_mandir}/man1/xm.1*
+%{_mandir}/man5/xend-config.sxp.5*
+%{_mandir}/man5/xmdomain.cfg.5*
+
 %dir %{_datadir}/%{name}
 %{_datadir}/%{name}/*.dtd
+
+# Startup script
+%{_sysconfdir}/rc.d/init.d/xend
+%{_sysconfdir}/rc.d/init.d/xendomains
+# Guest config files
+%config(noreplace) %{_sysconfdir}/%{name}/xmexample*
+# Daemon config
+%config(noreplace) %{_sysconfdir}/%{name}/xend-*
+# xm config
+%config(noreplace) %{_sysconfdir}/%{name}/xm-*
+# Guest autostart links
+%dir %attr(0700,root,root) %{_sysconfdir}/%{name}/auto
+# Autostart of guests
+%config(noreplace) %{_sysconfdir}/sysconfig/xendomains
+
+# Persistent state for XenD
+%dir %{_localstatedir}/lib/%{name}/xend-db/
+%dir %{_localstatedir}/lib/%{name}/xend-db/domain
+%dir %{_localstatedir}/lib/%{name}/xend-db/migrate
+%dir %{_localstatedir}/lib/%{name}/xend-db/vnet
+# XenD runtime state
+%dir %attr(0700,root,root) %{_localstatedir}/run/xend
+
+%files libs
+%defattr(-,root,root)
+%{_libdir}/*.so.*
+%{_libdir}/fs/*
+
+
+# All runtime stuff except for XenD/xm python stuff
+%files runtime
+%defattr(-,root,root)
+# Hotplug rules
+%config(noreplace) %{_sysconfdir}/udev/rules.d/*
+
+%dir %attr(0700,root,root) %{_sysconfdir}/%{name}
+%dir %attr(0700,root,root) %{_sysconfdir}/%{name}/scripts/
+%config %attr(0700,root,root) %{_sysconfdir}/%{name}/scripts/*
+%config %attr(0700,root,root) %{_sysconfdir}/%{name}/qemu-ifup
+
+%{_sysconfdir}/rc.d/init.d/blktapctrl
+%{_sysconfdir}/rc.d/init.d/xenstored
+%{_sysconfdir}/rc.d/init.d/xenconsoled
+
+%config(noreplace) %{_sysconfdir}/sysconfig/xenstored
+%config(noreplace) %{_sysconfdir}/sysconfig/xenconsoled
+%config(noreplace) %{_sysconfdir}/sysconfig/blktapctrl
+
+# Auto-load xen backend drivers
+%attr(0755,root,root) %{_sysconfdir}/sysconfig/modules/%{name}.modules
+
+# Rotate console log files
+%config(noreplace) %{_sysconfdir}/logrotate.d/xen
+
+# Programs run by other programs
+%dir %{_libdir}/%{name}
+%dir %{_libdir}/%{name}/bin
+%attr(0700,root,root) %{_libdir}/%{name}/bin/*
+# QEMU runtime files
 %dir %{_datadir}/%{name}/qemu
 %dir %{_datadir}/%{name}/qemu/keymaps
 %{_datadir}/%{name}/qemu/keymaps/*
+
+# man pages
+%{_mandir}/man1/xentop.1*
+%{_mandir}/man1/xentrace_format.1*
+%{_mandir}/man8/xentrace.8*
+
+%{python_sitearch}/fsimage.so
+%{python_sitearch}/grub
+%if "%fedora" > "8"
+%{python_sitearch}/pygrub-*.egg-info
+%endif
+
+# The firmware
+%ifnarch ia64
+# Avoid owning /usr/lib twice on i386
+%if "%{_libdir}" != "/usr/lib"
+%dir /usr/lib/%{name}
+%endif
+%dir /usr/lib/%{name}/boot
+# HVM loader is always in /usr/lib regardless of multilib
+/usr/lib/xen/boot/hvmloader
+%endif
+# General Xen state
 %dir %{_localstatedir}/lib/%{name}
-%{_localstatedir}/lib/%{name}/*
-%{_sysconfdir}/rc.d/init.d/*
-%{_sysconfdir}/udev/rules.d/*
-%dir %attr(0700,root,root) %{_sysconfdir}/%{name}
-%config(noreplace) %{_sysconfdir}/%{name}/*
-%config(noreplace) %{_sysconfdir}/sysconfig/xend
-%config(noreplace) %{_sysconfdir}/sysconfig/xendomains
-%config(noreplace) %{_sysconfdir}/logrotate.d/xen
-%attr(0755,root,root) %{_sysconfdir}/sysconfig/modules/%{name}.modules
+%dir %{_localstatedir}/lib/%{name}/dump
+%dir %{_localstatedir}/lib/%{name}/images
+# Xenstore persistent state
 %dir %{_localstatedir}/lib/xenstored
+# Xenstore runtime state
 %dir %{_localstatedir}/run/xenstored
-%dir %attr(0700,root,root) %{_localstatedir}/run/xend
+
+# All xenstore CLI tools
+%{_bindir}/xenstore-*
+%{_bindir}/pygrub
+%{_bindir}/xentrace*
+# blktap daemon
+%{_sbindir}/blktapctrl
+%{_sbindir}/tapdisk
+# XSM
+%{_sbindir}/flask-loadpolicy
+# Disk utils
+%{_sbindir}/qcow-create
+%{_sbindir}/qcow2raw
+%{_sbindir}/img2qcow
+# Misc stuff
+%{_bindir}/xen-detect
+%{_sbindir}/xen-bugtool
+%{_sbindir}/xenconsoled
+%{_sbindir}/xenmon.py*
+%{_sbindir}/xentop
+%{_sbindir}/xentrace_setmask
+%{_sbindir}/xenbaked
+%{_sbindir}/xenstored
+
+# Xen logfiles
 %dir %attr(0700,root,root) %{_localstatedir}/log/xen
+# Guest/HV console logs
 %dir %attr(0700,root,root) %{_localstatedir}/log/xen/console
 
-%files libs
-%defattr(-,root,root)
-%{_libdir}/*.so.*
-%{_libdir}/fs/*
-
 %if %{hv_build}
 %files hypervisor
 %defattr(-,root,root)
@@ -304,6 +441,14 @@
 %{_libdir}/*.a
 
 %changelog
+* Fri Feb  1 2008 Daniel P. Berrange <berrange at redhat.com> - 3.2.0-4.fc9
+- Add a xen-runtime subpackage to allow use of Xen without XenD
+- Split init script out to one script per daemon
+- Remove unused / broken / obsolete tools
+
+* Mon Jan 21 2008 Daniel P. Berrange <berrange at redhat.com> - 3.2.0-3.fc9
+- Remove legacy dependancy on python-virtinst
+
 * Mon Jan 21 2008 Daniel P. Berrange <berrange at redhat.com> - 3.2.0-2.fc9
 - Added XSM header files to -devel RPM
 


--- xen.sysconfig DELETED ---




More information about the fedora-extras-commits mailing list