diff --git a/fdroidserver/common.py b/fdroidserver/common.py index 17736029..40d7060a 100644 --- a/fdroidserver/common.py +++ b/fdroidserver/common.py @@ -1186,6 +1186,9 @@ def scan_source(build_dir, root_dir, thisbuild): scanignore = getpaths('scanignore') scandelete = getpaths('scandelete') + ms = magic.open(magic.MIME_TYPE) + ms.load() + def toignore(fd): for i in scanignore: if fd.startswith(i): @@ -1234,7 +1237,7 @@ def scan_source(build_dir, root_dir, thisbuild): if suspect in curfile.lower(): handleproblem('usual supect', fd, fp) - mime = magic.from_file(fp, mime=True) + mime = ms.file(fp) if mime == 'application/x-sharedlib': handleproblem('shared library', fd, fp) elif mime == 'application/x-archive': @@ -1251,6 +1254,7 @@ def scan_source(build_dir, root_dir, thisbuild): if 'DexClassLoader' in line: handleproblem('DexClassLoader', fd, fp) break + ms.close() # Presence of a jni directory without buildjni=yes might # indicate a problem (if it's not a problem, explicitly use