mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-09-14 06:52:39 +03:00
Integrate scanning into build
This commit is contained in:
parent
9ba5c8cea8
commit
3317cd84d3
3 changed files with 53 additions and 33 deletions
39
common.py
39
common.py
|
@ -890,6 +890,45 @@ def prepare_source(vcs, app, build, build_dir, extlib_dir, sdk_path, ndk_path, j
|
|||
return root_dir
|
||||
|
||||
|
||||
# Scan the source code in the given directory (and all subdirectories)
|
||||
# and return a list of potential problems.
|
||||
def scan_source(source_dir):
|
||||
|
||||
problems = []
|
||||
|
||||
# Scan for common known non-free blobs:
|
||||
usual_suspects = ['flurryagent',
|
||||
'paypal_mpl',
|
||||
'libgoogleanalytics',
|
||||
'admob-sdk-android',
|
||||
'googleadview',
|
||||
'googleadmobadssdk']
|
||||
for r,d,f in os.walk(build_dir):
|
||||
for curfile in f:
|
||||
for suspect in usual_suspects:
|
||||
if curfile.lower().find(suspect) != -1:
|
||||
msg = 'Found probable non-free blob ' + os.path.join(r, curfile)
|
||||
problems.append(msg)
|
||||
|
||||
# Presence of a jni directory without buildjni=yes might
|
||||
# indicate a problem...
|
||||
if (os.path.exists(os.path.join(root_dir, 'jni')) and
|
||||
thisbuild.get('buildjni', 'no') != 'yes'):
|
||||
msg = 'Found jni directory, but buildjni is not enabled'
|
||||
problems.append(msg)
|
||||
|
||||
# Presence of these is not a problem as such, but they
|
||||
# shouldn't be there and mess up our source tarballs...
|
||||
if os.path.exists(os.path.join(root_dir, 'bin')):
|
||||
msg = "There shouldn't be a bin directory"
|
||||
problems.append(msg)
|
||||
if os.path.exists(os.path.join(root_dir, 'gen')):
|
||||
msg = "There shouldn't be a gen directory"
|
||||
problems.append(msg)
|
||||
|
||||
return problems
|
||||
|
||||
|
||||
class KnownApks:
|
||||
|
||||
def __init__(self):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue