pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/mk/check mk/check: reduce running time of portability ...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/a996982507e0
branches:  trunk
changeset: 424496:a996982507e0
user:      rillig <rillig%pkgsrc.org@localhost>
date:      Wed Mar 11 22:30:59 2020 +0000

description:
mk/check: reduce running time of portability check

Since several years, the portability check only checks for shell files.
Instead of opening each extracted file to see whether it is a shell file,
it is more efficient to filter the files based on their names. This saves
a few system calls and in the case of lang/gcc9, half of the total
running time.

The file extensions to be excluded from the check have been sorted by
their count in the PLISTs. This data does not accurately represent the
source files of the package, but it's better than nothing.

diffstat:

 mk/check/check-portability.sh |  12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diffs (26 lines):

diff -r 532e4c748136 -r a996982507e0 mk/check/check-portability.sh
--- a/mk/check/check-portability.sh     Wed Mar 11 22:15:16 2020 +0000
+++ b/mk/check/check-portability.sh     Wed Mar 11 22:30:59 2020 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: check-portability.sh,v 1.11 2020/03/11 19:21:00 rillig Exp $
+# $NetBSD: check-portability.sh,v 1.12 2020/03/11 22:30:59 rillig Exp $
 #
 # This program checks all files in the current directory and any
 # subdirectories for portability issues that are likely to result in
@@ -43,6 +43,16 @@
                eval "case \"\$fname\" in $SKIP_FILTER *.orig) skip=yes;; esac"
                [ $skip = no ] || continue
 
+               ext="${fname##*.}"
+               case "$ext" in
+               # echo */*/PLIST | xargs cat | sed s,'.*\.',, | sort | uniq -c | sort -nr | sed 40q
+               (png|html|svg|py|h|mo|php|js|xml|rb|go|txt|3|hpp)       continue ;;
+               (tfm|gif|dtd|properties|json|ogg|gz|test|result|xpm|po) continue ;;
+               (page|1|kicad_mod|hxx|jpg|css|el|htm|a|docbook|vf|inc)  continue ;;
+               # other source files:
+               (c|C|cc|cxx|f|go|pl|py|in|ac|m4)                        continue ;;
+               esac
+
                case "$opsys" in
                SunOS-5.9)
                        # See also (if you can):



Home | Main Index | Thread Index | Old Index