]> xenbits.xensource.com Git - libvirt.git/log
libvirt.git
7 years agovirNumaGetHugePageInfo: Return page_avail and page_free as ULL
Michal Privoznik [Mon, 23 Apr 2018 14:36:53 +0000 (16:36 +0200)]
virNumaGetHugePageInfo: Return page_avail and page_free as ULL

https://bugzilla.redhat.com/show_bug.cgi?id=1569678

On some large systems (with ~400GB of RAM) it is possible for
unsigned int to overflow in which case we report invalid number
of 4K pages pool size. Switch to unsigned long long.

We hit overflow in virNumaGetPages when doing:

    huge_page_sum += 1024 * page_size * page_avail;

because although 'huge_page_sum' is an unsigned long long, the
page_size and page_avail are both unsigned int, so the promotion
to unsigned long long doesn't happen until the sum has been
calculated, by which time we've already overflowed.

Turning page_avail into a unsigned long long is not strictly
needed until we need ability to represent more than 2^32
4k pages, which equates to 16 TB of RAM. That's not
outside the realm of possibility, so makes sense that we
change it to unsigned long long to avoid future problems.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agotools: do not report unknown guests in print_guests_shutdown
Christian Ehrhardt [Thu, 19 Apr 2018 06:41:03 +0000 (08:41 +0200)]
tools: do not report unknown guests in print_guests_shutdown

If another event in background while running libvirt-guests.sh
completely undefines a guest it will no more be available for proper
reporting of its shutdown.

This appears in the log as:
  Failed to determint state of guest: <UUID>. Not tracking it anymore
  Shutdown of guest  complete

The first message already reports that we are giving up on the guest
(per UUID which is all we have left at that point). To avoid the message
with an empty guest_name in such a case lets check what guest_name
returned and only print a report on valid content.

Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Dariusz Gadomski <dariusz.gadomski@canonical.com>
7 years agotools: fix check_guests_shutdown loop
Christian Ehrhardt [Thu, 19 Apr 2018 06:41:02 +0000 (08:41 +0200)]
tools: fix check_guests_shutdown loop

The recent fix to libvirt-guests.sh.in works for what it intended to fix
(variable scope) but failed to adapt the loop in check_guests_shutdown
correctly. Due to that it currently might detect all guests as "Failed to
determine state of guest" by bad var content or just assumes they are shut
down by picking up an empty variable.

This commit fixes loop to use the passed value and the call in the loop
to actually use the variable assigned in the iterated.

Fixes: 7e476356 "tools: fix variable scope in in check_guests_shutdown"
Fixes: https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1764668
Reviewed-by: Dariusz Gadomski <dariusz.gadomski@canonical.com>
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
7 years agonews: Document rom.enabled attribute for PCI devices
Andrea Bolognani [Fri, 20 Apr 2018 15:26:07 +0000 (17:26 +0200)]
news: Document rom.enabled attribute for PCI devices

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
7 years agotests: Make sure rom.file='' for PCI devices keeps working
Andrea Bolognani [Mon, 23 Apr 2018 11:45:59 +0000 (13:45 +0200)]
tests: Make sure rom.file='' for PCI devices keeps working

Even though we just introduced the rom.enabled attribute to
properly cover the use case, there might be guests out there
that use the only previously available way of disabling PCI
ROM loading by not opting in to schema validation.

To make sure such guests will keep working going forward,
introduce a test case covering the legacy workaround.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
7 years agoqemu: Format rom.enabled attribute for PCI devices
Andrea Bolognani [Fri, 20 Apr 2018 15:17:11 +0000 (17:17 +0200)]
qemu: Format rom.enabled attribute for PCI devices

The attribute can be used to disable ROM loading completely
for a device.

