/bodhi

Bodhi is a web-system that facilitates the process of publishing updates for a Fedora-based software distribution.

Primary LanguagePythonGNU General Public License v2.0GPL-2.0

bodhi v2.0

Dependencies

sudo dnf install libffi-devel openssl-devel koji

Setup virtualenvwrapper

sudo yum -y install python-virtualenvwrapper python-createrepo_c

Add the following to your ~/.bashrc:

export WORKON_HOME=$HOME/.virtualenvs
source /usr/bin/virtualenvwrapper.sh

Then on the terminal

source ~/.bashrc

Bootstrap the virtualenv

./bootstrap.py
workon bodhi-python2.7

Setting up

python setup.py develop

pip install psycopg2

Run the test suite

python setup.py test

Import the bodhi2 database

curl -O https://infrastructure.fedoraproject.org/infra/db-dumps/bodhi2.dump.xz
xzcat bodhi2.dump.xz | psql -U postgres

Note

If you do not have a PostgreSQL server running, please see the instructions at the bottom of the file.

Adjust the development.ini file

Adjust the configuration key sqlalchemy.url to point to the postgresql database. Something like:

sqlalchemy.url = postgresql://postgres:anypasswordworkslocally@localhost/bodhi2

Run the web app

pserve development.ini --reload

Setup the postgresql server

1. Install postgresql

dnf install postgresql-server

2. Setup the Database

As a privileged user on a Fedora system run the following:

sudo postgresql-setup initdb

3. Adjust Postgresql Connection Settings

As a privileged user on a Fedora system modify the pg_hba.conf file:

vi /var/lib/pgsql/data/pg_hba.conf

Then adjust the content at the bottom of the file to match the following.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections are *trusted*, any password will work.
host    all             all             127.0.0.1/32            trust
# IPv6 local connections are *trusted*, any password will work.
host    all             all             ::1/128                 trust

If you need to make other modifications to postgresql please make them now.

4. Start Postgresql

As a privileged user on a Fedora system run the following:

sudo systemctl start postgresql.service