| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #!/usr/bin/env python
- # Licensed to Cloudera, Inc. under one
- # or more contributor license agreements. See the NOTICE file
- # distributed with this work for additional information
- # regarding copyright ownership. Cloudera, Inc. licenses this file
- # to you under the Apache License, Version 2.0 (the
- # "License"); you may not use this file except in compliance
- # with the License. You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- """
- Helpers to build the apps
- """
- import logging
- import os
- import subprocess
- import common
- LOG = logging.getLogger(__name__)
- def runcmd(cmdv, additional_env=None):
- """
- runcmd(cmdv, additional_env=None) -> status code
- """
- env = os.environ.copy()
- if additional_env is not None:
- env.update(additional_env)
- LOG.info("Running '%s' with %r" % (' '.join(cmdv), additional_env))
- popen = subprocess.Popen(cmdv, env=env)
- return popen.wait()
- def make_app(app):
- """
- make_app() -> True/False
- Call `make egg-info ext-eggs' on the app.
- """
- cmdv = [ 'make', '-C', app.abs_path, 'egg-info', 'ext-eggs' ]
- return runcmd(cmdv, dict(ROOT=common.INSTALL_ROOT)) == 0
- def make_syncdb():
- """
- make_syncdb() -> True/False
- """
- status = -1
- hue_exec = os.path.join(common.INSTALL_ROOT, 'build', 'env', 'bin', 'hue')
- if os.path.exists(hue_exec):
- cmdv = [ hue_exec, 'syncdb', '--noinput' ]
- status = runcmd(cmdv)
- return status == 0
|