[libvirt] [PATCH] docs: Correct invalid hyperlinks

Martin Kletzander mkletzan at redhat.com
Tue Dec 2 06:50:08 UTC 2014


On Mon, Dec 01, 2014 at 05:06:55PM +0100, Michal Privoznik wrote:
>On 01.12.2014 15:37, Martin Kletzander wrote:
>> Since libvirt.h was split into multiple files and similarly
>> docs/libvirt-libvirt.html, docs/hvsupport.html have bad hyperlinks.  The
>> same happens for all the html.in files that used <code class='docref'>
>> tag, because page.xsl has no idea where to point the link that's found.
>>
>> Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
>> ---
>>   docs/Makefile.am              |   4 +-
>>   docs/acl.html.in              |   2 +-
>>   docs/api.html.in              | 224 ++++++++++++++++++++++++++++++++++--------
>>   docs/errors.html.in           |   4 +-
>>   docs/formatdomain.html.in     |  15 ++-
>>   docs/formatdomaincaps.html.in |  17 ++--
>>   docs/hvsupport.pl             |  79 ++++++++++-----
>>   docs/java.html.in             |   6 +-
>>   docs/page.xsl                 |   5 -
>>   docs/python.html.in           |   8 +-
>>   docs/uri.html.in              |  12 ++-
>>   11 files changed, 278 insertions(+), 98 deletions(-)
>>
>
>> diff --git a/docs/hvsupport.pl b/docs/hvsupport.pl
>> index 6bbd44a..44a30ce 100755
>> --- a/docs/hvsupport.pl
>> +++ b/docs/hvsupport.pl
>> @@ -4,6 +4,8 @@ use strict;
>>   use warnings;
>>
>>   use File::Find;
>> +use XML::XPath;
>> +use XML::XPath::XMLParser;
>
>So up till now we've used only File::Find which is in core perl.
>However, XML::XPath isn't. Therefore build on bare minimal rawhide fails:
>
>make[3]: Entering directory '/home/zippy/tmp/libvirt.git/docs'
>   GEN      hvsupport.html.in
>Can't locate XML/XPath.pm in @INC (you may need to install the
>XML::XPath module) (@INC contains: /usr/local/lib64/perl5
>/usr/local/share/perl5 /usr/lib64/perl5/vendor_perl
>/usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at
>./hvsupport.pl line 7.
>BEGIN failed--compilation aborted at ./hvsupport.pl line 7.
>Makefile:2327: recipe for target 'hvsupport.html.in' failed
>make[3]: *** [hvsupport.html.in] Error 1
>make[3]: Leaving directory '/home/zippy/tmp/libvirt.git/docs'
>
>We must require XML::XPath in the specfile now. ACK with this squashed in:
>
>diff --git a/libvirt.spec.in b/libvirt.spec.in
>index 0959483..3edb7bd 100644
>--- a/libvirt.spec.in
>+++ b/libvirt.spec.in
>@@ -427,6 +427,7 @@ BuildRequires: /usr/bin/pod2man
>  %endif
>  BuildRequires: git
>  BuildRequires: perl
>+BuildRequires: perl-XML-XPath
>  BuildRequires: python
>  %if %{with_systemd}
>  BuildRequires: systemd-units
>
>Of course this isn't the only thing I've found missing, but for that
>I'll post a separate patch.
>

Before sending that, make sure that BuildRequires are not applicable
only when building from a tarball.  I'll get to the reason below.

I squashed that in and found out another issue (and then found out
it's not caused by this patch) that we can't do "make dist" if running
with enough threads (make -j9 always fails for me).  The reason is
that there is no rule to make all those html/libvirt-*.html files in
docs/ because they are all built together with html/index.html.

Simple solutions are usually the best, so I'm pushing another separate
commit as a "build breaker", which fixes this issue:

diff --git i/docs/Makefile.am w/docs/Makefile.am
index 684687d..bb52c35 100644
--- i/docs/Makefile.am
+++ w/docs/Makefile.am
@@ -27,6 +27,9 @@ DEVHELP_DIR=$(datadir)/gtk-doc/html/libvirt

 apihtml =					\
   html/index.html				\
+  $(apihtml_generated)
+
+apihtml_generated = \
   html/libvirt-libvirt-domain.html		\
   html/libvirt-libvirt-domain-snapshot.html	\
   html/libvirt-libvirt-event.html		\
@@ -248,6 +251,8 @@ internals/%.html.tmp: internals/%.html.in subsite.xsl page.xsl sitemap.html.in
 	    -e /php_placeholder/d < $@.tmp > $(srcdir)/$@ \
 	    || { rm $(srcdir)/$@ && exit 1; }; fi

+$(apihtml_generated): html/index.html
+
 html/index.html: libvirt-api.xml newapi.xsl page.xsl sitemap.html.in
 	$(AM_V_GEN)if [ -x $(XSLTPROC) ] ; then \
 	  $(XSLTPROC) --nonet -o $(srcdir)/ \
--

That said, I found out that that XML-XPath is only needed when
creating the tarball, but (probably) not when building an RPM with it.

Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20141202/0a762258/attachment-0001.sig>


More information about the libvir-list mailing list