[libvirt] [PATCH] build: check for pod errors

Martin Kletzander mkletzan at redhat.com
Fri Oct 26 17:36:31 UTC 2012


On 10/26/2012 06:06 PM, Eric Blake wrote:
> Patch 61299a1 fixed a long-standing pod error in the man page.
> But we should be preventing these up front.
> 
> * tools/Makefile.am (virt-xml-validate.1, virt-pki-validate.1)
> (virt-host-validate.1, virt-sanlock-cleanup.8, virsh.1): Reject
> pod conversion errors.
> * daemon/Makefile.am ($(srcdir)/libvirtd.8.in): Likewise.
> ---
> 
> I tested that with this patch but not Jirka's cleanup, 'make' failed;
> with both patches, make succeeds and there are no buggy man pages.
> 
>  daemon/Makefile.am |  3 ++-
>  tools/Makefile.am  | 15 ++++++++++-----
>  2 files changed, 12 insertions(+), 6 deletions(-)
> 
> diff --git a/daemon/Makefile.am b/daemon/Makefile.am
> index 1643f38..40012ec 100644
> --- a/daemon/Makefile.am
> +++ b/daemon/Makefile.am
> @@ -384,7 +384,8 @@ POD2MAN = pod2man -c "Virtualization Support" \
>  			-r "$(PACKAGE)-$(VERSION)" -s 8
> 
>  $(srcdir)/libvirtd.8.in: libvirtd.pod.in
> -	$(AM_V_GEN)$(POD2MAN) --name LIBVIRTD $< $@
> +	$(AM_V_GEN)$(POD2MAN) --name LIBVIRTD $< $@ \
> +	    && if grep 'POD ERROR' $@ ; then exit 1; fi
> 

At first I've mistaken $< for $@, but your version is correct.  But if I
may have a suggestion, I'd do 'then rm $@; exit', so it fails also when
you re-run make again.

>  # This is needed for clients too, so can't wrap in
>  # the WITH_LIBVIRTD conditional
> diff --git a/tools/Makefile.am b/tools/Makefile.am
> index 0d7822d..8e7e464 100644
> --- a/tools/Makefile.am
> +++ b/tools/Makefile.am
> @@ -61,17 +61,20 @@ virt-xml-validate: virt-xml-validate.in Makefile
>  	    || (rm $@ && exit 1) && chmod +x $@
> 
>  virt-xml-validate.1: virt-xml-validate.in
> -	$(AM_V_GEN)$(POD2MAN) --name VIRT-XML-VALIDATE $< $(srcdir)/$@
> +	$(AM_V_GEN)$(POD2MAN) --name VIRT-XML-VALIDATE $< $(srcdir)/$@ \
> +	    && if grep 'POD ERROR' $@ ; then exit 1; fi
> 

s_$@_$(srcdir)/$@_

>  virt-pki-validate: virt-pki-validate.in Makefile
>  	$(AM_V_GEN)sed -e 's,[@]SYSCONFDIR@,$(sysconfdir),' < $< > $@ \
>  	    || (rm $@ && exit 1) && chmod +x $@
> 
>  virt-pki-validate.1: virt-pki-validate.in
> -	$(AM_V_GEN)$(POD2MAN) --name VIRT-PKI-VALIDATE $< $(srcdir)/$@
> +	$(AM_V_GEN)$(POD2MAN) --name VIRT-PKI-VALIDATE $< $(srcdir)/$@ \
> +	    && if grep 'POD ERROR' $@ ; then exit 1; fi
> 

s_$@_$(srcdir)/$@_

>  virt-host-validate.1: virt-host-validate.c
> -	$(AM_V_GEN)$(POD2MAN) --name VIRT-HOST-VALIDATE $< $(srcdir)/$@
> +	$(AM_V_GEN)$(POD2MAN) --name VIRT-HOST-VALIDATE $< $(srcdir)/$@ \
> +	    && if grep 'POD ERROR' $@ ; then exit 1; fi
> 

s_$@_$(srcdir)/$@_

>  virt-sanlock-cleanup: virt-sanlock-cleanup.in Makefile
>  	$(AM_V_GEN)sed -e 's,[@]SYSCONFDIR@,$(sysconfdir),' \
> @@ -79,7 +82,8 @@ virt-sanlock-cleanup: virt-sanlock-cleanup.in Makefile
>  	    || (rm $@ && exit 1) && chmod +x $@
> 
>  virt-sanlock-cleanup.8: virt-sanlock-cleanup.in
> -	$(AM_V_GEN)$(POD2MAN) --name VIRT-SANLOCK-CLEANUP $< $(srcdir)/$@
> +	$(AM_V_GEN)$(POD2MAN) --name VIRT-SANLOCK-CLEANUP $< $(srcdir)/$@ \
> +	    && if grep 'POD ERROR' $(srcdir)/$@ ; then exit 1; fi
> 
>  virt_host_validate_SOURCES = \
>  		virt-host-validate.c \
> @@ -162,7 +166,8 @@ virsh_win_icon.$(OBJEXT): virsh_win_icon.rc
>  endif
> 
>  virsh.1: virsh.pod
> -	$(AM_V_GEN)$(POD2MAN) $< $(srcdir)/$@
> +	$(AM_V_GEN)$(POD2MAN) $< $(srcdir)/$@ \
> +	    && if grep 'POD ERROR' $(srcdir)/$@ ; then exit 1; fi
> 
>  install-data-local: install-init install-systemd
> 

ACK with those fixes (both with or without the "rm" added).

Martin




More information about the libvir-list mailing list