[MDEV-14888] Provide multi-version package repositories instead of just latest version only Created: 2018-01-08 Updated: 2024-01-18 Resolved: 2021-02-02 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Packaging |
| Affects Version/s: | 10.2.12 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Major |
| Reporter: | Hartmut Holzgraefe | Assignee: | Daniel Bartholomew |
| Resolution: | Fixed | Votes: | 3 |
| Labels: | None | ||
| Environment: |
Linux with yum/zypper/apt repositories |
||
| Issue Links: |
|
||||||||||||||||||||
| Description |
|
Currently we only provide the latest "point" release of our release series in our rpm and deb repositories only. yum and apt-get (probably zypper, too) allow to specify a specific package version instead of the latest one. For this the requested version has to still be available on the repository server, or in the local package cache, though. When we recommend to not install the latest version for a while, like we just recently did with By keeping the last n point releases around, with n > 1, (e.g. 3 or 4 sounds like a sensible amount to me) "do not install the latest for now" would be possible in a much more convenient way. |
| Comments |
| Comment by Daniel Black [ 2018-01-08 ] |
|
hholzgra, there's an example here of a versioned repo https://mariadb.com/kb/en/library/yum/ Debian/Ubuntu, don't think there's a documented example however http://archive.mariadb.org/mariadb-10.3.3/repo/debian/ probably could be used as the base url. |
| Comment by Hartmut Holzgraefe [ 2018-01-08 ] |
|
This is not about per-version repos, this is about multi version repos so that e.g. apt install mariadb-server=10.2.9 or yum install mariadb-server-10.2.9 without having to tweak the repository setup itself. This would also allow to have per-package version policies, e.g. with I could then also use "apt-get hold mariadb-server; apt-get upgrade" to upgrade everything but just that one package. |
| Comment by Daniel Bartholomew [ 2018-01-10 ] |
|
This would require changing how we build and maintain the repositories. I agree that it would be a good thing to have. The biggest issue is the lack of proper docs on how to do it properly. That was the case the last time I looked into it, maybe it has changed recently. In any case, I'll investigate it. |
| Comment by Daniel Bartholomew [ 2018-03-08 ] |
|
On RedHat/CentOS/Fedora, this appears to be pretty straightforward to do. It requires updates to the script used to create the yum/dnf repositories, but the changes do not appear to be difficult. This will be in place for all future MariaDB releases. If there are no objections, I'll standardize on having the last 4 releases present in the repositories. |
| Comment by Daniel Bartholomew [ 2018-03-27 ] |
|
The initial version of this is in place for our yum repositories as of the 10.2.14 and 10.1.32 releases. The yum repositories for these releases also contain the previous release in the series (10.2.13 and 10.1.31, respectively). Releases will continue to be added, with none taken out until there are four releases in the repositories and then as new releases come out the oldest version in the repository will be removed. Information on how to actually use this (i.e. how to specify older versions in yum and how to query what versions are available) is not in place yet, that will be my next task for this MDEV. After the documentation is in place I'll need to add the logic to my mkrepo-yum script for removing old versions as new ones are added, but that won't be needed for probably at least two months (based on our normal release schedule), so it's a lower priority. So after the yum doc updates are done I'll turn my attention to multi-version Debian / Ubuntu repos. |
| Comment by Daniel Bartholomew [ 2018-03-28 ] |
|
Documentation on how to show available versions and install a specific version added to: https://mariadb.com/kb/en/library/yum/ |
| Comment by Daniel Bartholomew [ 2018-06-28 ] |
|
There's a fork of reprepro that adds support for multi-version deb repositories here. The author says they are working to get his patches merged upstream. I'll install it locally and create some test repos. |
| Comment by Daniel Bartholomew [ 2018-10-09 ] |
|
My tests with a locally compiled version of reprepro patched for multiversion and ddeb support have not yielded anything we can use. The binary throws all sorts of errors and refuses to include new packages. I will try again later, but for now we're still unable to have multi-version repositories for Debian/Ubuntu. |
| Comment by Daniel Bartholomew [ 2021-02-02 ] |
|
This was fixed a while ago, but neglected to close the task. |
| Comment by Daniel Bartholomew [ 2024-01-18 ] |
|
Basically, the fix was to use a patched version of reprepro that adds the multi-version capability and the ability to import Ubuntu's .ddeb packages. A README for how I compiled it is here: https://gist.github.com/dbart/0ba0f991e9b86d472e28e02998fce835 |