diff --git a/0001-LXC-Fix-return-code-evaulation-in-lxcCheckNetNsSuppo.patch b/0001-LXC-Fix-return-code-evaulation-in-lxcCheckNetNsSuppo.patch
deleted file mode 100644
index 33f7b94..0000000
--- a/0001-LXC-Fix-return-code-evaulation-in-lxcCheckNetNsSuppo.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 21ec87f4f1a538f929c48ecb2bdbf48701022779 Mon Sep 17 00:00:00 2001
-Message-Id: <21ec87f4f1a538f929c48ecb2bdbf48701022779.1397245564.git.crobinso@redhat.com>
-From: Richard Weinberger <richard@nod.at>
-Date: Tue, 8 Apr 2014 14:26:26 +0200
-Subject: [PATCH] LXC: Fix return code evaulation in lxcCheckNetNsSupport()
-
-Commit b9dd878f (util: make it easier to grab only regular command exit)
-changed the call semantics of virCommandRun() and therefore of virRun()
-too. But lxcCheckNetNsSupport() was not updated.
-As consequence of this lxcCheckNetNsSupport always failed and broke LXC.
-
-Signed-off-by: Richard Weinberger <richard@nod.at>
----
- src/lxc/lxc_driver.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
-index 33ff011..942e139 100644
---- a/src/lxc/lxc_driver.c
-+++ b/src/lxc/lxc_driver.c
-@@ -1475,8 +1475,7 @@ static int lxcCheckNetNsSupport(void)
-     const char *argv[] = {"ip", "link", "set", "lo", "netns", "-1", NULL};
-     int ip_rc;
- 
--    if (virRun(argv, &ip_rc) < 0 ||
--        !(WIFEXITED(ip_rc) && (WEXITSTATUS(ip_rc) != 255)))
-+    if (virRun(argv, &ip_rc) < 0 || ip_rc == 255)
-         return 0;
- 
-     if (lxcContainerAvailable(LXC_CONTAINER_FEATURE_NET) < 0)
--- 
-1.9.0
-
diff --git a/libvirt.spec b/libvirt.spec
index 5cf66a4..7175e59 100644
--- a/libvirt.spec
+++ b/libvirt.spec
@@ -132,6 +132,7 @@
 %define with_libssh2       0%{!?_without_libssh2:0}
 %define with_wireshark     0%{!?_without_wireshark:0}
 %define with_systemd_daemon 0%{!?_without_systemd_daemon:0}
+%define with_pm_utils      1
 
 # Non-server/HV driver defaults which are always enabled
 %define with_sasl          0%{!?_without_sasl:1}
@@ -182,6 +183,7 @@
 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
     %define with_systemd 1
     %define with_systemd_daemon 1
+    %define with_pm_utils 0
 %endif
 
 # Fedora 18 / RHEL-7 are first where firewalld support is enabled
@@ -387,8 +389,8 @@
 
 Summary: Library providing a simple virtualization API
 Name: libvirt
-Version: 1.2.3
-Release: 2%{?dist}%{?extra_release}
+Version: 1.2.4
+Release: 1%{?dist}%{?extra_release}
 License: LGPLv2+
 Group: Development/Libraries
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
@@ -399,9 +401,6 @@ URL: http://libvirt.org/
 %endif
 Source: http://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.gz
 
-# Fix LXC from throwing error System lacks NETNS support (bz #1084902)
-Patch0001: 0001-LXC-Fix-return-code-evaulation-in-lxcCheckNetNsSuppo.patch
-
 %if %{with_libvirtd}
 Requires: libvirt-daemon = %{version}-%{release}
     %if %{with_network}
@@ -1141,8 +1140,10 @@ Requires: nc
 Requires: gettext
 # Needed by virt-pki-validate script.
 Requires: gnutls-utils
+%if %{with_pm_utils}
 # Needed for probing the power management features of the host.
 Requires: pm-utils
+%endif
 %if %{with_sasl}
 Requires: cyrus-sasl
 # Not technically required, but makes 'out-of-box' config
@@ -1209,9 +1210,6 @@ driver
 %prep
 %setup -q
 
-# Fix LXC from throwing error System lacks NETNS support (bz #1084902)
-%patch0001 -p1
-
 %build
 %if ! %{with_xen}
     %define _without_xen --without-xen
@@ -1401,6 +1399,10 @@ driver
     %define _without_systemd_daemon --without-systemd-daemon
 %endif
 
+%if ! %{with_pm_utils}
+    %define _without_pm_utils --without-pm-utils
+%endif
+
 %define when  %(date +"%%F-%%T")
 %define where %(hostname)
 %define who   %{?packager}%{!?packager:Unknown}
@@ -1477,6 +1479,7 @@ rm -f po/stamp-po
            %{?_with_firewalld} \
            %{?_without_wireshark} \
            %{?_without_systemd_daemon} \
+           %{?_without_pm_utils} \
            %{with_packager} \
            %{with_packager_version} \
            --with-qemu-user=%{qemu_user} \
@@ -1495,7 +1498,7 @@ rm -fr %{buildroot}
 # on RHEL 5, thus we need to expand it here.
 make install DESTDIR=%{?buildroot} SYSTEMD_UNIT_DIR=%{_unitdir}
 
-for i in object-events dominfo domsuspend hellolibvirt openauth xml/nwfilter systemtap
+for i in object-events dominfo domsuspend hellolibvirt openauth xml/nwfilter systemtap dommigrate
 do
   (cd examples/$i ; make clean ; rm -rf .deps .libs Makefile Makefile.in)
 done
@@ -1585,12 +1588,11 @@ do
   printf '#!/bin/sh\nexit 0\n' > $i
   chmod +x $i
 done
-# 1.2.3 one test is segfaulting in mock, need to investigate
-#if ! make check VIR_TEST_DEBUG=1
-#then
-#  cat test-suite.log || true
-#  exit 1
-#fi
+if ! make check VIR_TEST_DEBUG=1
+then
+  cat test-suite.log || true
+  exit 1
+fi
 
 %if %{with_libvirtd}
     %if ! %{with_driver_modules}
@@ -2169,8 +2171,7 @@ exit 0
 %{_datadir}/libvirt/schemas/nodedev.rng
 %{_datadir}/libvirt/schemas/nwfilter.rng
 %{_datadir}/libvirt/schemas/secret.rng
-%{_datadir}/libvirt/schemas/storageencryption.rng
-%{_datadir}/libvirt/schemas/storagefilefeatures.rng
+%{_datadir}/libvirt/schemas/storagecommon.rng
 %{_datadir}/libvirt/schemas/storagepool.rng
 %{_datadir}/libvirt/schemas/storagevol.rng
 
@@ -2221,11 +2222,15 @@ exit 0
 %doc examples/object-events
 %doc examples/dominfo
 %doc examples/domsuspend
+%doc examples/dommigrate
 %doc examples/openauth
 %doc examples/xml
 %doc examples/systemtap
 
 %changelog
+* Tue May  6 2014 Cole Robinson <berrange@redhat.com> - 1.2.4-1
+- Update to 1.2.4 release
+
 * Fri Apr 11 2014 Cole Robinson <crobinso@redhat.com> - 1.2.3-2
 - Fix LXC from throwing error System lacks NETNS support (bz #1084902)
 
diff --git a/sources b/sources
index 474d69d..e5cc837 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-ad1602a2fcc3609c83b885a28f3eecbd  libvirt-1.2.3.tar.gz
+da7a9ca519df45a460659189fe0024e6  libvirt-1.2.4.tar.gz