I never looked at the check-module script until now. Was it supposed
to be used as an automatic check to be run before committing or
something?

I noticed that it doesn't handle conditional dependencies like this:

    Dependencies:
    stat            [test $NEED_STAT_PLEASE = 1]

This diff should fix that. I haven't committed it since I'm not sure if
this script is still relevant.

$ git diff .
diff --git a/check-module b/check-module
index c86e0569f0..30e23b4710 100755
--- a/check-module
+++ b/check-module
@@ -96,6 +96,7 @@ sub parse_module_file ($)
            }
          elsif ($state eq ST_DEPENDENTS)
            {
+              $line =~ s/\s*\[[^\]]*]$//;
              $dep_set{$line} = 1;
              (my $base = $module_file) =~ s,.*/,,;
              $line eq $base

Here is it what it looks like when run:

    $ cd modules
    $ ../check-module *
    lib/c32is-impl.h: lc-charset-unicode.h is '#include'd, but not listed in 
module's Files: section
    lib/mbrtoc32.c: lc-charset-unicode.h is '#include'd, but not listed in 
module's Files: section
    check-module: can't open '# Just to guarantee consistency between ftell() 
and ftello().' for reading: No such file or directory

It seems that ftello is the only file with a comment in 'Depends-on:'.

Collin

Reply via email to