From Fedora Project Wiki
(divide script into two separate section) |
(refine configuration and script) |
||
Line 12: | Line 12: | ||
cd $VIRTENV_ROOT | cd $VIRTENV_ROOT | ||
virtualenv --system-package-sites koji | virtualenv --system-package-sites koji | ||
$VIRTENV_ROOT/koji/bin/pip install mod_wsgi | |||
</pre> | |||
== Get the code == | |||
<pre> | |||
PROJECTS_DIR=$HOME/projects | |||
KOJI_DIR=$PROJECTS_DIR/koji | |||
cd $PROJECTS_DIR | |||
git clone https://git.fedorahosted.org/git/koji | |||
</pre> | </pre> | ||
Line 20: | Line 28: | ||
<pre> | <pre> | ||
PROJECTS_DIR=$HOME/projects | PROJECTS_DIR=$HOME/projects | ||
KOJI_DIR=$PROJECTS_DIR/koji | |||
. $HOME/virtualenvs/koji/bin/activate | |||
mkdir $PROJECTS_DIR/koji-dev-files | |||
cp $KOJI_DIR/hub/hub.conf $PROJECTS_DIR/koji-dev-files | |||
cp $KOJI_DIR/www/kojiweb/conf/web.conf $PROJECTS_DIR/koji-dev-files | |||
# Run kojihub | # Run kojihub | ||
cd $KOJI_DIR | |||
mod_wsgi-express start-server hub/kojixmlrpc.py --host 0.0.0.0 --port 8000 \ | |||
--debug-mode \ | |||
--working-directory $KOJI_DIR/hub/ \ | |||
cd $ | --python-path $KOJI_DIR \ | ||
mod_wsgi-express start-server hub/kojixmlrpc.py --host 0.0.0.0 --port 8000 --debug-mode \ | |||
--working-directory $ | |||
--python-path $ | |||
--setenv koji.hub.ConfigFile $PROJECTS_DIR/koji-dev-files/hub.conf | --setenv koji.hub.ConfigFile $PROJECTS_DIR/koji-dev-files/hub.conf | ||
# Before running kojiweb, apply this diff | |||
# Before running, apply this diff | |||
# -------------------------------------------------------------------------- | # -------------------------------------------------------------------------- | ||
Line 59: | Line 64: | ||
# -------------------------------------------------------------------------- | # -------------------------------------------------------------------------- | ||
cd $ | # Run kojiweb | ||
mod_wsgi-express start-server wsgi_publisher.py --host 0.0.0.0 --port 7000 --debug-mode \ | |||
--working-directory $ | cd $KOJI_DIR/www/kojiweb | ||
--python-path $ | mod_wsgi-express start-server wsgi_publisher.py --host 0.0.0.0 --port 7000 \ | ||
--python-path $ | --debug-mode \ | ||
--python-path $ | --working-directory $KOJI_DIR/www/kojiweb/ \ | ||
--url-alias /koji-static $ | --python-path $KOJI_DIR \ | ||
--python-path $KOJI_DIR/www/kojiweb \ | |||
--python-path $KOJI_DIR/www/lib/ \ | |||
--url-alias /koji-static $KOJI_DIR/www/static/ \ | |||
--setenv koji.web.ConfigFile $PROJECTS_DIR/koji-dev-files/web.conf \ | --setenv koji.web.ConfigFile $PROJECTS_DIR/koji-dev-files/web.conf \ | ||
--setenv koji.web.TemplateDirectory $ | --setenv koji.web.TemplateDirectory $KOJI_DIR/www/kojiweb/ | ||
</pre> | </pre> |
Revision as of 13:00, 22 February 2015
This is only my notes, not an official and complete guide to run koji. There is no guarantee that you can get any support and further QA from here or me. If you encounter any problems while you are doing this, please research and fix them by yourself first. Certainly, sharing your solutions and ideas will be appreciated.
Dependencies and environment
# Install all dependency packages sudo yum install python-cheetah python-setuptools python-krbV PyGreSQL VIRTENV_ROOT=$HOME/virtualenvs cd $VIRTENV_ROOT virtualenv --system-package-sites koji $VIRTENV_ROOT/koji/bin/pip install mod_wsgi
Get the code
PROJECTS_DIR=$HOME/projects KOJI_DIR=$PROJECTS_DIR/koji cd $PROJECTS_DIR git clone https://git.fedorahosted.org/git/koji
Run kojihub and kojiweb
PROJECTS_DIR=$HOME/projects KOJI_DIR=$PROJECTS_DIR/koji . $HOME/virtualenvs/koji/bin/activate mkdir $PROJECTS_DIR/koji-dev-files cp $KOJI_DIR/hub/hub.conf $PROJECTS_DIR/koji-dev-files cp $KOJI_DIR/www/kojiweb/conf/web.conf $PROJECTS_DIR/koji-dev-files # Run kojihub cd $KOJI_DIR mod_wsgi-express start-server hub/kojixmlrpc.py --host 0.0.0.0 --port 8000 \ --debug-mode \ --working-directory $KOJI_DIR/hub/ \ --python-path $KOJI_DIR \ --setenv koji.hub.ConfigFile $PROJECTS_DIR/koji-dev-files/hub.conf # Before running kojiweb, apply this diff # -------------------------------------------------------------------------- diff --git a/www/lib/kojiweb/util.py b/www/lib/kojiweb/util.py index ae00757..e19ab92 100644 --- a/www/lib/kojiweb/util.py +++ b/www/lib/kojiweb/util.py @@ -113,7 +113,8 @@ class XHTMLFilter(DecodeUTF8): TEMPLATES = {} def _genHTML(environ, fileName): - reqdir = os.path.dirname(environ['SCRIPT_FILENAME']) + reqdir = os.path.dirname(environ.get('koji.web.TemplateDirectory', + environ['SCRIPT_FILENAME'])) if os.getcwd() != reqdir: os.chdir(reqdir) # -------------------------------------------------------------------------- # Run kojiweb cd $KOJI_DIR/www/kojiweb mod_wsgi-express start-server wsgi_publisher.py --host 0.0.0.0 --port 7000 \ --debug-mode \ --working-directory $KOJI_DIR/www/kojiweb/ \ --python-path $KOJI_DIR \ --python-path $KOJI_DIR/www/kojiweb \ --python-path $KOJI_DIR/www/lib/ \ --url-alias /koji-static $KOJI_DIR/www/static/ \ --setenv koji.web.ConfigFile $PROJECTS_DIR/koji-dev-files/web.conf \ --setenv koji.web.TemplateDirectory $KOJI_DIR/www/kojiweb/