[libvirt] [PATCH v2] docs: Properly mark acl.html dependencies

Michal Privoznik mprivozn at redhat.com
Fri Jun 26 07:51:26 UTC 2015


On 25.06.2015 23:09, Martin Kletzander wrote:
> On Wed, Jun 24, 2015 at 12:44:37PM +0200, Martin Kletzander wrote:
>> On Wed, Jun 24, 2015 at 08:53:21AM +0200, Peter Krempa wrote:
>>> On Tue, Jun 23, 2015 at 14:46:36 +0200, Martin Kletzander wrote:
>>>> On Tue, Jun 23, 2015 at 01:56:00PM +0200, Michal Privoznik wrote:
>>>>> The acl.html file includes aclperms.htmlinc which is generated.
>>>>> However, acl.html is generated too from acl.html.tmp. And in fact,
>>>>> this is the place where the aclperms file is needed. Fix the
>>>>> dependency in Makefile.
>>>>>
>>>>> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
>>>>> ---
>>>>>
>>>>
>>>> ACK (I thought I ACKed the previous one with this modification, I
>>>> don't know why :).
>>>>
>>>>> diff to v1:
>>>>> - Fix the origin of the error
>>>>>
>>>>> docs/Makefile.am | 2 +-
>>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/docs/Makefile.am b/docs/Makefile.am
>>>>> index b7b49cb..13dddf8 100644
>>>>> --- a/docs/Makefile.am
>>>>> +++ b/docs/Makefile.am
>>>>> @@ -163,7 +163,7 @@ EXTRA_DIST=                    \
>>>>>   sitemap.html.in aclperms.htmlinc \
>>>>>   todo.pl hvsupport.pl todo.cfg-example
>>>>>
>>>>> -acl.html:: $(srcdir)/aclperms.htmlinc
>>>>> +acl.html.tmp: $(srcdir)/aclperms.htmlinc
>>>
>>> Now after a build I get:
>>>
>>> $ git status
>>> On branch master
>>> Your branch is up-to-date with 'origin/master'.
>>> Untracked files:
>>> (use "git add <file>..." to include in what will be committed)
>>>
>>>     docs/acl.html.tmp
>>>
>>> nothing added to commit but untracked files present (use "git add" to
>>> track)
>>
>> Aha!  I guess that's why the double colon must be there, because it
>> sets one dependency and then there are bunch of other rules that I
>> haven't found the first time (using wildcards), like '%.html: %.html.tmp'
>>
>> Weird that I don't see that after build...
>>
> 
> Now I see that.  And I probably figured out why.  No double colon has
> anything to do with it.  And it's probably the reason why there was
> acl.html specified instead of acl.html.tmp.
> 
> the thing is that if you have:
> 
> filename: another.file
> 
> in the Makefile and you run make, it will keep that immediate file in
> place, but if the immediate file is specified using wildcards, e.g.:
> 
> %name: another.file
> 
> make will clean that up after using it.  I couldn't find why it does
> that and whether that's documented behaviour, but it certainly is
> something I didn't expect.  You can try that this is fixed by
> changing:
> 
> acl.html.tmp: $(srcdir)/aclperms.htmlinc
> 
> to
> 
> %acl.html.tmp: $(srcdir)/aclperms.htmlinc

The other option would be to:

diff --git a/docs/Makefile.am b/docs/Makefile.am
index 13dddf8..16eb137 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -163,7 +163,7 @@ EXTRA_DIST=                                 \
   sitemap.html.in aclperms.htmlinc \
   todo.pl hvsupport.pl todo.cfg-example
 
-acl.html.tmp: $(srcdir)/aclperms.htmlinc
+GENERATED=aclperms.htmlinc
 
 $(srcdir)/aclperms.htmlinc: $(top_srcdir)/src/access/viraccessperm.h \
         $(srcdir)/genaclperms.pl Makefile.am
@@ -228,7 +228,7 @@ internals/%.html.tmp: internals/%.html.in subsite.xsl page.xsl sitemap.html.in
            $(top_srcdir)/docs/subsite.xsl $< > $@ \
            || { rm $@ && exit 1; }; fi
 
-%.html.tmp: %.html.in site.xsl page.xsl sitemap.html.in
+%.html.tmp: %.html.in site.xsl page.xsl sitemap.html.in $(GENERATED)
        @if [ -x $(XSLTPROC) ] ; then \
          echo "Generating $@"; \
          name=`echo $@ | sed -e 's/.tmp//'`; \

Michal




More information about the libvir-list mailing list