This might be needed because, even when the guest is configured
such that the PCI ROM will not be loaded in the PCI BAR, some
hypervisors (eg. QEMU) might still make it available to the
guest in a form (eg. fw_cfg) that some firmwares (eg. SeaBIOS)
will consume, thus not achieving the desired result.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1425058

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
7 years agoconf: Add rom.enabled attribute for PCI devices
Andrea Bolognani [Thu, 19 Apr 2018 15:55:41 +0000 (17:55 +0200)]
conf: Add rom.enabled attribute for PCI devices

The attribute can be used to disable ROM loading completely
for a device.

This might be needed because, even when the guest is configured
such that the PCI ROM will not be loaded in the PCI BAR, some
hypervisors (eg. QEMU) might still make it available to the
guest in a form (eg. fw_cfg) that some firmwares (eg. SeaBIOS)
will consume, thus not achieving the desired result.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
7 years agoconf: Rework/rename virDomainObjListFindByIDRef
John Ferlan [Fri, 9 Mar 2018 15:59:28 +0000 (10:59 -0500)]
conf: Rework/rename virDomainObjListFindByIDRef

Rework the code such that virDomainObjListFindByID will always
return a locked/ref counted object so that the callers can
always do the same cleanup logic to call virDomainObjEndAPI.
Makes accessing the objects much more consistent.

NB:
There were 2 callers (lxcDomainLookupByID and qemuDomainLookupByID)
that were already using the ByID name, but not virDomainObjEndAPI -
these were changed as well in this update/patch.

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
7 years agoconf: Rework/rename virDomainObjListFindByUUIDRef
John Ferlan [Fri, 9 Mar 2018 15:47:46 +0000 (10:47 -0500)]
conf: Rework/rename virDomainObjListFindByUUIDRef

Now that every caller is using virDomainObjListFindByUUIDRef,
let's just remove it and keep the name as virDomainObjListFindByUUID.

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
7 years agogit: add config file telling git-publish how to send patches
Daniel P. Berrangé [Wed, 18 Apr 2018 17:30:38 +0000 (18:30 +0100)]
git: add config file telling git-publish how to send patches

The "git-publish" tool is a useful git extension for sending patch
series for code review. It automatically creates versioned tags
each time code on a branch is sent, so that there is a record of
each version. It also remembers the cover letter so it does not
need re-entering each time the series is reposted.

With this config file present it is now sufficient[1] to run

  $ git publish

to send all patches in a branch to the list for review

[1] Assuming your $HOME/.gitconfig has an SMTP server listed
at least e.g.

   [sendemail]
        smtpserver = smtp.example.com

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agotests: Xen: use qemu-system-i386 for emulator
Jim Fehlig [Wed, 11 Apr 2018 16:38:14 +0000 (10:38 -0600)]
tests: Xen: use qemu-system-i386 for emulator

Many of the old xm and sexpr test files used qemu-dm as the emulator.
Modern Xen systems no longer use the old, forked qemu-dm, instead
preferring the distro provided qemu or an "upstream" qemu that is
built when the Xen tools are built. This qemu is typically installed
in /usr/lib/xen/bin/qemu-system-i386.

The libxl test files already use /usr/lib/xen/bin/qemu-system-i386.
For consistency, change the old test files to use the same emulator

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agovz: Use virDomainObjListFindBy{UUID|ID}Ref
John Ferlan [Fri, 9 Mar 2018 15:30:47 +0000 (10:30 -0500)]
vz: Use virDomainObjListFindBy{UUID|ID}Ref

For vzDomainLookupByID and vzDomainLookupByUUID let's
return a locked and referenced @vm object so that callers
can then use the common and more consistent virDomainObjEndAPI
in order to handle cleanup rather than needing to know that the
returned object is locked and calling virObjectUnlock.

The LookupByName already returns the ref counted and locked object,
so this will make things more consistent.

Also adjust the prlsdkHandle{VmState|VmRemoved|Perf}Event APIs
in the same manner.

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
7 years agovz: Unify vzDomObjFromDomain{Ref}
John Ferlan [Fri, 9 Mar 2018 14:59:00 +0000 (09:59 -0500)]
vz: Unify vzDomObjFromDomain{Ref}

