diff --git a/kiwixbuild/__init__.py b/kiwixbuild/__init__.py index a5ea5fb..d1f3f37 100644 --- a/kiwixbuild/__init__.py +++ b/kiwixbuild/__init__.py @@ -123,9 +123,11 @@ PACKAGE_NAME_MAPPERS = { }, 'Darwin_native_dyn': { 'COMMON': ['autoconf', 'automake', 'libtool', 'cmake', 'pkg-config'], + 'file': ['libmagic'] }, 'Darwin_iOS': { 'COMMON': ['autoconf', 'automake', 'libtool', 'cmake', 'pkg-config'], + 'file': ['libmagic'] }, } @@ -578,7 +580,7 @@ class BuildEnv: packages = getattr(dep, 'extra_packages', []) for package in packages: packages_list += package_name_mapper.get(package, []) - if os.path.exists(autoskip_file): + if not self.options.force_install_packages and os.path.exists(autoskip_file): print("SKIP") return @@ -756,6 +758,8 @@ def parse_args(): help="Skip SSL certificate verification during download") subgroup.add_argument('--clean-at-end', action='store_true', help="Clean all intermediate files after the (successfull) build") + subgroup.add_argument('--force-install-packages', action='store_true', + help="Allways check for needed packages before compiling") subgroup = parser.add_argument_group('custom app', description="Android custom app specific options") subgroup.add_argument('--android-custom-app', diff --git a/travis/compile_all.py b/travis/compile_all.py index 72f7f78..8e12328 100755 --- a/travis/compile_all.py +++ b/travis/compile_all.py @@ -59,6 +59,7 @@ def run_kiwix_build(target, platform, build_deps_only=False, make_release=False, command = ['kiwix-build'] command.append(target) command.append('--hide-progress') + command.append('--force-install-packages') command.extend(['--target-platform', platform]) if build_deps_only: command.append('--build-deps-only') @@ -187,7 +188,7 @@ if environ['TRAVIS_EVENT_TYPE'] != 'cron' and not make_release: TARGETS = ('kiwix-android',) elif PLATFORM.startswith('native_'): if TRAVIS_OS_NAME == "osx": - TARGETS = ('kiwix-lib', ) + TARGETS = ('kiwix-lib', 'zim-tools', 'zimwriterfs') else: TARGETS = ('kiwix-tools', 'zim-tools', 'zimwriterfs') else: @@ -230,7 +231,6 @@ for target in TARGETS: platform=PLATFORM, make_release=True, make_dist=True) - (BASE_DIR/'.install_packages_ok').unlink() # We have build everything. Now create archives for public deployement.