mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-09-13 22:42:29 +03:00
Add ability to supress scanner for specific files
This commit is contained in:
parent
8c195c637a
commit
9a72cb7209
2 changed files with 28 additions and 5 deletions
|
@ -754,6 +754,14 @@ If the native code is being built by other means, you can specify
|
||||||
not required, remove the directory instead (using @code{prebuild} for
|
not required, remove the directory instead (using @code{prebuild} for
|
||||||
example).
|
example).
|
||||||
|
|
||||||
|
@item scanignore=path1;path2;...
|
||||||
|
Enables one or more files/paths to be exlcuded from the scan process.
|
||||||
|
This should only be used where there is a very good reason, and
|
||||||
|
probably accompanied by a comment explaining why it is necessary.
|
||||||
|
|
||||||
|
When scanning, files whose relative paths start with any of the paths
|
||||||
|
given here are ignored.
|
||||||
|
|
||||||
@item submodules=yes
|
@item submodules=yes
|
||||||
Use if the project (git only) has submodules - causes git submodule
|
Use if the project (git only) has submodules - causes git submodule
|
||||||
init and update to be executed after the source is cloned.
|
init and update to be executed after the source is cloned.
|
||||||
|
|
|
@ -1991,6 +1991,11 @@ def scan_source(build_dir, root_dir, thisbuild):
|
||||||
'heyzap',
|
'heyzap',
|
||||||
'jpct-ae']
|
'jpct-ae']
|
||||||
|
|
||||||
|
if 'scanignore' in thisbuild:
|
||||||
|
ignore = thisbuild['scanignore'].split(';')
|
||||||
|
else:
|
||||||
|
ignore = []
|
||||||
|
|
||||||
# Iterate through all files in the source code...
|
# Iterate through all files in the source code...
|
||||||
for r,d,f in os.walk(build_dir):
|
for r,d,f in os.walk(build_dir):
|
||||||
for curfile in f:
|
for curfile in f:
|
||||||
|
@ -2001,6 +2006,15 @@ def scan_source(build_dir, root_dir, thisbuild):
|
||||||
# Path (relative) to the file...
|
# Path (relative) to the file...
|
||||||
fp = os.path.join(r, curfile)
|
fp = os.path.join(r, curfile)
|
||||||
|
|
||||||
|
# Check if this file has been explicitly excluded from scanning...
|
||||||
|
ignorethis = False
|
||||||
|
for i in ignore:
|
||||||
|
if fp.startswith(i):
|
||||||
|
ignorethis = True
|
||||||
|
break
|
||||||
|
if ignorethis:
|
||||||
|
continue
|
||||||
|
|
||||||
for suspect in usual_suspects:
|
for suspect in usual_suspects:
|
||||||
if suspect in curfile.lower():
|
if suspect in curfile.lower():
|
||||||
msg = 'Found probable non-free blob ' + fp
|
msg = 'Found probable non-free blob ' + fp
|
||||||
|
@ -2010,12 +2024,13 @@ def scan_source(build_dir, root_dir, thisbuild):
|
||||||
msg = 'Found apk file, which should not be in the source - ' + fp
|
msg = 'Found apk file, which should not be in the source - ' + fp
|
||||||
problems.append(msg)
|
problems.append(msg)
|
||||||
|
|
||||||
|
elif curfile.endswith('.elf'):
|
||||||
|
msg = 'Found .elf at ' + fp
|
||||||
|
problems.append(msg)
|
||||||
|
|
||||||
elif curfile.endswith('.so'):
|
elif curfile.endswith('.so'):
|
||||||
if '/jni' in r:
|
msg = 'Found .so at ' + fp
|
||||||
print 'Warning: Found ELF at ' + fp
|
problems.append(msg)
|
||||||
else:
|
|
||||||
msg = 'Found ELF at ' + fp
|
|
||||||
problems.append(msg)
|
|
||||||
|
|
||||||
elif curfile.endswith('.java'):
|
elif curfile.endswith('.java'):
|
||||||
for line in file(fp):
|
for line in file(fp):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue