[libvirt] [PATCH] docs: Serialize running apibuild.py

Daniel P. Berrange berrange at redhat.com
Fri May 11 09:42:49 UTC 2012


On Fri, Apr 27, 2012 at 12:59:46PM -0400, Cole Robinson wrote:
> Use a witness file approach like we do for python/generator.py,
> as suggested by Eric. Fixes the build issue reported here:
> 
> https://www.redhat.com/archives/libvir-list/2012-April/msg01435.html
> 
> Signed-off-by: Cole Robinson <crobinso at redhat.com>
> ---
>  .gitignore       |    1 +
>  docs/Makefile.am |   12 ++++++++++--
>  2 files changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/.gitignore b/.gitignore
> index 14a21d0..3cc30e8 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -54,6 +54,7 @@
>  /daemon/libvirtd.init
>  /daemon/libvirtd.pod
>  /daemon/libvirtd.service
> +/docs/apibuild.py.stamp
>  /docs/devhelp/libvirt.devhelp
>  /docs/hvsupport.html.in
>  /docs/libvirt-api.xml
> diff --git a/docs/Makefile.am b/docs/Makefile.am
> index 53328f7..9bcc866 100644
> --- a/docs/Makefile.am
> +++ b/docs/Makefile.am
> @@ -200,12 +200,19 @@ python_generated_files = \
>  		$(srcdir)/libvirt-qemu-api.xml \
>  		$(srcdir)/libvirt-qemu-refs.xml
>  
> -$(python_generated_files): $(srcdir)/apibuild.py \
> +APIBUILD="$(srcdir)/apibuild.py"
> +APIBUILD_STAMP="$(APIBUILD).stamp"
> +
> +$(python_generated_files): $(APIBUILD_STAMP)
> +
> +$(APIBUILD_STAMP): $(srcdir)/apibuild.py \
>  		$(srcdir)/../include/libvirt/*.h \
>  		$(srcdir)/../src/libvirt.c \
>  		$(srcdir)/../src/libvirt-qemu.c \
>  		$(srcdir)/../src/util/virterror.c
> -	$(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) $(srcdir)/apibuild.py
> +	$(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) $(APIBUILD)
> +	touch $@
> +
>  
>  check-local: all
>  
> @@ -215,6 +222,7 @@ clean-local:
>  maintainer-clean-local: clean-local
>  	rm -rf $(srcdir)/libvirt-api.xml $(srcdir)/libvirt-refs.xml todo.html.in hvsupport.html.in
>  	rm -rf $(srcdir)/libvirt-qemu-api.xml $(srcdir)/libvirt-qemu-refs.xml
> +	rm -rf $(APIBUILD_STAMP)
>  
>  rebuild: api qemu_api all

Something does not seem to be working correctly here. The docs/ directory
now rebuilds every single time, even if nothing has changed

$ make -s && make -s && make -s && make -s
Making all in schemas
  GEN    ./apibuild.py.stamp
  GEN    html/index.html
  GEN    devhelp/index.html
Making all in schemas
  GEN    ./apibuild.py.stamp
Making all in schemas
  GEN    ./apibuild.py.stamp
  GEN    html/index.html
  GEN    devhelp/index.html
Making all in schemas
  GEN    ./apibuild.py.stamp


this in turn causes the python module to rebuild every time

Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list