]> xenbits.xensource.com Git - libvirt.git/commitdiff
spec: Add missed dependancy for numad
authorOsier Yang <jyang@redhat.com>
Sat, 24 Mar 2012 01:35:20 +0000 (09:35 +0800)
committerOsier Yang <jyang@redhat.com>
Sat, 24 Mar 2012 01:35:20 +0000 (09:35 +0800)
numad is available since Fedora 17 and RHEL6.X. And it's not supported
on s390[x] and ARM.

configure.ac
libvirt.spec.in
src/qemu/qemu_process.c

index 31f08351beb7cbc4ff11f5525113f23c5073c4fd..d624ef26954819937358230abfc7e95541fb6445 100644 (file)
@@ -1445,14 +1445,29 @@ AM_CONDITIONAL([HAVE_NUMACTL], [test "$with_numactl" != "no"])
 AC_SUBST([NUMACTL_CFLAGS])
 AC_SUBST([NUMACTL_LIBS])
 
-dnl Do we have numad?
-if test "$with_qemu" = "yes"; then
-    AC_PATH_PROG([NUMAD], [numad], [], [/bin:/usr/bin:/usr/local/bin:$PATH])
+dnl numad
+AC_ARG_WITH([numad],
+  AC_HELP_STRING([--with-numad], [use numad to manage CPU placement dynamically @<:@default=check@:>@]),
+  [],
+  [with_numad=check])
 
-    if test -n "$NUMAD"; then
-        AC_DEFINE_UNQUOTED([NUMAD],["$NUMAD"], [Location or name of the numad program])
+if test "$with_numad" != "no" ; then
+  AC_PATH_PROG([NUMAD], [numad], [], [/bin:/usr/bin])
+  if test -z "$NUMAD" ; then
+    if test "$with_numad" = "check"; then
+      with_numad="no"
+    else
+      AC_MSG_ERROR([You must install the 'numad' to manage CPU placement dynamically])
     fi
+  else
+    with_numad="yes"
+  fi
+  if test "$with_numad" = "yes"; then
+    AC_DEFINE_UNQUOTED([HAVE_NUMAD], 1, [whether numad is available])
+    AC_DEFINE_UNQUOTED([NUMAD],["$NUMAD"], [Location or name of the numad program])
+  fi
 fi
+AM_CONDITIONAL([HAVE_NUMAD], [test "$with_numad" != "no"])
 
 dnl pcap lib
 LIBPCAP_CONFIG="pcap-config"
@@ -2774,6 +2789,7 @@ AC_MSG_NOTICE([Warning Flags: $WARN_CFLAGS])
 AC_MSG_NOTICE([     Readline: $lv_use_readline])
 AC_MSG_NOTICE([       Python: $with_python])
 AC_MSG_NOTICE([       DTrace: $with_dtrace])
+AC_MSG_NOTICE([        numad: $with_numad])
 AC_MSG_NOTICE([  XML Catalog: $XML_CATALOG_FILE])
 AC_MSG_NOTICE([  Init script: $with_init_script])
 AC_MSG_NOTICE([Console locks: $with_console_lock_files])
index 9e7964e2e4958a84a762bb2959934b9efa905c13..67f1c33a089fb3840378a6e0b53e80fe98f5f11a 100644 (file)
@@ -84,6 +84,7 @@
 %define with_cgconfig      0%{!?_without_cgconfig:0}
 %define with_sanlock       0%{!?_without_sanlock:0}
 %define with_systemd       0%{!?_without_systemd:0}
+%define with_numad         0%{!?_without_numad:0}
 
 # Non-server/HV driver defaults which are always enabled
 %define with_python        0%{!?_without_python:1}
 %define with_storage_disk 0
 %endif
 
-# Enable libpcap library
 %if %{with_qemu}
 %define with_nwfilter 0%{!?_without_nwfilter:%{server_drivers}}
+# Enable libpcap library
 %define with_libpcap  0%{!?_without_libpcap:%{server_drivers}}
 %define with_macvtap  0%{!?_without_macvtap:%{server_drivers}}
+
+# numad is used to manage the CPU placement dynamically,
+# it's not available on s390[x] and ARM.
+%if 0%{?fedora} >= 17 || 0%{?rhel} >= 6
+%ifnarch s390 s390x %{arm}
+%define with_numad    0%{!?_without_numad:%{server_drivers}}
+%endif
+%endif
 %endif
 
 %if %{with_macvtap}
@@ -357,6 +366,9 @@ Requires(post): systemd-sysv
 Requires(preun): systemd-units
 Requires(postun): systemd-units
 %endif
+%if %{with_numad}
+Requires: numad
+%endif
 
 # All build-time requirements
 %if 0%{?enable_autotools}
@@ -516,6 +528,10 @@ BuildRequires: gawk
 # For storage wiping with different algorithms
 BuildRequires: scrub
 
+%if %{with_numad}
+BuildRequires: numad
+%endif
+
 %description
 Libvirt is a C toolkit to interact with the virtualization capabilities
 of recent versions of Linux (and other OSes). The main package includes
@@ -690,6 +706,10 @@ of recent versions of Linux (and other OSes).
 %define _without_numactl --without-numactl
 %endif
 
+%if ! %{with_numad}
+%define _without_numad --without-numad
+%endif
+
 %if ! %{with_capng}
 %define _without_capng --without-capng
 %endif
@@ -775,6 +795,7 @@ autoreconf -if
            %{?_without_storage_disk} \
            %{?_without_storage_mpath} \
            %{?_without_numactl} \
+           %{?_without_numad} \
            %{?_without_capng} \
            %{?_without_netcf} \
            %{?_without_selinux} \
index 88b128b6e09548da9cc0d6dac58231636a0f2b92..0e768fe0f678d800559d7ef85370ac23fdc01afa 100644 (file)
@@ -1754,7 +1754,7 @@ qemuProcessInitNumaMemoryPolicy(virDomainObjPtr vm)
 }
 #endif
 
-#if defined(NUMAD)
+#if HAVE_NUMAD
 static char *
 qemuGetNumadAdvice(virDomainDefPtr def)
 {