Rather than have two API's doing different things for different
callers, let's make one API that will always return a locked and
ref counted object. That way, the callers will always know that
they must call virDomainObjEndAPI and not have to decide whether
they should call virObjectUnlock instead.

This will make things consistent with LookupByName which returns
the locked and ref counted object.

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
7 years agovmware: Use virDomainObjListFindBy{UUID|ID}Ref
John Ferlan [Mon, 23 Oct 2017 17:25:34 +0000 (13:25 -0400)]
vmware: Use virDomainObjListFindBy{UUID|ID}Ref

For vmwareDomObjFromDomainLocked and vmwareDomainLookupByID
let's return a locked and referenced @vm object so that callers
can then use the common and more consistent virDomainObjEndAPI
in order to handle cleanup rather than needing to know that the
returned object is locked and calling virObjectUnlock.

The LookupByName already returns the ref counted and locked object,
so this will make things more consistent.

For vmwareDomainUndefineFlags and vmwareDomainShutdownFlags since
virDomainObjListRemove will return an unlocked object, we need to
relock before making the EndAPI call.

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
7 years agovmware: Add more descriptive error message on Find failure
John Ferlan [Fri, 9 Mar 2018 14:46:47 +0000 (09:46 -0500)]
vmware: Add more descriptive error message on Find failure

If vmwareDomainLookupByID or vmwareDomainLookupByName fails
to find a vm, let's be a bit more descriptive by providing
the failing id or name in the error message.

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
7 years agovmware: Create accessors to virDomainObjListFindByUUID
John Ferlan [Mon, 23 Oct 2017 17:19:46 +0000 (13:19 -0400)]
vmware: Create accessors to virDomainObjListFindByUUID

Rather than repeat code throughout, create and use a couple of
accessors in order to lookup by UUID.

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
7 years agovmware: Properly clean up in vmwareDomainLookupByName
John Ferlan [Fri, 9 Mar 2018 14:48:07 +0000 (09:48 -0500)]
vmware: Properly clean up in vmwareDomainLookupByName

The virDomainObjListFindByName returns a locked and reffed
domain object, all we did was unlock it, leaving an extra
ref. Use the virDomainObjEndAPI to cleanup instead.

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
7 years agoremote: always build generated source files
Daniel P. Berrangé [Fri, 20 Apr 2018 10:44:35 +0000 (11:44 +0100)]
remote: always build generated source files

The generated source files for dispatching libvirtd RPC messages contain
translations and are thus listed in POTFILES. This means they are
required in order to build libvirt.pot. Rather than changing the files
that go into libvirt.pot dynamically, just unconditionally build the
remote driver sources so they are always available for building
libvirt.pot. This ensures we don't silently loose translation messages
based on configure args.

This fixes the mingw build which needs to create libvirt.pot but has
libvirtd disabled.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agoformatdomain.html.in: Wrap long lines
Michal Privoznik [Fri, 20 Apr 2018 08:55:12 +0000 (10:55 +0200)]
formatdomain.html.in: Wrap long lines

While working on discard feature I've noticed some long lines
that should be wrapped.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
7 years agovmx: write cpuid.coresPerSocket back from CPU topology
Pino Toscano [Thu, 19 Apr 2018 13:03:38 +0000 (15:03 +0200)]
vmx: write cpuid.coresPerSocket back from CPU topology

When writing the VMX file from the domain XML, write
cpuid.coresPerSocket if there is a specified CPU topology in the guest.

Use the domain XML of esx-in-the-wild-9 in vmx2xml as testcase for
xml2vmxtest.

