123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- Pagure
- ======
- :Author: Pierre-Yves Chibon <pingou@pingoured.fr>
- Pagure is a git-centered forge, python based using pygit2.
- With pagure you can host your project with its documentation, let your users
- report issues or request enhancements using the ticketing system and build your
- community of contributors by allowing them to fork your projects and contribute
- to it via the now-popular pull-request mechanism.
- Homepage: https://pagure.io/pagure
- See it at work: https://pagure.io
- Playground version: https://stg.pagure.io
- Get it running
- ==============
- There are several options when it comes to a development environment. Vagrant
- will provide you with a virtual machine which you can develop on, or you can
- install it directly on your host machine.
- Vagrant
- ^^^^^^^
- For a more thorough introduction to Vagrant, see
- https://fedoraproject.org/wiki/Vagrant.
- An example Vagrantfile is provided as ``Vagrantfile.example``. To use it,
- just copy it and install Vagrant::
- $ cp Vagrantfile.example Vagrantfile
- $ sudo dnf install ansible libvirt vagrant-libvirt vagrant-sshfs vagrant-hostmanager
- $ vagrant up
- The default ``Vagrantfile`` forwards ports from the host to the guest,
- so you can interact with the application as if it were running on your
- host machine.
- .. note::
- ``vagrant-hostmanager`` will automatically maintain /etc/hosts for you so you
- can access the development environment from the host using its hostname, which
- by default is ``pagure-dev.example.com``. You can choose not to use this
- functionality by simply not installing the ``vagrant-hostmanager`` plugin, but
- if you want Pagure to provide valid URLs in the UI for git repositories, you
- will need to adjust Pagure's configuration found in ~/pagure.cfg on the guest.
- Manually
- ^^^^^^^^
- * Install the needed system libraries::
- sudo dnf install git python2-virtualenv libgit2-devel \
- libjpeg-devel gcc libffi-devel redhat-rpm-config
- .. note:: Do note the version of libgit2 that you install, for example
- in ``libgit2-0.23.4-1`` you need to keep in mind the ``0.23``
- .. note:: On Fedora 23 and earlier or on RHEL and derivative (CentOS,
- Scientific Linux) the package `python2-virtualenv` is named
- `python-virtualenv`
- * Retrieve the sources::
- git clone https://pagure.io/pagure.git
- cd pagure
- * Install dependencies
- * create the virtualenv::
- virtualenv pagure_env
- source ./pagure_env/bin/activate
- * Install the correct version of pygit2::
- pip install pygit2==<version of libgit2 found>.*
- So in our example::
- pip install pygit2==0.23.*
- * Install the rest of the dependencies::
- pip install -r requirements.txt
- * Create the folder that will receive the projects, forks, docs, requests and
- tickets' git repo::
- mkdir {repos,docs,forks,tickets,requests}
- * Create the inital database scheme::
- python createdb.py
- * Run it::
- ./runserver.py
- * To get some profiling information you can also run it as::
- ./runserver.py --profile
- This will launch the application at http://127.0.0.1:5000
- * To run unit-tests on pagure
- * Install the dependencies::
- pip install -r tests_requirements.txt
- * Run it::
- ./runtests.sh
|