build: remove unused, unmaintained Kivy build method

This code has never been used and contains some insecure uses of shell=True
Building Kivy apps should be done with the buildozer=yes method.  The
buildozer method should probably be moved to a provisioner once that is in
place.
This commit is contained in:
Hans-Christoph Steiner 2018-01-23 23:16:05 +01:00
parent b0b9f2f601
commit 513c95894c
7 changed files with 6 additions and 181 deletions

View file

@ -489,9 +489,6 @@ def build_local(app, build, vcs, build_dir, output_dir, log_dir, srclib_dir, ext
p = FDroidPopen(cmd, cwd=root_dir)
elif bmethod == 'kivy':
pass
elif bmethod == 'buildozer':
pass
@ -637,67 +634,6 @@ def build_local(app, build, vcs, build_dir, output_dir, log_dir, srclib_dir, ext
bindir = os.path.join(root_dir, 'target')
elif bmethod == 'kivy':
logging.info("Building Kivy project...")
spec = os.path.join(root_dir, 'buildozer.spec')
if not os.path.exists(spec):
raise BuildException("Expected to find buildozer-compatible spec at {0}"
.format(spec))
defaults = {'orientation': 'landscape', 'icon': '',
'permissions': '', 'android.api': "18"}
bconfig = ConfigParser(defaults, allow_no_value=True)
bconfig.read(spec)
distdir = os.path.join('python-for-android', 'dist', 'fdroid')
if os.path.exists(distdir):
shutil.rmtree(distdir)
modules = bconfig.get('app', 'requirements').split(',')
cmd = 'ANDROIDSDK=' + config['sdk_path']
cmd += ' ANDROIDNDK=' + ndk_path
cmd += ' ANDROIDNDKVER=' + build.ndk
cmd += ' ANDROIDAPI=' + str(bconfig.get('app', 'android.api'))
cmd += ' VIRTUALENV=virtualenv'
cmd += ' ./distribute.sh'
cmd += ' -m ' + "'" + ' '.join(modules) + "'"
cmd += ' -d fdroid'
p = subprocess.Popen(cmd, cwd='python-for-android', shell=True)
if p.returncode != 0:
raise BuildException("Distribute build failed")
cid = bconfig.get('app', 'package.domain') + '.' + bconfig.get('app', 'package.name')
if cid != app.id:
raise BuildException("Package ID mismatch between metadata and spec")
orientation = bconfig.get('app', 'orientation', 'landscape')
if orientation == 'all':
orientation = 'sensor'
cmd = ['./build.py'
'--dir', root_dir,
'--name', bconfig.get('app', 'title'),
'--package', app.id,
'--version', bconfig.get('app', 'version'),
'--orientation', orientation
]
perms = bconfig.get('app', 'permissions')
for perm in perms.split(','):
cmd.extend(['--permission', perm])
if config.get('app', 'fullscreen') == 0:
cmd.append('--window')
icon = bconfig.get('app', 'icon.filename')
if icon:
cmd.extend(['--icon', os.path.join(root_dir, icon)])
cmd.append('release')
p = FDroidPopen(cmd, cwd=distdir)
elif bmethod == 'buildozer':
logging.info("Building Kivy project using buildozer...")
@ -812,11 +748,6 @@ def build_local(app, build, vcs, build_dir, output_dir, log_dir, srclib_dir, ext
raise BuildException('Failed to find output')
src = m.group(1)
src = os.path.join(bindir, src) + '.apk'
elif omethod == 'kivy':
src = os.path.join('python-for-android', 'dist', 'default', 'bin',
'{0}-{1}-release.apk'.format(
bconfig.get('app', 'title'),
bconfig.get('app', 'version')))
elif omethod == 'buildozer':
src = None

View file

@ -213,7 +213,6 @@ build_flags_order = [
'patch',
'gradle',
'maven',
'kivy',
'buildozer',
'output',
'srclibs',
@ -256,7 +255,6 @@ class Build(dict):
self.patch = []
self.gradle = []
self.maven = False
self.kivy = False
self.buildozer = False
self.output = None
self.srclibs = []
@ -299,7 +297,7 @@ class Build(dict):
raise AttributeError("No such attribute: " + name)
def build_method(self):
for f in ['maven', 'gradle', 'kivy', 'buildozer']:
for f in ['maven', 'gradle', 'buildozer']:
if self.get(f):
return f
if self.output:
@ -310,7 +308,7 @@ class Build(dict):
def output_method(self):
if self.output:
return 'raw'
for f in ['maven', 'gradle', 'kivy', 'buildozer']:
for f in ['maven', 'gradle', 'buildozer']:
if self.get(f):
return f
return 'ant'
@ -871,7 +869,7 @@ def post_metadata_parse(app):
elif v == [False]:
return ['no']
_bool_allowed = ('disable', 'kivy', 'maven', 'buildozer')
_bool_allowed = ('disable', 'maven', 'buildozer')
builds = []
if 'builds' in app:
@ -1114,7 +1112,7 @@ def write_yaml(mf, app):
value = getattr(build, field)
if field == 'gradle' and value == ['off']:
value = [ruamel.yaml.scalarstring.SingleQuotedScalarString('off')]
if field in ('disable', 'kivy', 'maven', 'buildozer'):
if field in ('disable', 'maven', 'buildozer'):
if value == 'no':
continue
elif value == 'yes':