提交 261e7581 编写于 作者: J Jim Meyering

Use gnulib, starting with its physmem and getaddrinfo modules.

New files go into these directories:
  gnulib/lib
  gnulib/m4
  gnulib/tests

* bootstrap: A wrapper around gnulib-tool.
* configure.in: Invoke gl_EARLY and gl_INIT, being careful to put gl_EARLY
before any macro that uses AC_COMPILE_IFELSE.
(AC_OUTPUT): Add lib/Makefile and gl-tests/Makefile.  Remove m4/Makefile.
* Makefile.am (SUBDIRS): Add gnulib/lib and remove m4.  Add gnulib/tests
early enough that those tests run before any libvirt unit tests.
* m4/Makefile.am: Remove file.  Not needed.
* src/Makefile.am (INCLUDES): Add -I$(top_srcdir)/gnulib/lib -I../gnulib/lib.
(LDADDS, libvirt_la_LIBADD): Add ../gnulib/lib/libgnu.la.
* src/nodeinfo.c: Include "physmem.h".
* qemud/qemud.c, src/remote_internal.c: Include "getaddrinfo.h".
(MEMINFO_PATH, linuxNodeInfoMemPopulate): Remove definitions.
(virNodeInfoPopulate): Use physmem_total, not linuxNodeInfoMemPopulate.
* tests/Makefile.am (INCLUDES): Add -I$(top_srcdir)/gnulib/lib -I../gnulib/lib.
(LDADDS): Add ../gnulib/lib/libgnu.la.
* qemud/Makefile.am (libvirtd_LDADD): Add ../gnulib/lib/libgnu.la.
* tests/nodeinfotest.c (linuxTestCompareFiles): No longer read total
memory from a file.
Update expected output not to include "Memory: NNNN"
* tests/nodeinfodata/linux-nodeinfo-1.txt:
* tests/nodeinfodata/linux-nodeinfo-2.txt:
* tests/nodeinfodata/linux-nodeinfo-3.txt:
* tests/nodeinfodata/linux-nodeinfo-4.txt:
* tests/nodeinfodata/linux-nodeinfo-5.txt:
* tests/nodeinfodata/linux-nodeinfo-6.txt:
* src/test.c [WITH_TEST]: Remove definition of _GNU_SOURCE that
would conflict with the one now in "config.h".
* autogen.sh: Add -I gnulib/m4.
* src/conf.c, src/sexpr.c: Don't define _GNU_SOURCE.
Instead, include "config.h".
* qemud/qemud.c: Remove definition of _GNU_SOURCE.
* src/openvz_driver.c: Likewise.
* src/qemu_driver.c: Likewise.
* src/remote_internal.c: Likewise.

* configure.in: Use AC_CONFIG_AUX_DIR(build-aux), so that a bunch
of gettextize-generated files go into build-aux/, rather than in
the top-level directory.
* .cvsignore: Adjust.
* build-aux/.cvsignore: New file.