Signed-off-by: Pino Toscano <ptoscano@redhat.com>
Acked-by: Richard W.M. Jones <rjones@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
7 years agovmx: convert cpuid.coresPerSocket for CPU topology
Pino Toscano [Thu, 19 Apr 2018 13:03:37 +0000 (15:03 +0200)]
vmx: convert cpuid.coresPerSocket for CPU topology

Convert the cpuid.coresPerSocket key as both number of CPU sockets, and
cores per socket.

Add the VMX file attached to RHBZ#1568148 as testcase esx-in-the-wild-9;
adapt the resulting XML of testcase esx-in-the-wild-8 to the CPU
topology present in that VMX.

https://bugzilla.redhat.com/show_bug.cgi?id=1568148

Signed-off-by: Pino Toscano <ptoscano@redhat.com>
Acked-by: Richard W.M. Jones <rjones@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
7 years agotests: Fix incorrect check for virNetServerClientClose call
John Ferlan [Thu, 19 Apr 2018 18:37:00 +0000 (14:37 -0400)]
tests: Fix incorrect check for virNetServerClientClose call

Commit id '6df5d777' somehow during the move from one branch to
another added an erroneous '!'...

Signed-off-by: John Ferlan <jferlan@redhat.com>
7 years agouml: Use virDomainObjListFindBy{UUID|ID}Ref
John Ferlan [Mon, 23 Oct 2017 17:14:13 +0000 (13:14 -0400)]
uml: Use virDomainObjListFindBy{UUID|ID}Ref

For umlDomObjFromDomainLocked and umlDomainLookupByID let's
return a locked and referenced @vm object so that callers
can then use the common and more consistent virDomainObjEndAPI
in order to handle cleanup rather than needing to know that the
returned object is locked and calling virObjectUnlock. This
means for some consumers we need to relock the @dom after a
virDomainObjListRemove, but before calling virDomainObjEndAPI.

The LookupByName already returns the ref counted and locked object,
so this will make things more consistent.

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agouml: Add more specific error message on failed FindBy call
John Ferlan [Fri, 9 Mar 2018 14:33:26 +0000 (09:33 -0500)]
uml: Add more specific error message on failed FindBy call

Rather than an empty failed to find, let's provide a bit more
knowledge about what we failed to find by using the name string
or the id value.

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agouml: Create accessors to virDomainObjListFindByUUID
John Ferlan [Mon, 23 Oct 2017 17:05:18 +0000 (13:05 -0400)]
uml: Create accessors to virDomainObjListFindByUUID

Rather than repeat code throughout, create and use a couple of
accessors in order to lookup by UUID. This will also generate
a common error message including the failed uuidstr for lookup
rather than just returning nothing in some instances.

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agouml: Fix umlInotifyEvent dom object handling
John Ferlan [Tue, 27 Mar 2018 18:26:02 +0000 (14:26 -0400)]
uml: Fix umlInotifyEvent dom object handling

The virDomainObjListFindByName will return a locked and reffed
object. If we call virDomainObjListRemove that will unlock the
object upon return, thus we need to relock the object before
making the call to virDomainObjEndAPI.

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agouml: Fix umlProcessAutoDestroyDom dom processing
John Ferlan [Tue, 27 Mar 2018 14:18:06 +0000 (10:18 -0400)]
uml: Fix umlProcessAutoDestroyDom dom processing

There's no need to check if @dom exists before trying to
call virDomainObjListRemove since it must exist due to
prior checks.

Additionally, if we do remove the @dom, then set it to NULL
so that the virObjectUnlock isn't referencing something that
is deleted.

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Marc Hartmayer <mhartmay@linux.vnet.ibm.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agoqemu: Fix possible memory leak in migration param processing
John Ferlan [Tue, 17 Apr 2018 15:43:30 +0000 (11:43 -0400)]
qemu: Fix possible memory leak in migration param processing

If virJSONValueArraySize(caps) <= 0, then we will still need to
virJSONValueFree(caps) because qemuMonitorSetMigrationCapabilities
won't consume it.

