From 74878efb7f80640602cebde720a8d00da339313a Mon Sep 17 00:00:00 2001 From: Andrew Ross Date: Sat, 7 Oct 2006 04:03:16 +0000 Subject: /etc/init.d/xend now fails gracefully when started under a non-Xen kernel or unprivileged domain (bug #148486). svn path=/; revision=20 --- app-emulation/xen-tools/Manifest | 8 ++++---- app-emulation/xen-tools/files/xend.initd | 22 ++++++++++++++++------ 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/app-emulation/xen-tools/Manifest b/app-emulation/xen-tools/Manifest index 3955a13..f303d07 100644 --- a/app-emulation/xen-tools/Manifest +++ b/app-emulation/xen-tools/Manifest @@ -26,10 +26,10 @@ AUX xend-init 854 RMD160 e19cc95563c3e128255f3575297bc0d35786b5a4 SHA1 820fa00dd MD5 b8d59e2eba1f6b245eb22e39c01df78c files/xend-init 854 RMD160 e19cc95563c3e128255f3575297bc0d35786b5a4 files/xend-init 854 SHA256 3991a74268dd4bc8b6fe53ed784f3cd764eb7112844dee34f3115bcd15d33377 files/xend-init 854 -AUX xend.initd 865 RMD160 1e2b7333bb4622ed17af5a74f958dce945fff09d SHA1 a9e6bc64725dd3ca28ccfff404df9307e1302f3d SHA256 896695341b73be52dc7a200bf706e6dc575ae6bfec10ad1b461a1610c008f76e -MD5 6b8e6dc37420417c11268227ea5d8ff1 files/xend.initd 865 -RMD160 1e2b7333bb4622ed17af5a74f958dce945fff09d files/xend.initd 865 -SHA256 896695341b73be52dc7a200bf706e6dc575ae6bfec10ad1b461a1610c008f76e files/xend.initd 865 +AUX xend.initd 993 RMD160 0d24a6f194976e0f7b9173a29c49b45e7acec656 SHA1 30344990846eaaf46b6cc7182f493fe14dcff1ae SHA256 339bcae98acd8137992c91e424d5bb805e11b29e5391215da24241ba710742ef +MD5 bf51eb9bcb9a310dd7f9d7b90c0b2970 files/xend.initd 993 +RMD160 0d24a6f194976e0f7b9173a29c49b45e7acec656 files/xend.initd 993 +SHA256 339bcae98acd8137992c91e424d5bb805e11b29e5391215da24241ba710742ef files/xend.initd 993 AUX xendomains-screen.confd 594 RMD160 79c7a3546cf1d3f8558c2120d6e8c93c753e66b9 SHA1 7f9ed2986495d5fa4a6f8b050cd632fde6a19994 SHA256 c4d7ffcdbeccc5e93460e2abbf70d642a78a363d79ccbbce0407f50cace54e0a MD5 65a57a4fae5a300aed8b84c24cdeee42 files/xendomains-screen.confd 594 RMD160 79c7a3546cf1d3f8558c2120d6e8c93c753e66b9 files/xendomains-screen.confd 594 diff --git a/app-emulation/xen-tools/files/xend.initd b/app-emulation/xen-tools/files/xend.initd index c1af7c1..d7e3bd2 100644 --- a/app-emulation/xen-tools/files/xend.initd +++ b/app-emulation/xen-tools/files/xend.initd @@ -1,7 +1,7 @@ #!/sbin/runscript # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/files/xend-init,v 1.1 2006/03/24 23:55:01 agriffis Exp $ +# $Header: $ opts="start stop status restart" @@ -18,11 +18,21 @@ await_daemons_up() { return 1 } +is_privileged_domain() { + grep -qsE '^control_d$' /proc/xen/capabilities + return $? +} + start() { - ebegin "Starting Xen control daemon" - /usr/sbin/xend start - /usr/sbin/xend status || await_daemons_up - eend $? + if is_privileged_domain ; then + ebegin "Starting Xen control daemon" + /usr/sbin/xend start + /usr/sbin/xend status || await_daemons_up + eend $? + else + eerror "Can't start xend - this is not a privileged domain." + return 1 + fi } stop() { @@ -38,5 +48,5 @@ stop() { } status() { - /usr/sbin/xend status + is_privileged_domain && /usr/sbin/xend status } -- cgit v1.2.3-65-gdbad