Author: Jim Meyering <meyering@redhat.com>
上级 1d1cf57b
...@@ -9,27 +9,18 @@ config.cache ...@@ -9,27 +9,18 @@ config.cache
config.h config.h
config.h.in config.h.in
config.log config.log
config.guess
config.status config.status
config.sub
stamp-h stamp-h
stamp-h1 stamp-h1
libtool libtool
ltconfig ltconfig
ltmain.sh
update.log update.log
libvirt.pc libvirt.pc
libvirt.spec libvirt.spec
COPYING COPYING
m4 m4
ABOUT-NLS ABOUT-NLS
config.rpath
mkinstalldirs
coverage coverage
results.log results.log
libvirt-*.tar.gz libvirt-*.tar.gz
INSTALL INSTALL
compile
depcomp
install-sh
missing
Wed Dec 5 22:30:03 CET 2007 Jim Meyering <meyering@redhat.com>
Use gnulib, starting with its physmem and getaddrinfo modules.
New files go into these directories:
gnulib/lib
gnulib/m4
gnulib/tests
* bootstrap: A wrapper around gnulib-tool.
* configure.in: Invoke gl_EARLY and gl_INIT, being careful to put
gl_EARLY before any macro that uses AC_COMPILE_IFELSE.
(AC_OUTPUT): Add lib/Makefile and gl-tests/Makefile. Remove m4/Makefile.
* Makefile.am (SUBDIRS): Add gnulib/lib and remove m4. Add gnulib/tests
early enough that those tests run before any libvirt unit tests.
* m4/Makefile.am: Remove file. Not needed.
* src/Makefile.am (INCLUDES): Add -I$(top_srcdir)/gnulib/lib
-I../gnulib/lib.
(LDADDS, libvirt_la_LIBADD): Add ../gnulib/lib/libgnu.la.
* src/nodeinfo.c: Include "physmem.h".
* qemud/qemud.c, src/remote_internal.c: Include "getaddrinfo.h".
(MEMINFO_PATH, linuxNodeInfoMemPopulate): Remove definitions.
(virNodeInfoPopulate): Use physmem_total, not linuxNodeInfoMemPopulate.
* tests/Makefile.am (INCLUDES): Add -I$(top_srcdir)/gnulib/lib
-I../gnulib/lib.
(LDADDS): Add ../gnulib/lib/libgnu.la.
* qemud/Makefile.am (libvirtd_LDADD): Add ../gnulib/lib/libgnu.la.
* tests/nodeinfotest.c (linuxTestCompareFiles): No longer read total
memory from a file.
Update expected output not to include "Memory: NNNN"
* tests/nodeinfodata/linux-nodeinfo-1.txt:
* tests/nodeinfodata/linux-nodeinfo-2.txt:
* tests/nodeinfodata/linux-nodeinfo-3.txt:
* tests/nodeinfodata/linux-nodeinfo-4.txt:
* tests/nodeinfodata/linux-nodeinfo-5.txt:
* tests/nodeinfodata/linux-nodeinfo-6.txt:
* src/test.c [WITH_TEST]: Remove definition of _GNU_SOURCE that
would conflict with the one now in "config.h".
* autogen.sh: Add -I gnulib/m4.
* src/conf.c, src/sexpr.c: Don't define _GNU_SOURCE.
Instead, include "config.h".
* qemud/qemud.c: Remove definition of _GNU_SOURCE.
* src/openvz_driver.c: Likewise.
* src/qemu_driver.c: Likewise.
* src/remote_internal.c: Likewise.
* configure.in: Use AC_CONFIG_AUX_DIR(build-aux), so that a bunch
of gettextize-generated files go into build-aux/, rather than in
the top-level directory.
* .cvsignore: Adjust.
* build-aux/.cvsignore: New file.
Wed Dec 5 21:44:17 CET 2007 Daniel Veillard <veillard@redhat.com> Wed Dec 5 21:44:17 CET 2007 Daniel Veillard <veillard@redhat.com>
* qemud/remote.c: rename remoteDispatchAuthPolkitInit to * qemud/remote.c: rename remoteDispatchAuthPolkitInit to
......
## Process this file with automake to produce Makefile.in ## Process this file with automake to produce Makefile.in
SUBDIRS = include src qemud proxy docs @PYTHON_SUBDIR@ tests po m4 scripts SUBDIRS = gnulib/lib include src qemud proxy docs gnulib/tests \
@PYTHON_SUBDIR@ tests po scripts
ACLOCAL_AMFLAGS = -I m4 ACLOCAL_AMFLAGS = -I m4 -I gnulib/m4
EXTRA_DIST = libvirt.spec.in libvirt.spec COPYING.LIB \ EXTRA_DIST = libvirt.spec.in libvirt.spec COPYING.LIB \
libvirt.pc.in libvirt.pc TODO AUTHORS ChangeLog \ libvirt.pc.in libvirt.pc TODO AUTHORS ChangeLog \
......
...@@ -57,7 +57,7 @@ fi ...@@ -57,7 +57,7 @@ fi
autopoint --force autopoint --force
#rm -rf m4 #rm -rf m4
libtoolize --copy --force libtoolize --copy --force
aclocal -I m4 aclocal -I m4 -I gnulib/m4
autoheader autoheader
automake --add-missing automake --add-missing
autoconf autoconf
......
#!/bin/sh
# Run this after autogen.sh, to pull in all of the gnulib-related bits.
# It's important to run *after* autogen.sh, since it updates some of
# the same files autogen.sh does, yet those from gnulib are newer,
# and match the tests. So if a gnulib bug has been fixed since the
# snapshot taken for whatever gettext release you're using, yet you
# run "make check" against the wrong version, the corresponding unit
# test in gl-tests/ may well fail.
usage() {
echo >&2 "\
Usage: $0 [OPTION]...
Bootstrap this package from the checked-out sources.
Options:
--gnulib-srcdir=DIRNAME Specify the local directory where gnulib
sources reside. Use this if you already
have gnulib sources on your machine, and
do not want to waste your bandwidth downloading
them again.
If the file bootstrap.conf exists in the current working directory, its
contents are read as shell variables to configure the bootstrap.
Running without arguments will suffice in most cases.
"
}
for option
do
case $option in
--help)
usage
exit;;
--gnulib-srcdir=*)
GNULIB_SRCDIR=`expr "$option" : '--gnulib-srcdir=\(.*\)'`;;
*)
echo >&2 "$0: $option: unknown option"
exit 1;;
esac
done
cleanup_gnulib() {
st=$?
rm -fr .gnulib
exit $st
}
case ${GNULIB_SRCDIR--} in
-)
if [ ! -d gnulib ]; then
echo "$0: getting gnulib files..."
trap cleanup_gnulib 1 2 13 15
git clone --depth 1 git://git.sv.gnu.org/gnulib .gnulib ||
cleanup_gnulib
trap - 1 2 13 15
fi
GNULIB_SRCDIR=.gnulib
esac
gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
<$gnulib_tool || exit
# Tell gnulib to:
# put tests in new gnulib/tests/ dir
# put *.m4 files in new gnulib/m4/ dir
# put *.[ch] files in new gnulib/lib/ dir.
# With --avoid=snprintf, we drop support for systems (many!) with
# losing snprintf but pull in about 30 fewer files
# With the current gnulib and gettext-0.17, the following
# files are added to m4/ by both. But gnulib is stable enough
# and gettext-0.16.1 is new enough that they are identical.
# compiler-flags.m4
# inttypes_h.m4
# longlong.m4
# size_max.m4
# stdint_h.m4
# wchar_t.m4
# wint_t.m4
# xsize.m4
# Note that if we don't exclude the snprintf module, there are two tests
# that have incompatible licenses, so we would have to exclude them. Even
# excluding those two test modules, find reports a total of 94 added files.
# Yes, snprintf has some heavy-duty dependents.
# --avoid=snprintf-tests
# --avoid=vasnprintf-tests
avoid='--avoid=snprintf'
avoid='
--avoid=snprintf-tests
--avoid=vasnprintf-tests
--avoid=alloca-opt-tests
'
$gnulib_tool \
--lgpl \
$avoid \
--with-tests \
--m4-base=gnulib/m4 \
--source-base=gnulib/lib \
--tests-base=gnulib/tests \
--import physmem getaddrinfo
rm -f \
.gitignore \
gnulib/lib/.gitignore \
gnulib/m4/.gitignore \
gnulib/tests/.gitignore
(cd gnulib/lib &&
(cat .cvsignore; \
ls -1 *.in.h|sed 's/\.in\.h/.h/') | sort -u > .t; mv .t .cvsignore)
compile
config.guess
config.rpath
config.sub
depcomp
install-sh
ltmain.sh
missing
mkinstalldirs
...@@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script. ...@@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
AC_INIT(libvirt, 0.3.3) AC_INIT(libvirt, 0.3.3)
AC_CONFIG_SRCDIR(src/libvirt.c) AC_CONFIG_SRCDIR(src/libvirt.c)
AC_CONFIG_AUX_DIR(build-aux)
AM_CONFIG_HEADER(config.h) AM_CONFIG_HEADER(config.h)
dnl Make automake keep quiet about wildcards & other GNUmake-isms dnl Make automake keep quiet about wildcards & other GNUmake-isms
AM_INIT_AUTOMAKE([-Wno-portability]) AM_INIT_AUTOMAKE([-Wno-portability])
...@@ -29,11 +30,15 @@ POLKIT_REQUIRED="0.6" ...@@ -29,11 +30,15 @@ POLKIT_REQUIRED="0.6"
dnl Checks for C compiler. dnl Checks for C compiler.
AC_PROG_CC AC_PROG_CC
AM_PROG_CC_STDC
AC_C_CONST
AC_PROG_INSTALL AC_PROG_INSTALL
AC_PROG_CPP AC_PROG_CPP
gl_EARLY
gl_INIT
AM_PROG_CC_STDC
AC_C_CONST
dnl Make sure we have an ANSI compiler dnl Make sure we have an ANSI compiler
AM_C_PROTOTYPES AM_C_PROTOTYPES
test "x$U" != "x" && AC_MSG_ERROR(Compiler not ANSI compliant) test "x$U" != "x" && AC_MSG_ERROR(Compiler not ANSI compliant)
...@@ -626,11 +631,12 @@ cp COPYING.LIB COPYING ...@@ -626,11 +631,12 @@ cp COPYING.LIB COPYING
AC_OUTPUT(Makefile src/Makefile include/Makefile docs/Makefile \ AC_OUTPUT(Makefile src/Makefile include/Makefile docs/Makefile \
docs/examples/Makefile docs/devhelp/Makefile \ docs/examples/Makefile docs/devhelp/Makefile \
docs/examples/python/Makefile \ docs/examples/python/Makefile \
gnulib/lib/Makefile tests/gnulib/Makefile \
libvirt.pc libvirt.spec \ libvirt.pc libvirt.spec \
po/Makefile.in scripts/Makefile \ po/Makefile.in scripts/Makefile \
include/libvirt/Makefile include/libvirt/libvirt.h \ include/libvirt/Makefile include/libvirt/libvirt.h \
python/Makefile python/tests/Makefile \ python/Makefile python/tests/Makefile \
qemud/Makefile m4/Makefile \ qemud/Makefile \
tests/Makefile proxy/Makefile \ tests/Makefile proxy/Makefile \
tests/xml2sexprdata/Makefile \ tests/xml2sexprdata/Makefile \
tests/sexpr2xmldata/Makefile \ tests/sexpr2xmldata/Makefile \
......
EXTRA_DIST = compiler-flags.m4
...@@ -28,6 +28,7 @@ libvirtd_SOURCES = \ ...@@ -28,6 +28,7 @@ libvirtd_SOURCES = \
#-D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_POSIX_C_SOURCE=199506L #-D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_POSIX_C_SOURCE=199506L
libvirtd_CFLAGS = \ libvirtd_CFLAGS = \
-I$(top_srcdir)/gnulib/lib -I../gnulib/lib \
-I$(top_srcdir)/include -I$(top_builddir)/include \ -I$(top_srcdir)/include -I$(top_builddir)/include \
$(LIBXML_CFLAGS) $(GNUTLS_CFLAGS) $(SASL_CFLAGS) \ $(LIBXML_CFLAGS) $(GNUTLS_CFLAGS) $(SASL_CFLAGS) \
$(POLKIT_CFLAGS) \ $(POLKIT_CFLAGS) \
...@@ -40,7 +41,7 @@ libvirtd_CFLAGS = \ ...@@ -40,7 +41,7 @@ libvirtd_CFLAGS = \
libvirtd_LDFLAGS = $(WARN_CFLAGS) $(LIBXML_LIBS) $(GNUTLS_LIBS) $(SASL_LIBS) \ libvirtd_LDFLAGS = $(WARN_CFLAGS) $(LIBXML_LIBS) $(GNUTLS_LIBS) $(SASL_LIBS) \
$(POLKIT_LIBS) $(POLKIT_LIBS)
libvirtd_DEPENDENCIES = ../src/libvirt.la libvirtd_DEPENDENCIES = ../src/libvirt.la
libvirtd_LDADD = ../src/libvirt.la libvirtd_LDADD = ../src/libvirt.la ../gnulib/lib/libgnu.la
if HAVE_POLKIT if HAVE_POLKIT
......
...@@ -23,8 +23,6 @@ ...@@ -23,8 +23,6 @@
#include "config.h" #include "config.h"
#define _GNU_SOURCE /* for asprintf */
#include <sys/types.h> #include <sys/types.h>
#include <sys/wait.h> #include <sys/wait.h>
#include <sys/stat.h> #include <sys/stat.h>
...@@ -53,6 +51,7 @@ ...@@ -53,6 +51,7 @@
#include "libvirt/virterror.h" #include "libvirt/virterror.h"
#include "internal.h" #include "internal.h"
#include "getaddrinfo.h"
#include "../src/internal.h" #include "../src/internal.h"
#include "../src/remote_internal.h" #include "../src/remote_internal.h"
#include "../src/conf.h" #include "../src/conf.h"
......
## Process this file with automake to produce Makefile.in ## Process this file with automake to produce Makefile.in
INCLUDES = -I$(top_builddir)/include \ INCLUDES = \
-I$(top_srcdir)/gnulib/lib -I../gnulib/lib \
-I../include \
-I@top_srcdir@/include \ -I@top_srcdir@/include \
-I@top_srcdir@/qemud \ -I@top_srcdir@/qemud \
$(LIBXML_CFLAGS) \ $(LIBXML_CFLAGS) \
...@@ -15,7 +17,7 @@ INCLUDES = -I$(top_builddir)/include \ ...@@ -15,7 +17,7 @@ INCLUDES = -I$(top_builddir)/include \
$(WARN_CFLAGS) \ $(WARN_CFLAGS) \
$(LIBVIRT_FEATURES) $(LIBVIRT_FEATURES)
DEPS = libvirt.la DEPS = libvirt.la
LDADDS = @STATIC_BINARIES@ $(WARN_CFLAGS) libvirt.la LDADDS = @STATIC_BINARIES@ $(WARN_CFLAGS) libvirt.la ../gnulib/lib/libgnu.la
VIRSH_LIBS = @VIRSH_LIBS@ VIRSH_LIBS = @VIRSH_LIBS@
confdir = $(sysconfdir)/libvirt/ confdir = $(sysconfdir)/libvirt/
...@@ -61,7 +63,7 @@ SERVER_SOURCES = \ ...@@ -61,7 +63,7 @@ SERVER_SOURCES = \
libvirt_la_SOURCES = $(CLIENT_SOURCES) $(SERVER_SOURCES) libvirt_la_SOURCES = $(CLIENT_SOURCES) $(SERVER_SOURCES)
libvirt_la_LIBADD = $(LIBXML_LIBS) $(GNUTLS_LIBS) $(SASL_LIBS) \ libvirt_la_LIBADD = $(LIBXML_LIBS) $(GNUTLS_LIBS) $(SASL_LIBS) \
@CYGWIN_EXTRA_LIBADD@ @CYGWIN_EXTRA_LIBADD@ ../gnulib/lib/libgnu.la
libvirt_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libvirt_sym.version \ libvirt_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libvirt_sym.version \
-version-info @LIBVIRT_VERSION_INFO@ \ -version-info @LIBVIRT_VERSION_INFO@ \
$(COVERAGE_CFLAGS:-f%=-Wc,-f%) \ $(COVERAGE_CFLAGS:-f%=-Wc,-f%) \
......
...@@ -8,7 +8,8 @@ ...@@ -8,7 +8,8 @@
* Daniel Veillard <veillard@redhat.com> * Daniel Veillard <veillard@redhat.com>
*/ */
#define _GNU_SOURCE /* want strndup ! */ #include "config.h"
#include <string.h> #include <string.h>
#include <stdio.h> #include <stdio.h>
......
...@@ -29,14 +29,14 @@ ...@@ -29,14 +29,14 @@
#include <ctype.h> #include <ctype.h>
#include "nodeinfo.h" #include "nodeinfo.h"
#include "physmem.h"
#ifdef __linux__ #ifdef __linux__
#define MEMINFO_PATH "/proc/meminfo"
#define CPUINFO_PATH "/proc/cpuinfo" #define CPUINFO_PATH "/proc/cpuinfo"
/* NB, these are not static as we need to call them from testsuite */ /* NB, these are not static as we need to call them from testsuite */
int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr nodeinfo); int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo,
int linuxNodeInfoMemPopulate(virConnectPtr conn, FILE *meminfo, virNodeInfoPtr nodeinfo); virNodeInfoPtr nodeinfo);
int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr nodeinfo) { int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr nodeinfo) {
char line[1024]; char line[1024];
...@@ -114,44 +114,11 @@ int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr n ...@@ -114,44 +114,11 @@ int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr n
return 0; return 0;
} }
int linuxNodeInfoMemPopulate(virConnectPtr conn, FILE *meminfo,
virNodeInfoPtr nodeinfo) {
char line[1024];
nodeinfo->memory = 0;
while (fgets(line, sizeof(line), meminfo) != NULL) {
if (STREQLEN(line, "MemTotal:", 9)) {
char *p;
unsigned int ui;
if (xstrtol_ui(line + 10, &p, 10, &ui) == 0
&& (*p == '\0' || isspace(*p))) {
nodeinfo->memory = ui;
break;
}
}
}
if (!nodeinfo->memory) {
__virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
"no memory found");
return -1;
}
return 0;
}
#endif #endif
int virNodeInfoPopulate(virConnectPtr conn, int virNodeInfoPopulate(virConnectPtr conn,
virNodeInfoPtr nodeinfo) { virNodeInfoPtr nodeinfo) {
struct utsname info; struct utsname info;
#ifdef __linux__
int ret;
FILE *cpuinfo, *meminfo;
#endif
if (uname(&info) < 0) { if (uname(&info) < 0) {
__virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR, __virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
...@@ -164,7 +131,9 @@ int virNodeInfoPopulate(virConnectPtr conn, ...@@ -164,7 +131,9 @@ int virNodeInfoPopulate(virConnectPtr conn,
nodeinfo->model[sizeof(nodeinfo->model)-1] = '\0'; nodeinfo->model[sizeof(nodeinfo->model)-1] = '\0';
#ifdef __linux__ #ifdef __linux__
cpuinfo = fopen(CPUINFO_PATH, "r"); {
int ret;
FILE *cpuinfo = fopen(CPUINFO_PATH, "r");
if (!cpuinfo) { if (!cpuinfo) {
__virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR, __virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0, VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
...@@ -176,17 +145,11 @@ int virNodeInfoPopulate(virConnectPtr conn, ...@@ -176,17 +145,11 @@ int virNodeInfoPopulate(virConnectPtr conn,
if (ret < 0) if (ret < 0)
return -1; return -1;
meminfo = fopen(MEMINFO_PATH, "r"); /* Convert to KB. */
if (!meminfo) { nodeinfo->memory = physmem_total () / 1024;
__virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
"cannot open %s %s", MEMINFO_PATH, strerror(errno));
return -1;
}
ret = linuxNodeInfoMemPopulate(conn, meminfo, nodeinfo);
fclose(meminfo);
return ret; return ret;
}
#else #else
/* XXX Solaris will need an impl later if they port QEMU driver */ /* XXX Solaris will need an impl later if they port QEMU driver */
__virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR, __virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
......
...@@ -29,8 +29,6 @@ ...@@ -29,8 +29,6 @@
#include <config.h> #include <config.h>
#define _GNU_SOURCE /* for asprintf */
#include <sys/types.h> #include <sys/types.h>
#include <sys/poll.h> #include <sys/poll.h>
#include <dirent.h> #include <dirent.h>
......
...@@ -25,8 +25,6 @@ ...@@ -25,8 +25,6 @@
#ifdef WITH_QEMU #ifdef WITH_QEMU
#define _GNU_SOURCE /* for asprintf */
#include <sys/types.h> #include <sys/types.h>
#include <sys/poll.h> #include <sys/poll.h>
#include <dirent.h> #include <dirent.h>
......
...@@ -21,8 +21,6 @@ ...@@ -21,8 +21,6 @@
* Author: Richard Jones <rjones@redhat.com> * Author: Richard Jones <rjones@redhat.com>
*/ */
#define _GNU_SOURCE /* for asprintf */
#include "config.h" #include "config.h"
#include <stdio.h> #include <stdio.h>
...@@ -55,6 +53,7 @@ ...@@ -55,6 +53,7 @@
#include "internal.h" #include "internal.h"
#include "driver.h" #include "driver.h"
#include "getaddrinfo.h"
#include "remote_internal.h" #include "remote_internal.h"
#include "remote_protocol.h" #include "remote_protocol.h"
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
* archive for more details. * archive for more details.
*/ */
#define _GNU_SOURCE /* for strndup */ #include "config.h"
#include "sexpr.h" #include "sexpr.h"
#include "internal.h" #include "internal.h"
......
...@@ -25,8 +25,6 @@ ...@@ -25,8 +25,6 @@
#ifdef WITH_TEST #ifdef WITH_TEST
#define _GNU_SOURCE /* for asprintf */
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <sys/time.h> #include <sys/time.h>
......
## Process this file with automake to produce Makefile.in ## Process this file with automake to produce Makefile.in
SUBDIRS = virshdata confdata sexpr2xmldata xml2sexprdata xmconfigdata xencapsdata SUBDIRS = virshdata confdata sexpr2xmldata \
xml2sexprdata xmconfigdata xencapsdata
# Wierd libtool related juju... # Wierd libtool related juju...
# #
...@@ -11,6 +12,7 @@ SUBDIRS = virshdata confdata sexpr2xmldata xml2sexprdata xmconfigdata xencapsdat ...@@ -11,6 +12,7 @@ SUBDIRS = virshdata confdata sexpr2xmldata xml2sexprdata xmconfigdata xencapsdat
LIBVIRT = $(wildcard $(top_builddir)/src/.libs/libvirt_la-*.o) LIBVIRT = $(wildcard $(top_builddir)/src/.libs/libvirt_la-*.o)
INCLUDES = \ INCLUDES = \
-I$(top_srcdir)/gnulib/lib -I../gnulib/lib \
-I$(top_builddir)/include \ -I$(top_builddir)/include \
-I$(top_builddir)/src \ -I$(top_builddir)/src \
-I$(top_srcdir)/include \ -I$(top_srcdir)/include \
...@@ -31,6 +33,7 @@ LDADDS = \ ...@@ -31,6 +33,7 @@ LDADDS = \
$(SASL_LIBS) \ $(SASL_LIBS) \
$(WARN_CFLAGS) \ $(WARN_CFLAGS) \
$(LIBVIRT) \ $(LIBVIRT) \
../gnulib/lib/libgnu.la \
$(COVERAGE_LDFLAGS) $(COVERAGE_LDFLAGS)
EXTRA_DIST = \ EXTRA_DIST = \
......
CPUs: 2, MHz: 2800, Nodes: 1, Sockets: 1, Cores: 2, Threads: 1, Memory: 2053960 CPUs: 2, MHz: 2800, Nodes: 1, Sockets: 1, Cores: 2, Threads: 1
CPUs: 2, MHz: 2211, Nodes: 1, Sockets: 1, Cores: 2, Threads: 1, Memory: 4059540 CPUs: 2, MHz: 2211, Nodes: 1, Sockets: 1, Cores: 2, Threads: 1
CPUs: 4, MHz: 1595, Nodes: 1, Sockets: 2, Cores: 2, Threads: 1, Memory: 4059272 CPUs: 4, MHz: 1595, Nodes: 1, Sockets: 2, Cores: 2, Threads: 1
CPUs: 4, MHz: 1000, Nodes: 1, Sockets: 1, Cores: 4, Threads: 1, Memory: 4059272 CPUs: 4, MHz: 1000, Nodes: 1, Sockets: 1, Cores: 4, Threads: 1
CPUs: 4, MHz: 2814, Nodes: 1, Sockets: 2, Cores: 2, Threads: 1, Memory: 4059272 CPUs: 4, MHz: 2814, Nodes: 1, Sockets: 2, Cores: 2, Threads: 1
CPUs: 4, MHz: 1000, Nodes: 1, Sockets: 2, Cores: 2, Threads: 1, Memory: 4059272 CPUs: 4, MHz: 1000, Nodes: 1, Sockets: 2, Cores: 2, Threads: 1
...@@ -16,14 +16,13 @@ static char *abs_top_srcdir; ...@@ -16,14 +16,13 @@ static char *abs_top_srcdir;
#ifdef __linux__ #ifdef __linux__
extern int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr nodeinfo); extern int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr nodeinfo);
extern int linuxNodeInfoMemPopulate(virConnectPtr conn, FILE *meminfo, virNodeInfoPtr nodeinfo);
static int linuxTestCompareFiles(const char *cpuinfofile, const char *meminfofile, const char *outputfile) { static int linuxTestCompareFiles(const char *cpuinfofile, const char *outputfile) {
char actualData[MAX_FILE]; char actualData[MAX_FILE];
char expectData[MAX_FILE]; char expectData[MAX_FILE];
char *expect = &expectData[0]; char *expect = &expectData[0];
virNodeInfo nodeinfo; virNodeInfo nodeinfo;
FILE *cpuinfo, *meminfo; FILE *cpuinfo;
if (virtTestLoadFile(outputfile, &expect, MAX_FILE) < 0) if (virtTestLoadFile(outputfile, &expect, MAX_FILE) < 0)
return -1; return -1;
...@@ -37,19 +36,10 @@ static int linuxTestCompareFiles(const char *cpuinfofile, const char *meminfofil ...@@ -37,19 +36,10 @@ static int linuxTestCompareFiles(const char *cpuinfofile, const char *meminfofil
} }
fclose(cpuinfo); fclose(cpuinfo);
meminfo = fopen(meminfofile, "r");
if (!meminfo)
return -1;
if (linuxNodeInfoMemPopulate(NULL, meminfo, &nodeinfo) < 0) {
fclose(meminfo);
return -1;
}
fclose(meminfo);
snprintf(actualData, MAX_FILE, snprintf(actualData, MAX_FILE,
"CPUs: %u, MHz: %u, Nodes: %u, Sockets: %u, Cores: %u, Threads: %u, Memory: %lu\n", "CPUs: %u, MHz: %u, Nodes: %u, Sockets: %u, Cores: %u, Threads: %u\n",
nodeinfo.cpus, nodeinfo.mhz, nodeinfo.nodes, nodeinfo.sockets, nodeinfo.cpus, nodeinfo.mhz, nodeinfo.nodes, nodeinfo.sockets,
nodeinfo.cores, nodeinfo.threads, nodeinfo.memory); nodeinfo.cores, nodeinfo.threads);
if (STRNEQ(actualData, expectData)) { if (STRNEQ(actualData, expectData)) {
if (getenv("DEBUG_TESTS")) { if (getenv("DEBUG_TESTS")) {
...@@ -65,15 +55,12 @@ static int linuxTestCompareFiles(const char *cpuinfofile, const char *meminfofil ...@@ -65,15 +55,12 @@ static int linuxTestCompareFiles(const char *cpuinfofile, const char *meminfofil
static int linuxTestNodeInfo(const void *data) { static int linuxTestNodeInfo(const void *data) {
char cpuinfo[PATH_MAX]; char cpuinfo[PATH_MAX];
char meminfo[PATH_MAX];
char output[PATH_MAX]; char output[PATH_MAX];
snprintf(cpuinfo, PATH_MAX, "%s/tests/nodeinfodata/linux-%s.cpuinfo", snprintf(cpuinfo, PATH_MAX, "%s/tests/nodeinfodata/linux-%s.cpuinfo",
abs_top_srcdir, (const char*)data); abs_top_srcdir, (const char*)data);
snprintf(meminfo, PATH_MAX, "%s/tests/nodeinfodata/linux-%s.meminfo",
abs_top_srcdir, (const char*)data);
snprintf(output, PATH_MAX, "%s/tests/nodeinfodata/linux-%s.txt", snprintf(output, PATH_MAX, "%s/tests/nodeinfodata/linux-%s.txt",
abs_top_srcdir, (const char*)data); abs_top_srcdir, (const char*)data);
return linuxTestCompareFiles(cpuinfo, meminfo, output); return linuxTestCompareFiles(cpuinfo, output);
} }
#endif #endif
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册