Skip to content
Snippets Groups Projects
Commit 1b6982f1 authored by Guido Günther's avatar Guido Günther
Browse files

New upstream version 6.2.0

parent 33890b9d
No related branches found
No related tags found
1 merge request!49Update to 6.2.0
-I@abs_top_builddir@ -I@abs_top_builddir@
-I@abs_top_srcdir@ -I@abs_top_srcdir@
-I@abs_top_builddir@/gnulib/lib
-I@abs_top_srcdir@/gnulib/lib
-I@abs_top_builddir@/include -I@abs_top_builddir@/include
-I@abs_top_srcdir@/include -I@abs_top_srcdir@/include
-I@abs_top_builddir@/src -I@abs_top_builddir@/src
......
flags = [ flags = [
'-I@abs_top_builddir@', '-I@abs_top_builddir@',
'-I@abs_top_srcdir@', '-I@abs_top_srcdir@',
'-I@abs_top_builddir@/gnulib/lib',
'-I@abs_top_srcdir@/gnulib/lib',
'-I@abs_top_builddir@/include', '-I@abs_top_builddir@/include',
'-I@abs_top_srcdir@/include', '-I@abs_top_srcdir@/include',
'-I@abs_top_builddir@/src', '-I@abs_top_builddir@/src',
......
...@@ -122,6 +122,7 @@ Anton Khramov <anton@endocode.com> ...@@ -122,6 +122,7 @@ Anton Khramov <anton@endocode.com>
Antoni S. Puimedon <asegurap@redhat.com> Antoni S. Puimedon <asegurap@redhat.com>
Antoni Segura Puimedon <toni@midokura.com> Antoni Segura Puimedon <toni@midokura.com>
Anya Harter <aharter@redhat.com> Anya Harter <aharter@redhat.com>
Arnaud Patard <apatard@hupstream.com>
Aron Griffis <aron.griffis@hp.com> Aron Griffis <aron.griffis@hp.com>
Asad Saeed <asad.saeed@acidseed.com> Asad Saeed <asad.saeed@acidseed.com>
Ashish Mittal <Ashish.Mittal@veritas.com> Ashish Mittal <Ashish.Mittal@veritas.com>
...@@ -169,6 +170,7 @@ Chris Wright <chrisw@redhat.com> ...@@ -169,6 +170,7 @@ Chris Wright <chrisw@redhat.com>
Christian Benvenuti <benve@cisco.com> Christian Benvenuti <benve@cisco.com>
Christian Franke <nobody@nowhere.ws> Christian Franke <nobody@nowhere.ws>
Christian Loehle <cloehle@linutronix.de> Christian Loehle <cloehle@linutronix.de>
Christian Schoenebeck <qemu_oss@crudebyte.com>
Christoffer Dall <cdall@linaro.org> Christoffer Dall <cdall@linaro.org>
Chuck Short <chuck.short@canonical.com> Chuck Short <chuck.short@canonical.com>
Chuck Short <zulcss@gmail.com> Chuck Short <zulcss@gmail.com>
...@@ -193,6 +195,7 @@ Daniel J Walsh <dwalsh@redhat.com> ...@@ -193,6 +195,7 @@ Daniel J Walsh <dwalsh@redhat.com>
Daniel Liu <srwx4096@gmail.com> Daniel Liu <srwx4096@gmail.com>
Daniel Nicoletti <dantti12@gmail.com> Daniel Nicoletti <dantti12@gmail.com>
Dario Faggioli <dario.faggioli@citrix.com> Dario Faggioli <dario.faggioli@citrix.com>
Dario Faggioli <dfaggioli@suse.com>
Darryl L. Pierce <dpierce@redhat.com> Darryl L. Pierce <dpierce@redhat.com>
David Dai <zdai@linux.vnet.ibm.com> David Dai <zdai@linux.vnet.ibm.com>
David Jorm <dfj@redhat.com> David Jorm <dfj@redhat.com>
...@@ -261,6 +264,7 @@ Félix Bouliane <felixbouliane@gmail.com> ...@@ -261,6 +264,7 @@ Félix Bouliane <felixbouliane@gmail.com>
Gao feng <gaofeng@cn.fujitsu.com> Gao feng <gaofeng@cn.fujitsu.com>
Garry Dolley <gdolley@arpnetworks.com> Garry Dolley <gdolley@arpnetworks.com>
Gary R Hook <grhookatwork@gmail.com> Gary R Hook <grhookatwork@gmail.com>
Gaurav Agrawal <agrawalgaurav@gnome.org>
Gema Gomez <gema.gomez-solano@linaro.org> Gema Gomez <gema.gomez-solano@linaro.org>
Gene Czarcinski <gene@czarc.net> Gene Czarcinski <gene@czarc.net>
Geoff Hickey <ghickey@datagravity.com> Geoff Hickey <ghickey@datagravity.com>
...@@ -411,6 +415,7 @@ Matthias Gatto <matthias.gatto@outscale.com> ...@@ -411,6 +415,7 @@ Matthias Gatto <matthias.gatto@outscale.com>
Matthieu Coudron <mattator@gmail.com> Matthieu Coudron <mattator@gmail.com>
Mattias Bolte <matthias.bolte@googlemail.com> Mattias Bolte <matthias.bolte@googlemail.com>
Matwey V. Kornilov <matwey.kornilov@gmail.com> Matwey V. Kornilov <matwey.kornilov@gmail.com>
Mauro S. M. Rodrigues <maurosr@linux.vnet.ibm.com>
Maxim Kozin <kolomaxes@gmail.com> Maxim Kozin <kolomaxes@gmail.com>
Maxim Perevedentsev <mperevedentsev@virtuozzo.com> Maxim Perevedentsev <mperevedentsev@virtuozzo.com>
Maxime Leroy <maxime.leroy@6wind.com> Maxime Leroy <maxime.leroy@6wind.com>
...@@ -499,6 +504,7 @@ Qiaowei Ren <qiaowei.ren@intel.com> ...@@ -499,6 +504,7 @@ Qiaowei Ren <qiaowei.ren@intel.com>
Radoslaw Biernacki <radoslaw.biernacki@linaro.org> Radoslaw Biernacki <radoslaw.biernacki@linaro.org>
Radostin Stoyanov <rstoyanov1@gmail.com> Radostin Stoyanov <rstoyanov1@gmail.com>
Radu Caragea <dmns_serp@yahoo.com> Radu Caragea <dmns_serp@yahoo.com>
Rafael Fonseca <r4f4rfs@gmail.com>
Rainer Müller <raimue@codingfarm.de> Rainer Müller <raimue@codingfarm.de>
Ramon Medeiros <ramonn@linux.vnet.ibm.com> Ramon Medeiros <ramonn@linux.vnet.ibm.com>
Reinier Schoof <reinier@transip.nl> Reinier Schoof <reinier@transip.nl>
...@@ -506,6 +512,7 @@ Richa Marwaha <rmarwah@linux.vnet.ibm.com> ...@@ -506,6 +512,7 @@ Richa Marwaha <rmarwah@linux.vnet.ibm.com>
Richard Laager <rlaager@wiktel.com> Richard Laager <rlaager@wiktel.com>
Richard Weinberger <richard@nod.at> Richard Weinberger <richard@nod.at>
Rick Harris <rconradharris@gmail.com> Rick Harris <rconradharris@gmail.com>
Rikard Falkeborn <rikard.falkeborn@gmail.com>
Riku Voipio <riku.voipio@linaro.org> Riku Voipio <riku.voipio@linaro.org>
Roland Schulz <schullzroll@gmail.com> Roland Schulz <schullzroll@gmail.com>
Rolf Eike Beer <eike@sf-mail.de> Rolf Eike Beer <eike@sf-mail.de>
...@@ -519,9 +526,11 @@ Ruben Kerkhof <ruben@rubenkerkhof.com> ...@@ -519,9 +526,11 @@ Ruben Kerkhof <ruben@rubenkerkhof.com>
Rudy Zhang <rudyflyzhang@gmail.com> Rudy Zhang <rudyflyzhang@gmail.com>
Rufo Dogav <rufo@rufoa.com> Rufo Dogav <rufo@rufoa.com>
Ryan Harper <ryanh@us.ibm.com> Ryan Harper <ryanh@us.ibm.com>
Ryan Moeller <ryan@ixsystems.com>
Ryan Woodsmall <rwoodsmall@gmail.com> Ryan Woodsmall <rwoodsmall@gmail.com>
Ryota Ozaki <ozaki.ryota@gmail.com> Ryota Ozaki <ozaki.ryota@gmail.com>
Sage Weil <sage@newdream.net> Sage Weil <sage@newdream.net>
Sahid Orentino Ferdjaoui <sahid.ferdjaoui@canonical.com>
Sahid Orentino Ferdjaoui <sahid.ferdjaoui@cloudwatt.com> Sahid Orentino Ferdjaoui <sahid.ferdjaoui@cloudwatt.com>
Sam Bobroff <sam.bobroff@au1.ibm.com> Sam Bobroff <sam.bobroff@au1.ibm.com>
Sascha Peilicke <saschpe@suse.de> Sascha Peilicke <saschpe@suse.de>
...@@ -534,6 +543,7 @@ Scott Moser <smoser@ubuntu.com> ...@@ -534,6 +543,7 @@ Scott Moser <smoser@ubuntu.com>
Scott Sullivan <ssullivan@liquidweb.com> Scott Sullivan <ssullivan@liquidweb.com>
Sebastian Mitterle <smitterl@redhat.com> Sebastian Mitterle <smitterl@redhat.com>
Sebastian Wiedenroth <wiedi@frubar.net> Sebastian Wiedenroth <wiedi@frubar.net>
Seeteena Thoufeek <s1seetee@linux.vnet.ibm.com>
Serge E. Hallyn <serge.hallyn@canonical.com> Serge E. Hallyn <serge.hallyn@canonical.com>
Serge Hallyn <serge.hallyn@ubuntu.com> Serge Hallyn <serge.hallyn@ubuntu.com>
Sergey Bronnikov <sergeyb@openvz.org> Sergey Bronnikov <sergeyb@openvz.org>
...@@ -652,6 +662,7 @@ Yi Wang <wang.yi59@zte.com.cn> ...@@ -652,6 +662,7 @@ Yi Wang <wang.yi59@zte.com.cn>
Yingle Hou <houyingle@hygon.cn> Yingle Hou <houyingle@hygon.cn>
Yogesh Tillu <tillu.yogesh@gmail.com> Yogesh Tillu <tillu.yogesh@gmail.com>
Yohan BELLEGUIC <yohan.belleguic@diateam.net> Yohan BELLEGUIC <yohan.belleguic@diateam.net>
Your Name <you@example.com>
Yudai Yamagish <yummy@sfc.wide.ad.jp> Yudai Yamagish <yummy@sfc.wide.ad.jp>
Yue wenyuan <yuewenyuan@huawei.com> Yue wenyuan <yuewenyuan@huawei.com>
Yufang Zhang <yufang521247@gmail.com> Yufang Zhang <yufang521247@gmail.com>
...@@ -670,6 +681,7 @@ Zhang Xiaohe <zhangxh@cn.fujitsu.com> ...@@ -670,6 +681,7 @@ Zhang Xiaohe <zhangxh@cn.fujitsu.com>
Zhangzijian <zhang.zijian@h3c.com> Zhangzijian <zhang.zijian@h3c.com>
ZhiPeng Lu <lu.zhipeng@zte.com.cn> ZhiPeng Lu <lu.zhipeng@zte.com.cn>
ZhiPeng Lu <luzhipeng@uniudc.com> ZhiPeng Lu <luzhipeng@uniudc.com>
Zhimin Feng <fengzhimin1@huawei.com>
Zhou Yimin <zhouyimin@huawei.com> Zhou Yimin <zhouyimin@huawei.com>
Zhou yimin <zhouyimin@huawei.com> Zhou yimin <zhouyimin@huawei.com>
Zhuang Yanying <ann.zhuangyanying@huawei.com> Zhuang Yanying <ann.zhuangyanying@huawei.com>
...@@ -696,6 +708,7 @@ xuzhang <xuzhang@redhat.com> ...@@ -696,6 +708,7 @@ xuzhang <xuzhang@redhat.com>
yangdongsheng <yangds.fnst@cn.fujitsu.com> yangdongsheng <yangds.fnst@cn.fujitsu.com>
yuelongguang <yuelongguang@le.com> yuelongguang <yuelongguang@le.com>
zhang bo <oscar.zhangbo@huawei.com> zhang bo <oscar.zhangbo@huawei.com>
zhenwei pi <pizhenwei@bytedance.com>
Марк Коренберг <socketpair@gmail.com> Марк Коренберг <socketpair@gmail.com>
The libvirt logo was designed by Diana Fong The libvirt logo was designed by Diana Fong
......
...@@ -23,7 +23,7 @@ GENHTML = genhtml ...@@ -23,7 +23,7 @@ GENHTML = genhtml
# so force it explicitly # so force it explicitly
DISTCHECK_CONFIGURE_FLAGS = --enable-werror DISTCHECK_CONFIGURE_FLAGS = --enable-werror
SUBDIRS = . gnulib/lib include/libvirt src tools docs gnulib/tests \ SUBDIRS = . include/libvirt src tools docs \
tests po examples tests po examples
XZ_OPT ?= -v -T0 XZ_OPT ?= -v -T0
...@@ -129,6 +129,9 @@ clean-cov: ...@@ -129,6 +129,9 @@ clean-cov:
MAINTAINERCLEANFILES = .git-module-status MAINTAINERCLEANFILES = .git-module-status
BUILT_SOURCES = configmake.h
CLEANFILES = configmake.h
distclean-local: clean-GNUmakefile distclean-local: clean-GNUmakefile
clean-GNUmakefile: clean-GNUmakefile:
test '$(srcdir)' = . || rm -f $(top_builddir)/GNUmakefile test '$(srcdir)' = . || rm -f $(top_builddir)/GNUmakefile
...@@ -154,3 +157,44 @@ gen-AUTHORS: ...@@ -154,3 +157,44 @@ gen-AUTHORS:
ci-%: ci-%:
$(MAKE) -C $(srcdir)/ci/ $@ $(MAKE) -C $(srcdir)/ci/ $@
# Listed in the same order as the GNU makefile conventions, and
# provided by autoconf 2.59c+ or 2.70.
# The Automake-defined pkg* macros are appended, in the order
# listed in the Automake 1.10a+ documentation.
configmake.h: Makefile
$(AM_V_GEN)rm -f $@-t && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
echo '#if WIN32'; \
echo '# include <winsock2.h> /* avoid mingw pollution on DATADIR */'; \
echo '#endif'; \
echo '#define PREFIX "$(prefix)"'; \
echo '#define EXEC_PREFIX "$(exec_prefix)"'; \
echo '#define BINDIR "$(bindir)"'; \
echo '#define SBINDIR "$(sbindir)"'; \
echo '#define LIBEXECDIR "$(libexecdir)"'; \
echo '#define DATAROOTDIR "$(datarootdir)"'; \
echo '#define DATADIR "$(datadir)"'; \
echo '#define SYSCONFDIR "$(sysconfdir)"'; \
echo '#define SHAREDSTATEDIR "$(sharedstatedir)"'; \
echo '#define LOCALSTATEDIR "$(localstatedir)"'; \
echo '#define RUNSTATEDIR "$(runstatedir)"'; \
echo '#define INCLUDEDIR "$(includedir)"'; \
echo '#define OLDINCLUDEDIR "$(oldincludedir)"'; \
echo '#define DOCDIR "$(docdir)"'; \
echo '#define INFODIR "$(infodir)"'; \
echo '#define HTMLDIR "$(htmldir)"'; \
echo '#define DVIDIR "$(dvidir)"'; \
echo '#define PDFDIR "$(pdfdir)"'; \
echo '#define PSDIR "$(psdir)"'; \
echo '#define LIBDIR "$(libdir)"'; \
echo '#define LISPDIR "$(lispdir)"'; \
echo '#define LOCALEDIR "$(localedir)"'; \
echo '#define MANDIR "$(mandir)"'; \
echo '#define MANEXT "$(manext)"'; \
echo '#define PKGDATADIR "$(pkgdatadir)"'; \
echo '#define PKGINCLUDEDIR "$(pkgincludedir)"'; \
echo '#define PKGLIBDIR "$(pkglibdir)"'; \
echo '#define PKGLIBEXECDIR "$(pkglibexecdir)"'; \
} | sed '/""/d' > $@-t && \
mv -f $@-t $@
This diff is collapsed.
libvirt releases libvirt releases
================ ================
# v6.2.0 (2020-04-02)
* New features
- qemu: NVDIMM support for pSeries guests
QEMU 5.0 implements NVDIMM memory support for pSeries guests. This is
done by adding an 'uuid' element in the memory XML, which can either be
provided in the XML or, if omitted, generated automatically.
- qemu: Add virtiofs support
This feature, introduced in QEMU 4.2, is a more modern alternative to
virtio-9p, which is exposed through the same <filesystem/> element.
- admin: Support reloading TLS certificates
After renewing TLS certificates, it was usually necessary to restart
libvirtd for the new ones to be loaded: now the same result can be
obtained without restarting the daemon by using virt-admin
server-update-tls.
* Removed features
- Removed support for INI style of comments
With switching of our internal code to GLib, parsing of client
authentication config files is handed over to GLib which does not
support INI style of comments starting with a semicolon (;). Use number
sign (#) instead.
* Improvements
- qemu: Don't compare local and remote hostnames on migration
This check was introduced to prevent same-host migration, but did not
work as expected when multiple libvirtd instances were running on the
same host but in different containers. With this release, the host UUID
(which should be unique to the container) is checked instead.
- qemu: Use per-VM event loops
Instead of using a single even loop to process communication with the
QEMU monitor and guest agent, create a separate one for each VM. This
helps with scalability and prevents scenarios where a single
malfunctioning VM could affect all those running on the same host.
- qemu: Support migration with SLIRP helper interface
With QEMU 5.0, a new D-Bus backend allows migration of external
processes. When needed, libvirt will start a per-vm D-Bus bus, and
migrate the slirp-helper along with QEMU.
* Bug fixes
- qemu: Open backing chain late for shallow block copy reusing external
images
With introduction of -blockdev for QEMU storage configuration in
libvirt-5.10 we've started opening the backing chain of the
destination/mirror of a virDomainBlockcopy started with
VIR_DOMAIN_BLOCK_COPY_REUSE_EXT | VIR_DOMAIN_BLOCK_COPY_SHALLOW flags
when starting the job rather than when virDomainBlockJobAbort with
VIR_DOMAIN_BLOCK_JOB_ABORT_PIVOT is issued. For users depending on this
undocumented quirky pre-blockdev behaviour this caused a regression as
the backing chain could not be modified while the copy of the top image
was progressing due to QEMU image locking. Note that this fix also
requires qemu-5.0 while -blockdev is used starting from QEMU-4.2.
- Don't generate machine names containing dots
Even though the guest name containing dots is not a problem for libvirt
itself, we need to strip them out when registering with machined
because of the latter's requirements.
# v6.1.0 (2020-03-03)
* New features
- qemu: new rng backend type: builtin
It implements qemu builtin rng backend. That uses getrandom syscall to
generate random, no external rng source needed. Available since QEMU
4.2.
- support for virtio+hostdev NIC <teaming>
QEMU 4.2.0 and later, combined with a sufficiently recent guest
virtio-net driver (e.g. the driver included in Linux kernel 4.18 and
later), supports setting up a simple network bond device comprised of
one virtio emulated NIC and one hostdev NIC (which must be an SRIOV
VF). (in QEMU, this is known as the "virtio failover" feature). The
allure of this setup is that the bond will always favor the hostdev
device, providing better performance, until the guest is migrated - at
that time QEMU will automatically unplug the hostdev NIC and the bond
will send all traffic via the virtio NIC until migration is completed,
then QEMU on the destination side will hotplug a new hostdev NIC and
the bond will switch back to using the hostdev for network traffic. The
result is that guests desiring the extra performance of a hostdev NIC
are now migratable without network downtime (performance is just
degraded during migration) and without requiring a complicated bonding
configuration in the guest OS network config and complicated
unplug/replug logic in the management application on the host - it can
instead all be accomplished in libvirt with the interface <teaming>
subelement "type" and "persistent" attributes.
- support BR_ISOLATED flag for guest interfaces attached to a Linux host
bridge
Since Linux kernel 4.18, the Linux host bridge has had a flag
BR_ISOLATED that can be applied to individual ports. When this flag is
set for a port, traffic is blocked between that port and any other port
that also has the BR_ISOLATED flag set. libvirt domain interface config
now supports setting this flag via the <port isolated='yes'/> setting.
It can also be set for all connections to a particular libvirt network
by setting the same option in the network config - since the port for
the host itself does not have BR_ISOLATED set, the guests can
communicate with the host and the outside world, but guests on that
network can't communicate with each other. This feature works for QEMU
and LXC guests with interfaces attached to a Linux host bridge.
- qemu: Introduce the 'armvtimer' timer type
QEMU 5.0 introduces the ability to control the behavior of the virtual
timer for KVM ARM/virt guests, and this new timer type exposes the same
capability to libvirt users.
- qemu: Storage configuration improvements
Libvirt now accepts <backingStore type='volume'> and allows specifying
the offset and size of the image format container inside the storage
source via the <slices> subelement.
- qemu: Introduce the 'tpm-spapr' TPM model
This device, available starting from QEMU 5.0, is limited to pSeries
guests.
* Improvements
- qemu: Image format probing is allowed in certain cases
To resolve regressions when users didn't specify the backing image
format in the overlay, libvirt now probes the format in certain secure
scenarios which fixes a few common existing cases. Additionally the
knowledge base was extended to provide more information on how to
rectify the problem.
- qemu: Support "dies" in CPU topology
This CPU topology concept, new in QEMU 4.1.0, sits between the existing
"socket" and "core".
- libxl: Add support for Credit2 scheduler parameters
- lxc: Add support LXC 3 network configuration format
* Bug fixes
- conf: Do not generate machine names ending with a dash
Recent systemd versions do not allow them.
* Packaging changes
- use of gnulib has been completely eliminated
Historically libvirt has embedded gnulib to provide fixes for various
platform portability problems. This usage has now been eliminated and
alternative approaches for platform portability problems adopted where
required. This has been validated on the set of platforms covered by
automated CI build testing. Other modern Linux distros using glibc are
expected to work. Linux distros using non-glibc packages, and other
non-Linux platforms may encounter regressions when building this
release. Please report any build problems encountered back to the
project maintainers for evaluation.
# v6.0.0 (2020-01-15) # v6.0.0 (2020-01-15)
* Packaging changes * Packaging changes
......
...@@ -1477,182 +1477,17 @@ AC_SUBST([am__tar]) ...@@ -1477,182 +1477,17 @@ AC_SUBST([am__tar])
AC_SUBST([am__untar]) AC_SUBST([am__untar])
]) # _AM_PROG_TAR ]) # _AM_PROG_TAR
m4_include([m4/00gnulib.m4])
m4_include([m4/absolute-header.m4])
m4_include([m4/alloca.m4])
m4_include([m4/arpa_inet_h.m4])
m4_include([m4/asm-underscore.m4])
m4_include([m4/chown.m4])
m4_include([m4/close.m4])
m4_include([m4/codeset.m4])
m4_include([m4/configmake.m4])
m4_include([m4/ctype.m4])
m4_include([m4/dirname.m4])
m4_include([m4/double-slash-root.m4])
m4_include([m4/dup.m4])
m4_include([m4/dup2.m4])
m4_include([m4/eealloc.m4])
m4_include([m4/environ.m4])
m4_include([m4/errno_h.m4])
m4_include([m4/error.m4])
m4_include([m4/exponentd.m4])
m4_include([m4/extensions.m4]) m4_include([m4/extensions.m4])
m4_include([m4/extern-inline.m4])
m4_include([m4/fatal-signal.m4])
m4_include([m4/fcntl-o.m4])
m4_include([m4/fcntl.m4])
m4_include([m4/fcntl_h.m4])
m4_include([m4/fdopen.m4])
m4_include([m4/float_h.m4])
m4_include([m4/fpieee.m4])
m4_include([m4/fseek.m4])
m4_include([m4/fseeko.m4])
m4_include([m4/fstat.m4])
m4_include([m4/ftruncate.m4])
m4_include([m4/getaddrinfo.m4])
m4_include([m4/getcwd.m4])
m4_include([m4/getdelim.m4])
m4_include([m4/getdtablesize.m4])
m4_include([m4/getgroups.m4])
m4_include([m4/gethostname.m4])
m4_include([m4/getline.m4])
m4_include([m4/getpagesize.m4])
m4_include([m4/getpass.m4])
m4_include([m4/getprogname.m4])
m4_include([m4/gettimeofday.m4])
m4_include([m4/getugroups.m4])
m4_include([m4/gnulib-common.m4])
m4_include([m4/gnulib-comp.m4])
m4_include([m4/grantpt.m4])
m4_include([m4/hostent.m4])
m4_include([m4/include_next.m4])
m4_include([m4/inet_ntop.m4])
m4_include([m4/inet_pton.m4])
m4_include([m4/intmax_t.m4])
m4_include([m4/inttypes-pri.m4])
m4_include([m4/inttypes.m4])
m4_include([m4/inttypes_h.m4])
m4_include([m4/ioctl.m4])
m4_include([m4/isatty.m4])
m4_include([m4/isblank.m4])
m4_include([m4/largefile.m4]) m4_include([m4/largefile.m4])
m4_include([m4/libtool.m4]) m4_include([m4/libtool.m4])
m4_include([m4/libunistring-base.m4])
m4_include([m4/limits-h.m4])
m4_include([m4/localcharset.m4])
m4_include([m4/locale_h.m4])
m4_include([m4/localeconv.m4])
m4_include([m4/localtime-buffer.m4])
m4_include([m4/lock.m4])
m4_include([m4/lseek.m4])
m4_include([m4/lstat.m4])
m4_include([m4/ltoptions.m4]) m4_include([m4/ltoptions.m4])
m4_include([m4/ltsugar.m4]) m4_include([m4/ltsugar.m4])
m4_include([m4/ltversion.m4]) m4_include([m4/ltversion.m4])
m4_include([m4/lt~obsolete.m4]) m4_include([m4/lt~obsolete.m4])
m4_include([m4/malloc.m4])
m4_include([m4/malloca.m4])
m4_include([m4/manywarnings.m4])
m4_include([m4/memchr.m4])
m4_include([m4/mgetgroups.m4])
m4_include([m4/mmap-anon.m4])
m4_include([m4/mode_t.m4])
m4_include([m4/msvc-inval.m4])
m4_include([m4/msvc-nothrow.m4])
m4_include([m4/multiarch.m4])
m4_include([m4/nanosleep.m4])
m4_include([m4/net_if_h.m4])
m4_include([m4/netdb_h.m4])
m4_include([m4/netinet_in_h.m4])
m4_include([m4/nonblocking.m4])
m4_include([m4/off_t.m4])
m4_include([m4/open-cloexec.m4])
m4_include([m4/open-slash.m4])
m4_include([m4/open.m4])
m4_include([m4/passfd.m4])
m4_include([m4/pathmax.m4])
m4_include([m4/perror.m4])
m4_include([m4/physmem.m4])
m4_include([m4/pipe.m4])
m4_include([m4/pipe2.m4])
m4_include([m4/poll.m4])
m4_include([m4/poll_h.m4])
m4_include([m4/posix-shell.m4])
m4_include([m4/posix_openpt.m4])
m4_include([m4/posix_spawn.m4])
m4_include([m4/printf.m4])
m4_include([m4/pthread-thread.m4])
m4_include([m4/pthread_h.m4])
m4_include([m4/pthread_rwlock_rdlock.m4])
m4_include([m4/pthread_sigmask.m4])
m4_include([m4/ptsname.m4])
m4_include([m4/ptsname_r.m4])
m4_include([m4/pty.m4])
m4_include([m4/pty_h.m4])
m4_include([m4/putenv.m4])
m4_include([m4/raise.m4])
m4_include([m4/rawmemchr.m4])
m4_include([m4/read.m4])
m4_include([m4/realloc.m4])
m4_include([m4/sched_h.m4])
m4_include([m4/select.m4])
m4_include([m4/servent.m4])
m4_include([m4/setenv.m4])
m4_include([m4/sh-filename.m4])
m4_include([m4/sig_atomic_t.m4])
m4_include([m4/sigaction.m4])
m4_include([m4/signal_h.m4])
m4_include([m4/signalblocking.m4])
m4_include([m4/sigpipe.m4])
m4_include([m4/size_max.m4])
m4_include([m4/sleep.m4])
m4_include([m4/snprintf.m4])
m4_include([m4/socketlib.m4])
m4_include([m4/sockets.m4])
m4_include([m4/socklen.m4])
m4_include([m4/sockpfaf.m4])
m4_include([m4/spawn_h.m4])
m4_include([m4/ssize_t.m4])
m4_include([m4/stat-time.m4])
m4_include([m4/stat.m4])
m4_include([m4/stdalign.m4])
m4_include([m4/stdbool.m4])
m4_include([m4/stddef_h.m4])
m4_include([m4/stdint.m4])
m4_include([m4/stdint_h.m4])
m4_include([m4/stdio_h.m4])
m4_include([m4/stdlib_h.m4])
m4_include([m4/strchrnul.m4])
m4_include([m4/strdup.m4])
m4_include([m4/strerror.m4])
m4_include([m4/strerror_r.m4])
m4_include([m4/string_h.m4])
m4_include([m4/strtok_r.m4])
m4_include([m4/symlink.m4])
m4_include([m4/sys_ioctl_h.m4])
m4_include([m4/sys_select_h.m4])
m4_include([m4/sys_socket_h.m4])
m4_include([m4/sys_stat_h.m4])
m4_include([m4/sys_time_h.m4])
m4_include([m4/sys_types_h.m4]) m4_include([m4/sys_types_h.m4])
m4_include([m4/sys_uio_h.m4])
m4_include([m4/sys_utsname_h.m4])
m4_include([m4/sys_wait_h.m4])
m4_include([m4/termios_h.m4])
m4_include([m4/threadlib.m4])
m4_include([m4/time_h.m4])
m4_include([m4/time_r.m4])
m4_include([m4/ttyname_r.m4])
m4_include([m4/uname.m4])
m4_include([m4/ungetc.m4])
m4_include([m4/unistd_h.m4])
m4_include([m4/unlockpt.m4])
m4_include([m4/usleep.m4])
m4_include([m4/vasnprintf.m4])
m4_include([m4/virt-acl.m4]) m4_include([m4/virt-acl.m4])
m4_include([m4/virt-apparmor.m4]) m4_include([m4/virt-apparmor.m4])
m4_include([m4/virt-arg.m4]) m4_include([m4/virt-arg.m4])
m4_include([m4/virt-atomic.m4])
m4_include([m4/virt-attr.m4]) m4_include([m4/virt-attr.m4])
m4_include([m4/virt-audit.m4]) m4_include([m4/virt-audit.m4])
m4_include([m4/virt-bash-completion.m4]) m4_include([m4/virt-bash-completion.m4])
...@@ -1706,6 +1541,7 @@ m4_include([m4/virt-linker-relro.m4]) ...@@ -1706,6 +1541,7 @@ m4_include([m4/virt-linker-relro.m4])
m4_include([m4/virt-loader-nvram.m4]) m4_include([m4/virt-loader-nvram.m4])
m4_include([m4/virt-login-shell.m4]) m4_include([m4/virt-login-shell.m4])
m4_include([m4/virt-macvtap.m4]) m4_include([m4/virt-macvtap.m4])
m4_include([m4/virt-manywarnings.m4])
m4_include([m4/virt-netcf.m4]) m4_include([m4/virt-netcf.m4])
m4_include([m4/virt-nls.m4]) m4_include([m4/virt-nls.m4])
m4_include([m4/virt-nss.m4]) m4_include([m4/virt-nss.m4])
...@@ -1744,22 +1580,10 @@ m4_include([m4/virt-tls-priority.m4]) ...@@ -1744,22 +1580,10 @@ m4_include([m4/virt-tls-priority.m4])
m4_include([m4/virt-udev.m4]) m4_include([m4/virt-udev.m4])
m4_include([m4/virt-virtualport.m4]) m4_include([m4/virt-virtualport.m4])
m4_include([m4/virt-win-common.m4]) m4_include([m4/virt-win-common.m4])
m4_include([m4/virt-win-cygwin.m4])
m4_include([m4/virt-win-mingw.m4]) m4_include([m4/virt-win-mingw.m4])
m4_include([m4/virt-win-symbols.m4]) m4_include([m4/virt-win-symbols.m4])
m4_include([m4/virt-win-windres.m4]) m4_include([m4/virt-win-windres.m4])
m4_include([m4/virt-wireshark.m4]) m4_include([m4/virt-wireshark.m4])
m4_include([m4/virt-xdr.m4]) m4_include([m4/virt-xdr.m4])
m4_include([m4/virt-yajl.m4]) m4_include([m4/virt-yajl.m4])
m4_include([m4/vsnprintf.m4])
m4_include([m4/wait-process.m4])
m4_include([m4/waitpid.m4])
m4_include([m4/warnings.m4]) m4_include([m4/warnings.m4])
m4_include([m4/wchar_h.m4])
m4_include([m4/wchar_t.m4])
m4_include([m4/wctype_h.m4])
m4_include([m4/wcwidth.m4])
m4_include([m4/wint_t.m4])
m4_include([m4/write.m4])
m4_include([m4/xalloc.m4])
m4_include([m4/xsize.m4])
#!/bin/sh #!/bin/sh
# Run this to generate all the initial makefiles, etc. # Run this to generate all the initial makefiles, etc.
test -n "$srcdir" || srcdir=$(dirname "$0")
test -n "$srcdir" || srcdir=.
die() olddir=$(pwd)
{
echo "error: $1" >&2
exit 1
}
starting_point=$(pwd)
srcdir=$(dirname "$0")
test "$srcdir" || srcdir=.
cd "$srcdir" || { cd "$srcdir"
die "Failed to cd into $srcdir"
}
test -f src/libvirt.c || { (test -f src/libvirt.c) || {
die "$0 must live in the top-level libvirt directory" echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
echo " top-level libvirt directory"
exit 1
} }
dry_run= git submodule update --init || exit 1
no_git=
gnulib_srcdir=
extra_args=
while test "$#" -gt 0; do
case "$1" in
--dry-run)
# This variable will serve both as an indicator of the fact that
# a dry run has been requested, and to store the result of the
# dry run. It will be ultimately used as return code for the
# script: 0 means no action is necessary, 2 means that autogen.sh
# needs to be executed, and 1 is reserved for failures
dry_run=0
shift
;;
--no-git)
no_git=" $1"
shift
;;
--gnulib-srcdir=*)
gnulib_srcdir=" $1"
shift
;;
--gnulib-srcdir)
gnulib_srcdir=" $1=$2"
shift
shift
;;
--system)
prefix=/usr
sysconfdir=/etc
localstatedir=/var
if test -d $prefix/lib64; then
libdir=$prefix/lib64
else
libdir=$prefix/lib
fi
extra_args="--prefix=$prefix --localstatedir=$localstatedir"
extra_args="$extra_args --sysconfdir=$sysconfdir --libdir=$libdir"
shift
;;
*)
# All remaining arguments will be passed to configure verbatim
break
;;
esac
done
no_git="$no_git$gnulib_srcdir"
gnulib_hash()
{
local no_git=$1
if test "$no_git"; then
echo "no-git"
return
fi
# Compute the hash we'll use to determine whether rerunning bootstrap
# is required. The first is just the SHA1 that selects a gnulib snapshot.
# The second ensures that whenever we change the set of gnulib modules used
# by this package, we rerun bootstrap to pull in the matching set of files.
# The third ensures that whenever we change the set of local gnulib diffs,
# we rerun bootstrap to pull in those diffs.
git submodule status .gnulib | awk '{ print $1 }'
git hash-object bootstrap.conf
git ls-tree -d HEAD gnulib/local | awk '{ print $3 }'
}
# Only look into git submodules if we're in a git checkout autoreconf --verbose --force --install || exit 1
if test -d .git || test -f .git; then
# Check for dirty submodules if test "x$1" = "x--system"; then
if test -z "$CLEAN_SUBMODULE"; then shift
for path in $(git submodule status | awk '{ print $2 }'); do prefix=/usr
case "$(git diff "$path")" in libdir=$prefix/lib
*-dirty*) sysconfdir=/etc
echo "error: $path is dirty, please investigate" >&2 localstatedir=/var
echo "set CLEAN_SUBMODULE to discard submodule changes" >&2 if [ -d /usr/lib64 ]; then
exit 1 libdir=$prefix/lib64
;;
esac
done
fi
if test "$CLEAN_SUBMODULE" && test -z "$no_git"; then
if test -z "$dry_run"; then
echo "Cleaning up submodules..."
git submodule foreach 'git clean -dfqx && git reset --hard' || {
die "Cleaning up submodules failed"
}
fi
fi fi
EXTRA_ARGS="--prefix=$prefix --sysconfdir=$sysconfdir --localstatedir=$localstatedir --libdir=$libdir"
fi
# Update all submodules. If any of the submodules has not been cd "$olddir"
# initialized yet, it will be initialized now; moreover, any submodule
# with uncommitted changes will be returned to the expected state
echo "Updating submodules..."
git submodule update --init || {
die "Updating submodules failed"
}
# The expected hash, eg. the one computed after the last if [ "$NOCONFIGURE" = "" ]; then
# successful bootstrap run, is stored on disk $srcdir/configure $EXTRA_ARGS "$@" || exit 1
state_file=.git-module-status
expected_hash=$(cat "$state_file" 2>/dev/null)
actual_hash=$(gnulib_hash "$no_git")
if test "$actual_hash" = "$expected_hash" && test -f AUTHORS; then if [ "$1" = "--help" ]; then
# The gnulib hash matches our expectations, and all the files exit 0
# that can only be generated through bootstrap are present:
# we just need to run autoreconf. Unless we're performing a
# dry run, of course...
if test -z "$dry_run"; then
echo "Running autoreconf..."
autoreconf -if || {
die "autoreconf failed"
}
fi
else
# Whenever the gnulib submodule or any of the related bits
# has been changed in some way (see gnulib_hash) we need to
# run bootstrap again. If we're performing a dry run, we
# change the return code instead to signal our caller
if test "$dry_run"; then
dry_run=2
else else
echo "Running bootstrap..." echo "Now type 'make' to compile libvirt" || exit 1
./bootstrap$no_git --bootstrap-sync || {
die "bootstrap failed"
}
gnulib_hash >"$state_file"
fi fi
fi
fi
# When performing a dry run, we can stop here
test "$dry_run" && exit "$dry_run"
# If asked not to run configure, we can stop here
test "$NOCONFIGURE" && exit 0
cd "$starting_point" || {
die "Failed to cd into $starting_point"
}
if test "$OBJ_DIR"; then
mkdir -p "$OBJ_DIR" || {
die "Failed to create $OBJ_DIR"
}
cd "$OBJ_DIR" || {
die "Failed to cd into $OBJ_DIR"
}
fi
# Make sure we can find GNU make and tell the user
# the right command to run
MAKE=
for cmd in make gmake; do
if $cmd -v 2>&1 | grep -q "GNU Make"; then
MAKE=$cmd
break
fi
done
test "$MAKE" || {
die "GNU make is required to build libvirt"
}
if test -z "$*" && test -z "$extra_args" && test -f config.status; then
echo "Running config.status..."
./config.status --recheck || {
die "config.status failed"
}
else else
if test -z "$*" && test -z "$extra_args"; then echo "Skipping configure process."
echo "I am going to run configure with no arguments - if you wish"
echo "to pass any to it, please specify them on the $0 command line."
else
echo "Running configure with $extra_args $@"
fi
"$srcdir/configure" $extra_args "$@" || {
die "configure failed"
}
fi fi
echo
echo "Now type '$MAKE' to compile libvirt."
This diff is collapsed.
...@@ -220,6 +220,7 @@ ci-run-command@%: ci-prepare-tree ...@@ -220,6 +220,7 @@ ci-run-command@%: ci-prepare-tree
--login \ --login \
--user="#$(CI_UID)" \ --user="#$(CI_UID)" \
--group="#$(CI_GID)" \ --group="#$(CI_GID)" \
CONFIGURE_OPTS="$$CONFIGURE_OPTS" \
CI_CONT_SRCDIR="$(CI_CONT_SRCDIR)" \ CI_CONT_SRCDIR="$(CI_CONT_SRCDIR)" \
CI_CONT_BUILDDIR="$(CI_CONT_BUILDDIR)" \ CI_CONT_BUILDDIR="$(CI_CONT_BUILDDIR)" \
CI_SMP="$(CI_SMP)" \ CI_SMP="$(CI_SMP)" \
......
...@@ -25,9 +25,7 @@ if test $? != 0; then ...@@ -25,9 +25,7 @@ if test $? != 0; then
fi fi
find -name test-suite.log -delete find -name test-suite.log -delete
# gl_public_submodule_commit= to disable gnulib's submodule check make -j"$CI_SMP" $CI_MAKE_ARGS
# which breaks due to way we clone the submodules
make -j"$CI_SMP" gl_public_submodule_commit= $CI_MAKE_ARGS
if test $? != 0; then \ if test $? != 0; then \
LOGS=$(find -name test-suite.log) LOGS=$(find -name test-suite.log)
......
...@@ -22,10 +22,7 @@ ...@@ -22,10 +22,7 @@
/* /*
* Define __GNUC_PREREQ to a sane default if it isn't yet defined. * Define __GNUC_PREREQ to a sane default if it isn't yet defined.
* This is done here so that it's included as early as possible; gnulib relies * This is done here so that it's included as early as possible;
* on this to be defined in features.h, which should be included from ctype.h.
* This doesn't happen on many non-glibc systems.
* When __GNUC_PREREQ is not defined, gnulib defines it to 0, which breaks things.
*/ */
#ifndef __GNUC_PREREQ #ifndef __GNUC_PREREQ
# define __GNUC_PREREQ(maj, min) \ # define __GNUC_PREREQ(maj, min) \
......
This diff is collapsed.
This diff is collapsed.
...@@ -16,7 +16,7 @@ dnl You should have received a copy of the GNU Lesser General Public ...@@ -16,7 +16,7 @@ dnl You should have received a copy of the GNU Lesser General Public
dnl License along with this library. If not, see dnl License along with this library. If not, see
dnl <http://www.gnu.org/licenses/>. dnl <http://www.gnu.org/licenses/>.
AC_INIT([libvirt], [6.0.0], [libvir-list@redhat.com], [], [https://libvirt.org]) AC_INIT([libvirt], [6.2.0], [libvir-list@redhat.com], [], [https://libvirt.org])
if test $srcdir = "." if test $srcdir = "."
then then
...@@ -42,11 +42,6 @@ dnl we don't really need the 'u' even in older toolchains. Then there is ...@@ -42,11 +42,6 @@ dnl we don't really need the 'u' even in older toolchains. Then there is
dnl older libtool, which spelled it AR_FLAGS dnl older libtool, which spelled it AR_FLAGS
m4_divert_text([DEFAULTS], [: "${ARFLAGS=cr} ${AR_FLAGS=cr}"]) m4_divert_text([DEFAULTS], [: "${ARFLAGS=cr} ${AR_FLAGS=cr}"])
# Maintainer note - comment this line out if you plan to rerun
# GNULIB_POSIXCHECK testing to see if libvirt should be using more modules.
# Leave it uncommented for normal releases, for faster ./configure.
gl_ASSERT_NO_GNULIB_POSIXCHECK
# Default to using the silent-rules feature when possible. Formatting # Default to using the silent-rules feature when possible. Formatting
# chosen to bypass 'grep' checks that cause older automake to warn. # chosen to bypass 'grep' checks that cause older automake to warn.
# Users (include rpm) can still change the default at configure time. # Users (include rpm) can still change the default at configure time.
...@@ -55,6 +50,8 @@ m4_ifndef([AM_SILENT_RULES], ...@@ -55,6 +50,8 @@ m4_ifndef([AM_SILENT_RULES],
AC_CANONICAL_HOST AC_CANONICAL_HOST
AC_USE_SYSTEM_EXTENSIONS
# First extract pieces from the version number string # First extract pieces from the version number string
LIBVIRT_MAJOR_VERSION=`echo $VERSION | awk -F. '{print $1}'` LIBVIRT_MAJOR_VERSION=`echo $VERSION | awk -F. '{print $1}'`
LIBVIRT_MINOR_VERSION=`echo $VERSION | awk -F. '{print $2}'` LIBVIRT_MINOR_VERSION=`echo $VERSION | awk -F. '{print $2}'`
...@@ -132,14 +129,12 @@ AC_PROG_CPP ...@@ -132,14 +129,12 @@ AC_PROG_CPP
dnl autoconf 2.70 adds a --runstatedir option so that downstreams dnl autoconf 2.70 adds a --runstatedir option so that downstreams
dnl can point to /run instead of the historic /var/run, but dnl can point to /run instead of the historic /var/run, but
dnl autoconf hasn't had a release since 2012. dnl autoconf hasn't had a release since 2012.
dnl if test "x$runstatedir" = x; then
dnl gnulib sets configmake.h to include runstatedir, but sets AC_SUBST([runstatedir], ['${localstatedir}/run'])
dnl it to $localstatedir/run if $runstatedir env var is not set fi
dnl which is useless for apps that need to use /run without
dnl waiting for autoconf 2.70
dnl
dnl we introduce --with-runstatedir and then overwrite the dnl we introduce --with-runstatedir and then overwrite the
dnl value of $runstatedir so gnulib's configmake.h becomes useful dnl value of $runstatedir so configmake.h is more useful
AC_ARG_WITH( AC_ARG_WITH(
[runstatedir], [runstatedir],
[AS_HELP_STRING( [AS_HELP_STRING(
...@@ -152,8 +147,8 @@ then ...@@ -152,8 +147,8 @@ then
fi fi
gl_EARLY dnl get 64-int interfaces on 32-bit platforms
gl_INIT AC_SYS_LARGEFILE
AC_TYPE_UID_T AC_TYPE_UID_T
...@@ -183,8 +178,6 @@ case "$host" in ...@@ -183,8 +178,6 @@ case "$host" in
# mingw's ld has the --version-script parameter, but it requires a .def file # mingw's ld has the --version-script parameter, but it requires a .def file
# instead to work properly, therefore clear --version-script here and use # instead to work properly, therefore clear --version-script here and use
# -Wl, to pass the .def file to the linker # -Wl, to pass the .def file to the linker
# cygwin's ld has the --version-script parameter too, but for some reason
# it's working there as expected
VERSION_SCRIPT_FLAGS="-Wl," VERSION_SCRIPT_FLAGS="-Wl,"
;; ;;
* ) * )
...@@ -206,13 +199,12 @@ dnl are also linux specific. The "network" and storage_fs drivers are known ...@@ -206,13 +199,12 @@ dnl are also linux specific. The "network" and storage_fs drivers are known
dnl to not work on macOS presently, so we also make a note if compiling dnl to not work on macOS presently, so we also make a note if compiling
dnl for that dnl for that
with_linux=no with_macos=no with_freebsd=no with_win=no with_cygwin=no with_linux=no with_macos=no with_freebsd=no with_win=no
case $host in case $host in
*-*-linux*) with_linux=yes ;; *-*-linux*) with_linux=yes ;;
*-*-darwin*) with_macos=yes ;; *-*-darwin*) with_macos=yes ;;
*-*-freebsd*) with_freebsd=yes ;; *-*-freebsd*) with_freebsd=yes ;;
*-*-mingw* | *-*-msvc* ) with_win=yes ;; *-*-mingw* | *-*-msvc* ) with_win=yes ;;
*-*-cygwin*) with_cygwin=yes ;;
esac esac
if test $with_linux = no; then if test $with_linux = no; then
...@@ -229,17 +221,18 @@ if test $with_freebsd = yes; then ...@@ -229,17 +221,18 @@ if test $with_freebsd = yes; then
with_firewalld=no with_firewalld=no
fi fi
if test $with_cygwin = yes; then
with_vbox=no
fi
AM_CONDITIONAL([WITH_LINUX], [test "$with_linux" = "yes"]) AM_CONDITIONAL([WITH_LINUX], [test "$with_linux" = "yes"])
AM_CONDITIONAL([WITH_FREEBSD], [test "$with_freebsd" = "yes"]) AM_CONDITIONAL([WITH_FREEBSD], [test "$with_freebsd" = "yes"])
AM_CONDITIONAL([WITH_MACOS], [test "$with_macos" = "yes"]) AM_CONDITIONAL([WITH_MACOS], [test "$with_macos" = "yes"])
# We don't support the daemon yet
if test "$with_win" = "yes" ; then if test "$with_win" = "yes" ; then
# We don't support the daemon yet
with_libvirtd=no with_libvirtd=no
# For AI_ADDRCONFIG
AC_DEFINE([_WIN32_WINNT], [0x0600], [Win Vista / Server 2008])
AC_DEFINE([WINVER], [0x0600], [Win Vista / Server 2008])
fi fi
# The daemon requires remote support. Likewise, if we are not using # The daemon requires remote support. Likewise, if we are not using
...@@ -304,7 +297,6 @@ LIBVIRT_ARG_YAJL ...@@ -304,7 +297,6 @@ LIBVIRT_ARG_YAJL
LIBVIRT_CHECK_ACL LIBVIRT_CHECK_ACL
LIBVIRT_CHECK_APPARMOR LIBVIRT_CHECK_APPARMOR
LIBVIRT_CHECK_ATOMIC
LIBVIRT_CHECK_ATTR LIBVIRT_CHECK_ATTR
LIBVIRT_CHECK_AUDIT LIBVIRT_CHECK_AUDIT
LIBVIRT_CHECK_BASH_COMPLETION LIBVIRT_CHECK_BASH_COMPLETION
...@@ -353,8 +345,8 @@ AC_CHECK_SIZEOF([long]) ...@@ -353,8 +345,8 @@ AC_CHECK_SIZEOF([long])
dnl Availability of various common functions (non-fatal if missing), dnl Availability of various common functions (non-fatal if missing),
dnl and various less common threadsafe functions dnl and various less common threadsafe functions
AC_CHECK_FUNCS_ONCE([\ AC_CHECK_FUNCS_ONCE([\
cfmakeraw \
fallocate \ fallocate \
getegid \
geteuid \ geteuid \
getgid \ getgid \
getifaddrs \ getifaddrs \
...@@ -368,6 +360,7 @@ AC_CHECK_FUNCS_ONCE([\ ...@@ -368,6 +360,7 @@ AC_CHECK_FUNCS_ONCE([\
newlocale \ newlocale \
posix_fallocate \ posix_fallocate \
posix_memalign \ posix_memalign \
pipe2 \
prlimit \ prlimit \
sched_getaffinity \ sched_getaffinity \
sched_setscheduler \ sched_setscheduler \
...@@ -383,18 +376,22 @@ dnl Availability of various common headers (non-fatal if missing). ...@@ -383,18 +376,22 @@ dnl Availability of various common headers (non-fatal if missing).
AC_CHECK_HEADERS([\ AC_CHECK_HEADERS([\
ifaddrs.h \ ifaddrs.h \
libtasn1.h \ libtasn1.h \
util.h \
libutil.h \
linux/magic.h \ linux/magic.h \
mntent.h \ mntent.h \
net/ethernet.h \ net/ethernet.h \
netinet/tcp.h \ net/if.h \
pty.h \
pwd.h \ pwd.h \
stdarg.h \ stdarg.h \
syslog.h \ syslog.h \
sys/ioctl.h \
sys/mount.h \ sys/mount.h \
sys/syscall.h \ sys/syscall.h \
sys/sysctl.h \ sys/sysctl.h \
sys/ucred.h \ sys/ucred.h \
sys/un.h \ xlocale.h \
]) ])
dnl Check whether endian provides handy macros. dnl Check whether endian provides handy macros.
AC_CHECK_DECLS([htole64], [], [], [[#include <endian.h>]]) AC_CHECK_DECLS([htole64], [], [], [[#include <endian.h>]])
...@@ -430,6 +427,7 @@ dnl header could be found. ...@@ -430,6 +427,7 @@ dnl header could be found.
AM_CONDITIONAL([HAVE_LIBTASN1], [test "x$ac_cv_header_libtasn1_h" = "xyes"]) AM_CONDITIONAL([HAVE_LIBTASN1], [test "x$ac_cv_header_libtasn1_h" = "xyes"])
AC_CHECK_LIB([intl],[gettext],[]) AC_CHECK_LIB([intl],[gettext],[])
AC_CHECK_LIB([util],[openpty],[])
dnl dnl
...@@ -740,7 +738,7 @@ AM_CONDITIONAL([WITH_TESTS], [test "$with_test_suite" = "yes"]) ...@@ -740,7 +738,7 @@ AM_CONDITIONAL([WITH_TESTS], [test "$with_test_suite" = "yes"])
LIBVIRT_ARG_ENABLE([EXPENSIVE_TESTS], LIBVIRT_ARG_ENABLE([EXPENSIVE_TESTS],
[set the default for enabling expensive tests ] [set the default for enabling expensive tests ]
[(gnulib and long timeouts), use VIR_TEST_EXPENSIVE to ] [(long timeouts), use VIR_TEST_EXPENSIVE to ]
[override during make], [override during make],
[check]) [check])
case "$enable_expensive_tests" in case "$enable_expensive_tests" in
...@@ -776,9 +774,8 @@ if test "$enable_test_coverage" = yes; then ...@@ -776,9 +774,8 @@ if test "$enable_test_coverage" = yes; then
WARN_CFLAGS=$save_WARN_CFLAGS WARN_CFLAGS=$save_WARN_CFLAGS
fi fi
dnl Cygwin, MinGW and MSVC checks dnl MinGW checks
LIBVIRT_WIN_CHECK_COMMON LIBVIRT_WIN_CHECK_COMMON
LIBVIRT_WIN_CHECK_CYGWIN
LIBVIRT_WIN_CHECK_MINGW LIBVIRT_WIN_CHECK_MINGW
LIBVIRT_WIN_CHECK_SYMBOLS LIBVIRT_WIN_CHECK_SYMBOLS
LIBVIRT_WIN_CHECK_WINDRES LIBVIRT_WIN_CHECK_WINDRES
...@@ -920,8 +917,6 @@ AC_CONFIG_FILES([run], ...@@ -920,8 +917,6 @@ AC_CONFIG_FILES([run],
[chmod +x,-w run]) [chmod +x,-w run])
AC_CONFIG_FILES([\ AC_CONFIG_FILES([\
Makefile src/Makefile include/libvirt/Makefile docs/Makefile \ Makefile src/Makefile include/libvirt/Makefile docs/Makefile \
gnulib/lib/Makefile \
gnulib/tests/Makefile \
.color_coded \ .color_coded \
.ycm_extra_conf.py \ .ycm_extra_conf.py \
libvirt.pc \ libvirt.pc \
......
...@@ -248,6 +248,11 @@ if WITH_SANLOCK ...@@ -248,6 +248,11 @@ if WITH_SANLOCK
else ! WITH_SANLOCK else ! WITH_SANLOCK
manpages_rst += manpages/virt-sanlock-cleanup.rst manpages_rst += manpages/virt-sanlock-cleanup.rst
endif ! WITH_SANLOCK endif ! WITH_SANLOCK
if WITH_QEMU
manpages1_rst += manpages/virt-qemu-run.rst
else ! WITH_QEMU
manpages_rst += manpages/virt-qemu-run.rst
endif ! WITH_QEMU
manpages_rst_html_in = \ manpages_rst_html_in = \
$(manpages_rst:%.rst=%.html.in) $(manpages_rst:%.rst=%.html.in)
manpages_html = \ manpages_html = \
...@@ -262,21 +267,21 @@ man8_MANS = $(manpages8_rst:%.rst=%.8) ...@@ -262,21 +267,21 @@ man8_MANS = $(manpages8_rst:%.rst=%.8)
grep -v '^\.\. contents::' < $< | \ grep -v '^\.\. contents::' < $< | \
sed -e 's|SYSCONFDIR|$(sysconfdir)|g' \ sed -e 's|SYSCONFDIR|$(sysconfdir)|g' \
-e 's|RUNSTATEDIR|$(runstatedir)|g' | \ -e 's|RUNSTATEDIR|$(runstatedir)|g' | \
$(RST2MAN) > $@ || { rm $@ && exit 1; } $(RST2MAN) --strict > $@ || { rm $@ && exit 1; }
%.7: %.rst %.7: %.rst
$(AM_V_GEN)$(MKDIR_P) `dirname $@` && \ $(AM_V_GEN)$(MKDIR_P) `dirname $@` && \
grep -v '^\.\. contents::' < $< | \ grep -v '^\.\. contents::' < $< | \
sed -e 's|SYSCONFDIR|$(sysconfdir)|g' \ sed -e 's|SYSCONFDIR|$(sysconfdir)|g' \
-e 's|RUNSTATEDIR|$(runstatedir)|g' | \ -e 's|RUNSTATEDIR|$(runstatedir)|g' | \
$(RST2MAN) > $@ || { rm $@ && exit 1; } $(RST2MAN) --strict > $@ || { rm $@ && exit 1; }
%.8: %.rst %.8: %.rst
$(AM_V_GEN)$(MKDIR_P) `dirname $@` && \ $(AM_V_GEN)$(MKDIR_P) `dirname $@` && \
grep -v '^\.\. contents::' < $< | \ grep -v '^\.\. contents::' < $< | \
sed -e 's|SYSCONFDIR|$(sysconfdir)|g' \ sed -e 's|SYSCONFDIR|$(sysconfdir)|g' \
-e 's|RUNSTATEDIR|$(runstatedir)|g' | \ -e 's|RUNSTATEDIR|$(runstatedir)|g' | \
$(RST2MAN) > $@ || { rm $@ && exit 1; } $(RST2MAN) --strict > $@ || { rm $@ && exit 1; }
manpages/virkeycode-%.rst: $(top_srcdir)/src/keycodemapdb/data/keymaps.csv \ manpages/virkeycode-%.rst: $(top_srcdir)/src/keycodemapdb/data/keymaps.csv \
$(top_srcdir)/src/keycodemapdb/tools/keymap-gen Makefile.am $(top_srcdir)/src/keycodemapdb/tools/keymap-gen Makefile.am
...@@ -415,11 +420,11 @@ manpages/%.html.in: manpages/%.rst ...@@ -415,11 +420,11 @@ manpages/%.html.in: manpages/%.rst
grep -v '^:Manual ' < $< | \ grep -v '^:Manual ' < $< | \
sed -e 's|SYSCONFDIR|$(sysconfdir)|g' \ sed -e 's|SYSCONFDIR|$(sysconfdir)|g' \
-e 's|RUNSTATEDIR|$(runstatedir)|g' | \ -e 's|RUNSTATEDIR|$(runstatedir)|g' | \
$(RST2HTML) > $@ || { rm $@ && exit 1; } $(RST2HTML) --strict > $@ || { rm $@ && exit 1; }
%.html.in: %.rst %.html.in: %.rst
$(AM_V_GEN)$(MKDIR_P) `dirname $@` && \ $(AM_V_GEN)$(MKDIR_P) `dirname $@` && \
$(RST2HTML) $< > $@ || { rm $@ && exit 1; } $(RST2HTML) --strict $< > $@ || { rm $@ && exit 1; }
%.html.tmp: %.html.in site.xsl subsite.xsl page.xsl \ %.html.tmp: %.html.in site.xsl subsite.xsl page.xsl \
$(acl_generated) $(acl_generated)
......
This diff is collapsed.
...@@ -224,7 +224,7 @@ ...@@ -224,7 +224,7 @@
<dd> <dd>
Eucalyptus is an on-premise Infrastructure as a Service cloud Eucalyptus is an on-premise Infrastructure as a Service cloud
software platform that is open source and software platform that is open source and
AWS-compatible. Eucalyptus uses libivrt virtualization API to AWS-compatible. Eucalyptus uses libvirt virtualization API to
directly interact with Xen and KVM hypervisors. directly interact with Xen and KVM hypervisors.
</dd> </dd>
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
In addition to have formal messages sent to the audit subsystem it is In addition to have formal messages sent to the audit subsystem it is
possible to tell libvirt to inject messages into its own logging possible to tell libvirt to inject messages into its own logging
layer. This will result in messages ending up in the systemd journal layer. This will result in messages ending up in the systemd journal
or <code>/var/log/libvirt/libivrtd.log</code> on non-systemd hosts. or <code>/var/log/libvirt/libvirtd.log</code> on non-systemd hosts.
This is disabled by default, but can be requested by setting the This is disabled by default, but can be requested by setting the
<code>audit_logging=1</code> configuration parameter in the same file <code>audit_logging=1</code> configuration parameter in the same file
mentioned above. mentioned above.
......
...@@ -70,31 +70,6 @@ $ <b>sudo</b> <i>make install</i></pre> ...@@ -70,31 +70,6 @@ $ <b>sudo</b> <i>make install</i></pre>
will turn on -Werror for builds. This can be disabled with will turn on -Werror for builds. This can be disabled with
--disable-werror, but this is not recommended. --disable-werror, but this is not recommended.
</p> </p>
<p>
Libvirt takes advantage of
the <a href="http://www.gnu.org/software/gnulib/">gnulib</a>
project to provide portability to a number of platforms. This
is normally done dynamically via a git submodule in
the <code>.gnulib</code> subdirectory, which is auto-updated as
needed when you do incremental builds. Setting the environment
variable <code>GNULIB_SRCDIR</code> to a local directory
containing a git checkout of gnulib will let you reduce local
disk space requirements and network download time, regardless of
which actual commit you have in that reference directory.
</p>
<p>
However, if you are developing on a platform where git is not
available, or are behind a firewall that does not allow for git
to easily obtain the gnulib submodule, it is possible to instead
use a static mode of operation where you are then responsible
for updating the git submodule yourself. In this mode, you must
track the exact gnulib commit needed by libvirt (usually not the
latest gnulib.git) via alternative means, such as a shared NFS
drive or manual download, and run this any time libvirt.git
updates the commit stored in the .gnulib submodule:</p>
<pre>
$ GNULIB_SRCDIR=/path/to/gnulib ./autogen.sh --no-git
</pre>
<p>To build &amp; install libvirt to your home <p>To build &amp; install libvirt to your home
directory the following commands can be run: directory the following commands can be run:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment