From: Brian Dolbec <dolsen@gentoo.org>
To: gentoo-catalyst@lists.gentoo.org
Subject: Re: [gentoo-catalyst] [PATCH] catalyst: add a wrapper for executing directly out of git
Date: Mon, 9 Nov 2015 22:53:45 -0800 [thread overview]
Message-ID: <20151109225345.5df4f6a5.dolsen@gentoo.org> (raw)
In-Reply-To: <1447103145-18905-1-git-send-email-vapier@gentoo.org>
On Mon, 9 Nov 2015 16:05:45 -0500
Mike Frysinger <vapier@gentoo.org> 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>
next prev parent reply other threads:[~2015-11-10 6:54 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-09 21:05 [gentoo-catalyst] [PATCH] catalyst: add a wrapper for executing directly out of git Mike Frysinger
2015-11-09 21:23 ` Mike Frysinger
2015-11-10 6:53 ` Brian Dolbec [this message]
-- strict thread matches above, loose matches on Subject: below --
2015-10-29 5:48 Mike Frysinger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20151109225345.5df4f6a5.dolsen@gentoo.org \
--to=dolsen@gentoo.org \
--cc=gentoo-catalyst@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox