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>