Found by Coverity

Signed-off-by: John Ferlan <jferlan@redhat.com>
7 years agotests: Don't call virNetServerClientClose without valid client
John Ferlan [Mon, 2 Apr 2018 11:19:38 +0000 (07:19 -0400)]
tests: Don't call virNetServerClientClose without valid client

If @client hasn't been opened, then don't call virNetServerClientClose
since that'll cause certain failure.

Found by Coverity

Signed-off-by: John Ferlan <jferlan@redhat.com>
7 years agotests: Return failure if log not fopen'd
John Ferlan [Mon, 2 Apr 2018 11:13:33 +0000 (07:13 -0400)]
tests: Return failure if log not fopen'd

If @log is not fopen'd then, going to cleanup and calling fclose
will make for an unhappy callee. So just fail immediately instead
since there's nothing to clean up.

Found by Coverity

Signed-off-by: John Ferlan <jferlan@redhat.com>
7 years agoremote: Fix usage of ATTRIBUTE_FALLTHROUGH
John Ferlan [Mon, 2 Apr 2018 11:09:28 +0000 (07:09 -0400)]
remote: Fix usage of ATTRIBUTE_FALLTHROUGH

Move to within the #if since the #else portion ends with a goto
and that raised concern by Coverity.

Signed-off-by: John Ferlan <jferlan@redhat.com>
7 years agoconf: Add error checking to virDomainSnapshotDiskDefFormat
John Ferlan [Wed, 8 Nov 2017 12:13:20 +0000 (07:13 -0500)]
conf: Add error checking to virDomainSnapshotDiskDefFormat

Commit id '43f2ccdc' called virDomainDiskSourceDefFormatInternal
rather than formatting the the disk source inline. However, it
did not handle the case where the helper failed. Over time the
helper has been renamed to virDomainDiskSourceFormat. Similar to
other consumers, if virDomainDiskSourceFormat fails, then the
formatting could be off, so it's better to fail than to continue
on with some possibly bad data. Alter the function and the caller
to check status and jump to error in that case.

Found by Coverity

Signed-off-by: John Ferlan <jferlan@redhat.com>
7 years agoqemu_capabilities: Separate out device props fetching
Michal Privoznik [Thu, 12 Apr 2018 12:39:43 +0000 (14:39 +0200)]
qemu_capabilities: Separate out device props fetching

The code is generic enough to be reused. Move it into a
separate function.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu_capabilities: s/ObjectProps/DeviceProps/g
Michal Privoznik [Thu, 12 Apr 2018 11:31:03 +0000 (13:31 +0200)]
qemu_capabilities: s/ObjectProps/DeviceProps/g

So far all the properties we are trying to fetch are device
properties, i.e. -device $dev on qemu command line. Change
misleading variable names to express what's queried for better.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Figure out nodeset bitmap size correctly
Andrea Bolognani [Tue, 10 Apr 2018 14:12:05 +0000 (16:12 +0200)]
qemu: Figure out nodeset bitmap size correctly

The current private XML parsing code relies on the assumption
that NUMA node IDs start from 0 and are densely allocated,
neither of which is necessarily the case.

Change it so that the bitmap size is dynamically calculated by
looking at NUMA node IDs instead, which ensures all nodes will
be able to fit and thus the bitmap will be parsed successfully.

Update one of the test cases so that it would fail with the
previous approach, but passes with the new one.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1490158

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agotests: Create full host NUMA topology in more cases
Andrea Bolognani [Tue, 10 Apr 2018 15:42:14 +0000 (17:42 +0200)]
tests: Create full host NUMA topology in more cases

vircapstest has code to add a full host NUMA topology, that
is, one that includes all information about nodes and CPUs
including IDs; testQemuCapsInit(), which is used to create a
mock virCapsPtr for QEMU tests, however, just fakes it by
setting nnumaCell_max to some number.

