From ebc602981b2d5fff9165b1a588803b2e35c725e3 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Aug 03 2015 09:03:14 +0000 Subject: [PATCH 1/14] Layout fix --- diff --git a/doc/index.rst b/doc/index.rst index c31e15a..3ade350 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -4,6 +4,7 @@ Pagure Pagure is a light-weight git-centered forge based on pygit2. Features: + * Open-sources: Web-interface for the git repositories * Flexibility: Ability to create any project you want * One place: Keep your documentation and tickets in pagure From 1e39b1f539e081b5fa8c6d32fd0e6a82cfdcbf5d Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Aug 03 2015 09:03:25 +0000 Subject: [PATCH 2/14] Highlight the keywords in the front page --- diff --git a/doc/index.rst b/doc/index.rst index 3ade350..5e4f145 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -5,13 +5,13 @@ Pagure is a light-weight git-centered forge based on pygit2. Features: -* Open-sources: Web-interface for the git repositories -* Flexibility: Ability to create any project you want -* One place: Keep your documentation and tickets in pagure -* Collaboration: Fork a project and make a pull-request -* Integration: Create pull-request from a fork hosted somewhere else than in +* ``Open-sources``: Web-interface for the git repositories +* ``Flexibility``: Ability to create any project you want +* ``One place``: Keep your documentation and tickets in pagure +* ``Collaboration``: Fork a project and make a pull-request +* ``Integration``: Create pull-request from a fork hosted somewhere else than in pagure -* Open data: Sources, doc, ticket and pull-requests meta-data are available +* ``Open data``: Sources, doc, ticket and pull-requests meta-data are available in the web interface but also in git repos which can thus be cloned and changed locally. * ``Freedom``: Pagure is fully Free and Open-Source Software! From 881271447ae74b8c49506bc67e3b2de3a167406d Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Aug 03 2015 09:03:25 +0000 Subject: [PATCH 3/14] Fix link to pagure.io --- diff --git a/doc/index.rst b/doc/index.rst index 5e4f145..44fa7ed 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -19,7 +19,7 @@ Features: Resources: -- `Home page `_ - `Git repository `_ - `Github mirror `_ From 0eaaebd6f72a38c597e45984e5b8180752db9bcf Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Aug 03 2015 09:03:25 +0000 Subject: [PATCH 4/14] Rename Install.rst to install.rst to match the other files --- diff --git a/doc/Install.rst b/doc/Install.rst deleted file mode 100644 index 4572f9d..0000000 --- a/doc/Install.rst +++ /dev/null @@ -1,193 +0,0 @@ -Installing pagure -================= - -There are two ways to install pagure: - -* via the RPM package (recommanded if you are using a RPM-based linux distribution) -* via the setup.py - - - -Installing pagure via RPM -------------------------- - -Here as well there are two ways of obtaining the RPM: - -* From the main repositories - -Pagure is packaged for Fedora since Fedora 21 and is available for RHEL and -its derivative via the `EPEL repository `. -So installing it is as easy as: -:: - - dnf install pagure pagure-milters pagure-ev - -or - -:: - yum install pagure pagure-milters pagure-ev - -The ``pagure`` package contains the core of the application and the doc server. -(See the ``Overview`` page for a global overview of the structure of the -project). - -The ``pagure-milters`` package contains, as the name says, the milter (a -mail filter to hook into a MTA). - -The ``pagure-ev`` package contains the eventsource server. - -..note: The last two packages are optional, pagure would work fine without - them. - -* From the sources - -If you wish to run a newer version of pagure than what is in the repositories -you can easily rebuild it as RPM. - -Simply follow these steps: -# Clone the sources:: - git clone https://pagure.io/pagure.git - -# Go to the folder:: - cd pagure - -# Build a tarball of the latest version of pagure:: - python setup.py sdist - -# Build the RPM:: - rpmbuild -ta dist/pagure*.tar.gz - -This will build pagure from the version present in your clone. - - -Once, the RPM is installed the services ``pagure_milter`` and ``pagure_ev`` -are ready to be used but the database and the web-application parts still -need to be configured. - - - -Installing pagure via setup.py ------------------------------- - -Pagure includes in its sources a ``setup.py`` automatint the installation -of the web applications of pagure (ie: the core + the doc server). - - -To install pagure via this mechanism simply follow these steps: -# Clone the sources:: - git clone https://pagure.io/pagure.git - -# Go to the folder:: - cd pagure - -# Install the latest version of pagure:: - python setup.py build - sudo python setup.py install - -..note: To install the eventsource server or the milter, refer to their - respective documentations. - -# Install the additional files as follow: - -+------------------------------+------------------------------------------+ -| Source | Destination | -+=============================+===========================================+ -| ``files/pagure.cfg.sample`` | ``/etc/pagure/pagure.cfg`` | -+------------------------------+------------------------------------------+ -| ``files/alembic.ini`` | ``/etc/pagure/alembic.ini`` | -+------------------------------+------------------------------------------+ -| ``files/pagure.conf`` | ``/etc/httpd/conf.d/pagure.conf`` | -+------------------------------+------------------------------------------+ -| ``files/pagure.wsgi`` | ``/usr/share/pagure/pagure.wsgi`` | -+------------------------------+------------------------------------------+ -| ``createdb.py`` | ``/usr/share/pagure/pagure_createdb.py`` | -+------------------------------+------------------------------------------+ - - - -Set-up pagure -------------- - -Once pagure's files are installed, you still need to set up some things. - - -* Create the folder release - -This folder is used by project maintainers to upload the tarball of the -releases of their project. - -This folder must be accessible by the user under which the application is -running (in our case: ``git``). -:: - - mkdir -p /var/www/releases - chown git:git /var/www/releases - - -* Create the folders where the repos, forks and checkouts will be stored - -Pagure stores the sources of a project in a git repo, offers a place to -store the project's documentation in another repo, stores a JSON dump of all -issues and of all pull-requests in another two repos, and keeps a local -checkout of remote projects when asked to do remote pull-requests. -All these repositories are stored in different folders that must be -created manually. - -For example you can place them under ``/srv/git/repositories/`` which would -make ``/srv/git`` the home of your gitolite user. - -You would then create the folders with: -:: - mkdir /srv/git/repositories/{docs,forks,tickets,requests,checkouts} - - -* Configure apache - -If installed by RPM, you will find an example apache configuration file -at: ``/etc/httpd/conf.d/pagure.conf``. - -If not installed by RPM, the example files is present in the sources at: -``files/pagure.conf``. - -Adjust it for your needs. - - -* Configure the WSGI file - -If you installed by RPM, you will find an example WSGI file at: -``/usr/share/pagure/pagure.wsgi`` and ``/usr/share/pagure/docs_pagure.wsgi`` -for the doc server. - -If you did not install by RPM, these files are present in the sources at: -``files/pagure.wsgi`` and ``files/doc_pagure.wsgi``. - -Adjust them for your needs - - -* Give apache permission to read the repositories owned by the ``git`` user. - -For the sake of this document, we assume that the web application runs under -the ``git`` user, the same user as your gitolite user, but apache itself -runs under the ``httpd`` (or ``apache2``) user. So by default, apache -will not be allowed to read git repositories created and managed by gitolite. - -To give apache this permission (required to make git clone via http work), -we use file access control lists (aka FACL): -:: - setfacl -m user:apache:rx --default - setfacl -Rdm user:apache:rx /srv/git - setfacl -Rm user:apache:rx /srv/git - -Where ``/srv/git`` is the home of your gitolite user (which will thus need -to be adjusted for your configuration). - - -* Set up the configuration file of pagure - -This is an important step which concerns the file ``/etc/pagure/pagure.cfg``. -If you have installed pagure by RPM, this file is already there, otherwise -you can find an example one in the sources at: ``files/pagure.cfg.sample`` -that you will have to copy to the right location. - -Confer the ``Configuration`` section of this documentation for a full -explanation of all the options of pagure. diff --git a/doc/install.rst b/doc/install.rst new file mode 100644 index 0000000..4572f9d --- /dev/null +++ b/doc/install.rst @@ -0,0 +1,193 @@ +Installing pagure +================= + +There are two ways to install pagure: + +* via the RPM package (recommanded if you are using a RPM-based linux distribution) +* via the setup.py + + + +Installing pagure via RPM +------------------------- + +Here as well there are two ways of obtaining the RPM: + +* From the main repositories + +Pagure is packaged for Fedora since Fedora 21 and is available for RHEL and +its derivative via the `EPEL repository `. +So installing it is as easy as: +:: + + dnf install pagure pagure-milters pagure-ev + +or + +:: + yum install pagure pagure-milters pagure-ev + +The ``pagure`` package contains the core of the application and the doc server. +(See the ``Overview`` page for a global overview of the structure of the +project). + +The ``pagure-milters`` package contains, as the name says, the milter (a +mail filter to hook into a MTA). + +The ``pagure-ev`` package contains the eventsource server. + +..note: The last two packages are optional, pagure would work fine without + them. + +* From the sources + +If you wish to run a newer version of pagure than what is in the repositories +you can easily rebuild it as RPM. + +Simply follow these steps: +# Clone the sources:: + git clone https://pagure.io/pagure.git + +# Go to the folder:: + cd pagure + +# Build a tarball of the latest version of pagure:: + python setup.py sdist + +# Build the RPM:: + rpmbuild -ta dist/pagure*.tar.gz + +This will build pagure from the version present in your clone. + + +Once, the RPM is installed the services ``pagure_milter`` and ``pagure_ev`` +are ready to be used but the database and the web-application parts still +need to be configured. + + + +Installing pagure via setup.py +------------------------------ + +Pagure includes in its sources a ``setup.py`` automatint the installation +of the web applications of pagure (ie: the core + the doc server). + + +To install pagure via this mechanism simply follow these steps: +# Clone the sources:: + git clone https://pagure.io/pagure.git + +# Go to the folder:: + cd pagure + +# Install the latest version of pagure:: + python setup.py build + sudo python setup.py install + +..note: To install the eventsource server or the milter, refer to their + respective documentations. + +# Install the additional files as follow: + ++------------------------------+------------------------------------------+ +| Source | Destination | ++=============================+===========================================+ +| ``files/pagure.cfg.sample`` | ``/etc/pagure/pagure.cfg`` | ++------------------------------+------------------------------------------+ +| ``files/alembic.ini`` | ``/etc/pagure/alembic.ini`` | ++------------------------------+------------------------------------------+ +| ``files/pagure.conf`` | ``/etc/httpd/conf.d/pagure.conf`` | ++------------------------------+------------------------------------------+ +| ``files/pagure.wsgi`` | ``/usr/share/pagure/pagure.wsgi`` | ++------------------------------+------------------------------------------+ +| ``createdb.py`` | ``/usr/share/pagure/pagure_createdb.py`` | ++------------------------------+------------------------------------------+ + + + +Set-up pagure +------------- + +Once pagure's files are installed, you still need to set up some things. + + +* Create the folder release + +This folder is used by project maintainers to upload the tarball of the +releases of their project. + +This folder must be accessible by the user under which the application is +running (in our case: ``git``). +:: + + mkdir -p /var/www/releases + chown git:git /var/www/releases + + +* Create the folders where the repos, forks and checkouts will be stored + +Pagure stores the sources of a project in a git repo, offers a place to +store the project's documentation in another repo, stores a JSON dump of all +issues and of all pull-requests in another two repos, and keeps a local +checkout of remote projects when asked to do remote pull-requests. +All these repositories are stored in different folders that must be +created manually. + +For example you can place them under ``/srv/git/repositories/`` which would +make ``/srv/git`` the home of your gitolite user. + +You would then create the folders with: +:: + mkdir /srv/git/repositories/{docs,forks,tickets,requests,checkouts} + + +* Configure apache + +If installed by RPM, you will find an example apache configuration file +at: ``/etc/httpd/conf.d/pagure.conf``. + +If not installed by RPM, the example files is present in the sources at: +``files/pagure.conf``. + +Adjust it for your needs. + + +* Configure the WSGI file + +If you installed by RPM, you will find an example WSGI file at: +``/usr/share/pagure/pagure.wsgi`` and ``/usr/share/pagure/docs_pagure.wsgi`` +for the doc server. + +If you did not install by RPM, these files are present in the sources at: +``files/pagure.wsgi`` and ``files/doc_pagure.wsgi``. + +Adjust them for your needs + + +* Give apache permission to read the repositories owned by the ``git`` user. + +For the sake of this document, we assume that the web application runs under +the ``git`` user, the same user as your gitolite user, but apache itself +runs under the ``httpd`` (or ``apache2``) user. So by default, apache +will not be allowed to read git repositories created and managed by gitolite. + +To give apache this permission (required to make git clone via http work), +we use file access control lists (aka FACL): +:: + setfacl -m user:apache:rx --default + setfacl -Rdm user:apache:rx /srv/git + setfacl -Rm user:apache:rx /srv/git + +Where ``/srv/git`` is the home of your gitolite user (which will thus need +to be adjusted for your configuration). + + +* Set up the configuration file of pagure + +This is an important step which concerns the file ``/etc/pagure/pagure.cfg``. +If you have installed pagure by RPM, this file is already there, otherwise +you can find an example one in the sources at: ``files/pagure.cfg.sample`` +that you will have to copy to the right location. + +Confer the ``Configuration`` section of this documentation for a full +explanation of all the options of pagure. From e312c5151728d5d4b36401d37851df096e293b2a Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Aug 03 2015 09:03:25 +0000 Subject: [PATCH 5/14] Fix layout in the front page --- diff --git a/doc/index.rst b/doc/index.rst index 44fa7ed..56b2298 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -10,10 +10,10 @@ Features: * ``One place``: Keep your documentation and tickets in pagure * ``Collaboration``: Fork a project and make a pull-request * ``Integration``: Create pull-request from a fork hosted somewhere else than in - pagure + pagure * ``Open data``: Sources, doc, ticket and pull-requests meta-data are available - in the web interface but also in git repos which can thus be cloned and - changed locally. + in the web interface but also in git repos which can thus be cloned and changed + locally. * ``Freedom``: Pagure is fully Free and Open-Source Software! From 26dba27b477d9cb79d36f1266d11ba677d8e368d Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Aug 03 2015 09:03:25 +0000 Subject: [PATCH 6/14] Rename Install_evs.rst to install_evs.rst to match the other files --- diff --git a/doc/Install_evs.rst b/doc/Install_evs.rst deleted file mode 100644 index 4d2c4ad..0000000 --- a/doc/Install_evs.rst +++ /dev/null @@ -1,46 +0,0 @@ -Installing pagure's EventSource server -====================================== - -Eventsource or Server Sent Events are messages sent from a server to a web -browser. It allows to refresh a page "live", ie, without the need to reload -it entirely. - - -Configure your system ---------------------- - -The eventsource server is easy to set-up. - -* Install the required dependencies -:: - - python-redis - python-trollius - python-trollius-redis - -..note: We ship a systemd unit file for pagure_milter but we welcome patches - for scripts for other init systems. - - -* Install the files of the SSE server as follow: - -+----------------------------------------+-----------------------------------------------------+ -| Source | Destination | -+========================================+=====================================================+ -| ``ev-server/pagure-stream-server.py`` | ``/usr/libexec/pagure-ev/pagure-stream-server.py`` | -+----------------------------------------+-----------------------------------------------------+ -| ``ev-server/pagure_ev.service`` | ``/etc/systemd/system/pagure_ev.service`` | -+----------------------------------------+-----------------------------------------------------+ - -The first file is the script of the SSE server itself. - -The second file is the systemd service file. - - -* Finally, activate the service and ensure it's started upon boot: -:: - - systemctl enable redis - systemctl start redis - systemctl enable pagure_ev - systemctl start pagure_ev diff --git a/doc/install_evs.rst b/doc/install_evs.rst new file mode 100644 index 0000000..4d2c4ad --- /dev/null +++ b/doc/install_evs.rst @@ -0,0 +1,46 @@ +Installing pagure's EventSource server +====================================== + +Eventsource or Server Sent Events are messages sent from a server to a web +browser. It allows to refresh a page "live", ie, without the need to reload +it entirely. + + +Configure your system +--------------------- + +The eventsource server is easy to set-up. + +* Install the required dependencies +:: + + python-redis + python-trollius + python-trollius-redis + +..note: We ship a systemd unit file for pagure_milter but we welcome patches + for scripts for other init systems. + + +* Install the files of the SSE server as follow: + ++----------------------------------------+-----------------------------------------------------+ +| Source | Destination | ++========================================+=====================================================+ +| ``ev-server/pagure-stream-server.py`` | ``/usr/libexec/pagure-ev/pagure-stream-server.py`` | ++----------------------------------------+-----------------------------------------------------+ +| ``ev-server/pagure_ev.service`` | ``/etc/systemd/system/pagure_ev.service`` | ++----------------------------------------+-----------------------------------------------------+ + +The first file is the script of the SSE server itself. + +The second file is the systemd service file. + + +* Finally, activate the service and ensure it's started upon boot: +:: + + systemctl enable redis + systemctl start redis + systemctl enable pagure_ev + systemctl start pagure_ev From 4610ef3a926f8e9a549935959c1eab6266460166 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Aug 03 2015 09:03:25 +0000 Subject: [PATCH 7/14] Rename Install_milter.rst to install_milter.rst to match the other files --- diff --git a/doc/Install_milter.rst b/doc/Install_milter.rst deleted file mode 100644 index fbb8a85..0000000 --- a/doc/Install_milter.rst +++ /dev/null @@ -1,77 +0,0 @@ -Installing pagure's milter -========================== - -A milter is a script that is ran by a Mail Transfer Agent (`MTA -`_) -upon receiving an email via either a network or an unix socket. - -If you want more information feel free to check out the corresponding page -on wikipedia: `https://en.wikipedia.org/wiki/Milter -`_. - -Configure your system ---------------------- - -* Install the required dependencies -:: - - python-pymilter - -..note: We ship a systemd unit file for pagure_milter but we welcome patches - for scripts for other init systems. - -..note: It also requires a MTA, we used postfix. - - -* Create an alias ``reply`` - -This can be done in ``/etc/aliases``, for example: -:: - - reply: /dev/null - - -* Activate the ability of your MTA, to split users based on the character ``+``. - This way all the emails sent to ``reply+...@example.com`` will be forwarded - to your alias for ``reply``. - - -In postfix this is done via: -:: - - recipient_delimiter = + - -* Hook the milter in the MTA - -In postfix this is done via: -:: - - non_smtpd_milters = unix:/var/run/pagure/paguresock - smtpd_milters = unix:/var/run/pagure/paguresock - - -* Install the files of the milter as follow: - -+--------------------------------------+---------------------------------------------------+ -| Source | Destination | -+======================================+===================================================+ -| ``milters/comment_email_milter.py`` | ``/usr/share//pagure/comment_email_milter.py`` | -+----------------------------------------+-------------------------------------------------+ -| ``milters/milter_tempfile.conf`` | ``/usr/lib/tmpfiles.d/pagure-milter.conf`` | -+----------------------------------------+-------------------------------------------------+ -| ``milters/pagure_milter.service`` | ``/etc/systemd/system/pagure_milter.service`` | -+--------------------------------------+---------------------------------------------------+ - -The first file is the script of the milter itself. - -The second file is a file specific for systemd and ensuring the temporary -folders needed by the milter are re-created if needed at each boot. - -The third file is the systemd service file. - - -* Activate the service and ensure it's started upon boot: -:: - - systemctl enable pagure_milter - systemctl start pagure_milter diff --git a/doc/install_milter.rst b/doc/install_milter.rst new file mode 100644 index 0000000..fbb8a85 --- /dev/null +++ b/doc/install_milter.rst @@ -0,0 +1,77 @@ +Installing pagure's milter +========================== + +A milter is a script that is ran by a Mail Transfer Agent (`MTA +`_) +upon receiving an email via either a network or an unix socket. + +If you want more information feel free to check out the corresponding page +on wikipedia: `https://en.wikipedia.org/wiki/Milter +`_. + +Configure your system +--------------------- + +* Install the required dependencies +:: + + python-pymilter + +..note: We ship a systemd unit file for pagure_milter but we welcome patches + for scripts for other init systems. + +..note: It also requires a MTA, we used postfix. + + +* Create an alias ``reply`` + +This can be done in ``/etc/aliases``, for example: +:: + + reply: /dev/null + + +* Activate the ability of your MTA, to split users based on the character ``+``. + This way all the emails sent to ``reply+...@example.com`` will be forwarded + to your alias for ``reply``. + + +In postfix this is done via: +:: + + recipient_delimiter = + + +* Hook the milter in the MTA + +In postfix this is done via: +:: + + non_smtpd_milters = unix:/var/run/pagure/paguresock + smtpd_milters = unix:/var/run/pagure/paguresock + + +* Install the files of the milter as follow: + ++--------------------------------------+---------------------------------------------------+ +| Source | Destination | ++======================================+===================================================+ +| ``milters/comment_email_milter.py`` | ``/usr/share//pagure/comment_email_milter.py`` | ++----------------------------------------+-------------------------------------------------+ +| ``milters/milter_tempfile.conf`` | ``/usr/lib/tmpfiles.d/pagure-milter.conf`` | ++----------------------------------------+-------------------------------------------------+ +| ``milters/pagure_milter.service`` | ``/etc/systemd/system/pagure_milter.service`` | ++--------------------------------------+---------------------------------------------------+ + +The first file is the script of the milter itself. + +The second file is a file specific for systemd and ensuring the temporary +folders needed by the milter are re-created if needed at each boot. + +The third file is the systemd service file. + + +* Activate the service and ensure it's started upon boot: +:: + + systemctl enable pagure_milter + systemctl start pagure_milter From 1891e06f89e0c0eb0f213f9b4bdd5e7c65f51cfd Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Aug 03 2015 09:03:25 +0000 Subject: [PATCH 8/14] Update the side bar and add the pagure logo to it --- diff --git a/doc/_static/pagure.png b/doc/_static/pagure.png new file mode 100644 index 0000000..bda077c Binary files /dev/null and b/doc/_static/pagure.png differ diff --git a/doc/_templates/pagure-logo.html b/doc/_templates/pagure-logo.html index 5a2a0be..49b558a 100644 --- a/doc/_templates/pagure-logo.html +++ b/doc/_templates/pagure-logo.html @@ -1 +1 @@ -

