Skip to content

Commit

Permalink
Merge pull request #20 from roskakori/master
Browse files Browse the repository at this point in the history
Fixed #18: Builds fail on Ubuntu 13.04 with zlib.h missing.
  • Loading branch information
tito committed Jul 6, 2013
2 parents 8290aed + bc396e2 commit 9711f15
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 2 deletions.
18 changes: 17 additions & 1 deletion buildozer/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,19 @@
LOG_LEVELS_T = 'EID'


class BuildozerCommandException(Exception):
class BuildozerException(Exception):
'''
Exception raised for general situations buildozer cannot process.
'''
pass


class BuildozerCommandException(BuildozerException):
'''
Exception raised when an external command failed.
See: `Buildozer.cmd()`.
'''
pass


Expand Down Expand Up @@ -1033,9 +1045,13 @@ def run():
# don't show the exception in the command line. The log already show the
# command failed.
pass
except BuildozerException as error:
Buildozer().error('%s' % error)

def run_remote():
try:
BuildozerRemote().run_command(sys.argv[1:])
except BuildozerCommandException:
pass
except BuildozerException as error:
Buildozer().error('%s' % error)
12 changes: 11 additions & 1 deletion buildozer/targets/android.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import os
from pipes import quote
from sys import platform, executable
from buildozer import BuildozerException
from buildozer.target import Target
from os import environ
from os.path import join, realpath, expanduser
Expand Down Expand Up @@ -102,6 +103,15 @@ def check_requirements(self):
self.javac_cmd = self._locate_java('javac')
self.keytool_cmd = self._locate_java('keytool')

# Check for C header <zlib.h>.
_, _, returncode_dpkg = self.buildozer.cmd(
'dpkg --version', break_on_error= False)
is_debian_like = (returncode_dpkg == 0)
if is_debian_like:
if not self.buildozer.file_exists('/usr/include/zlib.h'):
message = 'zlib headers must be installed, run: sudo apt-get install zlib1g-dev'
raise BuildozerException(message)

# Need to add internally installed ant to path for external tools
# like adb to use
path = [join(self.apache_ant_dir, 'bin')]
Expand Down Expand Up @@ -334,7 +344,7 @@ def compile_platform(self):
need_compile = 0
if last_requirements != android_requirements:
need_compile = 1
if not self.buildozer.file_exists(self.pa_dir, 'dist', 'default'):
if not self.buildozer.file_exists(self.pa_dir, 'dist', 'default', 'build.py'):
need_compile = 1

if not need_compile:
Expand Down

0 comments on commit 9711f15

Please sign in to comment.