Several fixes for autoconf and Linux init scripts
PATCH v2 1/1 Several fixes for autoconf and Linux init scripts
Fix autoconf under NetBSD and add some tests to Linux xencommons to check for the necessary tools to run hotplug scripts.
Changes since v1:
* included /lib/lsb/init-functions in xencommons and xend.
* Changed hash with type.
* Move python xml check to xend init script.
PATCH v2 1/1 autoconf: remove (yet another) brctl leftover
# HG changeset patch
# User Roger Pau Monne <[email protected]> # Date 1329875622 -3600
# Node ID 4081a567e9767efc5460010d71dd07a42ea86666 # Parent a4d93d0e0df2fafe5b3e2dab3e34799498a875e2
autoconf: remove (yet another) brctl leftover
config/Tools.mk.in +0 -1
@@ -11,7 +11,6 @@ FLEX := @FLEX@ PYTHON := @PYTHON@ PYTHON_PATH := @PYTHONPATH@ PERL := @PERL@ -BRCTL := @BRCTL@ IP := @IP@ CURL_CONFIG := @CURL@ XML2_CONFIG := @XML@
Re: [PATCH 1 of 8 v2] autoconf: remove (yet another) brctl leftover
Roger Pau Monne writes ("[Xen-devel] [PATCH 1 of 8 v2] autoconf: remove (yet another) brctl leftover"):
Quoted 1 line
autoconf: remove (yet another) brctl leftover
PATCH v2 1/1 autoconf: remove ip check
In reply to Roger Pau Monne# HG changeset patch
# User Roger Pau Monne <[email protected]> # Date 1330003783 -3600
# Node ID 3aafecc004fd5339e88363615e7e9de727d2a5b9 # Parent 4081a567e9767efc5460010d71dd07a42ea86666
autoconf: remove ip check
ip is a run-time dependency, and it is not needed to build Xen tools.
config/Tools.mk.in +0 -1
@@ -11,7 +11,6 @@ FLEX := @FLEX@ PYTHON := @PYTHON@ PYTHON_PATH := @PYTHONPATH@ PERL := @PERL@ -IP := @IP@ CURL_CONFIG := @CURL@ XML2_CONFIG := @XML@ BASH := @BASH@
tools/configure +0 -49
79 lines not on this page · raw message
tools/configure.ac +0 -2
@@ -62,7 +62,6 @@ AX_SET_FLAGS AC_ARG_VAR([PYTHON], [Path to the Python parser]) AC_ARG_VAR([PERL], [Path to Perl parser]) -AC_ARG_VAR([IP], [Path to ip tool]) AC_ARG_VAR([BISON], [Path to Bison parser generator]) AC_ARG_VAR([FLEX], [Path to Flex lexical analyser generator]) AC_ARG_VAR([CURL], [Path to curl-config tool])
@@ -77,7 +76,6 @@ AC_PROG_LN_S AC_PROG_MAKE_SET AC_PROG_INSTALL AX_PATH_PROG_OR_FAIL([PERL], [perl]) -AX_PATH_PROG_OR_FAIL([IP], [ip]) AX_PATH_PROG_OR_FAIL([BISON], [bison]) AX_PATH_PROG_OR_FAIL([FLEX], [flex]) AS_IF([test "x$xapi" = "xy"], [
Re: [PATCH 2 of 8 v2] autoconf: remove ip check
Roger Pau Monne writes ("[Xen-devel] [PATCH 2 of 8 v2] autoconf: remove ip check"):
Quoted 3 lines
autoconf: remove ip check
ip is a run-time dependency, and it is not needed to build Xen tools.
(I fixed up a minor conflict.)
Re: [PATCH 2 of 8 v2] autoconf: remove ip check
2012/3/1 Ian Jackson <[email protected]>:
Quoted 9 lines
Roger Pau Monne writes ("[Xen-devel] [PATCH 2 of 8 v2] autoconf: remove ip check"):
Quoted 3 lines
autoconf: remove ip check
ip is a run-time dependency, and it is not needed to build Xen tools.
Acked-by Ian Jackson <[email protected]>Committed-by Ian Jackson <[email protected]>(I fixed up a minor conflict.)
I looks like a part of this patch is missing in the xen repository, the config/Tools.mk.in modification was not applied. Olaf Hering submitted a patch to fix it, which I'm going to ack.
PATCH v2 1/1 autoconf: remove python xml check
In reply to Roger Pau Monne# HG changeset patch
# User Roger Pau Monne <[email protected]> # Date 1329880533 -3600
# Node ID a41d13f080d9fad38fd05ed87696502fe18c281c # Parent 3aafecc004fd5339e88363615e7e9de727d2a5b9
autoconf: remove python xml check
Remove the xml module check from autoconf and move it to xend init script (in a later patch), since it's a run time dependency.
tools/configure +0 -14
@@ -3846,8 +3846,6 @@ case $host_os in *\ *) host_os=`echo "$h - - # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # serial 1 (pkg-config-0.24) #
@@ -6255,18 +6253,6 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for python xml.dom.minidom" >&5 -$as_echo_n "checking for python xml.dom.minidom... " >&6; } -`$PYTHON -c 'import xml.dom.minidom'` -if test "$?" != "0" -then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - as_fn_error $? "Unable to find xml.dom.minidom module" "$LINENO" 5 -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for python devel" >&5 $as_echo_n "checking for python devel... " >&6; }
tools/configure.ac +0 -2
@@ -26,7 +26,6 @@ AC_CANONICAL_HOST m4_include([m4/enable_feature.m4]) m4_include([m4/disable_feature.m4]) m4_include([m4/path_or_fail.m4]) -m4_include([m4/python_xml.m4]) m4_include([m4/python_version.m4]) m4_include([m4/python_devel.m4]) m4_include([m4/ocaml.m4])
@@ -99,7 +98,6 @@ AS_IF([test "x$pythontools" = "xy"], [ [AC_MSG_ERROR([PYTHON specified, but is not an absolute path])]) AX_PATH_PROG_OR_FAIL([PYTHONPATH], [$PYTHON]) AX_CHECK_PYTHON_VERSION([2], [3]) - AX_CHECK_PYTHON_XML() AX_CHECK_PYTHON_DEVEL() ]) AX_PATH_PROG_OR_FAIL([XGETTEXT], [xgettext])
tools/m4/python_xml.m4 deleted +0 -10
@@ -1,10 +0,0 @@ -AC_DEFUN([AX_CHECK_PYTHON_XML], -[AC_MSG_CHECKING([for python xml.dom.minidom]) -`$PYTHON -c 'import xml.dom.minidom'` -if test "$?" != "0" -then - AC_MSG_RESULT([no]) - AC_MSG_ERROR([Unable to find xml.dom.minidom module]) -else - AC_MSG_RESULT([yes]) -fi])
Re: [PATCH 3 of 8 v2] autoconf: remove python xml check
Roger Pau Monne writes ("[Xen-devel] [PATCH 3 of 8 v2] autoconf: remove python xml check"):
Quoted 1 line
autoconf: remove python xml check
Thanks for doing this work.
PATCH v2 1/1 autoconf: run libuuid test under Linux only
In reply to Roger Pau Monne# HG changeset patch
# User Roger Pau Monne <[email protected]> # Date 1330004063 -3600
# Node ID 493ca332d663c3c5ac12fd199d279188642089e6 # Parent a41d13f080d9fad38fd05ed87696502fe18c281c
autoconf: run libuuid test under Linux only
libuuid is only required to compile Xen tools under Linux.
tools/configure +5 -1
@@ -6826,7 +6826,9 @@ if test "x$ac_cv_lib_rt_clock_gettime" = fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_clear in -luuid" >&5 +if test "x$host_os" == "xlinux-gnu"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_clear in -luuid" >&5 $as_echo_n "checking for uuid_clear in -luuid... " >&6; } if test "${ac_cv_lib_uuid_uuid_clear+set}" = set; then : $as_echo_n "(cached) " >&6
@@ -6873,6 +6875,8 @@ else as_fn_error $? "Could not find libuuid" "$LINENO" 5 fi + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for yajl_alloc in -lyajl" >&5 $as_echo_n "checking for yajl_alloc in -lyajl... " >&6; } if test "${ac_cv_lib_yajl_yajl_alloc+set}" = set; then :
tools/configure.ac +4 -2
@@ -118,8 +118,10 @@ AC_SUBST(libgcrypt) AC_CHECK_LIB([pthread], [pthread_create], [] , [AC_MSG_ERROR([Could not find libpthread])]) AC_CHECK_LIB([rt], [clock_gettime]) -AC_CHECK_LIB([uuid], [uuid_clear], [], - [AC_MSG_ERROR([Could not find libuuid])]) +AS_IF([test "x$host_os" == "xlinux-gnu"], [ + AC_CHECK_LIB([uuid], [uuid_clear], [], + [AC_MSG_ERROR([Could not find libuuid])]) +]) AC_CHECK_LIB([yajl], [yajl_alloc], [], [AC_MSG_ERROR([Could not find yajl])]) AC_CHECK_LIB([z], [deflateCopy], [], [AC_MSG_ERROR([Could not find zlib])])
Re: [PATCH 4 of 8 v2] autoconf: run libuuid test under Linux only
Roger Pau Monne writes ("[Xen-devel] [PATCH 4 of 8 v2] autoconf: run libuuid test under Linux only"):
tools/configure.ac AC_SUBST(libgcrypt) · line 124
Quoted 5 lines
autoconf: run libuuid test under Linux only
tools/configure.ac +4
-0+AS_IF([test "x$host_os" == "xlinux-gnu"], [ + AC_CHECK_LIB([uuid], [uuid_clear], [], + [AC_MSG_ERROR([Could not find libuuid])]) +])
This seems odd to me. Where does this linux-specificity come from ?
The point of autoconf is normally to try to avoid this kind of "what OS is this" test, and rather test directly for the required functionality. So why do we not need libuuid other than on Linux ?
Ian.
Re: [PATCH 4 of 8 v2] autoconf: run libuuid test under Linux only
2012/3/1 Ian Jackson <[email protected]>:
Quoted 9 lines
Roger Pau Monne writes ("[Xen-devel] [PATCH 4 of 8 v2] autoconf: run libuuid test under Linux only"):
Quoted 5 lines
autoconf: run libuuid test under Linux only +AS_IF([test "x$host_os" == "xlinux-gnu"], [
+ AC_CHECK_LIB([uuid], [uuid_clear], [],
+ [AC_MSG_ERROR([Could not find libuuid])]) +])This seems odd to me. Where does this linux-specificity come from ?
-luuid is only used when building under Linux (see tools/libxl/Makefile for example), NetBSD uuid lib is different from linux, and doesn't require the -luuid flag to link, it doesn't even have the same API. Since we already check for different uuid headers in Linux/NetBSD, what about this:
8<--------------------------------------------
autoconf: run libuuid test under Linux only
libuuid is only required to compile Xen tools under Linux, move the lib check together with the headers check. Also fixed a couple of hard tabs in tools/m4/uuid.m4.
tools/configure +1 -0
@@ -6330,6 +6330,53 @@ else fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_clear
in -luuid" >&5
+$as_echo_n "checking for uuid_clear in -luuid... " >&6; } +if test "${ac_cv_lib_uuid_uuid_clear+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-luuid $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char uuid_clear ();
+int
+main ()
+{
+return uuid_clear ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_uuid_uuid_clear=yes
+else
+ ac_cv_lib_uuid_uuid_clear=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result:
$ac_cv_lib_uuid_uuid_clear" >&5
+$as_echo "$ac_cv_lib_uuid_uuid_clear" >&6; }
+if test "x$ac_cv_lib_uuid_uuid_clear" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBUUID 1
+_ACEOF
+
+ LIBS="-luuid $LIBS"
+
+else
+ as_fn_error $? "cannot find libuuid" "$LINENO" 5 +fi
+
else
ac_fn_c_check_header_mongrel "$LINENO" "uuid.h"
"ac_cv_header_uuid_h" "$ac_includes_default"
if test "x$ac_cv_header_uuid_h" = x""yes; then :
@@ -6826,53 +6873,6 @@ if test "x$ac_cv_lib_rt_clock_gettime" =
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_clear in -luuid" >&5 -$as_echo_n "checking for uuid_clear in -luuid... " >&6; }
-if test "${ac_cv_lib_uuid_uuid_clear+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-luuid $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char uuid_clear ();
-int
-main ()
-{
-return uuid_clear ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_uuid_uuid_clear=yes
-else
- ac_cv_lib_uuid_uuid_clear=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result:
$ac_cv_lib_uuid_uuid_clear" >&5
-$as_echo "$ac_cv_lib_uuid_uuid_clear" >&6; }
-if test "x$ac_cv_lib_uuid_uuid_clear" = x""yes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBUUID 1
-_ACEOF
-
- LIBS="-luuid $LIBS"
-
-else
- as_fn_error $? "Could not find libuuid" "$LINENO" 5
-fi
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for yajl_alloc in -lyajl" >&5 $as_echo_n "checking for yajl_alloc in -lyajl... " >&6; }
if test "${ac_cv_lib_yajl_yajl_alloc+set}" = set; then :
tools/configure.ac +0 -2
@@ -118,8 +118,6 @@ AC_SUBST(libgcrypt) AC_CHECK_LIB([pthread], [pthread_create], [] , [AC_MSG_ERROR([Could not find libpthread])]) AC_CHECK_LIB([rt], [clock_gettime]) -AC_CHECK_LIB([uuid], [uuid_clear], [], - [AC_MSG_ERROR([Could not find libuuid])]) AC_CHECK_LIB([yajl], [yajl_alloc], [], [AC_MSG_ERROR([Could not find yajl])]) AC_CHECK_LIB([z], [deflateCopy], [], [AC_MSG_ERROR([Could not find zlib])])
tools/m4/uuid.m4 +4 -2
@@ -2,9 +2,11 @@ AC_DEFUN([AX_CHECK_UUID], [if test "x$host_os" == "xlinux-gnu" then AC_CHECK_HEADER([uuid/uuid.h],, - [AC_MSG_ERROR([cannot find uuid headers])]) + [AC_MSG_ERROR([cannot find uuid headers])]) + AC_CHECK_LIB([uuid], [uuid_clear], [], + [AC_MSG_ERROR([cannot find libuuid])]) else AC_CHECK_HEADER([uuid.h],, - [AC_MSG_ERROR([cannot find uuid headers])]) + [AC_MSG_ERROR([cannot find uuid headers])]) fi ])
_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xen.org/xen-devel
Ian Campbell
Acked-byRe: [PATCH 4 of 8 v2] autoconf: run libuuid test under Linux only
Quoted 8 lines · Roger Pau Monné
2012/3/1 Ian Jackson <[email protected]>:
Quoted 7 lines
Roger Pau Monne writes ("[Xen-devel] [PATCH 4 of 8 v2] autoconf: run libuuid test under Linux only"):
Quoted 5 lines
autoconf: run libuuid test under Linux only
(quoted diff) +4
-0+AS_IF([test "x$host_os" == "xlinux-gnu"], [ + AC_CHECK_LIB([uuid], [uuid_clear], [], + [AC_MSG_ERROR([Could not find libuuid])]) +])
Quoted 8 lines
Quoted 2 lines
This seems odd to me. Where does this linux-specificity come from ?
-luuid is only used when building under Linux (see
tools/libxl/Makefilefor example), NetBSD uuid lib is different from linux, and doesn't require the -luuid flag to link, it doesn't even have the same API. Since we already check for different uuid headers in Linux/NetBSD, what about this:
Shouldn't this test also be checking for "Linux-like" or "BSD-like" UUID interfaces, rather than checking specifically for those OSes directly. We don't really care what the OS is, just which of the uuid interfaces it happens to provide.
Such a change may well propagate to more than the configure script though and your patch seems like a valid fix to the status quo so:
(note that IanJ is away until 12 March)
Quoted 156 lines
8<--------------------------------------------
autoconf: run libuuid test under Linux only
libuuid is only required to compile Xen tools under Linux, move the lib check together with the headers check. Also fixed a couple of hard tabs in
tools/m4/uuid.m4.Signed-off-by Roger Pau Monne <[email protected]>diff -r
a41d13f080d9tools/configuretools/configure +1
-0@@ -6330,6 +6330,53 @@ else fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_clearin -luuid" >&5
+$as_echo_n "checking foruuid_clearin -luuid... " >&6; }tools/configure +33
-0+if test "${ac_cv_lib_uuid_uuid_clear+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-luuid $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char uuid_clear (); +int +main () +{ +return uuid_clear (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_uuid_uuid_clear=yes +else + ac_cv_lib_uuid_uuid_clear=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result:$ac_cv_lib_uuid_uuid_clear" >&5
+$as_echo "$ac_cv_lib_uuid_uuid_clear" >&6; }tools/configure +11
-0+if test "x$ac_cv_lib_uuid_uuid_clear" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBUUID 1 +_ACEOF + + LIBS="-luuid $LIBS" + +else + as_fn_error $? "cannot find libuuid" "$LINENO" 5 +fi + else ac_fn_c_check_header_mongrel "$LINENO" "uuid.h""
ac_cv_header_uuid_h" "$ac_includes_default"
if test "x$ac_cv_header_uuid_h" = x""yes; then :tools/configure +0
-35@@ -6826,53 +6873,6 @@ if test "x$ac_cv_lib_rt_clock_gettime" = fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_clear in -luuid" >&5 -$as_echo_n "checking for uuid_clear in -luuid... " >&6; } -if test "${ac_cv_lib_uuid_uuid_clear+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-luuid $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char uuid_clear (); -int -main () -{ -return uuid_clear (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_uuid_uuid_clear=yes -else - ac_cv_lib_uuid_uuid_clear=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result:$ac_cv_lib_uuid_uuid_clear" >&5
-$as_echo "$ac_cv_lib_uuid_uuid_clear" >&6; }tools/configure +0
-11-if test "x$ac_cv_lib_uuid_uuid_clear" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBUUID 1 -_ACEOF - - LIBS="-luuid $LIBS" - -else - as_fn_error $? "Could not find libuuid" "$LINENO" 5 -fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for yajl_alloc in -lyajl" >&5 $as_echo_n "checking for yajl_alloc in -lyajl... " >&6; } if test "${ac_cv_lib_yajl_yajl_alloc+set}" = set; then :diff -r
a41d13f080d9tools/configure.actools/configure.ac +0
-2@@ -118,8 +118,6 @@ AC_SUBST(libgcrypt) AC_CHECK_LIB([pthread], [pthread_create], [] , [AC_MSG_ERROR([Could not find libpthread])]) AC_CHECK_LIB([rt], [clock_gettime]) -AC_CHECK_LIB([uuid], [uuid_clear], [], - [AC_MSG_ERROR([Could not find libuuid])]) AC_CHECK_LIB([yajl], [yajl_alloc], [], [AC_MSG_ERROR([Could not find yajl])]) AC_CHECK_LIB([z], [deflateCopy], [], [AC_MSG_ERROR([Could not find zlib])])diff -r
a41d13f080d9tools/m4/uuid.m4tools/m4/uuid.m4 +4
-2@@ -2,9 +2,11 @@ AC_DEFUN([AX_CHECK_UUID], [if test "x$host_os" == "xlinux-gnu" then AC_CHECK_HEADER([uuid/uuid.h],, - [AC_MSG_ERROR([cannot find uuid headers])]) + [AC_MSG_ERROR([cannot find uuid headers])]) + AC_CHECK_LIB([uuid], [uuid_clear], [], + [AC_MSG_ERROR([cannot find libuuid])]) else AC_CHECK_HEADER([uuid.h],, - [AC_MSG_ERROR([cannot find uuid headers])]) + [AC_MSG_ERROR([cannot find uuid headers])]) fi ])
Quoted 4 lines
_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xen.org/xen-devel
_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xen.org/xen-devel
Re: [PATCH 4 of 8 v2] autoconf: run libuuid test under Linux only
2012/3/2 Ian Campbell <[email protected]>:
Quoted 18 lines · Roger Pau Monné
Quoted 8 lines
2012/3/1 Ian Jackson <[email protected]>:
Quoted 7 lines
Roger Pau Monne writes ("[Xen-devel] [PATCH 4 of 8 v2] autoconf: run libuuid test under Linux only"):
Quoted 5 lines
autoconf: run libuuid test under Linux only +AS_IF([test "x$host_os" == "xlinux-gnu"], [
+ AC_CHECK_LIB([uuid], [uuid_clear], [],
+ [AC_MSG_ERROR([Could not find libuuid])]) +])Quoted 8 lines
Quoted 2 lines
This seems odd to me. Where does this linux-specificity come from ?
-luuid is only used when building under Linux (see
tools/libxl/Makefilefor example), NetBSD uuid lib is different from linux, and doesn't require the -luuid flag to link, it doesn't even have the same API. Since we already check for different uuid headers in Linux/NetBSD, what about this:
Quoted 7 lines
Shouldn't this test also be checking for "Linux-like" or "BSD-like" UUID interfaces, rather than checking specifically for those OSes directly. We don't really care what the OS is, just which of the uuid interfaces it happens to provide.
Such a change may well propagate to more than the configure script though and your patch seems like a valid fix to the status quo so:
Yes, I've been thinking about this after sending the patch and I'm going to change that, we don't care about the OS, we just need to make sure we can use uuid. There's no need to limit the tests depending on the OS, we can run all tests on all OSes.
Quoted 160 lines
Acked-by Ian Campbell <[email protected]>(note that IanJ is away until 12 March)
Quoted 156 lines
8<--------------------------------------------
autoconf: run libuuid test under Linux only
libuuid is only required to compile Xen tools under Linux, move the lib check together with the headers check. Also fixed a couple of hard tabs in
tools/m4/uuid.m4.Signed-off-by Roger Pau Monne <[email protected]>diff -r
a41d13f080d9tools/configuretools/configure Wed Feb 22 14:54:22 2012 +0100 renamed from tools/configure Wed Feb 22 04:15:33 2012 +0100 +0
-0@@ -6330,6 +6330,53 @@ elsefi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for
uuid_clearin -luuid" >&5
+$as_echo_n "checking foruuid_clearin -luuid... " >&6; }tools/configure Wed Feb 22 14:54:22 2012 +0100 renamed from tools/configure Wed Feb 22 04:15:33 2012 +0100 +33
-0+if test "${ac_cv_lib_uuid_uuid_clear+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-luuid $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char uuid_clear (); +int +main () +{ +return uuid_clear (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_uuid_uuid_clear=yes +else + ac_cv_lib_uuid_uuid_clear=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result:$ac_cv_lib_uuid_uuid_clear" >&5
+$as_echo "$ac_cv_lib_uuid_uuid_clear" >&6; }tools/configure Wed Feb 22 14:54:22 2012 +0100 renamed from tools/configure Wed Feb 22 04:15:33 2012 +0100 +11
-0+if test "x$ac_cv_lib_uuid_uuid_clear" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBUUID 1 +_ACEOF + + LIBS="-luuid $LIBS" + +else + as_fn_error $? "cannot find libuuid" "$LINENO" 5 +fi +else
ac_fn_c_check_header_mongrel "$LINENO" "uuid.h" "ac_cv_header_uuid_h" "$ac_includes_default" if test "x$ac_cv_header_uuid_h" = x""yes; then :tools/configure Wed Feb 22 14:54:22 2012 +0100 renamed from tools/configure Wed Feb 22 04:15:33 2012 +0100 +0
-0@@ -6826,53 +6873,6 @@ if test "x$ac_cv_lib_rt_clock_gettime" =fi
tools/configure Wed Feb 22 14:54:22 2012 +0100 renamed from tools/configure Wed Feb 22 04:15:33 2012 +0100 +0
-35-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_clear in -luuid" >&5 -$as_echo_n "checking for uuid_clear in -luuid... " >&6; } -if test "${ac_cv_lib_uuid_uuid_clear+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-luuid $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char uuid_clear (); -int -main () -{ -return uuid_clear (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_uuid_uuid_clear=yes -else - ac_cv_lib_uuid_uuid_clear=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result:$ac_cv_lib_uuid_uuid_clear" >&5
-$as_echo "$ac_cv_lib_uuid_uuid_clear" >&6; }tools/configure Wed Feb 22 14:54:22 2012 +0100 renamed from tools/configure Wed Feb 22 04:15:33 2012 +0100 +0
-11-if test "x$ac_cv_lib_uuid_uuid_clear" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBUUID 1 -_ACEOF - - LIBS="-luuid $LIBS" - -else - as_fn_error $? "Could not find libuuid" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for
yajl_allocin -lyajl" >&5 $as_echo_n "checking foryajl_allocin -lyajl... " >&6; }
if test "${ac_cv_lib_yajl_yajl_alloc+set}" = set; then :
diff -ra41d13f080d9tools/configure.actools/configure.ac Wed Feb 22 14:54:22 2012 +0100 renamed from tools/configure.ac Wed Feb 22 04:15:33 2012 +0100 +0
-2@@ -118,8 +118,6 @@ AC_SUBST(libgcrypt) AC_CHECK_LIB([pthread], [pthread_create], [] , [AC_MSG_ERROR([Could not find libpthread])]) AC_CHECK_LIB([rt], [clock_gettime]) -AC_CHECK_LIB([uuid], [uuid_clear], [], - [AC_MSG_ERROR([Could not find libuuid])]) AC_CHECK_LIB([yajl], [yajl_alloc], [], [AC_MSG_ERROR([Could not find yajl])]) AC_CHECK_LIB([z], [deflateCopy], [], [AC_MSG_ERROR([Could not find zlib])])diff -r
a41d13f080d9tools/m4/uuid.m4tools/m4/uuid.m4 Wed Feb 22 14:54:22 2012 +0100 renamed from tools/m4/uuid.m4 Wed Feb 22 04:15:33 2012 +0100 +0
-0@@ -2,9 +2,11 @@ AC_DEFUN([AX_CHECK_UUID],[if test "x$host_os" == "xlinux-gnu"
then
AC_CHECK_HEADER([uuid/uuid.h],,
- [AC_MSG_ERROR([cannot find uuid headers])])
+ [AC_MSG_ERROR([cannot find uuid headers])])
+ AC_CHECK_LIB([uuid], [uuid_clear], [],
+ [AC_MSG_ERROR([cannot find libuuid])]) else
AC_CHECK_HEADER([uuid.h],,
- [AC_MSG_ERROR([cannot find uuid headers])])
+ [AC_MSG_ERROR([cannot find uuid headers])]) fi
])
Quoted 6 lines
Quoted 4 lines
_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xen.org/xen-devel
_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xen.org/xen-devel
Re: [PATCH 4 of 8 v2] autoconf: run libuuid test under Linux only
I think this is a better approach. Now that we have autoconf, we could also get rid of a lot of Makefile and header OS contionals.
8<--------------------------------------------
autoconf: check for uuid.h or uuid/uuid.h with -luuid
Check for uuid/uuid.h and if found check for -luuid usability (Linux case), if not, check for uuid.h (NetBSD). One of this tests has to succeed to be able to build Xen tools.
tools/configure +0 -0
@@ -6320,24 +6320,63 @@ if test x"${XGETTEXT}" == x"no" then as_fn_error $? "Unable to find xgettext, please install xgettext"
"$LINENO" 5
fi
-if test "x$host_os" == "xlinux-gnu"
-then
- ac_fn_c_check_header_mongrel "$LINENO" "uuid/uuid.h"
"ac_cv_header_uuid_uuid_h" "$ac_includes_default" +
+ac_fn_c_check_header_mongrel "$LINENO" "uuid/uuid.h" "ac_cv_header_uuid_uuid_h" "$ac_includes_default"
if test "x$ac_cv_header_uuid_uuid_h" = x""yes; then :
-else
- as_fn_error $? "cannot find uuid headers" "$LINENO" 5 -fi
-
-
-else
- ac_fn_c_check_header_mongrel "$LINENO" "uuid.h"
"ac_cv_header_uuid_h" "$ac_includes_default"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_clear
in -luuid" >&5
+$as_echo_n "checking for uuid_clear in -luuid... " >&6; } +if test "${ac_cv_lib_uuid_uuid_clear+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-luuid $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char uuid_clear ();
+int
+main ()
+{
+return uuid_clear ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_uuid_uuid_clear=yes
+else
+ ac_cv_lib_uuid_uuid_clear=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result:
$ac_cv_lib_uuid_uuid_clear" >&5
+$as_echo "$ac_cv_lib_uuid_uuid_clear" >&6; }
+if test "x$ac_cv_lib_uuid_uuid_clear" = x""yes; then :
+ libuuid="y"
+fi
+
+
+fi
+
+
+ac_fn_c_check_header_mongrel "$LINENO" "uuid.h" "ac_cv_header_uuid_h" "$ac_includes_default"
if test "x$ac_cv_header_uuid_h" = x""yes; then :
-
-else
- as_fn_error $? "cannot find uuid headers" "$LINENO" 5 -fi
-
+ libuuid="y"
+fi
+
+
+if test "$libuuid" != "y"; then :
+
+ as_fn_error $? "cannot find a valid uuid library" "$LINENO" 5
fi
@@ -6826,53 +6865,6 @@ if test "x$ac_cv_lib_rt_clock_gettime" =
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_clear in -luuid" >&5 -$as_echo_n "checking for uuid_clear in -luuid... " >&6; }
-if test "${ac_cv_lib_uuid_uuid_clear+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-luuid $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char uuid_clear ();
-int
-main ()
-{
-return uuid_clear ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_uuid_uuid_clear=yes
-else
- ac_cv_lib_uuid_uuid_clear=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result:
$ac_cv_lib_uuid_uuid_clear" >&5
-$as_echo "$ac_cv_lib_uuid_uuid_clear" >&6; }
-if test "x$ac_cv_lib_uuid_uuid_clear" = x""yes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBUUID 1
-_ACEOF
-
- LIBS="-luuid $LIBS"
-
-else
- as_fn_error $? "Could not find libuuid" "$LINENO" 5
-fi
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for yajl_alloc in -lyajl" >&5 $as_echo_n "checking for yajl_alloc in -lyajl... " >&6; }
if test "${ac_cv_lib_yajl_yajl_alloc+set}" = set; then :
tools/configure.ac +0 -2
@@ -118,8 +118,6 @@ AC_SUBST(libgcrypt) AC_CHECK_LIB([pthread], [pthread_create], [] , [AC_MSG_ERROR([Could not find libpthread])]) AC_CHECK_LIB([rt], [clock_gettime]) -AC_CHECK_LIB([uuid], [uuid_clear], [], - [AC_MSG_ERROR([Could not find libuuid])]) AC_CHECK_LIB([yajl], [yajl_alloc], [], [AC_MSG_ERROR([Could not find yajl])]) AC_CHECK_LIB([z], [deflateCopy], [], [AC_MSG_ERROR([Could not find zlib])])
tools/m4/uuid.m4 +8 -9
@@ -1,10 +1,9 @@ -AC_DEFUN([AX_CHECK_UUID], -[if test "x$host_os" == "xlinux-gnu" -then - AC_CHECK_HEADER([uuid/uuid.h],, - [AC_MSG_ERROR([cannot find uuid headers])]) -else - AC_CHECK_HEADER([uuid.h],, - [AC_MSG_ERROR([cannot find uuid headers])]) -fi +AC_DEFUN([AX_CHECK_UUID], [ +AC_CHECK_HEADER([uuid/uuid.h],[ + AC_CHECK_LIB([uuid], [uuid_clear], [libuuid="y"]) ]) +AC_CHECK_HEADER([uuid.h],[libuuid="y"]) +AS_IF([test "$libuuid" != "y"], [ + AC_MSG_ERROR([cannot find a valid uuid library]) +]) +])
Ian Jackson
Acked-byRe: [PATCH 4 of 8 v2] autoconf: run libuuid test under Linux only
Roger Pau Monné writes ("Re: [Xen-devel] [PATCH 4 of 8 v2] autoconf: run libuuid test under Linux only"):
Quoted 2 lines
I think this is a better approach. Now that we have autoconf, we could also get rid of a lot of
Makefileand header OS contionals.
Yes. This looks like the right approach to me.
(I've just got back and won't be applying anything until I have caught up on my email...)
Ian.
Re: [PATCH 4 of 8 v2] autoconf: run libuuid test under Linux only
In reply to Roger Pau MonnéRoger Pau Monné writes ("Re: [Xen-devel] [PATCH 4 of 8 v2] autoconf: run libuuid test under Linux only"):
Quoted 5 lines
autoconf: check for
uuid.horuuid/uuid.hwith -luuidCheck for
uuid/uuid.hand if found check for -luuid usability (Linux case), if not, check foruuid.h(NetBSD). One of this tests has to succeed to be able to build Xen tools.
...
Quoted 2 lines
as_fn_error$? "Unable to find xgettext, please install xgettext"
"$LINENO" 5
This has been linewrapped.
Ian.
Re: [PATCH 4 of 8 v2] autoconf: run libuuid test under Linux only
2012/3/14 Ian Jackson <[email protected]>:
Quoted 11 lines
Roger Pau Monné writes ("Re: [Xen-devel] [PATCH 4 of 8 v2] autoconf: run libuuid test under Linux only"):
Quoted 5 lines
autoconf: check for
uuid.horuuid/uuid.hwith -luuidCheck for
uuid/uuid.hand if found check for -luuid usability (Linux case), if not, check foruuid.h(NetBSD). One of this tests has to succeed to be able to build Xen tools....
Quoted 2 lines
as_fn_error $? "Unable to find xgettext, please install xgettext" "$LINENO" 5
This has been linewrapped.
Ups sorry, I'm going to resend it.
Quoted 1 line
Ian.
_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xen.org/xen-devel
Re: [PATCH 4 of 8 v2] autoconf: run libuuid test under Linux only
In reply to Roger Pau MonnéRoger Pau Monné writes ("Re: [Xen-devel] [PATCH 4 of 8 v2] autoconf: run libuuid test under Linux only"):
Quoted 5 lines
-luuid is only used when building under Linux (see
tools/libxl/Makefilefor example), NetBSD uuid lib is different from linux, and doesn't require the -luuid flag to link, it doesn't even have the same API. Since we already check for different uuid headers in Linux/NetBSD, what about this:
I think we should change the existing code:
tools/m4/uuid.m4 AC_DEFUN([AX_CHECK_UUID], · line 7
Quoted 7 lines
[if test "x$host_os" == "xlinux-gnu"
thenAC_CHECK_HEADER([uuid/uuid.h],,tools/m4/uuid.m4 +3
-1- [AC_MSG_ERROR([cannot find uuid headers])]) + [AC_MSG_ERROR([cannot find uuid headers])]) + AC_CHECK_LIB([uuid], [uuid_clear], [], + [AC_MSG_ERROR([cannot find libuuid])])
I realise that this is how it was done pre-autoconf, but really I think that all tests on $host_os are wrong in principle.
Ian.
PATCH v2 1/1 Linux/init: include init-functions on xencommons and xend
In reply to Roger Pau Monne# HG changeset patch
# User Roger Pau Monne <[email protected]> # Date 1329880534 -3600
# Node ID a74480347d40266afc2f192aeea21819557a483c # Parent 493ca332d663c3c5ac12fd199d279188642089e6 Linux/init: include init-functions on xencommons and xend
Try to include /lib/lsb/init-functions on xencommons and xend or fail with and error message. Later patches make use of the functions present on this file.
tools/hotplug/Linux/init.d/xencommons +9 -0
@@ -18,6 +18,15 @@ # Description: Starts and stops the daemons neeeded for xl/xend ### END INIT INFO +# Include init script functions +if test -f /lib/lsb/init-functions +then + . /lib/lsb/init-functions +else + echo "Unable to load /lib/lsb/init-functions" + exit 0 +fi + if [ -d /etc/sysconfig ]; then xencommons_config=/etc/sysconfig else
tools/hotplug/Linux/init.d/xend +9 -0
@@ -18,6 +18,15 @@ # Description: Starts and stops the Xen control daemon. ### END INIT INFO +# Include init script functions +if test -f /lib/lsb/init-functions +then + . /lib/lsb/init-functions +else + echo "Unable to load /lib/lsb/init-functions" + exit 0 +fi + shopt -s extglob # Wait for Xend to be up
Re: [PATCH 5 of 8 v2] Linux/init: include init-functions on xencommons and xend
Roger Pau Monne writes ("[Xen-devel] [PATCH 5 of 8 v2] Linux/init: include init-functions on xencommons and xend"):
Quoted 5 lines
Linux/init: include init-functions on xencommons and xend
Try to include
/lib/lsb/init-functionson xencommons and xend or fail with and error message. Later patches make use of the functions present on this file.
Thanks.
tools/hotplug/Linux/init.d/xencommons line 29
Quoted 9 lines
tools/hotplug/Linux/init.d/xencommons +9
-0+# Include init script functions +if test -f /lib/lsb/init-functions +then + . /lib/lsb/init-functions +else + echo "Unable to load /lib/lsb/init-functions" + exit 0 +fi +
It's a shame we're not using set -e in these scripts, but in any case this should not exit zero if it fails. It should exit nonzero.
Thanks,
Ian.
PATCH v2 1/1 Linux/init: check for brctl and ip at xencommons
In reply to Roger Pau Monne# HG changeset patch
# User Roger Pau Monne <[email protected]> # Date 1329811412 -3600
# Node ID 417702b27ab78ad554062a065fa3f51af091b3b3 # Parent a74480347d40266afc2f192aeea21819557a483c Linux/init: check for brctl and ip at xencommons
Check for brctl and ip at xencommons, since hotplug scripts use it.
tools/hotplug/Linux/init.d/xencommons +11 -0
@@ -27,6 +27,8 @@ else exit 0 fi +servicename="xencommons" + if [ -d /etc/sysconfig ]; then xencommons_config=/etc/sysconfig else
@@ -59,6 +61,15 @@ if test -f /proc/xen/capabilities && \ exit 0 fi +# List of tools needed by xen (hotplug scripts) +REQ_TOOLS="brctl ip" + +for tool in $REQ_TOOLS +do + type $tool > /dev/null 2>&1 || \ + log_warning_msg "$servicename: $tool not found" +done + do_start () { local time=0 local timeout=30
Re: [PATCH 6 of 8 v2] Linux/init: check for brctl and ip at xencommons
Roger Pau Monne writes ("[Xen-devel] [PATCH 6 of 8 v2] Linux/init: check for brctl and ip at xencommons"):
Quoted 1 line
Linux/init: check for brctl and ip at xencommons
PATCH v2 1/1 Linux/init: check for udev >= 59 at xencommons
In reply to Roger Pau Monne# HG changeset patch
# User Roger Pau Monne <[email protected]> # Date 1329814249 -3600
# Node ID a26c5eadc56fe15af5e40600a3851b4d64be6389 # Parent 417702b27ab78ad554062a065fa3f51af091b3b3 Linux/init: check for udev >= 59 at xencommons
Check for udev at xencommons, since hotplug scripts use it.
tools/hotplug/Linux/init.d/xencommons +22 -0
@@ -70,6 +70,28 @@ do log_warning_msg "$servicename: $tool not found" done +# Check for udev >= 59 +if ! type udevadm > /dev/null 2>&1 +then + if ! type udevinfo > /dev/null 2>&1 + then + log_warning_msg "$servicename: unable to find" \ + " udevadm or udevinfo" + else + udevver=`udevinfo -V | awk '{print $NF}'` + fi +else + udevver=`udevadm info -V | awk '{print $NF}'` +fi +if test -z "${udevver}" || test "${udevver}" -lt 59 +then + if ! type hotplug > /dev/null 2>&1 + then + log_warning_msg "$servicename: udev is too old," \ + " upgrade to version 59" + fi +fi + do_start () { local time=0 local timeout=30
Re: [PATCH 7 of 8 v2] Linux/init: check for udev >= 59 at xencommons
Roger Pau Monne writes ("[Xen-devel] [PATCH 7 of 8 v2] Linux/init: check for udev >= 59 at xencommons"):
Quoted 3 lines
Linux/init: check for udev >= 59 at xencommons
Check for udev at xencommons, since hotplug scripts use it.
PATCH v2 1/1 Linux/init: check for xml.dom.minidom at xend init script
In reply to Roger Pau Monne# HG changeset patch
# User Roger Pau Monne <[email protected]> # Date 1329880534 -3600
# Node ID e1fdc5509bb4775bb5e35921274103d4ee120d95 # Parent a26c5eadc56fe15af5e40600a3851b4d64be6389 Linux/init: check for xml.dom.minidom at xend init script
tools/hotplug/Linux/init.d/xend +8 -0
@@ -27,8 +27,16 @@ else exit 0 fi +servicename="xend" + shopt -s extglob +# Check for python xml +if ! python -c 'import xml.dom.minidom' > /dev/null 2>&1 +then + log_warning_msg "$servicename: unable to find xml.dom.minidom" +fi + # Wait for Xend to be up function await_daemons_up {
Re: [PATCH 8 of 8 v2] Linux/init: check for xml.dom.minidom at xend init script
Roger Pau Monne writes ("[Xen-devel] [PATCH 8 of 8 v2] Linux/init: check for xml.dom.minidom at xend init script"):
Quoted 1 line
Linux/init: check for xml.dom.minidom at xend init script