From 0b608508743baa63220a92361f443af8557a2b9b Mon Sep 17 00:00:00 2001 From: Niels de Vos Date: Wed, 11 Sep 2013 13:44:10 +0200 Subject: qemu-block: fix building from distribution tarball when glib2-devel is installed Building RPMs from a 'make dist' tarball fails when qemu-block is enabled. Enabling is done automatically when the glib2 development files are available (enabled by ./configure). Manual building with: $ ./autogen.sh && ./configure && make dist && rpmbuild -ta *.tar.gz Building in mock works fine, glib2-devel is not installed by default so the qemu-block xlator gets disabled. This change also adds glib2-devel to the BuildRequires in the glusterfs.spec file, causing the qemu-block xlator to be built by default, and included in the glusterfs RPM. Change-Id: Ibb73628772586d9e07bbfde7a8ff2fc973489086 BUG: 986775 Signed-off-by: Niels de Vos Reviewed-on: http://review.gluster.org/5896 Tested-by: Gluster Build System Reviewed-by: Anand Avati --- glusterfs.spec.in | 23 ++++++++++++++++++++++- xlators/features/qemu-block/src/Makefile.am | 8 ++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec.in b/glusterfs.spec.in index a64e2ba7..d654c085 100644 --- a/glusterfs.spec.in +++ b/glusterfs.spec.in @@ -51,6 +51,15 @@ %define _without_bd --disable-bd-xlator %endif +# if you wish to compile an rpm without the qemu-block support... +# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without qemu-block +%{?_without_qemu_block:%global _without_qemu_block --disable-qemu-block} + +%if ( 0%{?rhel} && 0%{?rhel} < 6 ) +# xlators/features/qemu-block fails to build on RHEL5, disable it +%define _without_qemu_block --disable-qemu-block +%endif + %if ( 0%{?fedora} && 0%{?fedora} > 16 ) || ( 0%{?rhel} && 0%{?rhel} > 6 ) %global _with_systemd true %endif @@ -140,6 +149,9 @@ BuildRequires: systemtap-sdt-devel %if ( 0%{!?_without_bd:1} ) BuildRequires: lvm2-devel %endif +%if ( 0%{!?_without_qemu_block:1} ) +BuildRequires: glib2-devel +%endif Obsoletes: hekafs <= 0.7 Obsoletes: %{name}-libs <= 2.0.0 @@ -393,7 +405,16 @@ This package provides the api include files. %build ./autogen.sh -%configure %{?_without_rdma} %{?_without_epoll} %{?_without_fusermount} %{?_without_georeplication} %{?_without_ocf} %{?_without_syslog} %{?_without_bd} %{?_without_systemtap} +%configure \ + %{?_without_rdma} \ + %{?_without_epoll} \ + %{?_without_fusermount} \ + %{?_without_georeplication} \ + %{?_without_ocf} \ + %{?_without_syslog} \ + %{?_without_bd} \ + %{?_without_qemu_block} \ + %{?_without_systemtap} # fix hardening and remove rpath in shlibs %if ( 0%{?fedora} && 0%{?fedora} > 17 ) || ( 0%{?rhel} && 0%{?rhel} > 6 ) diff --git a/xlators/features/qemu-block/src/Makefile.am b/xlators/features/qemu-block/src/Makefile.am index 484c0f19..1a249bb8 100644 --- a/xlators/features/qemu-block/src/Makefile.am +++ b/xlators/features/qemu-block/src/Makefile.am @@ -74,6 +74,7 @@ noinst_HEADERS_qemu = \ $(CONTRIBDIR)/qemu/qmp-commands.h \ $(CONTRIBDIR)/qemu/trace/generated-tracers.h \ $(CONTRIBDIR)/qemu/include/config.h \ + $(CONTRIBDIR)/qemu/include/glib-compat.h \ $(CONTRIBDIR)/qemu/include/qemu-common.h \ $(CONTRIBDIR)/qemu/include/trace.h \ $(CONTRIBDIR)/qemu/include/block/coroutine.h \ @@ -83,8 +84,13 @@ noinst_HEADERS_qemu = \ $(CONTRIBDIR)/qemu/include/block/blockjob.h \ $(CONTRIBDIR)/qemu/include/block/coroutine.h \ $(CONTRIBDIR)/qemu/include/block/coroutine_int.h \ + $(CONTRIBDIR)/qemu/include/block/snapshot.h \ + $(CONTRIBDIR)/qemu/include/exec/cpu-common.h \ + $(CONTRIBDIR)/qemu/include/exec/hwaddr.h \ + $(CONTRIBDIR)/qemu/include/exec/poison.h \ $(CONTRIBDIR)/qemu/include/fpu/softfloat.h \ $(CONTRIBDIR)/qemu/include/migration/migration.h \ + $(CONTRIBDIR)/qemu/include/migration/qemu-file.h \ $(CONTRIBDIR)/qemu/include/migration/vmstate.h \ $(CONTRIBDIR)/qemu/include/monitor/monitor.h \ $(CONTRIBDIR)/qemu/include/monitor/readline.h \ @@ -97,6 +103,7 @@ noinst_HEADERS_qemu = \ $(CONTRIBDIR)/qemu/include/qapi/qmp/qerror.h \ $(CONTRIBDIR)/qemu/include/qapi/qmp/qfloat.h \ $(CONTRIBDIR)/qemu/include/qapi/qmp/qint.h \ + $(CONTRIBDIR)/qemu/include/qapi/qmp/qjson.h \ $(CONTRIBDIR)/qemu/include/qapi/qmp/qlist.h \ $(CONTRIBDIR)/qemu/include/qapi/qmp/qobject.h \ $(CONTRIBDIR)/qemu/include/qapi/qmp/qstring.h \ @@ -117,6 +124,7 @@ noinst_HEADERS_qemu = \ $(CONTRIBDIR)/qemu/include/qemu/notify.h \ $(CONTRIBDIR)/qemu/include/qemu/option.h \ $(CONTRIBDIR)/qemu/include/qemu/option_int.h \ + $(CONTRIBDIR)/qemu/include/qemu/osdep.h \ $(CONTRIBDIR)/qemu/include/qemu/queue.h \ $(CONTRIBDIR)/qemu/include/qemu/sockets.h \ $(CONTRIBDIR)/qemu/include/qemu/thread-posix.h \ -- cgit