spec: Add missed dependancy for numad

numad is available since Fedora 17 and RHEL6.X. And it's not supported
on s390[x] and ARM.
This commit is contained in:
Osier Yang 2012-03-24 09:35:20 +08:00
parent d42a2ffc07
commit beb76e3742
3 changed files with 44 additions and 7 deletions

View File

@ -1445,14 +1445,29 @@ AM_CONDITIONAL([HAVE_NUMACTL], [test "$with_numactl" != "no"])
AC_SUBST([NUMACTL_CFLAGS]) AC_SUBST([NUMACTL_CFLAGS])
AC_SUBST([NUMACTL_LIBS]) AC_SUBST([NUMACTL_LIBS])
dnl Do we have numad? dnl numad
if test "$with_qemu" = "yes"; then AC_ARG_WITH([numad],
AC_PATH_PROG([NUMAD], [numad], [], [/bin:/usr/bin:/usr/local/bin:$PATH]) AC_HELP_STRING([--with-numad], [use numad to manage CPU placement dynamically @<:@default=check@:>@]),
[],
[with_numad=check])
if test -n "$NUMAD"; then if test "$with_numad" != "no" ; then
AC_DEFINE_UNQUOTED([NUMAD],["$NUMAD"], [Location or name of the numad program]) 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 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 fi
AM_CONDITIONAL([HAVE_NUMAD], [test "$with_numad" != "no"])
dnl pcap lib dnl pcap lib
LIBPCAP_CONFIG="pcap-config" 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([ Readline: $lv_use_readline])
AC_MSG_NOTICE([ Python: $with_python]) AC_MSG_NOTICE([ Python: $with_python])
AC_MSG_NOTICE([ DTrace: $with_dtrace]) AC_MSG_NOTICE([ DTrace: $with_dtrace])
AC_MSG_NOTICE([ numad: $with_numad])
AC_MSG_NOTICE([ XML Catalog: $XML_CATALOG_FILE]) AC_MSG_NOTICE([ XML Catalog: $XML_CATALOG_FILE])
AC_MSG_NOTICE([ Init script: $with_init_script]) AC_MSG_NOTICE([ Init script: $with_init_script])
AC_MSG_NOTICE([Console locks: $with_console_lock_files]) AC_MSG_NOTICE([Console locks: $with_console_lock_files])

View File

@ -84,6 +84,7 @@
%define with_cgconfig 0%{!?_without_cgconfig:0} %define with_cgconfig 0%{!?_without_cgconfig:0}
%define with_sanlock 0%{!?_without_sanlock:0} %define with_sanlock 0%{!?_without_sanlock:0}
%define with_systemd 0%{!?_without_systemd:0} %define with_systemd 0%{!?_without_systemd:0}
%define with_numad 0%{!?_without_numad:0}
# Non-server/HV driver defaults which are always enabled # Non-server/HV driver defaults which are always enabled
%define with_python 0%{!?_without_python:1} %define with_python 0%{!?_without_python:1}
@ -205,11 +206,19 @@
%define with_storage_disk 0 %define with_storage_disk 0
%endif %endif
# Enable libpcap library
%if %{with_qemu} %if %{with_qemu}
%define with_nwfilter 0%{!?_without_nwfilter:%{server_drivers}} %define with_nwfilter 0%{!?_without_nwfilter:%{server_drivers}}
# Enable libpcap library
%define with_libpcap 0%{!?_without_libpcap:%{server_drivers}} %define with_libpcap 0%{!?_without_libpcap:%{server_drivers}}
%define with_macvtap 0%{!?_without_macvtap:%{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 %endif
%if %{with_macvtap} %if %{with_macvtap}
@ -357,6 +366,9 @@ Requires(post): systemd-sysv
Requires(preun): systemd-units Requires(preun): systemd-units
Requires(postun): systemd-units Requires(postun): systemd-units
%endif %endif
%if %{with_numad}
Requires: numad
%endif
# All build-time requirements # All build-time requirements
%if 0%{?enable_autotools} %if 0%{?enable_autotools}
@ -516,6 +528,10 @@ BuildRequires: gawk
# For storage wiping with different algorithms # For storage wiping with different algorithms
BuildRequires: scrub BuildRequires: scrub
%if %{with_numad}
BuildRequires: numad
%endif
%description %description
Libvirt is a C toolkit to interact with the virtualization capabilities Libvirt is a C toolkit to interact with the virtualization capabilities
of recent versions of Linux (and other OSes). The main package includes 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 %define _without_numactl --without-numactl
%endif %endif
%if ! %{with_numad}
%define _without_numad --without-numad
%endif
%if ! %{with_capng} %if ! %{with_capng}
%define _without_capng --without-capng %define _without_capng --without-capng
%endif %endif
@ -775,6 +795,7 @@ autoreconf -if
%{?_without_storage_disk} \ %{?_without_storage_disk} \
%{?_without_storage_mpath} \ %{?_without_storage_mpath} \
%{?_without_numactl} \ %{?_without_numactl} \
%{?_without_numad} \
%{?_without_capng} \ %{?_without_capng} \
%{?_without_netcf} \ %{?_without_netcf} \
%{?_without_selinux} \ %{?_without_selinux} \

View File

@ -1754,7 +1754,7 @@ qemuProcessInitNumaMemoryPolicy(virDomainObjPtr vm)
} }
#endif #endif
#if defined(NUMAD) #if HAVE_NUMAD
static char * static char *
qemuGetNumadAdvice(virDomainDefPtr def) qemuGetNumadAdvice(virDomainDefPtr def)
{ {