On Mon,  9 Nov 2015 16:05:45 -0500
Mike Frysinger <[email protected]> wrote:

> This is a smaller wrapper to set up the environment (both python and
> some config options) so that all the code is used from the git repo.
> This way you don't have to install it in order to test things.
> ---
>  bin/catalyst.git | 52
> ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed,
> 52 insertions(+) create mode 100755 bin/catalyst.git
> 
> diff --git a/bin/catalyst.git b/bin/catalyst.git
> new file mode 100755
> index 0000000..eb6234b
> --- /dev/null
> +++ b/bin/catalyst.git
> @@ -0,0 +1,52 @@
> +#!/usr/bin/python
> +# -*- coding: utf-8 -*-
> +# Copyright 1999-2015 Gentoo Foundation
> +# Distributed under the terms of the GNU General Public License v2
> +
> +"""Run catalyst from git using local modules/scripts."""
> +
> +from __future__ import print_function
> +
> +import os
> +import sys
> +import tempfile
> +
> +from snakeoil import process
> +
> +
> +def main(argv):
> +     """The main entry point"""
> +     source_root =
> os.path.dirname(os.path.dirname(os.path.realpath(__file__))) +
> +     pympath = source_root
> +     pythonpath = os.environ.get('PYTHONPATH')
> +     if pythonpath is None:
> +             pythonpath = pympath
> +     else:
> +             pythonpath = pympath + ':' + pythonpath
> +     os.environ['PYTHONPATH'] = pythonpath
> +
> +     with tempfile.NamedTemporaryFile(prefix='catalyst.conf.') as
> conf:
> +             # Set up a config file with paths to the local tree.
> +             conf.write(
> +                     ('sharedir=%(source_root)s\n'
> +                      'shdir=%(source_root)s/targets\n'
> +                      'envscript=%(source_root)s/etc/catalystrc\n'
> +                      % {'source_root':
> source_root}).encode('utf8')
> +             )
> +             conf.flush()
> +             argv = [
> +                     '--config', os.path.join(source_root, 'etc',
> 'catalyst.conf'),
> +                     '--config', conf.name,
> +             ] + argv
> +
> +             cmd = [os.path.join(source_root, 'bin', 'catalyst')]
> +             pid = os.fork()
> +             if pid == 0:
> +                     os.execvp(cmd[0], cmd + argv)
> +             (_pid, status) = os.waitpid(pid, 0)
> +             process.exit_as_status(status)
> +
> +
> +if __name__ == '__main__':
> +     main(sys.argv[1:])


huh, first time I looked at it, I missed seeing you were loading both
the main config and the temp config with the needed changes.

Looks good

-- 
Brian Dolbec <dolsen>


Reply via email to