|
Pierre-Yves Chibon |
24cf2b |
Upgrading Pagure
|
|
Pierre-Yves Chibon |
24cf2b |
================
|
|
Pierre-Yves Chibon |
24cf2b |
|
|
Pierre-Yves Chibon |
f8b181 |
|
|
Pierre-Yves Chibon |
65dd40 |
From 2.8 to 2.9
|
|
Pierre-Yves Chibon |
65dd40 |
---------------
|
|
Pierre-Yves Chibon |
65dd40 |
|
|
Pierre-Yves Chibon |
65dd40 |
The 2.9 releases brings some adjustments to the database scheme.
|
|
Pierre-Yves Chibon |
65dd40 |
|
|
Pierre-Yves Chibon |
65dd40 |
* Create the new DB tables and the new status field using the ``createdb.py``
|
|
Pierre-Yves Chibon |
65dd40 |
script.
|
|
Pierre-Yves Chibon |
65dd40 |
|
|
Pierre-Yves Chibon |
65dd40 |
* Update the database schame using alembic: ``alembic upgrade head``
|
|
Pierre-Yves Chibon |
65dd40 |
|
|
Pierre-Yves Chibon |
65dd40 |
If you are interested in loading your local data into the ``pagure_logs`` table
|
|
Pierre-Yves Chibon |
65dd40 |
that this new release adds (data which is then displayed in the calendar heatmap
|
|
Pierre-Yves Chibon |
65dd40 |
on the user's page), you can find two utility scripts in
|
|
Pierre-Yves Chibon |
65dd40 |
https://pagure.io/pagure-utility that will help you to do that. They are:
|
|
Pierre-Yves Chibon |
65dd40 |
|
|
Pierre-Yves Chibon |
65dd40 |
* fill_logs_from_db - Based on the data present in the database, this script
|
|
Pierre-Yves Chibon |
65dd40 |
fills the ``pagure_logs`` table (this will add: new ticket, new comment, new
|
|
Pierre-Yves Chibon |
65dd40 |
PR, closing a PR or a ticket and so on).
|
|
Pierre-Yves Chibon |
65dd40 |
* fill_logs_from_gits - By going through all the git repo hosted in your pagure
|
|
Pierre-Yves Chibon |
65dd40 |
instance, it will log who did what when.
|
|
Pierre-Yves Chibon |
65dd40 |
|
|
Pierre-Yves Chibon |
65dd40 |
|
|
Pierre-Yves Chibon |
f8b181 |
From 2.7 to 2.8
|
|
Pierre-Yves Chibon |
f8b181 |
---------------
|
|
Pierre-Yves Chibon |
f8b181 |
|
|
Pierre-Yves Chibon |
f8b181 |
2.8 brings a little change to the database scheme.
|
|
Pierre-Yves Chibon |
f8b181 |
|
|
Pierre-Yves Chibon |
f8b181 |
Therefore when upgrading to from 2.7 to 2.8, you will have to:
|
|
Pierre-Yves Chibon |
f8b181 |
|
|
Pierre-Yves Chibon |
f8b181 |
* Update the database schame using alembic: ``alembic upgrade head``
|
|
Pierre-Yves Chibon |
f8b181 |
|
|
Pierre-Yves Chibon |
f8b181 |
|
|
Pierre-Yves Chibon |
87f714 |
From 2.6 to 2.7
|
|
Pierre-Yves Chibon |
87f714 |
---------------
|
|
Pierre-Yves Chibon |
87f714 |
|
|
Pierre-Yves Chibon |
87f714 |
2.7 adds new tables as well as changes some of the existing ones.
|
|
Pierre-Yves Chibon |
87f714 |
|
|
Pierre-Yves Chibon |
87f714 |
Therefore when upgrading to 2.7, you will have to:
|
|
Pierre-Yves Chibon |
87f714 |
|
|
Pierre-Yves Chibon |
87f714 |
* Create the new DB tables and the new status field using the ``createdb.py``
|
|
Pierre-Yves Chibon |
87f714 |
script.
|
|
Pierre-Yves Chibon |
87f714 |
|
|
Pierre-Yves Chibon |
87f714 |
* Update the database schame using alembic, one of the upgrade will require
|
|
Pierre-Yves Chibon |
87f714 |
access to pagure's configuration file, which should thus be passed onto the
|
|
Pierre-Yves Chibon |
87f714 |
command via an environment variable:
|
|
Pierre-Yves Chibon |
87f714 |
``PAGURE_CONFIG=/path/to/pagure.cf alembic upgrade head``
|
|
Pierre-Yves Chibon |
87f714 |
|
|
Pierre-Yves Chibon |
87f714 |
|
|
Pierre-Yves Chibon |
87f714 |
This release also brings a new configuration key:
|
|
Pierre-Yves Chibon |
87f714 |
|
|
Pierre-Yves Chibon |
87f714 |
* ``INSTANCE_NAME`` used in the welcome screen shown upon first login (only with
|
|
Pierre-Yves Chibon |
87f714 |
FAS and OpenID auth) to describe the instance
|
|
Pierre-Yves Chibon |
87f714 |
|
|
Pierre-Yves Chibon |
87f714 |
|
|
Pierre-Yves Chibon |
87f714 |
The API has also been upgraded to a version ``0.8`` due to the changes (backward
|
|
Pierre-Yves Chibon |
87f714 |
compatible) made to support the introduction of `close_status` to issues.
|
|
Pierre-Yves Chibon |
87f714 |
|
|
Pierre-Yves Chibon |
87f714 |
|
|
Pierre-Yves Chibon |
523fbd |
From 2.5 to 2.6
|
|
Pierre-Yves Chibon |
523fbd |
---------------
|
|
Pierre-Yves Chibon |
523fbd |
|
|
Pierre-Yves Chibon |
523fbd |
2.6 brings quite a few changes and some of them impacting the database scheme.
|
|
Pierre-Yves Chibon |
523fbd |
|
|
Pierre-Yves Chibon |
523fbd |
Therefore when upgrading from 2.4 to 2.6, you will have to:
|
|
Pierre-Yves Chibon |
523fbd |
|
|
Pierre-Yves Chibon |
523fbd |
* Update the database schame using alembic: ``alembic upgrade head``
|
|
Pierre-Yves Chibon |
523fbd |
|
|
Pierre-Yves Chibon |
523fbd |
|
|
Pierre-Yves Chibon |
ea386a |
From 2.4 to 2.5
|
|
Pierre-Yves Chibon |
ea386a |
---------------
|
|
Pierre-Yves Chibon |
ea386a |
|
|
Pierre-Yves Chibon |
ea386a |
2.5 brings quite a few changes and some of them impacting the database scheme.
|
|
Pierre-Yves Chibon |
ea386a |
|
|
Pierre-Yves Chibon |
ea386a |
Therefore when upgrading from 2.4 to 2.5, you will have to:
|
|
Pierre-Yves Chibon |
ea386a |
|
|
Pierre-Yves Chibon |
ea386a |
* Update the database schame using alembic: ``alembic upgrade head``
|
|
Pierre-Yves Chibon |
ea386a |
|
|
Pierre-Yves Chibon |
ea386a |
|
|
Pierre-Yves Chibon |
4cd012 |
From 2.3 to 2.4
|
|
Pierre-Yves Chibon |
4cd012 |
---------------
|
|
Pierre-Yves Chibon |
4cd012 |
|
|
Pierre-Yves Chibon |
4cd012 |
2.4 brings quite a few changes and some of them impacting the database scheme.
|
|
Pierre-Yves Chibon |
4cd012 |
|
|
Pierre-Yves Chibon |
4cd012 |
Therefore when upgrading from 2.3.x to 2.4, you will have to:
|
|
Pierre-Yves Chibon |
4cd012 |
|
|
Pierre-Yves Chibon |
4cd012 |
* Update the database schame using alembic: ``alembic upgrade head``
|
|
Pierre-Yves Chibon |
4cd012 |
|
|
Pierre-Yves Chibon |
4cd012 |
|
|
Pierre-Yves Chibon |
4cd012 |
This update also brings some new configuration keys:
|
|
Pierre-Yves Chibon |
4cd012 |
|
|
Pierre-Yves Chibon |
4cd012 |
* ``VIRUS_SCAN_ATTACHMENTS`` allows turning on or off checking attachments for
|
|
Pierre-Yves Chibon |
4cd012 |
virus using clamav. This requires pyclamd but is entirely optional (and off by
|
|
Pierre-Yves Chibon |
4cd012 |
default)
|
|
Pierre-Yves Chibon |
4cd012 |
* ``PAGURE_CI_SERVICES`` allows specifying with which CI (Continuous
|
|
Pierre-Yves Chibon |
4cd012 |
Integration) services this pagure instance can integrate with. Currently, only
|
|
Pierre-Yves Chibon |
4cd012 |
`Jenkins` is supported, but this configuration key defaults to ``None``.
|
|
Pierre-Yves Chibon |
4cd012 |
|
|
Pierre-Yves Chibon |
4cd012 |
|
|
Pierre-Yves Chibon |
4912c9 |
From 2.2 to 2.3
|
|
Pierre-Yves Chibon |
4912c9 |
---------------
|
|
Pierre-Yves Chibon |
4912c9 |
|
|
Pierre-Yves Chibon |
4912c9 |
2.3 brings a few changes impacting the database scheme, including a new
|
|
Pierre-Yves Chibon |
4912c9 |
`duplicate` status for tickets, a feature allowing one to `watch` or
|
|
Pierre-Yves Chibon |
4912c9 |
`unwatch` a project and notifications on tickets as exist on pull-requests.
|
|
Pierre-Yves Chibon |
4912c9 |
|
|
Pierre-Yves Chibon |
4912c9 |
Therefore, when upgrading from 2.2.x to 2.3, you will have to :
|
|
Pierre-Yves Chibon |
4912c9 |
|
|
Pierre-Yves Chibon |
4912c9 |
* Create the new DB tables and the new status field using the ``createdb.py`` script.
|
|
Pierre-Yves Chibon |
4912c9 |
|
|
Pierre-Yves Chibon |
4912c9 |
* Update the database schame using alembic: ``alembic upgrade head``
|
|
Pierre-Yves Chibon |
4912c9 |
|
|
Pierre-Yves Chibon |
4912c9 |
This update also brings a new configuration key:
|
|
Pierre-Yves Chibon |
4912c9 |
|
|
Pierre-Yves Chibon |
4912c9 |
* ``PAGURE_ADMIN_USERS`` allows to mark some users as instance-wide admins, giving
|
|
Pierre-Yves Chibon |
4912c9 |
them full access to every projects, private or not. This feature can then be
|
|
Pierre-Yves Chibon |
4912c9 |
used as a way to clean spams.
|
|
Pierre-Yves Chibon |
4912c9 |
* ``SMTP_PORT`` allows to specify the port to use when contacting the SMTP
|
|
Pierre-Yves Chibon |
4912c9 |
server
|
|
Pierre-Yves Chibon |
4912c9 |
* ``SMTP_SSL`` allows to specify whether to use SSL when contacting the SMTP
|
|
Pierre-Yves Chibon |
4912c9 |
server
|
|
Pierre-Yves Chibon |
4912c9 |
* ``SMTP_USERNAME`` and ``SMTP_PASSWORD`` if provided together allow to contact
|
|
Pierre-Yves Chibon |
4912c9 |
an SMTP requiring authentication.
|
|
Pierre-Yves Chibon |
4912c9 |
|
|
Pierre-Yves Chibon |
4912c9 |
In this update is also added the script ``api_key_expire_mail.py`` meant to be
|
|
Pierre-Yves Chibon |
4912c9 |
run by a daily cron job and warning users when their API token is nearing its
|
|
Pierre-Yves Chibon |
4912c9 |
expiration date.
|
|
Pierre-Yves Chibon |
4912c9 |
|
|
Pierre-Yves Chibon |
4912c9 |
|
|
Pierre-Yves Chibon |
4912c9 |
|
|
Pierre-Yves Chibon |
4912c9 |
2.2.2
|
|
Pierre-Yves Chibon |
4912c9 |
-----
|
|
Pierre-Yves Chibon |
4912c9 |
|
|
Pierre-Yves Chibon |
4912c9 |
Release 2.2.2 contains an important security fix, blocking a source of XSS
|
|
Pierre-Yves Chibon |
4912c9 |
attack.
|
|
Pierre-Yves Chibon |
4912c9 |
|
|
Pierre-Yves Chibon |
4912c9 |
|
|
Pierre-Yves Chibon |
4912c9 |
|
|
Pierre-Yves Chibon |
4cc330 |
From 2.1 to 2.2
|
|
Pierre-Yves Chibon |
4cc330 |
---------------
|
|
Pierre-Yves Chibon |
4cc330 |
|
|
Pierre-Yves Chibon |
4cc330 |
2.2 brings a number of bug fixes and a few improvements.
|
|
Pierre-Yves Chibon |
4cc330 |
|
|
Pierre-Yves Chibon |
4cc330 |
One of the major changes impacts the databases where we must change some of the
|
|
Pierre-Yves Chibon |
4cc330 |
table so that the foreign key cascade on delete (fixes deleting a project when a
|
|
Pierre-Yves Chibon |
4cc330 |
few plugins were activated).
|
|
Pierre-Yves Chibon |
4cc330 |
|
|
Pierre-Yves Chibon |
4cc330 |
When upgrading for 2.1 to 2.2 all you will have to do is:
|
|
Pierre-Yves Chibon |
4cc330 |
|
|
Pierre-Yves Chibon |
4cc330 |
* Update the database scheme using alembic: ``alembic upgrade head``
|
|
Pierre-Yves Chibon |
4cc330 |
|
|
Pierre-Yves Chibon |
4cc330 |
.. note:: If you run another database system than PostgreSQL the alembic
|
|
Pierre-Yves Chibon |
4cc330 |
revision ``317a285e04a8_delete_hooks.py`` will require adjustment as the
|
|
Pierre-Yves Chibon |
4cc330 |
foreign key constraints are named and the names are driver dependant.
|
|
Pierre-Yves Chibon |
4cc330 |
|
|
Pierre-Yves Chibon |
4cc330 |
|
|
Pierre-Yves Chibon |
4cc330 |
|
|
Pierre-Yves Chibon |
b945b9 |
From 2.0 to 2.1
|
|
Pierre-Yves Chibon |
b945b9 |
---------------
|
|
Pierre-Yves Chibon |
b945b9 |
|
|
Pierre-Yves Chibon |
b945b9 |
2.1 brings its usual flow of improvements and bug fixes.
|
|
Pierre-Yves Chibon |
b945b9 |
|
|
Pierre-Yves Chibon |
b945b9 |
When upgrading from 2.0.x to 2.1 all you will have to:
|
|
Pierre-Yves Chibon |
b945b9 |
|
|
Pierre-Yves Chibon |
b945b9 |
* Update the database schame using alembic: ``alembic upgrade head``
|
|
Pierre-Yves Chibon |
b945b9 |
|
|
Pierre-Yves Chibon |
b945b9 |
|
|
Pierre-Yves Chibon |
b945b9 |
|
|
Pierre-Yves Chibon |
24cf2b |
From 1.x to 2.0
|
|
Pierre-Yves Chibon |
24cf2b |
---------------
|
|
Pierre-Yves Chibon |
24cf2b |
|
|
Pierre-Yves Chibon |
24cf2b |
As the version change indicates, 2.0 brings quite a number of changes,
|
|
Pierre-Yves Chibon |
24cf2b |
including some that are not backward compatible.
|
|
Pierre-Yves Chibon |
24cf2b |
|
|
Pierre-Yves Chibon |
24cf2b |
When upgrading to 2.0 you will have to:
|
|
Pierre-Yves Chibon |
24cf2b |
|
|
Pierre-Yves Chibon |
24cf2b |
* Update the database schema using alembic: ``alembic upgrade head``
|
|
Pierre-Yves Chibon |
24cf2b |
|
|
Pierre-Yves Chibon |
b01b78 |
* Create the new DB tables so that the new plugins work using the
|
|
Pierre-Yves Chibon |
b01b78 |
``createdb.py`` script
|
|
Pierre-Yves Chibon |
b01b78 |
|
|
Pierre-Yves Chibon |
24cf2b |
* Move the forks git repo
|
|
Pierre-Yves Chibon |
24cf2b |
|
|
Pierre-Yves Chibon |
24cf2b |
Forked git repos are now located under the same folder as the regular git
|
|
Pierre-Yves Chibon |
24cf2b |
repos, just under a ``forks/`` subfolder.
|
|
Pierre-Yves Chibon |
24cf2b |
So the structure changes from: ::
|
|
Pierre-Yves Chibon |
24cf2b |
|
|
Pierre-Yves Chibon |
24cf2b |
repos/
|
|
Pierre-Yves Chibon |
24cf2b |
├── foo.git
|
|
Pierre-Yves Chibon |
24cf2b |
└── bar.git
|
|
Pierre-Yves Chibon |
24cf2b |
|
|
Pierre-Yves Chibon |
24cf2b |
forks/
|
|
Pierre-Yves Chibon |
a591b5 |
├── patrick/
|
|
Pierre-Yves Chibon |
a591b5 |
│ ├── test.git
|
|
Pierre-Yves Chibon |
a591b5 |
│ └── ipsilon.git
|
|
Pierre-Yves Chibon |
a591b5 |
└── pingou/
|
|
Pierre-Yves Chibon |
af2450 |
├── foo.git
|
|
Pierre-Yves Chibon |
af2450 |
└── bar.git
|
|
Pierre-Yves Chibon |
24cf2b |
|
|
Pierre-Yves Chibon |
24cf2b |
to: ::
|
|
Pierre-Yves Chibon |
24cf2b |
|
|
Pierre-Yves Chibon |
24cf2b |
repos/
|
|
Pierre-Yves Chibon |
24cf2b |
├── foo.git
|
|
Pierre-Yves Chibon |
af2450 |
├── bar.git
|
|
Pierre-Yves Chibon |
a591b5 |
└── forks/
|
|
Pierre-Yves Chibon |
a591b5 |
├── patrick/
|
|
Pierre-Yves Chibon |
a591b5 |
│ ├── test.git
|
|
Pierre-Yves Chibon |
a591b5 |
│ └── ipsilon.git
|
|
Pierre-Yves Chibon |
a591b5 |
└── pingou/
|
|
Pierre-Yves Chibon |
af2450 |
├── foo.git
|
|
Pierre-Yves Chibon |
af2450 |
└── bar.git
|
|
Pierre-Yves Chibon |
24cf2b |
|
|
Pierre-Yves Chibon |
af2450 |
So the entire ``forks`` folder is moved under the ``repos`` folder where
|
|
Pierre-Yves Chibon |
af2450 |
the other repositories are, containing the sources of the projects.
|
|
Pierre-Yves Chibon |
24cf2b |
|
|
Pierre-Yves Chibon |
24cf2b |
|
|
Pierre-Yves Chibon |
6e788b |
Git repos for ``tickets``, ``requests`` and ``docs`` will be trickier to
|
|
Pierre-Yves Chibon |
6e788b |
move as the structure changes from: ::
|
|
Pierre-Yves Chibon |
24cf2b |
|
|
Pierre-Yves Chibon |
24cf2b |
tickets/
|
|
Pierre-Yves Chibon |
24cf2b |
├── foo.git
|
|
Pierre-Yves Chibon |
af2450 |
├── bar.git
|
|
Pierre-Yves Chibon |
a591b5 |
├── patrick/
|
|
Pierre-Yves Chibon |
a591b5 |
│ ├── test.git
|
|
Pierre-Yves Chibon |
a591b5 |
│ └── ipsilon.git
|
|
Pierre-Yves Chibon |
a591b5 |
└── pingou/
|
|
Pierre-Yves Chibon |
af2450 |
├── foo.git
|
|
Pierre-Yves Chibon |
af2450 |
└── bar.git
|
|
Pierre-Yves Chibon |
24cf2b |
|
|
Pierre-Yves Chibon |
24cf2b |
to: ::
|
|
Pierre-Yves Chibon |
24cf2b |
|
|
Pierre-Yves Chibon |
24cf2b |
tickets/
|
|
Pierre-Yves Chibon |
24cf2b |
├── foo.git
|
|
Pierre-Yves Chibon |
af2450 |
├── bar.git
|
|
Pierre-Yves Chibon |
a591b5 |
└── forks/
|
|
Pierre-Yves Chibon |
a591b5 |
├── patrick/
|
|
Pierre-Yves Chibon |
a591b5 |
│ ├── test.git
|
|
Pierre-Yves Chibon |
a591b5 |
│ └── ipsilon.git
|
|
Pierre-Yves Chibon |
a591b5 |
└── pingou/
|
|
Pierre-Yves Chibon |
af2450 |
├── foo.git
|
|
Pierre-Yves Chibon |
af2450 |
└── bar.git
|
|
Pierre-Yves Chibon |
24cf2b |
|
|
Pierre-Yves Chibon |
6e788b |
Same for the ``requests`` and the ``docs`` git repos.
|
|
Pierre-Yves Chibon |
24cf2b |
|
|
Pierre-Yves Chibon |
6e788b |
As you can see in the ``tickets``, ``requests`` and ``docs`` folders there
|
|
Pierre-Yves Chibon |
6e788b |
are two types of folders, git repos which are folder with a name ending
|
|
Pierre-Yves Chibon |
6e788b |
with ``.git``, and folder corresponding to usernames. These last ones are
|
|
Pierre-Yves Chibon |
6e788b |
the ones to be moved into a subfolder ``forks/``.
|
|
Pierre-Yves Chibon |
6e788b |
|
|
Pierre-Yves Chibon |
6e788b |
This can be done using something like: ::
|
|
Pierre-Yves Chibon |
6e788b |
|
|
Pierre-Yves Chibon |
6e788b |
mkdir forks
|
|
Pierre-Yves Chibon |
6e788b |
for i in `ls -1 |grep -v '\.git'`; do mv $i forks/; done
|
|
Pierre-Yves Chibon |
24cf2b |
|
|
Pierre-Yves Chibon |
24cf2b |
* Re-generate the gitolite configuration.
|
|
Pierre-Yves Chibon |
24cf2b |
|
|
Pierre-Yves Chibon |
24cf2b |
This can be done via the ``Re-generate gitolite ACLs file`` button in the
|
|
Pierre-Yves Chibon |
24cf2b |
admin page.
|
|
Pierre-Yves Chibon |
226c9a |
|
|
Pierre-Yves Chibon |
226c9a |
* Keep URLs backward compatible
|
|
Pierre-Yves Chibon |
226c9a |
|
|
Pierre-Yves Chibon |
6e59c1 |
The support of pseudo-namespace in pagure 2.0 has required some changes
|
|
Pierre-Yves Chibon |
226c9a |
to the URL schema:
|
|
Pierre-Yves Chibon |
226c9a |
https://pagure.io/pagure/053d8cc95fcd50c23a8b0a7f70e55f8d1cc7aebb
|
|
Pierre-Yves Chibon |
226c9a |
became:
|
|
Pierre-Yves Chibon |
226c9a |
https://pagure.io/pagure/c/053d8cc95fcd50c23a8b0a7f70e55f8d1cc7aebb
|
|
Pierre-Yves Chibon |
226c9a |
(Note the added /c/ in it)
|
|
Pierre-Yves Chibon |
226c9a |
|
|
Pierre-Yves Chibon |
226c9a |
We introduced a backward compatibility fix for this.
|
|
Pierre-Yves Chibon |
226c9a |
|
|
Pierre-Yves Chibon |
226c9a |
This fix is however *disabled* by default so if you wish to keep the URLs
|
|
Pierre-Yves Chibon |
226c9a |
valid, you will need to adjust you configuration file to include: ::
|
|
Pierre-Yves Chibon |
226c9a |
|
|
Pierre-Yves Chibon |
226c9a |
OLD_VIEW_COMMIT_ENABLED = True
|