While the latter approach has served us well so far, we're
going to need all the information to be filled in soon. In
order to do that, we can just move the existing code from
vircapstest to testutils and, with some renaming and
trivial tweaking, use it as-is.

Interestingly, the NUMA topology generated by the function
is rigged up so that the NUMA nodes aren't (necessarily)
numbered starting from 0, which is a nice way to spot
mistaken assumptions in our codebase.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemuDomainObjPrivateDataClear: Don't leak @migParams
Michal Privoznik [Wed, 18 Apr 2018 08:49:00 +0000 (10:49 +0200)]
qemuDomainObjPrivateDataClear: Don't leak @migParams

Allocated in qemuMigrationParamsNew() we need to free
priv->job.migParams when no longer needed.

==8061== 234 (192 direct, 42 indirect) bytes in 1 blocks are definitely lost in loss record 112 of 123
==8061==    at 0x4C2CF26: calloc (vg_replace_malloc.c:711)
==8061==    by 0x5325D05: virAlloc (viralloc.c:144)
==8061==    by 0x1984F9: qemuMigrationParamsNew (qemu_migration_params.c:218)
==8061==    by 0x19A352: qemuMigrationParamsParse (qemu_migration_params.c:1185)
==8061==    by 0x1604D8: qemuDomainObjPrivateXMLParseJob (qemu_domain.c:2390)
==8061==    by 0x160AE9: qemuDomainObjPrivateXMLParse (qemu_domain.c:2517)
==8061==    by 0x5419EAE: virDomainObjParseXML (domain_conf.c:20442)
==8061==    by 0x541A25E: virDomainObjParseNode (domain_conf.c:20555)
==8061==    by 0x541A2FC: virDomainObjParseFile (domain_conf.c:20574)
==8061==    by 0x13607D: testCompareStatusXMLToXMLFiles (qemuxml2xmltest.c:75)
==8061==    by 0x14F3E8: virTestRun (testutils.c:180)
==8061==    by 0x14DCD0: mymain (qemuxml2xmltest.c:1200)

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agopo: attempt to fix srcdir != builddir builds
Daniel P. Berrangé [Thu, 19 Apr 2018 13:52:51 +0000 (14:52 +0100)]
po: attempt to fix srcdir != builddir builds

