[libvirt] [PATCH 2/3] docs: autogenerate search.php
Martin Kletzander
mkletzan at redhat.com
Fri Aug 10 09:34:30 UTC 2012
On 08/09/2012 05:00 PM, Eric Blake wrote:
> On 08/09/2012 08:17 AM, Martin Kletzander wrote:
>> This patch makes search.php autogenerated from search.php.in, thus
>> removing hardcoded menus, footer etc. and the search.php is added to
>> .gitignore.
>>
>> There is new rule added for *.php files (to make it bit less
>> hardcoded) that takes *.php.code.in and injects it inside the
>> generated *.php (xslt was not happy about php code in the source xml).
>> ---
>
> I will flat-out admit I've never coded in php. However, I can at least
> review the makefile portions for correctness, as well as apply and test
> that the patch does what it claims (and indeed, the generated search.php
> file resembles the original checked in version, with the differences
> being improvements in the boilerplate now that it went through the same
> code generation steps as the rest of our pages).
>
> I did _not_ test a 'make dist' from a VPATH build; there's a slight
> possibility that we may need some cleanup patches as a result, but I'm
> okay with that risk.
>
I'll try that, but I won't probably find necessarily all the issues that
might occur.
>> @@ -173,6 +178,19 @@ internals/%.html.tmp: internals/%.html.in subsite.xsl page.xsl sitemap.html.in
>> || { rm $(srcdir)/$@ && exit 1; }; \
>> else echo "missing XHTML1 DTD" ; fi ; fi
>>
>> +%.php.tmp: %.php.in site.xsl page.xsl sitemap.html.in
>> + @if [ -x $(XSLTPROC) ] ; then \
>> + echo "Generating $@"; \
>> + name=`echo $@ | sed -e 's/.tmp//'`; \
>
> This works, although '\.' is technically tighter than '.' for matching
> the literal '.' in the file name. But why bother with sed and `` in the
> first place? You've go make to do it for you:
>
> name=$(@:.tmp=)
>
Yes, I haven't realized that when remaking other rule to suit my needs,
but it's definitely better looking, easier and faster.
All the other rules use this, so I'll see what I can do with that later
(maybe some bigger cleanup wouldn't hurt), but ...
>> + $(XSLTPROC) --stringparam pagename $$name --nonet --html \
>
> or even skip $$name and directly inline $(@:.tmp=) here.
>
... I went with this version in this patch.
>> + $(top_srcdir)/docs/site.xsl $< > $@ \
>> + || { rm $@ && exit 1; }; fi
>> +
>> +%.php: %.php.tmp %.php.code.in
>> + @echo "Scripting $@"; \
>> + sed -e '/<a id="php_placeholder"><\/a>/r '"$(srcdir)/$@.code.in"\
>
> Missing space before \, for consistent style.
>
Fixed.
> ACK with those minor tweaks.
>
Thanks, pushed.
Martin
More information about the libvir-list
mailing list