PackageDB

+

Pagure

From 559ef6d59d0c0df1e91d02423a1e02c6c3715d82 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Aug 03 2015 09:03:25 +0000 Subject: [PATCH 9/14] Ignore the _build folder result of the sphinx build of the documentation --- diff --git a/.gitignore b/.gitignore index 778a227..b7b999d 100644 --- a/.gitignore +++ b/.gitignore @@ -17,5 +17,7 @@ build/ *.conf .coverage +_build/ + # Just a local folder I use for testing clones/ From 8e55b193a8c1d877baf28aa962679b6dc359eea9 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Aug 03 2015 09:03:25 +0000 Subject: [PATCH 10/14] Resize the pagure logo used in the doc --- diff --git a/doc/_static/pagure.png b/doc/_static/pagure.png index bda077c..993aa31 100644 Binary files a/doc/_static/pagure.png and b/doc/_static/pagure.png differ From 32dcd1e47e5df9d3b7671810eed9ad6f4d0c1b88 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Aug 03 2015 09:03:25 +0000 Subject: [PATCH 11/14] Fix indentation --- diff --git a/doc/contributors.rst b/doc/contributors.rst index d26faf6..d913ad7 100644 --- a/doc/contributors.rst +++ b/doc/contributors.rst @@ -8,7 +8,7 @@ On July 29, 2015 (release 0.1.20), the list looks as follow: ================= =========== Number of commits Contributor ================= =========== - 2951 Pierre-Yves Chibon + 2951 Pierre-Yves Chibon 59 Johan Cwiklinski 13 Mathieu Bridon 12 Sayan Chowdhury From d5796d8cb0ebc5ab34692c069c8ec92b56b940dc Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Aug 03 2015 09:03:25 +0000 Subject: [PATCH 12/14] Fix underline --- diff --git a/doc/development.rst b/doc/development.rst index 3f5562a..95a69be 100644 --- a/doc/development.rst +++ b/doc/development.rst @@ -32,7 +32,7 @@ at the top level of the sources. Run pagure for development -------------------------- +-------------------------- Adjust the configuration file (secret key, database URL, admin group...) See :doc:`configuration` for more detailed information about the configuration. From 36036ea043ed0bb745ecbbbdaf9f194b8151b038 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Aug 03 2015 09:03:25 +0000 Subject: [PATCH 13/14] Fix layout in the doc --- diff --git a/doc/install.rst b/doc/install.rst index 4572f9d..e239605 100644 --- a/doc/install.rst +++ b/doc/install.rst @@ -36,7 +36,7 @@ mail filter to hook into a MTA). The ``pagure-ev`` package contains the eventsource server. -..note: The last two packages are optional, pagure would work fine without +..note:: The last two packages are optional, pagure would work fine without them. * From the sources @@ -46,15 +46,19 @@ you can easily rebuild it as RPM. Simply follow these steps: # Clone the sources:: + git clone https://pagure.io/pagure.git # Go to the folder:: + cd pagure # Build a tarball of the latest version of pagure:: + python setup.py sdist # Build the RPM:: + rpmbuild -ta dist/pagure*.tar.gz This will build pagure from the version present in your clone. @@ -75,16 +79,19 @@ of the web applications of pagure (ie: the core + the doc server). To install pagure via this mechanism simply follow these steps: # Clone the sources:: + git clone https://pagure.io/pagure.git # Go to the folder:: + cd pagure # Install the latest version of pagure:: + python setup.py build sudo python setup.py install -..note: To install the eventsource server or the milter, refer to their +..note:: To install the eventsource server or the milter, refer to their respective documentations. # Install the additional files as follow: @@ -138,6 +145,7 @@ make ``/srv/git`` the home of your gitolite user. You would then create the folders with: :: + mkdir /srv/git/repositories/{docs,forks,tickets,requests,checkouts} @@ -174,6 +182,7 @@ will not be allowed to read git repositories created and managed by gitolite. To give apache this permission (required to make git clone via http work), we use file access control lists (aka FACL): :: + setfacl -m user:apache:rx --default setfacl -Rdm user:apache:rx /srv/git setfacl -Rm user:apache:rx /srv/git diff --git a/doc/install_evs.rst b/doc/install_evs.rst index 4d2c4ad..2819e3e 100644 --- a/doc/install_evs.rst +++ b/doc/install_evs.rst @@ -12,13 +12,14 @@ Configure your system The eventsource server is easy to set-up. * Install the required dependencies + :: python-redis python-trollius python-trollius-redis -..note: We ship a systemd unit file for pagure_milter but we welcome patches +..note:: We ship a systemd unit file for pagure_milter but we welcome patches for scripts for other init systems. @@ -38,6 +39,7 @@ The second file is the systemd service file. * Finally, activate the service and ensure it's started upon boot: + :: systemctl enable redis diff --git a/doc/install_milter.rst b/doc/install_milter.rst index fbb8a85..fb029d6 100644 --- a/doc/install_milter.rst +++ b/doc/install_milter.rst @@ -13,14 +13,15 @@ Configure your system --------------------- * Install the required dependencies + :: python-pymilter -..note: We ship a systemd unit file for pagure_milter but we welcome patches +..note:: We ship a systemd unit file for pagure_milter but we welcome patches for scripts for other init systems. -..note: It also requires a MTA, we used postfix. +..note:: It also requires a MTA, we used postfix. * Create an alias ``reply`` @@ -71,6 +72,7 @@ The third file is the systemd service file. * Activate the service and ensure it's started upon boot: + :: systemctl enable pagure_milter From fed6719cc984b15d3a069c16c368cedaf766eaec Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Aug 03 2015 09:03:26 +0000 Subject: [PATCH 14/14] Fix link to the Milter documentation on postfix.org --- diff --git a/doc/milter.rst b/doc/milter.rst index ceafd62..5ab8ec2 100644 --- a/doc/milter.rst +++ b/doc/milter.rst @@ -1,7 +1,7 @@ Pagure's Milter =============== -`Milter`_ are script executed by +`Milter `_ are script executed by postfix upon sending or receiving an email. We use this system to allow pagure's users to comment on a ticket (or a