release 0.9.6-4 of libvirt, take 2
- eliminate crash of shunloadtest encountered during build - "fedora-13" machine type patch was missing a hunk. - specfile needed to BuildRequires: autoconf tools because the new virtime APIs require re-running autoconf.remotes/origin/f16
parent
1dd1aab12e
commit
ac5ee8c94d
|
@ -0,0 +1,45 @@
|
||||||
|
From 7a1eb2ead5d441e3604070e8fe89cce475cc45a8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Daniel P. Berrange" <berrange@redhat.com>
|
||||||
|
Date: Thu, 1 Dec 2011 11:33:50 -0500
|
||||||
|
Subject: [PATCH] Avoid crash in shunloadtest
|
||||||
|
|
||||||
|
For unknown reasons, the shunloadtest will crash on Fedora 16
|
||||||
|
inside dlopen()
|
||||||
|
|
||||||
|
(gdb) bt
|
||||||
|
#0 0x00000000000050e6 in ?? ()
|
||||||
|
#1 0x00007ff61a77b9d5 in floor () from /lib64/libm.so.6
|
||||||
|
#2 0x00007ff61e522963 in _dl_relocate_object () from /lib64/ld-linux-x86-64.so.2
|
||||||
|
#3 0x00007ff61e5297e6 in dl_open_worker () from /lib64/ld-linux-x86-64.so.2
|
||||||
|
#4 0x00007ff61e525006 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2
|
||||||
|
#5 0x00007ff61e52917a in _dl_open () from /lib64/ld-linux-x86-64.so.2
|
||||||
|
#6 0x00007ff61e0f6f26 in dlopen_doit () from /lib64/libdl.so.2
|
||||||
|
#7 0x00007ff61e525006 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2
|
||||||
|
#8 0x00007ff61e0f752f in _dlerror_run () from /lib64/libdl.so.2
|
||||||
|
#9 0x00007ff61e0f6fc1 in dlopen@@GLIBC_2.2.5 () from /lib64/libdl.so.2
|
||||||
|
#10 0x0000000000400a15 in main (argc=<optimized out>, argv=<optimized out>) at shunloadtest.c:105
|
||||||
|
|
||||||
|
Changing from RTLD_NOW to RTLD_LAZY avoids this problem,
|
||||||
|
but quite possibly does not fix the root cause.
|
||||||
|
|
||||||
|
* shunloadtest.c: s/NOW/LAZY/
|
||||||
|
---
|
||||||
|
tests/shunloadtest.c | 2 +-
|
||||||
|
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/tests/shunloadtest.c b/tests/shunloadtest.c
|
||||||
|
index 2cdb8b8..ab6e56f 100644
|
||||||
|
--- a/tests/shunloadtest.c
|
||||||
|
+++ b/tests/shunloadtest.c
|
||||||
|
@@ -102,7 +102,7 @@ int main(int argc ATTRIBUTE_UNUSED, char **argv)
|
||||||
|
fprintf(stderr, " .%*s 1 ", 39, "");
|
||||||
|
signal(SIGSEGV, sigHandler);
|
||||||
|
|
||||||
|
- if (!(lib = dlopen("./.libs/libshunload.so", RTLD_NOW))) {
|
||||||
|
+ if (!(lib = dlopen("./.libs/libshunload.so", RTLD_LAZY))) {
|
||||||
|
fprintf(stderr, "Cannot load ./.libs/libshunload.so %s\n", dlerror());
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
--
|
||||||
|
1.7.7.4
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
From 3007fc36e4b437bf5ffe9dee4883e68e49740c92 Mon Sep 17 00:00:00 2001
|
From eaf056bf995558ecf6620ce031287f3aa81b66de Mon Sep 17 00:00:00 2001
|
||||||
From: Laine Stump <laine@laine.org>
|
From: Laine Stump <laine@laine.org>
|
||||||
Date: Tue, 6 Dec 2011 12:47:28 -0500
|
Date: Tue, 6 Dec 2011 12:47:28 -0500
|
||||||
Subject: [PATCH] qemu: replace deprecated fedora-13 machine type with pc-0.14
|
Subject: [PATCH 1/2] qemu: replace deprecated fedora-13 machine type with
|
||||||
|
pc-0.14
|
||||||
|
|
||||||
This addresses https://bugzilla.redhat.com/show_bug.cgi?id=754772 .
|
This addresses https://bugzilla.redhat.com/show_bug.cgi?id=754772 .
|
||||||
It should only be applied to Fedora builds of libvirt, F15 and
|
It should only be applied to Fedora builds of libvirt, F15 and
|
||||||
|
@ -60,11 +61,11 @@ and since that machine type is treated specially by the rest of this
|
||||||
patch, it was failing. That has been changed in a separate patch,
|
patch, it was failing. That has been changed in a separate patch,
|
||||||
which must be applied with this patch, and which *is* also upstream).
|
which must be applied with this patch, and which *is* also upstream).
|
||||||
---
|
---
|
||||||
src/conf/domain_conf.c | 52 +++++++++++++++++++++++++++++++++++++++++++++--
|
src/conf/domain_conf.c | 62 +++++++++++++++++++++++++++++++++++++++++++++--
|
||||||
1 files changed, 49 insertions(+), 3 deletions(-)
|
1 files changed, 59 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
|
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
|
||||||
index 318f523..4f4163e 100644
|
index 318f523..7906bb8 100644
|
||||||
--- a/src/conf/domain_conf.c
|
--- a/src/conf/domain_conf.c
|
||||||
+++ b/src/conf/domain_conf.c
|
+++ b/src/conf/domain_conf.c
|
||||||
@@ -7500,7 +7500,25 @@ virDomainDefPtr virDomainDefParseString(virCapsPtr caps,
|
@@ -7500,7 +7500,25 @@ virDomainDefPtr virDomainDefParseString(virCapsPtr caps,
|
||||||
|
@ -94,14 +95,15 @@ index 318f523..4f4163e 100644
|
||||||
}
|
}
|
||||||
|
|
||||||
virDomainDefPtr virDomainDefParseFile(virCapsPtr caps,
|
virDomainDefPtr virDomainDefParseFile(virCapsPtr caps,
|
||||||
@@ -10648,8 +10666,20 @@ virDomainDefFormatInternal(virDomainDefPtr def,
|
@@ -10648,8 +10666,30 @@ virDomainDefFormatInternal(virDomainDefPtr def,
|
||||||
virBufferAddLit(buf, " <type");
|
virBufferAddLit(buf, " <type");
|
||||||
if (def->os.arch)
|
if (def->os.arch)
|
||||||
virBufferAsprintf(buf, " arch='%s'", def->os.arch);
|
virBufferAsprintf(buf, " arch='%s'", def->os.arch);
|
||||||
- if (def->os.machine)
|
- if (def->os.machine)
|
||||||
- virBufferAsprintf(buf, " machine='%s'", def->os.machine);
|
- virBufferAsprintf(buf, " machine='%s'", def->os.machine);
|
||||||
+ if (def->os.machine) {
|
+ if (def->os.machine) {
|
||||||
+ /* Fedora-specific HACK - replace "fedora-13" with "pc-0.14".
|
+ /* Fedora-specific HACK - replace "fedora-13" with "pc-0.14"
|
||||||
|
+ * (in the original DomainDef as well as in the xml output).
|
||||||
+ * This will catch XML being written to save/migration images
|
+ * This will catch XML being written to save/migration images
|
||||||
+ * of domains that were running when libvirtd was restarted at
|
+ * of domains that were running when libvirtd was restarted at
|
||||||
+ * the time of upgrade.
|
+ * the time of upgrade.
|
||||||
|
@ -110,6 +112,15 @@ index 318f523..4f4163e 100644
|
||||||
+ virBufferAddLit(buf, " machine='pc-0.14'");
|
+ virBufferAddLit(buf, " machine='pc-0.14'");
|
||||||
+ VIR_WARN("substituting machine type 'fedora-13' with 'pc-0.14' "
|
+ VIR_WARN("substituting machine type 'fedora-13' with 'pc-0.14' "
|
||||||
+ "in domain %s", def->name);
|
+ "in domain %s", def->name);
|
||||||
|
+ /* It's not exactly nice to modify the source object,
|
||||||
|
+ * but sometimes virDomainFormat is called > 100 times for the
|
||||||
|
+ * same object, which would result in far too many warning logs.
|
||||||
|
+ */
|
||||||
|
+ VIR_FREE(def->os.machine);
|
||||||
|
+ if (!(def->os.machine = strdup("pc-0.14"))) {
|
||||||
|
+ virReportOOMError();
|
||||||
|
+ goto cleanup;
|
||||||
|
+ }
|
||||||
+ } else {
|
+ } else {
|
||||||
+ virBufferAsprintf(buf, " machine='%s'", def->os.machine);
|
+ virBufferAsprintf(buf, " machine='%s'", def->os.machine);
|
||||||
+ }
|
+ }
|
||||||
|
@ -117,7 +128,7 @@ index 318f523..4f4163e 100644
|
||||||
/*
|
/*
|
||||||
* HACK: For xen driver we previously used bogus 'linux' as the
|
* HACK: For xen driver we previously used bogus 'linux' as the
|
||||||
* os type for paravirt, whereas capabilities declare it to
|
* os type for paravirt, whereas capabilities declare it to
|
||||||
@@ -11100,6 +11130,22 @@ static virDomainObjPtr virDomainLoadConfig(virCapsPtr caps,
|
@@ -11100,6 +11140,22 @@ static virDomainObjPtr virDomainLoadConfig(virCapsPtr caps,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
|
@ -141,5 +152,5 @@ index 318f523..4f4163e 100644
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
--
|
--
|
||||||
1.7.7.3
|
1.7.7.4
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,109 @@
|
||||||
|
From 473e5ca36260011a330e1e3bf8f4f3b6865b5638 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Eric Blake <eblake@redhat.com>
|
||||||
|
Date: Mon, 5 Dec 2011 10:22:10 -0700
|
||||||
|
Subject: [PATCH 2/2] spec: make it easier to autoreconf when building rpm
|
||||||
|
|
||||||
|
Over time, Fedora and RHEL RPMs have often backported upstream
|
||||||
|
patches that touched configure.ac and/or Makefile.am; this
|
||||||
|
necessitates rerunning the autotools for the patch to be effective.
|
||||||
|
Making this a one-liner spec tweak will make it easier for future
|
||||||
|
backports to pull patches without having to find all the places
|
||||||
|
to touch to properly use the autotools. Meanwhile, there have been
|
||||||
|
historical instances where an update in the autotools caused FTBFS
|
||||||
|
situations, so this is not on by default.
|
||||||
|
|
||||||
|
* libvirt.spec.in (enable_autotools): New variable, default off.
|
||||||
|
(BuildRequires): Conditionally add autotools.
|
||||||
|
(%build): Conditionally use them before configure.
|
||||||
|
* mingw32-libvirt.spec.in: Likewise.
|
||||||
|
|
||||||
|
Conflicts:
|
||||||
|
|
||||||
|
mingw32-libvirt.spec.in - caused by change in context
|
||||||
|
---
|
||||||
|
libvirt.spec.in | 14 ++++++++++++++
|
||||||
|
mingw32-libvirt.spec.in | 15 +++++++++++++++
|
||||||
|
2 files changed, 29 insertions(+), 0 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libvirt.spec.in b/libvirt.spec.in
|
||||||
|
index cfc3a43..8579ba8 100644
|
||||||
|
--- a/libvirt.spec.in
|
||||||
|
+++ b/libvirt.spec.in
|
||||||
|
@@ -8,6 +8,11 @@
|
||||||
|
sed -ne 's/^\.fc\?\([0-9]\+\).*/%%define fedora \1/p')}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
+# Default to skipping autoreconf. Distros can change just this one line
|
||||||
|
+# (or provide a command-line override) if they backport any patches that
|
||||||
|
+# touch configure.ac or Makefile.am.
|
||||||
|
+%{!?enable_autotools:%define enable_autotools 0}
|
||||||
|
+
|
||||||
|
# A client only build will create a libvirt.so only containing
|
||||||
|
# the generic RPC driver, and test driver and no libvirtd
|
||||||
|
# Default to a full server + client build
|
||||||
|
@@ -330,6 +335,12 @@ Requires: libcgroup
|
||||||
|
Requires: dmidecode
|
||||||
|
|
||||||
|
# All build-time requirements
|
||||||
|
+%if 0%{?enable_autotools}
|
||||||
|
+BuildRequires: autoconf
|
||||||
|
+BuildRequires: automake
|
||||||
|
+BuildRequires: gettext-devel
|
||||||
|
+BuildRequires: libtool
|
||||||
|
+%endif
|
||||||
|
BuildRequires: python-devel
|
||||||
|
|
||||||
|
%if %{with_xen}
|
||||||
|
@@ -700,6 +711,9 @@ of recent versions of Linux (and other OSes).
|
||||||
|
%define with_packager_version --with-packager-version="%{release}"
|
||||||
|
|
||||||
|
|
||||||
|
+%if 0%{?enable_autotools}
|
||||||
|
+autoreconf -if
|
||||||
|
+%endif
|
||||||
|
%configure %{?_without_xen} \
|
||||||
|
%{?_without_qemu} \
|
||||||
|
%{?_without_openvz} \
|
||||||
|
diff --git a/mingw32-libvirt.spec.in b/mingw32-libvirt.spec.in
|
||||||
|
index f651d11..e071c38 100644
|
||||||
|
--- a/mingw32-libvirt.spec.in
|
||||||
|
+++ b/mingw32-libvirt.spec.in
|
||||||
|
@@ -5,6 +5,11 @@
|
||||||
|
%define __find_provides %{_mingw32_findprovides}
|
||||||
|
%define __debug_install_post %{_mingw32_debug_install_post}
|
||||||
|
|
||||||
|
+# Default to skipping autoreconf. Distros can change just this one line
|
||||||
|
+# (or provide a command-line override) if they backport any patches that
|
||||||
|
+# touch configure.ac or Makefile.am.
|
||||||
|
+%{!?enable_autotools:%define enable_autotools 0}
|
||||||
|
+
|
||||||
|
Name: mingw32-libvirt
|
||||||
|
Version: @VERSION@
|
||||||
|
Release: 3%{?dist}%{?extra_release}
|
||||||
|
@@ -28,6 +33,12 @@ BuildRequires: mingw32-portablexdr
|
||||||
|
BuildRequires: pkgconfig
|
||||||
|
# Need native version for msgfmt
|
||||||
|
BuildRequires: gettext
|
||||||
|
+%if 0%{?enable_autotools}
|
||||||
|
+BuildRequires: autoconf
|
||||||
|
+BuildRequires: automake
|
||||||
|
+BuildRequires: gettext-devel
|
||||||
|
+BuildRequires: libtool
|
||||||
|
+%endif
|
||||||
|
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
@@ -42,6 +53,10 @@ MinGW Windows libvirt virtualization library.
|
||||||
|
|
||||||
|
|
||||||
|
%build
|
||||||
|
+%if 0%{?enable_autotools}
|
||||||
|
+autoreconf -if
|
||||||
|
+%endif
|
||||||
|
+
|
||||||
|
# XXX enable SASL in future
|
||||||
|
%{_mingw32_configure} \
|
||||||
|
--without-sasl \
|
||||||
|
--
|
||||||
|
1.7.7.4
|
||||||
|
|
26
libvirt.spec
26
libvirt.spec
|
@ -8,6 +8,14 @@
|
||||||
sed -ne 's/^\.fc\?\([0-9]\+\).*/%%define fedora \1/p')}
|
sed -ne 's/^\.fc\?\([0-9]\+\).*/%%define fedora \1/p')}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
# Default to skipping autoreconf. Distros can change just this one line
|
||||||
|
# (or provide a command-line override) if they backport any patches that
|
||||||
|
# touch configure.ac or Makefile.am.
|
||||||
|
# (Fedora 16 has to turn this on because changes have been made to
|
||||||
|
# configure.ac and Makefile.am for the addition of the virtime internal
|
||||||
|
# api)
|
||||||
|
%{!?enable_autotools:%define enable_autotools 1}
|
||||||
|
|
||||||
# A client only build will create a libvirt.so only containing
|
# A client only build will create a libvirt.so only containing
|
||||||
# the generic RPC driver, and test driver and no libvirtd
|
# the generic RPC driver, and test driver and no libvirtd
|
||||||
# Default to a full server + client build
|
# Default to a full server + client build
|
||||||
|
@ -254,6 +262,8 @@ Patch12:%{name}-%{version}-spec-fix-logic-bug-in-deciding-to-turn-on-cgconfig.pa
|
||||||
Patch13:%{name}-%{version}-network-don-t-add-iptables-rules-for-externally-mana.patch
|
Patch13:%{name}-%{version}-network-don-t-add-iptables-rules-for-externally-mana.patch
|
||||||
Patch14:%{name}-%{version}-test-replace-deprecated-fedora-13-machine.patch
|
Patch14:%{name}-%{version}-test-replace-deprecated-fedora-13-machine.patch
|
||||||
Patch15:%{name}-%{version}-qemu-replace-deprecated-fedora-13-machine.patch
|
Patch15:%{name}-%{version}-qemu-replace-deprecated-fedora-13-machine.patch
|
||||||
|
Patch16:%{name}-%{version}-spec-make-it-easier-to-autoreconf-when-building-rpm.patch
|
||||||
|
Patch17:%{name}-%{version}-Avoid-crash-in-shunloadtest.patch
|
||||||
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||||
URL: http://libvirt.org/
|
URL: http://libvirt.org/
|
||||||
|
@ -347,6 +357,12 @@ Requires: libcgroup
|
||||||
Requires: dmidecode
|
Requires: dmidecode
|
||||||
|
|
||||||
# All build-time requirements
|
# All build-time requirements
|
||||||
|
%if 0%{?enable_autotools}
|
||||||
|
BuildRequires: autoconf
|
||||||
|
BuildRequires: automake
|
||||||
|
BuildRequires: gettext-devel
|
||||||
|
BuildRequires: libtool
|
||||||
|
%endif
|
||||||
BuildRequires: python-devel
|
BuildRequires: python-devel
|
||||||
|
|
||||||
%if %{with_xen}
|
%if %{with_xen}
|
||||||
|
@ -583,6 +599,8 @@ of recent versions of Linux (and other OSes).
|
||||||
%patch13 -p1
|
%patch13 -p1
|
||||||
%patch14 -p1
|
%patch14 -p1
|
||||||
%patch15 -p1
|
%patch15 -p1
|
||||||
|
%patch16 -p1
|
||||||
|
%patch17 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%if ! %{with_xen}
|
%if ! %{with_xen}
|
||||||
|
@ -736,6 +754,9 @@ of recent versions of Linux (and other OSes).
|
||||||
%define with_packager_version --with-packager-version="%{release}"
|
%define with_packager_version --with-packager-version="%{release}"
|
||||||
|
|
||||||
|
|
||||||
|
%if 0%{?enable_autotools}
|
||||||
|
autoreconf -if
|
||||||
|
%endif
|
||||||
%configure %{?_without_xen} \
|
%configure %{?_without_xen} \
|
||||||
%{?_without_qemu} \
|
%{?_without_qemu} \
|
||||||
%{?_without_openvz} \
|
%{?_without_openvz} \
|
||||||
|
@ -1188,7 +1209,7 @@ fi
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Sun Dec 18 2011 Laine Stump <laine@redhat.com> - 0.9.6-4
|
* Mon Dec 19 2011 Laine Stump <laine@redhat.com> - 0.9.6-4
|
||||||
- replace "fedora-13" machine type with "pc-0.14" to prepare
|
- replace "fedora-13" machine type with "pc-0.14" to prepare
|
||||||
systems for removal of "fedora-13" from qemu - Bug 754772
|
systems for removal of "fedora-13" from qemu - Bug 754772
|
||||||
- don't add iptables rules for externally managed networks
|
- don't add iptables rules for externally managed networks
|
||||||
|
@ -1199,7 +1220,8 @@ fi
|
||||||
- Bug 738725 fix logic bug in deciding to turn on cgconfig
|
- Bug 738725 fix logic bug in deciding to turn on cgconfig
|
||||||
- Bug 754909 add dmidecode as a prerequisite
|
- Bug 754909 add dmidecode as a prerequisite
|
||||||
- new async-safe time API + make logging async signal sage wrt.
|
- new async-safe time API + make logging async signal sage wrt.
|
||||||
time stamp generation - Bug 757382
|
time stamp generation - Bug 757382 (this required
|
||||||
|
enabling autoconf during the build)
|
||||||
|
|
||||||
* Tue Oct 11 2011 Dan Horák <dan[at]danny.cz> - 0.9.6-3
|
* Tue Oct 11 2011 Dan Horák <dan[at]danny.cz> - 0.9.6-3
|
||||||
- xenlight available only on Xen arches (#745020)
|
- xenlight available only on Xen arches (#745020)
|
||||||
|
|
Loading…
Reference in New Issue