[libvirt] [PATCH] win32: Properly handle TlsGetValue returning NULL
by Matthias Bolte
virThreadSelf tries to access the virThreadPtr stored in TLS for the
current thread via TlsGetValue. When virThreadSelf is called on a thread
that was not created via virThreadCreate (e.g. the main thread) then
TlsGetValue returns NULL as TlsAlloc initializes TLS slots to NULL.
virThreadSelf can be called on the main thread via this call chain from
virsh
vshDeinit
virEventAddTimeout
virEventPollAddTimeout
virEventPollInterruptLocked
virThreadIsSelf
triggering a segfault as virThreadSelf unconditionally dereferences the
return value of TlsGetValue.
Fix this by making virThreadSelf check the TLS slot value for NULL and
setting the given virThreadPtr accordingly.
Reported by Marcel Müller.
---
src/util/threads-win32.c | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/util/threads-win32.c b/src/util/threads-win32.c
index 157439c..20756a1 100644
--- a/src/util/threads-win32.c
+++ b/src/util/threads-win32.c
@@ -316,8 +316,15 @@ int virThreadCreate(virThreadPtr thread,
void virThreadSelf(virThreadPtr thread)
{
virThreadPtr self = TlsGetValue(selfkey);
- thread->thread = self->thread;
- thread->joinable = self->joinable;
+
+ if (self == NULL) {
+ /* called on a thread not created by virThreadCreate, e.g. the main thread */
+ thread->thread = 0;
+ thread->joinable = false;
+ } else {
+ thread->thread = self->thread;
+ thread->joinable = self->joinable;
+ }
}
bool virThreadIsSelf(virThreadPtr thread)
--
1.7.4.1
12 years, 7 months
[libvirt] Python binding APIs strict or loose
by Guannan Ren
Hi
There is a question. we need strict python binding API
or loose one.
For example:
The setSchedulerParameters(), it accepts one of
parameters: 'vcpu_quota'
In C its type is of 'long long', then we need a
conversion from PyInt/PyLong
to 'long long' by using cpython function
'PyLong_AsLongLong'.
The problem is when the user python pass in a value of
type Pyfloat instead
of PyInt/PyLong, the cpython function drops the
fraction part of the value
automatically, Is it what we want or we need to add a
type checking to ensure that
the type of value passed in is PyInt/PyLong, otherwise,
we raise an exception.
> >> dom.schedulerParameters()
{'vcpu_quota': -1L, 'vcpu_period': 100000L,
'cpu_shares': 500L}
> >> dom.setSchedulerParameters({'vcpu_quota': 10.88})
works as dom.setSchedulerParameters({'vcpu_quota': 10})
Any idea?
Guannan Ren
12 years, 7 months
[libvirt] [PATCH] Win32 compatibility for 0.9.11
by Marcel Müller
Hello everyone,
I tried to build libvirt-0.9.11 for Windows using the MSYS Build Script
provided by Matthias Bolte and noticed that there were two problems which
made libvirt unusable.
1) Whenever a TCP Connection is opened, libvirt will fail with failed
to set close-on-exec (Im using xen+tcp here).
2) The lib will crash most of the time, because it tries to access a
null pointer.
I fixed both issues with a little patch:
1) On Win32 platforms virSetInherit always returns -1, therefore
failing any call which tries to set close-on-exec. I dont know if theres
a Win32 equivalent of close-on-exec, so I just set this to return 0
instead.
2) Libvirt crashes, because TlsGetValue seems to return a NULL value
sometimes. Not sure right now, if this is ok in a way or if it indicates
another problem somewhere... (This might be the case, as Im experience
crashes as soon as libvirt is used in a multithreading application, though I
had this with an old version as well. Will discuss that in another mail).
As this is my first mail to a mailing list, please dont hesitate to tell
me, what I did wrong!
By the way, should I attach the binaries for 0.9.11 in case anyone is
looking for those without the need to compile them?
Best Regards,
Marcel
12 years, 7 months
[libvirt] ESX driver connection private data fix
by ryan woodsmall
Hi, first time poster, my apologies if this is not the correct avenue.
Since release 0.9.11, I've been getting a segfault in virsh attempting
to access an ESXi 4.1 host. GDB reports it as such:
**
Program received signal SIGSEGV, Segmentation fault.
esxConnectToHost (vCenterIpAddress=0x7fffffffd640,
auth=0x7ffff7fef5e0, conn=0x675780) at esx/esx_driver.c:726
726 if (virAsprintf(&url, "%s://%s:%d/sdk", priv->parsedUri->transport,
(gdb) bt
#0 esxConnectToHost (vCenterIpAddress=0x7fffffffd650,
auth=0x7ffff7fef5e0, conn=0x675780) at esx/esx_driver.c:726
#1 esxOpen (conn=0x675780, auth=0x7ffff7fef5e0, flags=<optimized
out>) at esx/esx_driver.c:1052
#2 0x00007ffff7bc243a in do_open (name=0x6745a0
"esx://XXX/?no_verify=1", auth=0x7ffff7fef5e0, flags=0) at
libvirt.c:1227
#3 0x00007ffff7bc48e6 in virConnectOpenAuth (name=0x6745a0
"esx://XXX/?no_verify=1", auth=0x7ffff7fef5e0, flags=0) at
libvirt.c:1456
#4 0x000000000040ac8f in vshInit (ctl=0x7fffffffe210) at virsh.c:19288
#5 main (argc=<optimized out>, argv=0x7fffffffe508) at virsh.c:20046
**
Digging through the code a bit, I found that in esxOpen(), the "conn"
virConnectPtr var is passed to esxConnectToHost() with a nil pointer
to a virConnect "privateData" pointer. The hypervisor transport type
(among other things in "parsedUri") is stored here, and a
crash/segfault occurs in esxConnectToHost() when attempting to access
the transport for virAsprintf() at line 726 of src/esx/esx_driver.c.
This patch just makes sure we're pointing to something before
attempting to use anything in the struct.
Cleanly applied to git from this afternoon, built and successfully
tested on a Fedora 16/x86_64 VM accessing an ESXi 4.1 node.
--
ryan woodsmall
rwoodsmall(a)gmail.com
12 years, 7 months
[libvirt] [PATCH v4 0/9] Add basic driver for Parallels Virtuozzo Server
by Dmitry Guryanov
Parallels Virtuozzo Server is a cloud-ready virtualization
solution that allows users to simultaneously run multiple virtual
machines and containers on the same physical server.
Current name of this product is Parallels Server Bare Metal and
more information about it can be found here -
http://www.parallels.com/products/server/baremetal/sp/.
This driver will work with PVS version 6.0 , beta version
scheduled at 2012 Q2.
changes in v4:
* fix errors, found by 'make syntax-check'
Dmitry Guryanov (9):
pvs: add driver skeleton
util: add functions for interating over json object
pvs: add functions to list domains and get info
pvs: implement functions for domain life cycle management
pvs: get info about serial ports
pvs: add support of VNC remote display
pvs: implement virDomainDefineXML operation for existing domains
pvs: add storage driver
pvs: implement VM creation
AUTHORS | 1 +
cfg.mk | 1 +
configure.ac | 23 +
docs/drvpvs.html.in | 28 +
include/libvirt/virterror.h | 1 +
libvirt.spec.in | 7 +
mingw32-libvirt.spec.in | 6 +
po/POTFILES.in | 3 +
src/Makefile.am | 23 +
src/conf/domain_conf.c | 3 +-
src/conf/domain_conf.h | 1 +
src/driver.h | 1 +
src/libvirt.c | 12 +
src/pvs/pvs_driver.c | 1280 +++++++++++++++++++++++++++++++++++++
src/pvs/pvs_driver.h | 75 +++
src/pvs/pvs_storage.c | 1458 +++++++++++++++++++++++++++++++++++++++++++
src/pvs/pvs_utils.c | 143 +++++
src/util/json.c | 30 +
src/util/json.h | 4 +
src/util/virterror.c | 3 +
20 files changed, 3102 insertions(+), 1 deletions(-)
create mode 100644 docs/drvpvs.html.in
create mode 100644 src/pvs/pvs_driver.c
create mode 100644 src/pvs/pvs_driver.h
create mode 100644 src/pvs/pvs_storage.c
create mode 100644 src/pvs/pvs_utils.c
12 years, 7 months
[libvirt] [libvirt-glib 1/2] Update Libvirt-gconfig-docs.xml
by Christophe Fergeau
It was missing most classes in the GVirConfig namespace.
---
docs/libvirt-gconfig/Libvirt-gconfig-docs.xml | 67 ++++++++++++++++++++++---
1 file changed, 60 insertions(+), 7 deletions(-)
diff --git a/docs/libvirt-gconfig/Libvirt-gconfig-docs.xml b/docs/libvirt-gconfig/Libvirt-gconfig-docs.xml
index 9719734..a05c3f3 100644
--- a/docs/libvirt-gconfig/Libvirt-gconfig-docs.xml
+++ b/docs/libvirt-gconfig/Libvirt-gconfig-docs.xml
@@ -9,24 +9,77 @@
<title>Libvirt-gconfig Reference Manual</title>
</bookinfo>
- <chapter>
+ <part>
<title>Libvirt-gconfig</title>
<xi:include href="xml/libvirt-gconfig-object.xml"/>
- <xi:include href="xml/libvirt-gconfig-domain.xml"/>
+ <chapter>
+ <title>Domain configuration</title>
+ <xi:include href="xml/libvirt-gconfig-domain-address-pci.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-address-usb.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-address.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-channel.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-chardev.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-chardev-source.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-chardev-source-pty.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-chardev-source-spicevmc.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-clock.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-console.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-controller.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-controller-usb.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-device.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-disk.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-filesys.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-graphics.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-graphics-sdl.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-graphics-spice.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-graphics-vnc.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-input.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-interface.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-interface-bridge.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-interface-network.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-interface-user.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-memballoon.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-os.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-parallel.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-redirdev.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-seclabel.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-serial.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-snapshot.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-sound.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-timer.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-timer-pit.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-timer-rtc.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain-video.xml"/>
+ <xi:include href="xml/libvirt-gconfig-domain.xml"/>
+ </chapter>
<xi:include href="xml/libvirt-gconfig-domain-snapshot.xml"/>
<xi:include href="xml/libvirt-gconfig-interface.xml"/>
<xi:include href="xml/libvirt-gconfig-network-filter.xml"/>
<xi:include href="xml/libvirt-gconfig-network.xml"/>
<xi:include href="xml/libvirt-gconfig-node-device.xml"/>
<xi:include href="xml/libvirt-gconfig-secret.xml"/>
- <xi:include href="xml/libvirt-gconfig-storage-pool.xml"/>
- <xi:include href="xml/libvirt-gconfig-storage-vol.xml"/>
+ <chapter>
+ <title>Storage Configuration</title>
+ <xi:include href="xml/libvirt-gconfig-storage-permissions.xml"/>
+ <section>
+ <title>Storage Pools Configuration</title>
+ <xi:include href="xml/libvirt-gconfig-storage-pool.xml"/>
+ <xi:include href="xml/libvirt-gconfig-storage-pool-source.xml"/>
+ <xi:include href="xml/libvirt-gconfig-storage-pool-target.xml"/>
+ </section>
+ <section>
+ <title>Storage Volumes Configuration</title>
+ <xi:include href="xml/libvirt-gconfig-storage-vol.xml"/>
+ <xi:include href="xml/libvirt-gconfig-storage-vol-backing-store.xml"/>
+ <xi:include href="xml/libvirt-gconfig-storage-vol-target.xml"/>
+ </section>
+ </chapter>
<xi:include href="xml/libvirt-gconfig-capabilities.xml"/>
- </chapter>
- <chapter id="object-tree">
+ </part>
+ <part id="object-tree">
<title>Object Hierarchy</title>
<xi:include href="xml/tree_index.sgml"/>
- </chapter>
+ </part>
<index id="api-index-full">
<title>API Index</title>
<xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
--
1.7.10
12 years, 7 months
Re: [libvirt] [RH-BZ #595428] 'virsh list' should output more information 'xm list'
by Maxim Sditanov
2012/4/2 Maxim Sditanov <feniksa(a)rambler.ru>:
> Is this new feature request still
> https://bugs.gentoo.org/show_bug.cgi?id=366561 actual?
>
> Because virsh still show not enough information:
>
> $./virsh -c qemu:///system list --all
>
> Id Name State
> ----------------------------------------------------
> 1 " running
> - winxp shut off
>
> And it will be good idea to show more detailed information or add
> additional flag, something like --detail.
> ./virsh -c qemu:///system list --all --detailed
>
>
> Id Name State Memory VCPU Uptime CPU IOPS
> ----------------------------------
> -------------------------------------------------------------
> 1 " running 768M 2 3hours 5% 12.1
> - winxp shut off 512M 1
>
I implemented first part of this task - VCPU and CPU load.
I ported from virt-manager CPU load algorithm
(thanks Cole Robinson for help
https://www.redhat.com/archives/virt-tools-list/2012-April/msg00051.html)
virt manager update graphic in such way:
It create thread, than it take host CPU ticks (how much cpu time take host)
then every 1 sec it update value and calculate percentage.
But this algorithm is bad in virsh, because virsh give information about
domains imidiatly, without delays and thats why i can't caclulate cpu
(also io and
network usage).
I think it will be good idea if libvirtd will hold information about
resource usage and implement interface for this data via libvirt
And virsh and virt-manager will use
the same functions to get cpu, disk and network usage, host uptime
How do you think?
--
With best wishes, Feniks Gordon Freeman
12 years, 7 months
[libvirt] [PATCH] openvz; wire up getHostname
by Guido Günther
---
Trivial thing missing in the openvz driver.
Cheers,
-- Guido
src/openvz/openvz_driver.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/openvz/openvz_driver.c b/src/openvz/openvz_driver.c
index 0451c22..7ec327d 100644
--- a/src/openvz/openvz_driver.c
+++ b/src/openvz/openvz_driver.c
@@ -1679,6 +1679,7 @@ static virDriver openvzDriver = {
.close = openvzClose, /* 0.3.1 */
.type = openvzGetType, /* 0.3.1 */
.version = openvzGetVersion, /* 0.5.0 */
+ .getHostname = virGetHostname, /* 0.9.12 */
.getMaxVcpus = openvzGetMaxVCPUs, /* 0.4.6 */
.nodeGetInfo = nodeGetInfo, /* 0.3.2 */
.nodeGetCPUStats = nodeGetCPUStats, /* 0.9.12 */
--
1.7.10
12 years, 7 months
[libvirt] [test-API PATCH 0/4]testcases will use xml file directly
by Guannan Ren
Right now, for testcases that needs xml to define domain or storage, etc
they call module *utils/xmlbuilder.py utils/xmlgenerator.py* to get back
a string of xml. These two module create xml string by "xml.dom.minidom"
This approach is hard to maintain and not easy to use. So we will depreciate it
in near furture.
The new way is to use xml file directly. There will be a new folder named
'xmls' in path repos/*/xmls, testcases will use the xmlfile in the foler
directly.
For example: domain:define
required_params = ('guestname', 'diskpath',)
optional_params = {'memory': 1048576,
'vcpu': 1,
'hddriver' : 'virtio',
'nicdriver': 'virtio',
'macaddr': '52:54:00:97:e4:28',
'uuid' : '05867c1a-afeb-300e-e55e-2673391ae080',
'username': None,
'password': None,
'guesttype': 'kvm',
'xml': 'xmls/kvm_guest_define.xml'
}
The define.py will get the xml string of "xmls/kvm_guest_define.xml" and define it
directly.
The framework takes the charge of getting the content of the file, replacing
some TEXT in it and passing the string to define.py for use.
The define.py supports any file in absolute path if the xml option is given in testcase
file like
domain:eventhandler
guestname
fedoraVM
diskpath
/var/lib/libvirt/images/fedoraVM
xml
/PATH/TO/FILE
12 years, 7 months
[libvirt] [PATCH] build: fix fresh checkout on RHEL5
by Eric Blake
Building a fresh checkout on RHEL 5 has been broken since commit
29db7a00, due to a gnulib regression in the bootstrap script
(incremental builds from a checkout earlier than that point were
okay, though).
* .gnulib: Update to latest, for bootstrap fixes.
* bootstrap: Resync from gnulib.
* gnulib/local/top/maint.mk.diff: Drop patch that was added
upstream in the meantime.
---
Lots of gnulib changes, and I'm not sure how many of them directly
impact us. But the bootstrap ones definitely affect building a fresh
checkout on RHEL 5, so I'm pushing this under the build-breaker
rule; now's a decent time, since we still have a bit of time before
feature freeze for the 0.9.12 release.
* .gnulib d5612c7...f15a17d (240):
> bootstrap: accommodate older libtool
> autoupdate
> announce-gen: avoid failure due to lack of Digest::SHA1
> bootstrap: don't let a user's CDPATH setting affect this script
> maint: indent ChangeLog entries with TAB, not 8 spaces
> maint.mk: expand syntax-check rule to catch @xref and @pxref abuse
> bootstrap: really use gnulib's po/Makefile.in.in
> configmake: correct minor inconsistency in Makefile rule
> bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
> Fix recursion of install-* into po directories.
> maint: avoid spurious "make sc_maint" failure
> lseek: Make configure test independent of environment.
> autoupdate
> stat: Bypass buggy override in mingw64.
> pathmax: Fix compilation error on MSVC 9.
> README: document pointer comparison assumption
> Tests for module 'getrusage'.
> New module 'getrusage'.
> Tests for module 'sys_resource'.
> New module 'sys_resource'.
> ioctl: Fix compilation error on mingw.
> autoupdate
> update from texinfo
> regex: correct #pragma guard expression
> regex: remove unnecessary type punning
> Tests for module 'ilogbl'.
> New module 'ilogbl'.
> Tests for module 'ilogbf'.
> New module 'ilogbf'.
> Tests for module 'ilogb'.
> New module 'ilogb'.
> math: Provide FP_ILOGB0 and FP_ILOGBNAN.
> Tests for module 'logbl-ieee'.
> New module 'logbl-ieee'.
> Tests for module 'logb-ieee'.
> New module 'logb-ieee'.
> Tests for module 'logbf-ieee'.
> New module 'logbf-ieee'.
> Tests for module 'logbl'.
> New module 'logbl'.
> Tests for module 'logbf'.
> New module 'logbf'.
> logb tests: More tests.
> logb: Provide replacement and workarounds.
> log10* tests: Speed up.
> logf-ieee: Fix test whether logf works.
> log10l: Work around log10l-ieee test failure on IRIX 6.5.
> log10f-ieee: Work around test failure on NetBSD 5.1.
> log10f-ieee: Work around test failure on Solaris 9.
> log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
> Tests for module 'log10l-ieee'.
> New module 'log10l-ieee'.
> Tests for module 'log10-ieee'.
> New module 'log10-ieee'.
> Tests for module 'log10f-ieee'.
> New module 'log10f-ieee'.
> log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
> log10f: Work around OSF/1 5.1 bug.
> log10: Work around OSF/1 5.1 bug.
> log10l tests: More tests.
> log10f tests: More tests.
> log10 tests: More tests.
> Fix typo in ChangeLog entry.
> fflush: Fix syntax error.
> regex: pacify GCC when compiling GRUB
> update from texinfo
> warnings.m4: fix errors.
> stdio: don't assume gets any more
> maint.mk: fix syntax checks without exclusions
> strerror_r: avoid compiler warning
> fflush: avoid compiler warning
> warnings.m4: check the compiler, not the preprocessor
> autoupdate
> Tests for module 'localeconv'.
> New module 'localeconv'.
> locale: Provide a complete 'struct lconv'.
> locale: Provide a complete 'struct lconv' on Solaris 10, 11.
> locale: Provide a working 'struct lconv'.
> Enable common subexpression optimization in GCC.
> Enable common subexpression optimization in GCC.
> gnulib-tool: Avoid unintended error output from 'cmp'.
> gnulib-tool: fix imprecise comments w.r.t. an automake bug
> autoupdate
> announce-gen: use Digest::SHA when possible
> tests: avoid gcc warnings about argv vs. const initializers
> README-release: simplify slightly
> git-merge-changelog: add specific example on how to use with hg.
> git-merge-changelog: Report bugs to bug-gnulib(a)gnu.org.
> git-version-gen: don't let "prefix" envvar cause trouble
> regex: diagnose too-large repeat counts in EREs
> doc: some glibc x32 integer width issues
> autoupdate
> fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
> hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
> remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
> Oops, fix regression on AIX through recent commit.
> Oops, fix cross-compilation guess in recent commits.
> sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
> doc: update timer_* platform portability notes
> cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
> remainderl: Avoid compilation error on AIX >= 5.2.
> Avoid compilation errors with MSVC option -fp:strict.
> uninorm: Don't crash in out-of-memory conditions.
> quote: fix syntax-check
> Collapse list of copyright years to ranges. See <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
> log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
> log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
> Tests for module 'log2l-ieee'.
> New module 'log2l-ieee'.
> Tests for module 'log2-ieee'.
> New module 'log2-ieee'.
> Tests for module 'log2f-ieee'.
> New module 'log2f-ieee'.
> Tests for module 'log2l'.
> New module 'log2l'.
> Tests for module 'log2f'.
> New module 'log2f'.
> Tests for module 'log2'.
> New module 'log2'.
> exp2* tests: More tests.
> update from texinfo
> autoupdate
> log1p* tests: Reduce running time of tests.
> log1pl-ieee: Work around test failure on AIX 7.1.
> log1pl-ieee: Work around test failure on IRIX 6.5.
> log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
> log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
> log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
> Tests for module 'log1pl-ieee'.
> New module 'log1pl-ieee'.
> Tests for module 'log1p-ieee'.
> New module 'log1p-ieee'.
> Tests for module 'log1pf-ieee'.
> New module 'log1pf-ieee'.
> Tests for module 'log1pl'.
> New module 'log1pl'.
> Tests for module 'log1pf'.
> New module 'log1pf'.
> log1p tests: More tests.
> log1p: Provide replacement for Minix and MSVC.
> expm1: Tiny doc fix.
> math tests: Small simplification.
> log tests: Add a comment.
> Fix some comments.
> regex: allow inclusion of <regex.h> before <limits.h>
> fts: depend on fdopendir
> Remove unused variables.
> isnanf-nolibm: Fix last commit.
> isnanf-nolibm: Make it work on IRIX 6.5 with cc.
> logf-ieee: Work around test failure on NetBSD 5.1.
> logf-ieee: Work around test failure on Solaris 9.
> log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
> Tests for module 'logl-ieee'.
> New module 'logl-ieee'.
> Tests for module 'log-ieee'.
> New module 'log-ieee'.
> Tests for module 'logf-ieee'.
> New module 'logf-ieee'.
> log: Fix bug introduced on 2012-03-09.
> timer-time: link explicitly with pthreads on glibc
> log* tests: More tests.
> logl: Work around OSF/1 5.1 bug.
> logf: Work around OSF/1 5.1 bug.
> log: Work around OSF/1 5.1 bug.
> readtokens.c: adjust wording in a comment
> modechange: add notations +40, 00440, etc.
> exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
> Tests for module 'exp2l-ieee'.
> New module 'exp2l-ieee'.
> Tests for module 'exp2-ieee'.
> New module 'exp2-ieee'.
> Tests for module 'exp2f-ieee'.
> New module 'exp2f-ieee'.
> Tests for module 'exp2l'.
> New module 'exp2l'.
> Tests for module 'exp2f'.
> New module 'exp2f'.
> Tests for module 'exp2'.
> New module 'exp2'.
> savedir: fix comment typo
> test-readtokens.c: use const; remove unwarranted cast
> autoupdate
> fmal: Avoid compilation error on AIX.
> fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
> remainderf: Override buggy system function on IRIX 6.5.
> test-readtokens.c: avoid const-related compilation warnings
> frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
> expm1l: Avoid compilation error on AIX.
> expm1l: Don't override undeclared system function on IRIX 6.5.
> remainderl: Don't override undeclared system function on IRIX 6.5.
> rintf: Don't override undeclared system function on IRIX 6.5.
> roundl: Avoid compilation error on AIX.
> roundl: Don't override undeclared system function on IRIX 6.5.
> roundf: Don't override undeclared system function on IRIX 6.5.
> round: Don't override undeclared system function on IRIX 6.5.
> copysignf: Don't override undeclared system function on IRIX 6.5.
> readtokens: add tests
> quotearg: the module must now include quote.h
> readtokens: avoid core dumps with unusual calling patterns
> quote: Adhere to common module description layout.
> quote: fuse into quotearg
> Tests for module 'expm1l-ieee'.
> New module 'expm1l-ieee'.
> Tests for module 'expm1f-ieee'.
> New module 'expm1f-ieee'.
> Tests for module 'expm1-ieee'.
> New module 'expm1-ieee'.
> Work around expm1f bug on IRIX 6.5.
> Tests for module 'expm1l'.
> New module 'expm1l'.
> Tests for module 'expm1f'.
> New module 'expm1f'.
> Tests for module 'expm1'.
> New module 'expm1'.
> math: Ensure declarations of math functions.
> math: Update module names in warnings.
> expl: Simplify computation.
> exp* tests: More tests.
> expl: Fix precision of computed result.
> cbrt* tests: More tests.
> hypot* tests: More tests.
> fpucw: Doc about FreeBSD.
> sqrt* tests: Rename local variable.
> sqrt* tests: More tests.
> sqrt* tests: More tests.
> remainder* tests: More tests.
> remainder, remainderf, remainderl: Fix computation for large quotients.
> fmodl: Fix last commit.
> fmod* tests: More tests.
> fmod, fmodl: Fix computation for large quotients x / y.
> fmod* tests: More tests.
> rint* tests: More tests.
> modf* tests: More tests.
> fabs* tests: More tests.
> ldexp* tests: More tests.
> frexp* tests: More tests.
> Support for pseudo-random numbers in tests.
> frexp* tests: Refactor.
> maint: don't specify XZ_OPT=-9ev in dist-related rule
> autoupdate
.gnulib | 2 +-
bootstrap | 18 +++++++++++++++---
gnulib/local/top/maint.mk.diff | 32 --------------------------------
3 files changed, 16 insertions(+), 36 deletions(-)
delete mode 100644 gnulib/local/top/maint.mk.diff
diff --git a/.gnulib b/.gnulib
index d5612c7..f15a17d 160000
--- a/.gnulib
+++ b/.gnulib
@@ -1 +1 @@
-Subproject commit d5612c714c87555f1059d71d347e20271dced322
+Subproject commit f15a17dc1f5d2b1fc8a423795c54b211552c0483
diff --git a/bootstrap b/bootstrap
index 31eb651..5aa73cc 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1,6 +1,6 @@
#! /bin/sh
# Print a version string.
-scriptversion=2012-02-11.09; # UTC
+scriptversion=2012-04-19.22; # UTC
# Bootstrap this package from checked-out sources.
@@ -36,6 +36,10 @@ nl='
LC_ALL=C
export LC_ALL
+# Ensure that CDPATH is not set. Otherwise, the output from cd
+# would cause trouble in at least one use below.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
local_gl_dir=gl
me=$0
@@ -758,9 +762,15 @@ fi
# Autoreconf runs aclocal before libtoolize, which causes spurious
# warnings if the initial aclocal is confused by the libtoolized
# (or worse out-of-date) macro directory.
+# libtoolize 1.9b added the --install option; but we support back
+# to libtoolize 1.5.22, where the install action was default.
if test $use_libtool = 1; then
- echo "running: $LIBTOOLIZE --copy --install"
- $LIBTOOLIZE --copy --install
+ install=
+ case $($LIBTOOLIZE --help) in
+ *--install*) install=--install ;;
+ esac
+ echo "running: $LIBTOOLIZE $install --copy"
+ $LIBTOOLIZE $install --copy
fi
version_controlled_file() {
@@ -863,6 +873,8 @@ if test $with_gettext = yes; then
}
' po/Makevars.template >po/Makevars || exit 1
+ cat $GNULIB_SRCDIR/build-aux/po/Makefile.in.in > po/Makefile.in.in || exit 1
+
if test -d runtime-po; then
# Similarly for runtime-po/Makevars, but not quite the same.
rm -f runtime-po/Makevars
diff --git a/gnulib/local/top/maint.mk.diff b/gnulib/local/top/maint.mk.diff
deleted file mode 100644
index 85e97ae..0000000
--- a/gnulib/local/top/maint.mk.diff
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git i/top/maint.mk w/top/maint.mk
-index 4cbd5f4..2228a37 100644
---- i/top/maint.mk
-+++ w/top/maint.mk
-@@ -279,7 +279,7 @@ define _sc_search_regexp
- if test -n "$$files"; then \
- if test -n "$$prohibit"; then \
- grep $$with_grep_options $(_ignore_case) -nE "$$prohibit" $$files \
-- | grep -vE "$${exclude-^$$}" \
-+ | grep -vE "$${exclude:-^$$}" \
- && { msg="$$halt" $(_sc_say_and_exit) } || :; \
- else \
- grep $$with_grep_options $(_ignore_case) -LE "$$require" $$files \
-@@ -455,7 +455,8 @@ sc_prohibit_quotearg_without_use:
-
- # Don't include quote.h unless you use one of its functions.
- sc_prohibit_quote_without_use:
-- @h='quote.h' re='\<quote(_n)? *\(' $(_sc_header_without_use)
-+ @h='quote.h' re='\<quote((_n)? *\(|_quoting_options\>)' \
-+ $(_sc_header_without_use)
-
- # Don't include this header unless you use one of its functions.
- sc_prohibit_long_options_without_use:
-@@ -1332,7 +1333,7 @@ alpha beta stable: $(local-check) writable-files $(submodule-checks)
- $(MAKE) vc-diff-check
- $(MAKE) news-check
- $(MAKE) distcheck
-- $(MAKE) dist XZ_OPT=-9ev
-+ $(MAKE) dist
- $(MAKE) $(release-prep-hook) RELEASE_TYPE=$@
- $(MAKE) -s emit_upload_commands RELEASE_TYPE=$@
-
--
1.7.7.6
12 years, 7 months