On 10/06/2017 02:56 PM, Pino Toscano wrote:
On Friday, 6 October 2017 12:32:28 CEST Michal Privoznik wrote:
> On 10/05/2017 01:07 PM, Pino Toscano wrote:
>> The majority of the syntax check is taylored for C sources, so some of
>> the checks already cause false positives for non-C sources (and thus
>> there are exclusion regexps in place).
>>
>> Instead, just exclude more non-C files from all the checks:
>> - pot files: they are templates for po files (already excluded), and
>> they are automatically generated from sources
>> - pl files: Perl sources, which have own APIs, style, etc; they are
>> helper scripts, not "real" sources
>> - spec/spec.in files: RPM packaging files
>> - js/woff/html.in files: files for web pages
>> - diff/patch files: patches
>> - stp files: SystemTap scripts
>> - syms files: linker symbols files
>> - conf files: generic configuration files
>> - data/cpuinfo files: procinfo/cpuinfo files
>>
>> Python files (.py) are left allowed, since there is at least one syntax
>> check specifically for them.
>>
>> Signed-off-by: Pino Toscano <ptoscano(a)redhat.com>
>> ---
>> cfg.mk | 29 +++++++++++++----------------
>> 1 file changed, 13 insertions(+), 16 deletions(-)
>>
>> diff --git a/cfg.mk b/cfg.mk
>> index 0f4065b98..44a19594e 100644
>> --- a/cfg.mk
>> +++ b/cfg.mk
>> @@ -91,7 +91,7 @@ endif
>>
>> # Files that should never cause syntax check failures.
>> VC_LIST_ALWAYS_EXCLUDE_REGEX = \
>> - (^(docs/(news(-[0-9]*)?\.html\.in|.*\.patch))|\.(po|fig|gif|ico|png))$$
>> +
\.(po|fig|gif|ico|png|pot|pl|spec|spec\.in|js|woff|diff|patch|html\.in|stp|syms|conf|data|cpuinfo)$$
>
> .spec is not in the repo, so it's never checked. And then, we perhaps
> want to check .spec.in? For instance for space at EOF.
.spec is generated from .spec.in, so for a builddir==srcdir build,
syntax-check will find both; hence, IMHO both ought to be either
skipped or checked, but together.
Is that right? I always thought that syntax-check runs only over the
files that are in the git and not generated ones:
libvirt.git $ git clean -fxd; mkdir _build && cd _build && \
../autogen.sh --prefix=${PWD} && echo "" >> libvirt.spec
&& \
make syntax-check ; echo $?
0
Whereas:
libvirt.git $ git clean -fxd; mkdir _build && cd _build && \
../autogen.sh --prefix=${PWD} && echo "" >> ../libvirt.spec.in
&& \
make syntax-check ; echo $?
../libvirt.spec.in
maint.mk: empty line(s) or no newline at EOF
make: *** [../maint.mk:929: sc_prohibit_empty_lines_at_EOF] Error 1
2
Michal