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>
|
||||
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 .
|
||||
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,
|
||||
which must be applied with this patch, and which *is* also upstream).
|
||||
---
|
||||
src/conf/domain_conf.c | 52 +++++++++++++++++++++++++++++++++++++++++++++--
|
||||
1 files changed, 49 insertions(+), 3 deletions(-)
|
||||
src/conf/domain_conf.c | 62 +++++++++++++++++++++++++++++++++++++++++++++--
|
||||
1 files changed, 59 insertions(+), 3 deletions(-)
|
||||
|
||||
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
|
||||
+++ b/src/conf/domain_conf.c
|
||||
@@ -7500,7 +7500,25 @@ virDomainDefPtr virDomainDefParseString(virCapsPtr caps,
|
||||
|
@ -94,14 +95,15 @@ index 318f523..4f4163e 100644
|
|||
}
|
||||
|
||||
virDomainDefPtr virDomainDefParseFile(virCapsPtr caps,
|
||||
@@ -10648,8 +10666,20 @@ virDomainDefFormatInternal(virDomainDefPtr def,
|
||||
@@ -10648,8 +10666,30 @@ virDomainDefFormatInternal(virDomainDefPtr def,
|
||||
virBufferAddLit(buf, " <type");
|
||||
if (def->os.arch)
|
||||
virBufferAsprintf(buf, " arch='%s'", def->os.arch);
|
||||
- if (def->os.machine)
|
||||
- virBufferAsprintf(buf, " machine='%s'", 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
|
||||
+ * of domains that were running when libvirtd was restarted at
|
||||
+ * the time of upgrade.
|
||||
|
@ -110,6 +112,15 @@ index 318f523..4f4163e 100644
|
|||
+ virBufferAddLit(buf, " machine='pc-0.14'");
|
||||
+ VIR_WARN("substituting machine type 'fedora-13' with 'pc-0.14' "
|
||||
+ "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 {
|
||||
+ 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
|
||||
* 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)))
|
||||
goto error;
|
||||
|
||||
|
@ -141,5 +152,5 @@ index 318f523..4f4163e 100644
|
|||
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')}
|
||||
%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
|
||||
# the generic RPC driver, and test driver and no libvirtd
|
||||
# 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
|
||||
Patch14:%{name}-%{version}-test-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
|
||||
URL: http://libvirt.org/
|
||||
|
@ -347,6 +357,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}
|
||||
|
@ -583,6 +599,8 @@ of recent versions of Linux (and other OSes).
|
|||
%patch13 -p1
|
||||
%patch14 -p1
|
||||
%patch15 -p1
|
||||
%patch16 -p1
|
||||
%patch17 -p1
|
||||
|
||||
%build
|
||||
%if ! %{with_xen}
|
||||
|
@ -736,6 +754,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} \
|
||||
|
@ -1188,7 +1209,7 @@ fi
|
|||
%endif
|
||||
|
||||
%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
|
||||
systems for removal of "fedora-13" from qemu - Bug 754772
|
||||
- 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 754909 add dmidecode as a prerequisite
|
||||
- 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
|
||||
- xenlight available only on Xen arches (#745020)
|
||||
|
|
Loading…
Reference in New Issue