[libvirt] [PATCH] Add support for VNC autoport feature for bhyve hypervisor.
by Alexander Nusov
This patch adds support for automatic VNC port assignment for bhyve guests.
---
src/bhyve/bhyve_command.c | 9 +++++++++
src/bhyve/bhyve_driver.c | 5 +++++
src/bhyve/bhyve_utils.h | 3 +++
3 files changed, 17 insertions(+)
diff --git a/src/bhyve/bhyve_command.c b/src/bhyve/bhyve_command.c
index eae5cb3ca..4d35a05c5 100644
--- a/src/bhyve/bhyve_command.c
+++ b/src/bhyve/bhyve_command.c
@@ -339,6 +339,9 @@ bhyveBuildGraphicsArgStr(const virDomainDef *def ATTRIBUTE_UNUSED,
virBuffer opt = VIR_BUFFER_INITIALIZER;
virDomainGraphicsListenDefPtr glisten = NULL;
bool escapeAddr;
+ unsigned short port;
+
+ bhyveConnPtr driver = conn->privateData;
if (!(bhyveDriverGetCaps(conn) & BHYVE_CAP_LPC_BOOTROM) ||
def->os.bootloader ||
@@ -401,6 +404,12 @@ bhyveBuildGraphicsArgStr(const virDomainDef *def ATTRIBUTE_UNUSED,
virBufferAdd(&opt, glisten->address, -1);
}
+ if (graphics->data.vnc.autoport) {
+ if (virPortAllocatorAcquire(driver->remotePorts, &port) < 0)
+ return -1;
+ graphics->data.vnc.port = port;
+ }
+
virBufferAsprintf(&opt, ":%d", graphics->data.vnc.port);
break;
default:
diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c
index ed2221a35..bffeea7d9 100644
--- a/src/bhyve/bhyve_driver.c
+++ b/src/bhyve/bhyve_driver.c
@@ -52,6 +52,7 @@
#include "viraccessapicheck.h"
#include "virhostcpu.h"
#include "virhostmem.h"
+#include "virportallocator.h"
#include "conf/domain_capabilities.h"
#include "bhyve_conf.h"
@@ -1219,6 +1220,7 @@ bhyveStateCleanup(void)
virObjectUnref(bhyve_driver->closeCallbacks);
virObjectUnref(bhyve_driver->domainEventState);
virObjectUnref(bhyve_driver->config);
+ virObjectUnref(bhyve_driver->remotePorts);
virMutexDestroy(&bhyve_driver->lock);
VIR_FREE(bhyve_driver);
@@ -1265,6 +1267,9 @@ bhyveStateInitialize(bool privileged,
if (!(bhyve_driver->domainEventState = virObjectEventStateNew()))
goto cleanup;
+ if (!(bhyve_driver->remotePorts = virPortAllocatorNew(_("display"), 5900, 65535, 0)))
+ goto cleanup;
+
bhyve_driver->hostsysinfo = virSysinfoRead();
if (!(bhyve_driver->config = virBhyveDriverConfigNew()))
diff --git a/src/bhyve/bhyve_utils.h b/src/bhyve/bhyve_utils.h
index db50e012a..8ad2698d4 100644
--- a/src/bhyve/bhyve_utils.h
+++ b/src/bhyve/bhyve_utils.h
@@ -28,6 +28,7 @@
# include "virdomainobjlist.h"
# include "virthread.h"
# include "virclosecallbacks.h"
+# include "virportallocator.h"
# define BHYVE_AUTOSTART_DIR SYSCONFDIR "/libvirt/bhyve/autostart"
# define BHYVE_CONFIG_DIR SYSCONFDIR "/libvirt/bhyve"
@@ -58,6 +59,8 @@ struct _bhyveConn {
virCloseCallbacksPtr closeCallbacks;
+ virPortAllocatorPtr remotePorts;
+
unsigned bhyvecaps;
unsigned grubcaps;
};
--
2.12.1
7 years, 6 months
[libvirt] [PATCHv4 0/6] Support more options for intel-iommu
by Ján Tomko
https://bugzilla.redhat.com/show_bug.cgi?id=1427005
v1: https://www.redhat.com/archives/libvir-list/2017-March/msg01072.html
v2: https://www.redhat.com/archives/libvir-list/2017-April/msg00932.html
v3: https://www.redhat.com/archives/libvir-list/2017-April/msg01248.html
new in v4:
* mention VT-d in the docs
* rename irqchip mode to ioapic driver
* rename caching to caching_mode
* mention intremap's dependency on ioapic in the intermap section
* add a separate versioned capability for kernel-irqchip=split
Ján Tomko (6):
conf: add <ioapic driver> to <features>
qemu: format kernel_irqchip on the command line
conf: add <driver intremap> to <iommu>
qemu: format intel-iommu,intremap on the command line
conf: add caching_mode attribute to iommu device
qemu: format caching-mode on iommu command line
docs/formatdomain.html.in | 41 +++++++++-
docs/schemas/domaincommon.rng | 29 +++++++
src/conf/domain_conf.c | 89 ++++++++++++++++++++--
src/conf/domain_conf.h | 13 ++++
src/qemu/qemu_capabilities.c | 18 +++++
src/qemu/qemu_capabilities.h | 6 ++
src/qemu/qemu_command.c | 54 +++++++++++++
tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml | 1 +
.../qemucapabilitiesdata/caps_2.4.0.x86_64.replies | 22 ++++--
tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml | 1 +
.../qemucapabilitiesdata/caps_2.5.0.x86_64.replies | 24 ++++--
tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml | 1 +
.../caps_2.6.0-gicv2.aarch64.xml | 2 +
.../caps_2.6.0-gicv3.aarch64.xml | 2 +
tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml | 2 +
.../qemucapabilitiesdata/caps_2.6.0.x86_64.replies | 24 ++++--
tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml | 2 +
tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml | 2 +
.../qemucapabilitiesdata/caps_2.7.0.x86_64.replies | 28 +++++--
tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml | 3 +
tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 2 +
.../qemucapabilitiesdata/caps_2.8.0.x86_64.replies | 37 +++++++--
tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml | 3 +
.../qemucapabilitiesdata/caps_2.9.0.x86_64.replies | 49 +++++++++---
tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 4 +
.../qemuxml2argv-intel-iommu-caching-mode.args | 25 ++++++
.../qemuxml2argv-intel-iommu-caching-mode.xml | 50 ++++++++++++
.../qemuxml2argv-intel-iommu-ioapic.args | 19 +++++
.../qemuxml2argv-intel-iommu-ioapic.xml | 31 ++++++++
tests/qemuxml2argvtest.c | 17 +++++
.../qemuxml2xmlout-intel-iommu-caching-mode.xml | 1 +
.../qemuxml2xmlout-intel-iommu-ioapic.xml | 1 +
tests/qemuxml2xmltest.c | 2 +
36 files changed, 559 insertions(+), 49 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-intel-iommu-caching-mode.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-intel-iommu-caching-mode.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-intel-iommu-ioapic.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-intel-iommu-ioapic.xml
create mode 120000 tests/qemuxml2xmloutdata/qemuxml2xmlout-intel-iommu-caching-mode.xml
create mode 120000 tests/qemuxml2xmloutdata/qemuxml2xmlout-intel-iommu-ioapic.xml
--
2.10.2
7 years, 6 months
[libvirt] libvirt-python RPM installation not recognized by pip
by Cleber Rosa
Hello,
When using the standard "requirements.txt" files for installation
package dependencies, I noticed that "libvirt-python" would attempt to
be installed by "pip" even when the equivalent RPM package is already
installed.
For instance, on a Fedora 25 system:
$ rpm -q libvirt-python
libvirt-python-2.2.0-1.fc25.x86_64
$ python -e 'import pkg_resources;
pkg_resources.get_distribution("libvirt-python")'
...
pkg_resources.DistributionNotFound: The 'libvirt-python' distribution
was not found and is required by the application
The provider (the actual module) is actually present, but (rightfully
so) under the name "libvirt":
$ python -c 'import pkg_resources; print
pkg_resources.get_provider("libvirt")'
<pkg_resources.DefaultProvider instance at 0x7fdfbc67a488>
At first sight, this seems to be caused by the lack of an "egg-info"
file, such as:
$PYTHON_SITE_PACKAGES/libvirt_python-2.2.0-py2.7.egg-info
I'm reporting a supposedly packaging issue here since the libvirt-python
setup.py file itself includes support for a custom rpm command.
Please advise if any of this is intentional, and/or whether this should
indeed be reported here or on downstream only.
Regards,
--
Cleber Rosa
[ Sr Software Engineer - Virtualization Team - Red Hat ]
[ Avocado Test Framework - avocado-framework.github.io ]
[ 7ABB 96EB 8B46 B94D 5E0F E9BB 657E 8D33 A5F2 09F3 ]
7 years, 6 months
[libvirt] [PATCH] safer default storage dir permissions
by Christian Ehrhardt
Hi,
while cleaning out patchs that we held for a while on top of libvirt
I found this patch of Serge (thanks!) which I think would make just as
much sense in the upstream project itself.
Or in case the discussion might unveil why it might not make sense,
that would also be a win for us to adapt.
I modified the older patch to match latest master (files owning
the code changed) and added the matching doc update to be complete.
Serge Hallyn (1):
storage: use 0711 as the default perms for dirs
docs/formatstorage.html.in | 2 +-
src/storage/storage_util.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
--
2.7.4
7 years, 6 months
[libvirt] [PATCH v2 0/3] improve detection of UNIX path generated by libvirt
by Pavel Hrdina
Pavel Hrdina (3):
util: introduce virStringMatch
util: introduce virBufferEscapeRegex
qemu: improve detection of UNIX path generated by libvirt
src/libvirt_private.syms | 2 +
src/qemu/qemu_domain.c | 51 ++++++++++++++++++----
src/util/virbuffer.c | 19 ++++++++
src/util/virbuffer.h | 3 ++
src/util/virstring.c | 33 ++++++++++++++
src/util/virstring.h | 3 ++
.../qemuxml2argv-channel-unix-gen-path1.xml | 17 ++++++++
.../qemuxml2argv-channel-unix-gen-path2.xml | 17 ++++++++
.../qemuxml2argv-channel-unix-gen-path3.xml | 17 ++++++++
.../qemuxml2argv-channel-unix-user-path.xml | 17 ++++++++
.../qemuxml2xmlout-channel-unix-gen-path1.xml | 32 ++++++++++++++
.../qemuxml2xmlout-channel-unix-gen-path2.xml | 32 ++++++++++++++
.../qemuxml2xmlout-channel-unix-gen-path3.xml | 32 ++++++++++++++
.../qemuxml2xmlout-channel-unix-user-path.xml | 33 ++++++++++++++
tests/qemuxml2xmltest.c | 5 +++
tests/virbuftest.c | 40 +++++++++++++++++
tests/virstringtest.c | 47 ++++++++++++++++++++
17 files changed, 391 insertions(+), 9 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-channel-unix-gen-path1.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-channel-unix-gen-path2.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-channel-unix-gen-path3.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-channel-unix-user-path.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-channel-unix-gen-path1.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-channel-unix-gen-path2.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-channel-unix-gen-path3.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-channel-unix-user-path.xml
--
2.13.0
7 years, 6 months
[libvirt] [PATCH v2 00/38] Implement sparse streams for libvirt
by Michal Privoznik
v2 of:
https://www.redhat.com/archives/libvir-list/2017-April/msg00671.html
All the patches can be found on my github:
https://github.com/zippy2/libvirt/tree/sparse_iohelper5
diff to v1:
- Do not drop the pipe in 06/38. Use it for signaling to the
event loop that there's a message in the queue waiting to be
processed.
- Dropped the error report in virNetClientStreamRecvPacket in
31/38. It was useless.
Michal Privoznik (38):
fdstreamtest: Rename tempdir
fdstreamtest: Print more info on read failure
fdstream: s/struct virFDStreamData */virFDStreamDataPtr/
virFDStreamData: Turn into virObjectLockable
virfdstream: Drop iohelper in favour of a thread
virfdstream: Use messages instead of pipe
iohelper: Remove unused mode
util: Introduce virFileInData
Introduce virStreamRecvFlags
Implement virStreamRecvFlags to some drivers
Introduce virStreamSkip
Introduce virStreamHoleSize
Introduce VIR_STREAM_RECV_STOP_AT_HOLE flag
Introduce virStreamSparseRecvAll
Introduce virStreamSparseSendAll
Introduce virStreamInData
virNetClientStreamNew: Track origin stream
Track if stream is skippable
RPC: Introduce virNetStreamSkip
Introduce VIR_NET_STREAM_SKIP message type
Teach wireshark plugin about VIR_NET_STREAM_SKIP
daemon: Introduce virNetServerProgramSendStreamSkip
virnetclientstream: Introduce virNetClientStreamSendSkip
daemon: Implement VIR_NET_STREAM_SKIP handling
virnetclientstream: Introduce virNetClientStreamHandleSkip
remote_driver: Implement virStreamSkip
virNetClientStreamRecvPacket: Introduce @flags argument
Introduce virNetClientStreamHoleSize
remote: Implement virStreamHoleSize
virNetClientStream: Wire up VIR_NET_STREAM_SKIP
remote_driver: Implement VIR_STREAM_RECV_STOP_AT_HOLE
daemonStreamHandleRead: Wire up seekable stream
daemon: Don't call virStreamInData so often
daemon: Don't call virStreamInData so often
gendispatch: Introduce @sparseflag for our calls
Introduce virStorageVol{Download,Upload}Flags
virsh: Implement sparse stream to vol-download
virsh: Implement sparse stream to vol-upload
daemon/remote.c | 2 +-
daemon/stream.c | 147 +++++-
daemon/stream.h | 3 +-
include/libvirt/libvirt-storage.h | 9 +
include/libvirt/libvirt-stream.h | 102 +++-
src/driver-stream.h | 23 +
src/esx/esx_stream.c | 16 +-
src/libvirt-storage.c | 4 +-
src/libvirt-stream.c | 456 +++++++++++++++++
src/libvirt_internal.h | 3 +
src/libvirt_private.syms | 2 +
src/libvirt_public.syms | 9 +
src/libvirt_remote.syms | 3 +
src/remote/remote_driver.c | 89 +++-
src/remote/remote_protocol.x | 2 +
src/rpc/gendispatch.pl | 21 +-
src/rpc/virnetclient.c | 1 +
src/rpc/virnetclientstream.c | 201 +++++++-
src/rpc/virnetclientstream.h | 17 +-
src/rpc/virnetprotocol.x | 16 +-
src/rpc/virnetserverprogram.c | 33 ++
src/rpc/virnetserverprogram.h | 7 +
src/storage/storage_driver.c | 4 +-
src/storage/storage_util.c | 10 +-
src/util/iohelper.c | 72 +--
src/util/virfdstream.c | 926 ++++++++++++++++++++++++++++-------
src/util/virfdstream.h | 2 +-
src/util/virfile.c | 81 +++
src/util/virfile.h | 3 +
src/virnetprotocol-structs | 4 +
tests/fdstreamtest.c | 12 +-
tests/virfiletest.c | 203 ++++++++
tools/virsh-util.c | 65 +++
tools/virsh-util.h | 29 ++
tools/virsh-volume.c | 50 +-
tools/virsh.pod | 6 +-
tools/wireshark/src/packet-libvirt.c | 48 ++
tools/wireshark/src/packet-libvirt.h | 2 +
38 files changed, 2369 insertions(+), 314 deletions(-)
--
2.10.2
7 years, 6 months
[libvirt] [PATCH] RFE: virsh: add domxml-to-native <fmt> [--domain DOMAIN] option
by Dan
Bug 835476 RFE: virsh: add domxml-to-native --domain option (for existing
VM) [1]
virsh DOMAIN COMMAND domxml-to-native did not support domain (id|uuid|name)
as input for generating hypervisor agent native command, instead only
supported
XML input from STDIN. Here in this patch, it supports the following syntax:
domxml-to-native <format> { [--domain DOMAIN] | [XML] }, i.e., it supports
either designating domain (domain id, uuid, or name), or path to XML domain
configuration file; NOTE that it deprecated existing STDIN input passing XML
functionality. It was tested on the test mock driver and QEMU.
[1]. https://bugzilla.redhat.com/show_bug.cgi?id=835476
Dan
---
tools/virsh-domain.c | 68
++++++++++++++++++++++++++++++++++++++++++----------
1 file changed, 55 insertions(+), 13 deletions(-)
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index db8accfe4..9ac855b19 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -60,6 +60,7 @@
#include "virsh-nodedev.h"
#include "viruri.h"
+
/* Gnulib doesn't guarantee SA_SIGINFO support. */
#ifndef SA_SIGINFO
# define SA_SIGINFO 0
@@ -9811,9 +9812,13 @@ static const vshCmdOptDef opts_domxmltonative[] = {
.flags = VSH_OFLAG_REQ,
.help = N_("target config data type format")
},
+ {.name = "domain",
+ .type = VSH_OT_DATA,
+ .flags = VSH_OFLAG_REQ_OPT,
+ .help = N_("domain name, id or uuid")
+ },
{.name = "xml",
.type = VSH_OT_DATA,
- .flags = VSH_OFLAG_REQ,
.help = N_("xml data file to export from")
},
{.name = NULL}
@@ -9822,31 +9827,68 @@ static const vshCmdOptDef opts_domxmltonative[] = {
static bool
cmdDomXMLToNative(vshControl *ctl, const vshCmd *cmd)
{
- bool ret = true;
const char *format = NULL;
const char *xmlFile = NULL;
- char *configData;
- char *xmlData;
+ const char *domain = NULL;
+ char *configData = NULL;
+ char *xmlData = NULL;
unsigned int flags = 0;
+ unsigned int domflags = 0;
virshControlPtr priv = ctl->privData;
+ virDomainPtr dom = NULL;
- if (vshCommandOptStringReq(ctl, cmd, "format", &format) < 0 ||
- vshCommandOptStringReq(ctl, cmd, "xml", &xmlFile) < 0)
+ if (vshCommandOptStringReq(ctl, cmd, "format", &format) < 0)
return false;
+
+ if (vshCommandOptStringReq(ctl, cmd, "domain", &domain) < 0)
+ return false;
- if (virFileReadAll(xmlFile, VSH_MAX_XML_FILE, &xmlData) < 0)
- return false;
+ if (vshCommandOptStringReq(ctl, cmd, "xml", &xmlFile) < 0)
+ return false;
+
+ VSH_EXCLUSIVE_OPTIONS_VAR(domain, xmlFile);
+
+ if (domain) {
+ domflags = VIRSH_BYID | VIRSH_BYUUID | VIRSH_BYNAME;
+ dom = virshLookupDomainBy(ctl, domain, domflags);
+ }
+
+ if (!dom && !xmlFile) {
+ vshError(ctl, _("need either xml file input or domain"));
+ return false;
+ }
+
+ if(dom){
+ xmlData = virDomainGetXMLDesc(dom, flags);
+ if (xmlData == NULL) {
+ virshDomainFree(dom);
+ return false;
+ }
+ }
+
+ if (xmlFile) {
+ if (virFileReadAll(xmlFile, VSH_MAX_XML_FILE, &xmlData) < 0) {
+ vshReportError(ctl);
+ VIR_FREE(xmlData);
+ return false;
+ }
+ }
configData = virConnectDomainXMLToNative(priv->conn, format, xmlData,
flags);
+
if (configData != NULL) {
- vshPrint(ctl, "%s", configData);
- VIR_FREE(configData);
+ vshPrint(ctl, "%s", configData);
+ VIR_FREE(xmlData);
+ VIR_FREE(configData);
+ virDomainFree(dom);
+ return true;
} else {
- ret = false;
+ VIR_FREE(xmlData);
+ virDomainFree(dom);
+ return false;
}
- VIR_FREE(xmlData);
- return ret;
+ return false;
}
/*
--
2.12.2
7 years, 6 months
[libvirt] [PATCH] util: conf: Don't log when adding commented out lines
by Peter Krempa
virConfAddEntry spams debug logs even for fully commented out lines.
Skip such messages to avoid:
2017-05-12 12:35:38.867+0000: 10820: debug : virConfAddEntry:241 : Add entry (null) (nil)
2017-05-12 12:35:38.867+0000: 10820: debug : virConfAddEntry:241 : Add entry (null) (nil)
2017-05-12 12:35:38.867+0000: 10820: debug : virConfAddEntry:241 : Add entry (null) (nil)
2017-05-12 12:35:38.867+0000: 10820: debug : virConfAddEntry:241 : Add entry (null) (nil)
2017-05-12 12:35:38.867+0000: 10820: debug : virConfAddEntry:241 : Add entry (null) (nil)
...
This also fixes NULL passed to printf.
---
src/util/virconf.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/util/virconf.c b/src/util/virconf.c
index 9840ca6c7..4498d253a 100644
--- a/src/util/virconf.c
+++ b/src/util/virconf.c
@@ -238,7 +238,10 @@ virConfAddEntry(virConfPtr conf, char *name, virConfValuePtr value, char *comm)
if ((comm == NULL) && (name == NULL))
return NULL;
- VIR_DEBUG("Add entry %s %p", name, value);
+ /* don't log fully commented out lines */
+ if (name)
+ VIR_DEBUG("Add entry %s %p", name, value);
+
if (VIR_ALLOC(ret) < 0)
return NULL;
--
2.12.2
7 years, 6 months
[libvirt] [PATCH] test-wrap-argv.pl: Accept short parameter -i for --in-place
by Martin Kletzander
I like to use it that way and every time I try running it I just
instinctively use '-i' (like with sed, etc.) and it makes sense, IMHO.
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
tests/test-wrap-argv.pl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/test-wrap-argv.pl b/tests/test-wrap-argv.pl
index f0d3c0ba2d10..7867e9d7194e 100755
--- a/tests/test-wrap-argv.pl
+++ b/tests/test-wrap-argv.pl
@@ -31,7 +31,7 @@
$in_place = 0;
$check = 0;
-if (@ARGV[0] eq "--in-place") {
+if (@ARGV[0] eq "--in-place" or @ARGV[0] eq "-i") {
$in_place = 1;
shift @ARGV;
} elsif (@ARGV[0] eq "--check") {
--
2.12.2
7 years, 6 months
[libvirt] [PATCH] docs: install html fonts and related
by Nikolay Shirokovskiy
---
docs/Makefile.am | 22 ++++++++++++++++++++--
1 file changed, 20 insertions(+), 2 deletions(-)
diff --git a/docs/Makefile.am b/docs/Makefile.am
index 105fe68..7a10a50 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -54,6 +54,20 @@ css = \
libvirt.css \
main.css
+fonts = \
+ fonts/LICENSE.md \
+ fonts/stylesheet.css \
+ fonts/overpass-bold-italic.woff \
+ fonts/overpass-bold.woff \
+ fonts/overpass-italic.woff \
+ fonts/overpass-light-italic.woff \
+ fonts/overpass-light.woff \
+ fonts/overpass-mono-bold.woff \
+ fonts/overpass-mono-light.woff \
+ fonts/overpass-mono-regular.woff \
+ fonts/overpass-mono-semibold.woff \
+ fonts/overpass-regular.woff
+
devhelppng = \
devhelp/home.png \
devhelp/left.png \
@@ -163,7 +177,7 @@ EXTRA_DIST= \
$(devhelphtml) $(devhelppng) $(devhelpcss) $(devhelpxsl) \
$(xml) $(qemu_xml) $(lxc_xml) $(admin_xml) $(fig) $(png) $(css) \
$(logofiles) $(patches) $(dot_php_in) $(dot_php_code_in) $(dot_php)\
- $(internals_html_in) $(internals_html) \
+ $(internals_html_in) $(internals_html) $(fonts) \
aclperms.htmlinc \
hvsupport.pl \
$(schema_DATA)
@@ -383,9 +397,13 @@ install-data-local:
for file in $(devhelphtml) $(devhelppng) $(devhelpcss); do \
$(INSTALL) -m 0644 $(srcdir)/$${file} $(DESTDIR)$(DEVHELP_DIR) ; \
done
+ $(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/fonts
+ for f in $(fonts); do \
+ $(INSTALL) -m 0644 $(srcdir)/$$f $(DESTDIR)$(HTML_DIR)/fonts; \
+ done
uninstall-local:
- for f in $(css) $(dot_html) $(gif) $(png); do \
+ for f in $(css) $(dot_html) $(gif) $(png) $(fonts); do \
rm -f $(DESTDIR)$(HTML_DIR)/$$f; \
done
for f in $(logofiles); do \
--
1.8.3.1
7 years, 6 months