The .pot, .po and .gmo files are slightly unusual in that we generate
them in the srcdir when building form git. This is because they'll be
bundled in the tar archive, so a build-from-tar will see them in srcdir.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language zu
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:37 +0000 (16:02 +0100)]
po: minimize language zu

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language zh_TW
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:37 +0000 (16:02 +0100)]
po: minimize language zh_TW

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language zh_HK
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:37 +0000 (16:02 +0100)]
po: minimize language zh_HK

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language zh_CN
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:37 +0000 (16:02 +0100)]
po: minimize language zh_CN

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language yo
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:36 +0000 (16:02 +0100)]
po: minimize language yo

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language wba
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:36 +0000 (16:02 +0100)]
po: minimize language wba

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language vi
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:36 +0000 (16:02 +0100)]
po: minimize language vi

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language ur
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:36 +0000 (16:02 +0100)]
po: minimize language ur

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language uk
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:36 +0000 (16:02 +0100)]
po: minimize language uk

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language tw
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:36 +0000 (16:02 +0100)]
po: minimize language tw

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language tr
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:36 +0000 (16:02 +0100)]
po: minimize language tr

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language th
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:36 +0000 (16:02 +0100)]
po: minimize language th

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language tg
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:36 +0000 (16:02 +0100)]
po: minimize language tg

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language te
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:36 +0000 (16:02 +0100)]
po: minimize language te

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language ta
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:36 +0000 (16:02 +0100)]
po: minimize language ta

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language sv
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:35 +0000 (16:02 +0100)]
po: minimize language sv

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language sr
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:35 +0000 (16:02 +0100)]
po: minimize language sr

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language sr@latin
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:35 +0000 (16:02 +0100)]
po: minimize language sr@latin

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language sq
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:35 +0000 (16:02 +0100)]
po: minimize language sq

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language sl
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:35 +0000 (16:02 +0100)]
po: minimize language sl

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language sk
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:35 +0000 (16:02 +0100)]
po: minimize language sk

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language si
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:35 +0000 (16:02 +0100)]
po: minimize language si

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language ru
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:35 +0000 (16:02 +0100)]
po: minimize language ru

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language ro
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:35 +0000 (16:02 +0100)]
po: minimize language ro

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language pt
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:35 +0000 (16:02 +0100)]
po: minimize language pt

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language pt_BR
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:35 +0000 (16:02 +0100)]
po: minimize language pt_BR

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language pl
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:35 +0000 (16:02 +0100)]
po: minimize language pl

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language pa
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:35 +0000 (16:02 +0100)]
po: minimize language pa

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language or
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:35 +0000 (16:02 +0100)]
po: minimize language or

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language nso
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:34 +0000 (16:02 +0100)]
po: minimize language nso

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language nn
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:34 +0000 (16:02 +0100)]
po: minimize language nn

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language nl
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:34 +0000 (16:02 +0100)]
po: minimize language nl

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language ne
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:34 +0000 (16:02 +0100)]
po: minimize language ne

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language nds
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:34 +0000 (16:02 +0100)]
po: minimize language nds

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language nb
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:34 +0000 (16:02 +0100)]
po: minimize language nb

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language my
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:34 +0000 (16:02 +0100)]
po: minimize language my

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language ms
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:34 +0000 (16:02 +0100)]
po: minimize language ms

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language mr
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:34 +0000 (16:02 +0100)]
po: minimize language mr

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language mn
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:34 +0000 (16:02 +0100)]
po: minimize language mn

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language ml
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:34 +0000 (16:02 +0100)]
po: minimize language ml

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language mk
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:34 +0000 (16:02 +0100)]
po: minimize language mk

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language mai
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:34 +0000 (16:02 +0100)]
po: minimize language mai

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language lv
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:33 +0000 (16:02 +0100)]
po: minimize language lv

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language lt
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:33 +0000 (16:02 +0100)]
po: minimize language lt

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language ky
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:33 +0000 (16:02 +0100)]
po: minimize language ky

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language kw@uccor
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:33 +0000 (16:02 +0100)]
po: minimize language kw@uccor

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language kw
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:33 +0000 (16:02 +0100)]
po: minimize language kw

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language kw@kkcor
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:33 +0000 (16:02 +0100)]
po: minimize language kw@kkcor

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language kw_GB
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:33 +0000 (16:02 +0100)]
po: minimize language kw_GB

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language ko
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:33 +0000 (16:02 +0100)]
po: minimize language ko

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language kn
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:33 +0000 (16:02 +0100)]
po: minimize language kn

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language km
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:33 +0000 (16:02 +0100)]
po: minimize language km

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language kk
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:33 +0000 (16:02 +0100)]
po: minimize language kk

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language ka
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:33 +0000 (16:02 +0100)]
po: minimize language ka

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language ja
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:33 +0000 (16:02 +0100)]
po: minimize language ja

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language it
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:33 +0000 (16:02 +0100)]
po: minimize language it

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language is
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:32 +0000 (16:02 +0100)]
po: minimize language is

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language ilo
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:32 +0000 (16:02 +0100)]
po: minimize language ilo

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language id
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:32 +0000 (16:02 +0100)]
po: minimize language id

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language ia
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:32 +0000 (16:02 +0100)]
po: minimize language ia

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language hu
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:32 +0000 (16:02 +0100)]
po: minimize language hu

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agopo: minimize language hr
Daniel P. Berrangé [Fri, 6 Apr 2018 15:02:32 +0000 (16:02 +0100)]
po: minimize language hr

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>